ETH Price: $3,386.74 (+1.42%)

Contract

0x5d3a4F62124498092Ce665f865E0b38fF6F5FbEa
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

IDEAOLOGY (IDEA) (@$0.001)

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Approve214691832024-12-24 1:54:474 days ago1735005287IN
Ideaology: IDEA Token
0 ETH0.000345187.43097618
Approve214351512024-12-19 7:43:239 days ago1734594203IN
Ideaology: IDEA Token
0 ETH0.0018416239.64574847
Transfer214209512024-12-17 8:05:5911 days ago1734422759IN
Ideaology: IDEA Token
0 ETH0.000413237.96586676
Transfer213794882024-12-11 13:13:3517 days ago1733922815IN
Ideaology: IDEA Token
0 ETH0.0009715118.73204574
Approve213723522024-12-10 13:18:4718 days ago1733836727IN
Ideaology: IDEA Token
0 ETH0.0012443626.78827414
Transfer213576612024-12-08 12:06:1120 days ago1733659571IN
Ideaology: IDEA Token
0 ETH0.000515489.93922193
Approve213413402024-12-06 5:23:1122 days ago1733462591IN
Ideaology: IDEA Token
0 ETH0.0006383613.74245218
Transfer213392642024-12-05 22:25:4723 days ago1733437547IN
Ideaology: IDEA Token
0 ETH0.00069620
Approve213095892024-12-01 18:55:4727 days ago1733079347IN
Ideaology: IDEA Token
0 ETH0.0010049921.75871108
Transfer213095692024-12-01 18:51:4727 days ago1733079107IN
Ideaology: IDEA Token
0 ETH0.0011481522.1223849
Approve213058962024-12-01 6:33:5927 days ago1733034839IN
Ideaology: IDEA Token
0 ETH0.000359117.73087454
Approve213042432024-12-01 1:01:5928 days ago1733014919IN
Ideaology: IDEA Token
0 ETH0.000574112.35907738
Transfer213038842024-11-30 23:50:1128 days ago1733010611IN
Ideaology: IDEA Token
0 ETH0.0005789410.21507968
Approve212948712024-11-29 17:35:4729 days ago1732901747IN
Ideaology: IDEA Token
0 ETH0.0007489216.22733301
Transfer212948492024-11-29 17:31:1129 days ago1732901471IN
Ideaology: IDEA Token
0 ETH0.0008677315.31373381
Approve212859762024-11-28 11:43:1130 days ago1732794191IN
Ideaology: IDEA Token
0 ETH0.0003928.43883527
Transfer212859612024-11-28 11:40:1130 days ago1732794011IN
Ideaology: IDEA Token
0 ETH0.000428567.56322151
Approve212775042024-11-27 7:09:3531 days ago1732691375IN
Ideaology: IDEA Token
0 ETH0.000413598.90362063
Transfer212741522024-11-26 19:55:5932 days ago1732650959IN
Ideaology: IDEA Token
0 ETH0.0006244712.0350597
Approve212619232024-11-25 2:55:5933 days ago1732503359IN
Ideaology: IDEA Token
0 ETH0.000179297.41859302
Approve212590902024-11-24 17:26:4734 days ago1732469207IN
Ideaology: IDEA Token
0 ETH0.00042149.07186719
Approve212532312024-11-23 21:49:4735 days ago1732398587IN
Ideaology: IDEA Token
0 ETH0.000448099.64631818
Approve212489282024-11-23 7:24:5935 days ago1732346699IN
Ideaology: IDEA Token
0 ETH0.0005317411.51553248
Approve212465872024-11-22 23:35:1136 days ago1732318511IN
Ideaology: IDEA Token
0 ETH0.0005811712.51128662
Approve212418252024-11-22 7:37:3536 days ago1732261055IN
Ideaology: IDEA Token
0 ETH0.000404488.70765254
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:
ideaology

Compiler Version
v0.7.0+commit.9e61f92b

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2020-10-01
*/

//SPDX-License-Identifier: UNLICENSE
pragma solidity 0.7.0;

//SafeMath library for calculations.
contract SafeMath {
    function safeAdd(uint a, uint b) internal pure returns (uint c){
        c = a + b;
        require(c >= a);
    }
    function safeSub(uint a, uint b) internal pure returns (uint c){
        require(b <= a);
        c = a - b;
    }
    function safeMul(uint a, uint b) internal pure returns (uint c){
        c = a * b;
        require(a == 0 || c / a == b);
    }
    function safeDiv(uint a, uint b) internal pure returns (uint c){
        require(b > 0);
        c = a / b;
    }
}

//ideaology main contract code.
contract ideaology is SafeMath{
    
    string public symbol;
    string public name;
    uint8 public decimals;
    uint public sale_token; //need function
    uint public total_sold_token;
    uint public totalSupply; //need function
    address public owner;
    uint[] public salesAmount;
    
    //sale struct declare
    struct sale{
        uint startDate;
        uint endDate;
        uint256 saletoken;
        uint256 price;
        uint256 softcap;
        uint256 hardcap;
        uint256 total_sold;
    }
    
    sale[] public sale_detail;
    mapping(address => uint256) internal balances;
    mapping(address => mapping (address => uint256)) internal allowed;
    mapping(string => uint256) internal allSupplies;
    mapping(string => uint256) internal RewardDestribution;
    mapping(string => uint256) internal token_sale;
    
    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
    event OwnershipTransferred(address indexed _from, address indexed _to);
    
    //constructor to define all fields
    constructor(){
        symbol = "IDEA";
        name = "IDEAOLOGY";
        decimals = 18;
        totalSupply = 500000000 * 10 ** uint256(18);
        sale_token =  219160000 * 10 ** uint256(18);
        owner = msg.sender;
        
        //sale data
         salesAmount = [0, 6000000 * 10 ** uint256(18), 19160000 * 10 ** uint256(18), 194000000 * 10 ** uint256(18)];
        
        //initialize supplies
        allSupplies['operation'] = 10000000 * 10 ** uint256(18);
        allSupplies['plateform_developement'] = 150000000 * 10 ** uint256(18);
        allSupplies['marketing'] = 25000000 * 10 ** uint256(18);
        allSupplies['team'] = 15000000 * 10 ** uint256(18);
        
        //initialize RewardDestribution
    	RewardDestribution['twitter'] = 2990000 * 10 ** uint256(18);
        RewardDestribution['facebook'] = 3450000 * 10 ** uint256(18);
        RewardDestribution['content'] = 6900000 * 10 ** uint256(18);
        RewardDestribution['youtube'] = 2760000 * 10 ** uint256(18);
        RewardDestribution['telegram'] = 4600000 * 10 ** uint256(18);
        RewardDestribution['instagram'] = 2300000 * 10 ** uint256(18);
        RewardDestribution['event'] = 1000000 * 10 ** uint256(18);
        RewardDestribution['quiz'] = 500000 * 10 ** uint256(18);
        RewardDestribution['partnership'] = 5500000 * 10 ** uint256(18);
        
        //initialize balance
        balances[owner] = totalSupply - sale_token - (200000000 * 10 ** uint256(18)) - (30000000 * 10 ** uint256(18));
    }
    
    modifier onlyOwner {
        require(msg.sender == owner,"Only Access By Admin!!");
        _;
    }
    
    //Fucntion to Get Owner Address
    function getOwnerAddress() public view returns(address ownerAddress){
        return owner;
    }
    
    //Function to Transfer the Ownership
    function transferOwnership(address newOwner) public onlyOwner{
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        uint _value = balances[msg.sender];
        balances[msg.sender] = safeSub(balances[msg.sender],_value);
        balances[newOwner] = safeAdd(balances[newOwner], _value);
        emit Transfer(msg.sender, newOwner, _value);
    }
    
    //Fucntion to Start Pre-Sale.
    function start_sale(uint _startdate, uint _enddate, uint _price, uint _softcap, uint _hardcap) public onlyOwner returns (bool status){
        uint chck = sale_detail.length;
        if( chck == 3) {
            revert("All private sale is set");
        }
        uint _softcapToken = safeDiv(_softcap, _price);
        uint _hardcapToken = safeDiv(_hardcap, _price); 
        
        
        if(_startdate < _enddate && _startdate > block.timestamp && _softcap < _hardcap && _softcapToken < salesAmount[chck + 1] && _hardcapToken < salesAmount[chck + 1]){
            
            sale memory p1= sale(_startdate, _enddate, salesAmount[chck + 1], _price, _softcap, _hardcap, 0);
            sale_detail.push(p1);
            sale_token = safeSub(sale_token, salesAmount[chck + 1]);
        }
        else{
            revert("Invalid data provided to start presale");
        }
        return true;
    }
    
    //Function to transfer token from different supply    
    function transferFromAllSupplies(address receiver, uint numTokens, string memory _supply) public onlyOwner returns (bool status) {
        require(numTokens <= allSupplies[_supply], "Token amount is larger than token distribution allocation");
        allSupplies[_supply] = safeSub(allSupplies[_supply], numTokens);
        balances[receiver] = safeAdd(balances[receiver],numTokens);
        emit Transfer(msg.sender, receiver, numTokens);
        return true;
    }
     
    //Function to transfer token from reward   
    function transferRewards(address receiver, uint numTokens, string memory community) public onlyOwner returns (bool status) {
        require(numTokens <= RewardDestribution[community], "Token amount is larger than token distribution allocation");
        RewardDestribution[community] = safeSub(RewardDestribution[community], numTokens);
        balances[receiver] = safeAdd(balances[receiver],numTokens);
        emit Transfer(msg.sender, receiver, numTokens);
        return true;
    }
    
    //Function to purchase token.
    function purchase (address _account,uint _token) onlyOwner public returns (bool status){
        bool isSend = false;
        for (uint i=0; i < sale_detail.length; i++){
            if (block.timestamp >= sale_detail[i].startDate && block.timestamp <=sale_detail[i].endDate){
                if(_token <= sale_detail[i].saletoken){
                    sale_detail[i].saletoken = safeSub(sale_detail[i].saletoken, _token);
                    balances[_account] = safeAdd(balances[_account], _token);
                    total_sold_token = safeAdd(total_sold_token, _token);
                    sale_detail[i].total_sold = safeAdd(sale_detail[i].total_sold,_token);
                    emit Transfer(msg.sender, _account, _token);
                    isSend = true;
                    return true;
                }
                else{
                    revert("Check available token balances");
                }
            }
        }
        if(!isSend){
            require (balances[msg.sender] >= _token,"All Token Sold!");
            balances[msg.sender] = safeSub(balances[msg.sender], _token);
            balances[_account] = safeAdd(balances[_account], _token);
            total_sold_token = safeAdd(total_sold_token, _token);
            emit Transfer(msg.sender, _account, _token);
            return true;
        }
    }
    
    //Function to burn the token from his account.
    function burn(uint256 value) onlyOwner public returns (bool success){
        require(balances[owner] >= value);
        balances[owner] =safeSub(balances[owner], value);
        emit Transfer(msg.sender, address(0), value); //solhint-disable-line indent, no-unused-vars
        return true;
    }
    
    //Function to transfer token by owner.
    function transfer(address to, uint tokens) public returns (bool success){
        balances[msg.sender] = safeSub(balances[msg.sender], tokens);
        balances[to] = safeAdd(balances[to], tokens);
        total_sold_token = safeAdd(total_sold_token, tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }
    
    //Function to Approve user to spend token.
    function approve(address spender, uint tokens) public returns (bool success){
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }
    
    //Fucntion to transfer token from address.
    function transferFrom(address from, address to, uint tokens) public returns (bool success){
        balances[from] = safeSub(balances[from], tokens);
        allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
        balances[to] = safeAdd(balances[to], tokens);
        emit Transfer(from, to, tokens);
        return true;
    }
    
    //Fucntion to stop reciving ETH
    fallback() external {
       revert('contract does not accept ether'); // Reject any accidental Ether transfer
    }

    //Function for Allowance.
    function allowance(address tokenOwner, address spender) public view returns (uint remaining){
        return allowed[tokenOwner][spender];
    }
    
    //Function to get presale length
    function getsaleDetails() public view returns (uint presalelength) {
        return sale_detail.length;
    }
    
    //Function to check balance.
    function balanceOf(address tokenOwner) public view returns (uint balance){
        return balances[tokenOwner];
    }
    
    //Function to display reward balance
    function viewReward() public view returns (uint twitterToken, uint facebookToken, uint contentToken, uint youtubeToken, uint telegramToken, uint instagramToken, uint quizToken, uint partnershipToken){
        return (RewardDestribution['twitter'],RewardDestribution['facebook'], RewardDestribution['content'], RewardDestribution['youtube'], RewardDestribution['telegram'], RewardDestribution['instagram'], RewardDestribution['quiz'], RewardDestribution['partnership']);
    }
    
    //Function to display supplies balance
    function viewSupplies() public view returns (uint operationToken, uint plateform_developementToken, uint marketingToken, uint teamToken){
        return (allSupplies['operation'],allSupplies['plateform_developement'], allSupplies['marketing'], allSupplies['team']);
    }
    
    //Function to get presale length
    function countTotalSales() public view returns (uint count) {
        return sale_detail.length;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"countTotalSales","outputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwnerAddress","outputs":[{"internalType":"address","name":"ownerAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getsaleDetails","outputs":[{"internalType":"uint256","name":"presalelength","type":"uint256"}],"stateMutability":"view","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":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_token","type":"uint256"}],"name":"purchase","outputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sale_detail","outputs":[{"internalType":"uint256","name":"startDate","type":"uint256"},{"internalType":"uint256","name":"endDate","type":"uint256"},{"internalType":"uint256","name":"saletoken","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"softcap","type":"uint256"},{"internalType":"uint256","name":"hardcap","type":"uint256"},{"internalType":"uint256","name":"total_sold","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sale_token","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"salesAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_startdate","type":"uint256"},{"internalType":"uint256","name":"_enddate","type":"uint256"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"_softcap","type":"uint256"},{"internalType":"uint256","name":"_hardcap","type":"uint256"}],"name":"start_sale","outputs":[{"internalType":"bool","name":"status","type":"bool"}],"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":"total_sold_token","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"},{"internalType":"string","name":"_supply","type":"string"}],"name":"transferFromAllSupplies","outputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"},{"internalType":"string","name":"community","type":"string"}],"name":"transferRewards","outputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewReward","outputs":[{"internalType":"uint256","name":"twitterToken","type":"uint256"},{"internalType":"uint256","name":"facebookToken","type":"uint256"},{"internalType":"uint256","name":"contentToken","type":"uint256"},{"internalType":"uint256","name":"youtubeToken","type":"uint256"},{"internalType":"uint256","name":"telegramToken","type":"uint256"},{"internalType":"uint256","name":"instagramToken","type":"uint256"},{"internalType":"uint256","name":"quizToken","type":"uint256"},{"internalType":"uint256","name":"partnershipToken","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewSupplies","outputs":[{"internalType":"uint256","name":"operationToken","type":"uint256"},{"internalType":"uint256","name":"plateform_developementToken","type":"uint256"},{"internalType":"uint256","name":"marketingToken","type":"uint256"},{"internalType":"uint256","name":"teamToken","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b506040518060400160405280600481526020017f4944454100000000000000000000000000000000000000000000000000000000815250600090805190602001906200005f929190620005e7565b506040518060400160405280600981526020017f494445414f4c4f4759000000000000000000000000000000000000000000000081525060019080519060200190620000ad929190620005e7565b506012600260006101000a81548160ff021916908360ff1602179055506012600a0a631dcd6500026005819055506012600a0a630d101dc00260038190555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060800160405280600081526020016012600a0a625b8d800281526020016012600a0a6301245bc00281526020016012600a0a630b9034800281525060079060046200017e9291906200066e565b506012600a0a6298968002600b60405180807f6f7065726174696f6e000000000000000000000000000000000000000000000081525060090190509081526020016040518091039020819055506012600a0a6308f0d18002600b60405180807f706c617465666f726d5f646576656c6f70656d656e740000000000000000000081525060160190509081526020016040518091039020819055506012600a0a63017d784002600b60405180807f6d61726b6574696e67000000000000000000000000000000000000000000000081525060090190509081526020016040518091039020819055506012600a0a62e4e1c002600b60405180807f7465616d0000000000000000000000000000000000000000000000000000000081525060040190509081526020016040518091039020819055506012600a0a622d9fb002600c60405180807f747769747465720000000000000000000000000000000000000000000000000081525060070190509081526020016040518091039020819055506012600a0a6234a49002600c60405180807f66616365626f6f6b00000000000000000000000000000000000000000000000081525060080190509081526020016040518091039020819055506012600a0a6269492002600c60405180807f636f6e74656e740000000000000000000000000000000000000000000000000081525060070190509081526020016040518091039020819055506012600a0a622a1d4002600c60405180807f796f75747562650000000000000000000000000000000000000000000000000081525060070190509081526020016040518091039020819055506012600a0a624630c002600c60405180807f74656c656772616d00000000000000000000000000000000000000000000000081525060080190509081526020016040518091039020819055506012600a0a6223186002600c60405180807f696e7374616772616d000000000000000000000000000000000000000000000081525060090190509081526020016040518091039020819055506012600a0a620f424002600c60405180807f6576656e7400000000000000000000000000000000000000000000000000000081525060050190509081526020016040518091039020819055506012600a0a6207a12002600c60405180807f7175697a0000000000000000000000000000000000000000000000000000000081525060040190509081526020016040518091039020819055506012600a0a6253ec6002600c60405180807f706172746e657273686970000000000000000000000000000000000000000000815250600b0190509081526020016040518091039020819055506012600a0a6301c9c380026012600a0a630bebc2000260035460055403030360096000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006df565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200062a57805160ff19168380011785556200065b565b828001600101855582156200065b579182015b828111156200065a5782518255916020019190600101906200063d565b5b5090506200066a9190620006c0565b5090565b828054828255906000526020600020908101928215620006ad579160200282015b82811115620006ac5782518255916020019190600101906200068f565b5b509050620006bc9190620006c0565b5090565b5b80821115620006db576000816000905550600101620006c1565b5090565b612cca80620006ef6000396000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c80638da5cb5b116100de578063c1ea376811610097578063ed3b1c5211610071578063ed3b1c521461084d578063f2fde38b14610948578063f7bd51771461098c578063f990d8af14610a8757610178565b8063c1ea37681461074b578063c59795dd146107b7578063dd62ed3e146107d557610178565b80638da5cb5b146105425780638de932221461057657806395d89b41146105da578063a6f6ab721461065d578063a9059cbb1461067b578063a9123d97146106df57610178565b8063313ce56711610130578063313ce567146103c157806334f2015d146103e257806342966c68146104315780634d049d981461047557806370a08231146104b75780637794ac191461050f57610178565b806306fdde03146101e6578063095ea7b3146102695780630c4f65bd146102cd57806318160ddd14610301578063182c70df1461031f57806323b872dd1461033d57610178565b5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f636f6e747261637420646f6573206e6f7420616363657074206574686572000081525060200191505060405180910390fd5b6101ee610aa5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022e578082015181840152602081019050610213565b50505050905090810190601f16801561025b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b56004803603604081101561027f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b43565b60405180821515815260200191505060405180910390f35b6102d5610c35565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610309610c5f565b6040518082815260200191505060405180910390f35b610327610c65565b6040518082815260200191505060405180910390f35b6103a96004803603606081101561035357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c6b565b60405180821515815260200191505060405180910390f35b6103c9610efb565b604051808260ff16815260200191505060405180910390f35b6103ea610f0e565b604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b61045d6004803603602081101561044757600080fd5b810190808035906020019092919050505061112c565b60405180821515815260200191505060405180910390f35b6104a16004803603602081101561048b57600080fd5b810190808035906020019092919050505061139e565b6040518082815260200191505060405180910390f35b6104f9600480360360208110156104cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113bf565b6040518082815260200191505060405180910390f35b610517611408565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b61054a611518565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105c26004803603604081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061153e565b60405180821515815260200191505060405180910390f35b6105e2611b07565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610622578082015181840152602081019050610607565b50505050905090810190601f16801561064f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610665611ba5565b6040518082815260200191505060405180910390f35b6106c76004803603604081101561069157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bb2565b60405180821515815260200191505060405180910390f35b610733600480360360a08110156106f557600080fd5b810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611d4d565b60405180821515815260200191505060405180910390f35b6107776004803603602081101561076157600080fd5b8101908080359060200190929190505050612076565b6040518088815260200187815260200186815260200185815260200184815260200183815260200182815260200197505050505050505060405180910390f35b6107bf6120c5565b6040518082815260200191505060405180910390f35b610837600480360360408110156107eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120cb565b6040518082815260200191505060405180910390f35b6109306004803603606081101561086357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108aa57600080fd5b8201836020820111156108bc57600080fd5b803590602001918460018302840111640100000000831117156108de57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612152565b60405180821515815260200191505060405180910390f35b61098a6004803603602081101561095e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124b5565b005b610a6f600480360360608110156109a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109e957600080fd5b8201836020820111156109fb57600080fd5b80359060200191846001830284011164010000000083111715610a1d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612834565b60405180821515815260200191505060405180910390f35b610a8f612b97565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b3b5780601f10610b1057610100808354040283529160200191610b3b565b820191906000526020600020905b815481529060010190602001808311610b1e57829003601f168201915b505050505081565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60035481565b6000610cb6600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ba4565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d7f600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ba4565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e48600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bbe565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600260009054906101000a900460ff1681565b600080600080600080600080600c60405180807f74776974746572000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902054600c60405180807f66616365626f6f6b0000000000000000000000000000000000000000000000008152506008019050908152602001604051809103902054600c60405180807f636f6e74656e74000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902054600c60405180807f796f7574756265000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902054600c60405180807f74656c656772616d0000000000000000000000000000000000000000000000008152506008019050908152602001604051809103902054600c60405180807f696e7374616772616d00000000000000000000000000000000000000000000008152506009019050908152602001604051809103902054600c60405180807f7175697a000000000000000000000000000000000000000000000000000000008152506004019050908152602001604051809103902054600c60405180807f706172746e657273686970000000000000000000000000000000000000000000815250600b019050908152602001604051809103902054975097509750975097509750975097509091929394959697565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b8160096000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561125f57600080fd5b6112ca60096000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ba4565b60096000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b600781815481106113ab57fe5b906000526020600020016000915090505481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600080600b60405180807f6f7065726174696f6e00000000000000000000000000000000000000000000008152506009019050908152602001604051809103902054600b60405180807f706c617465666f726d5f646576656c6f70656d656e74000000000000000000008152506016019050908152602001604051809103902054600b60405180807f6d61726b6574696e6700000000000000000000000000000000000000000000008152506009019050908152602001604051809103902054600b60405180807f7465616d000000000000000000000000000000000000000000000000000000008152506004019050908152602001604051809103902054935093509350935090919293565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611603576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b6000805b6008805490508110156118ab576008818154811061162157fe5b906000526020600020906007020160000154421015801561166057506008818154811061164a57fe5b9060005260206000209060070201600101544211155b1561189e576008818154811061167257fe5b9060005260206000209060070201600201548411611830576116b26008828154811061169a57fe5b90600052602060002090600702016002015485612ba4565b600882815481106116bf57fe5b90600052602060002090600702016002018190555061171d600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612bbe565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061176c60045485612bbe565b60048190555061179a6008828154811061178257fe5b90600052602060002090600702016006015485612bbe565b600882815481106117a757fe5b9060005260206000209060070201600601819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019150600192505050611b01565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f436865636b20617661696c61626c6520746f6b656e2062616c616e636573000081525060200191505060405180910390fd5b8080600101915050611607565b5080611aff5782600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f416c6c20546f6b656e20536f6c6421000000000000000000000000000000000081525060200191505060405180910390fd5b6119af600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612ba4565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a3b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bbe565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a8a60045484612bbe565b6004819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001915050611b01565b505b92915050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b9d5780601f10611b7257610100808354040283529160200191611b9d565b820191906000526020600020905b815481529060010190602001808311611b8057829003601f168201915b505050505081565b6000600880549050905090565b6000611bfd600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ba4565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c89600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bbe565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cd860045483612bbe565b6004819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b600060088054905090506003811415611e93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f416c6c20707269766174652073616c652069732073657400000000000000000081525060200191505060405180910390fd5b6000611e9f8587612bd8565b90506000611ead8588612bd8565b90508789108015611ebd57504289115b8015611ec857508486105b8015611eed575060076001840181548110611edf57fe5b906000526020600020015482105b8015611f12575060076001840181548110611f0457fe5b906000526020600020015481105b1561201557611f1f612bf8565b6040518060e001604052808b81526020018a815260200160076001870181548110611f4657fe5b90600052602060002001548152602001898152602001888152602001878152602001600081525090506008819080600181540180825580915050600190039060005260206000209060070201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060155505061200960035460076001870181548110611ff957fe5b9060005260206000200154612ba4565b60038190555050612066565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c366026913960400191505060405180910390fd5b6001935050505095945050505050565b6008818154811061208357fe5b90600052602060002090600702016000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154905087565b60045481565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612217576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b600c826040518082805190602001908083835b6020831061224d578051825260208201915060208101905060208303925061222a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020548311156122d9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612c5c6039913960400191505060405180910390fd5b61234c600c836040518082805190602001908083835b6020831061231257805182526020820191506020810190506020830392506122ef565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205484612ba4565b600c836040518082805190602001908083835b60208310612382578051825260208201915060208101905060208303925061235f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902081905550612402600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bbe565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612578576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156125b257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506126fc600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612ba4565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612788600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bbe565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b600b826040518082805190602001908083835b6020831061292f578051825260208201915060208101905060208303925061290c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020548311156129bb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612c5c6039913960400191505060405180910390fd5b612a2e600b836040518082805190602001908083835b602083106129f457805182526020820191506020810190506020830392506129d1565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205484612ba4565b600b836040518082805190602001908083835b60208310612a645780518252602082019150602081019050602083039250612a41565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902081905550612ae4600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bbe565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b6000600880549050905090565b600082821115612bb357600080fd5b818303905092915050565b6000818301905082811015612bd257600080fd5b92915050565b6000808211612be657600080fd5b818381612bef57fe5b04905092915050565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe496e76616c696420646174612070726f766964656420746f2073746172742070726573616c65546f6b656e20616d6f756e74206973206c6172676572207468616e20746f6b656e20646973747269627574696f6e20616c6c6f636174696f6ea2646970667358221220798e502948c9da444def068dc40c251b1e2a04ef804098edb34d3d246e82ae2764736f6c63430007000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101775760003560e01c80638da5cb5b116100de578063c1ea376811610097578063ed3b1c5211610071578063ed3b1c521461084d578063f2fde38b14610948578063f7bd51771461098c578063f990d8af14610a8757610178565b8063c1ea37681461074b578063c59795dd146107b7578063dd62ed3e146107d557610178565b80638da5cb5b146105425780638de932221461057657806395d89b41146105da578063a6f6ab721461065d578063a9059cbb1461067b578063a9123d97146106df57610178565b8063313ce56711610130578063313ce567146103c157806334f2015d146103e257806342966c68146104315780634d049d981461047557806370a08231146104b75780637794ac191461050f57610178565b806306fdde03146101e6578063095ea7b3146102695780630c4f65bd146102cd57806318160ddd14610301578063182c70df1461031f57806323b872dd1461033d57610178565b5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f636f6e747261637420646f6573206e6f7420616363657074206574686572000081525060200191505060405180910390fd5b6101ee610aa5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022e578082015181840152602081019050610213565b50505050905090810190601f16801561025b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b56004803603604081101561027f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b43565b60405180821515815260200191505060405180910390f35b6102d5610c35565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610309610c5f565b6040518082815260200191505060405180910390f35b610327610c65565b6040518082815260200191505060405180910390f35b6103a96004803603606081101561035357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c6b565b60405180821515815260200191505060405180910390f35b6103c9610efb565b604051808260ff16815260200191505060405180910390f35b6103ea610f0e565b604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b61045d6004803603602081101561044757600080fd5b810190808035906020019092919050505061112c565b60405180821515815260200191505060405180910390f35b6104a16004803603602081101561048b57600080fd5b810190808035906020019092919050505061139e565b6040518082815260200191505060405180910390f35b6104f9600480360360208110156104cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113bf565b6040518082815260200191505060405180910390f35b610517611408565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b61054a611518565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105c26004803603604081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061153e565b60405180821515815260200191505060405180910390f35b6105e2611b07565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610622578082015181840152602081019050610607565b50505050905090810190601f16801561064f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610665611ba5565b6040518082815260200191505060405180910390f35b6106c76004803603604081101561069157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bb2565b60405180821515815260200191505060405180910390f35b610733600480360360a08110156106f557600080fd5b810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611d4d565b60405180821515815260200191505060405180910390f35b6107776004803603602081101561076157600080fd5b8101908080359060200190929190505050612076565b6040518088815260200187815260200186815260200185815260200184815260200183815260200182815260200197505050505050505060405180910390f35b6107bf6120c5565b6040518082815260200191505060405180910390f35b610837600480360360408110156107eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120cb565b6040518082815260200191505060405180910390f35b6109306004803603606081101561086357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108aa57600080fd5b8201836020820111156108bc57600080fd5b803590602001918460018302840111640100000000831117156108de57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612152565b60405180821515815260200191505060405180910390f35b61098a6004803603602081101561095e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124b5565b005b610a6f600480360360608110156109a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109e957600080fd5b8201836020820111156109fb57600080fd5b80359060200191846001830284011164010000000083111715610a1d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612834565b60405180821515815260200191505060405180910390f35b610a8f612b97565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b3b5780601f10610b1057610100808354040283529160200191610b3b565b820191906000526020600020905b815481529060010190602001808311610b1e57829003601f168201915b505050505081565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60035481565b6000610cb6600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ba4565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d7f600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ba4565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e48600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bbe565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600260009054906101000a900460ff1681565b600080600080600080600080600c60405180807f74776974746572000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902054600c60405180807f66616365626f6f6b0000000000000000000000000000000000000000000000008152506008019050908152602001604051809103902054600c60405180807f636f6e74656e74000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902054600c60405180807f796f7574756265000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902054600c60405180807f74656c656772616d0000000000000000000000000000000000000000000000008152506008019050908152602001604051809103902054600c60405180807f696e7374616772616d00000000000000000000000000000000000000000000008152506009019050908152602001604051809103902054600c60405180807f7175697a000000000000000000000000000000000000000000000000000000008152506004019050908152602001604051809103902054600c60405180807f706172746e657273686970000000000000000000000000000000000000000000815250600b019050908152602001604051809103902054975097509750975097509750975097509091929394959697565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b8160096000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561125f57600080fd5b6112ca60096000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ba4565b60096000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b600781815481106113ab57fe5b906000526020600020016000915090505481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600080600b60405180807f6f7065726174696f6e00000000000000000000000000000000000000000000008152506009019050908152602001604051809103902054600b60405180807f706c617465666f726d5f646576656c6f70656d656e74000000000000000000008152506016019050908152602001604051809103902054600b60405180807f6d61726b6574696e6700000000000000000000000000000000000000000000008152506009019050908152602001604051809103902054600b60405180807f7465616d000000000000000000000000000000000000000000000000000000008152506004019050908152602001604051809103902054935093509350935090919293565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611603576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b6000805b6008805490508110156118ab576008818154811061162157fe5b906000526020600020906007020160000154421015801561166057506008818154811061164a57fe5b9060005260206000209060070201600101544211155b1561189e576008818154811061167257fe5b9060005260206000209060070201600201548411611830576116b26008828154811061169a57fe5b90600052602060002090600702016002015485612ba4565b600882815481106116bf57fe5b90600052602060002090600702016002018190555061171d600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612bbe565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061176c60045485612bbe565b60048190555061179a6008828154811061178257fe5b90600052602060002090600702016006015485612bbe565b600882815481106117a757fe5b9060005260206000209060070201600601819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019150600192505050611b01565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f436865636b20617661696c61626c6520746f6b656e2062616c616e636573000081525060200191505060405180910390fd5b8080600101915050611607565b5080611aff5782600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f416c6c20546f6b656e20536f6c6421000000000000000000000000000000000081525060200191505060405180910390fd5b6119af600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612ba4565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a3b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bbe565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a8a60045484612bbe565b6004819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001915050611b01565b505b92915050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b9d5780601f10611b7257610100808354040283529160200191611b9d565b820191906000526020600020905b815481529060010190602001808311611b8057829003601f168201915b505050505081565b6000600880549050905090565b6000611bfd600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ba4565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c89600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bbe565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cd860045483612bbe565b6004819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b600060088054905090506003811415611e93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f416c6c20707269766174652073616c652069732073657400000000000000000081525060200191505060405180910390fd5b6000611e9f8587612bd8565b90506000611ead8588612bd8565b90508789108015611ebd57504289115b8015611ec857508486105b8015611eed575060076001840181548110611edf57fe5b906000526020600020015482105b8015611f12575060076001840181548110611f0457fe5b906000526020600020015481105b1561201557611f1f612bf8565b6040518060e001604052808b81526020018a815260200160076001870181548110611f4657fe5b90600052602060002001548152602001898152602001888152602001878152602001600081525090506008819080600181540180825580915050600190039060005260206000209060070201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060155505061200960035460076001870181548110611ff957fe5b9060005260206000200154612ba4565b60038190555050612066565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c366026913960400191505060405180910390fd5b6001935050505095945050505050565b6008818154811061208357fe5b90600052602060002090600702016000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154905087565b60045481565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612217576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b600c826040518082805190602001908083835b6020831061224d578051825260208201915060208101905060208303925061222a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020548311156122d9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612c5c6039913960400191505060405180910390fd5b61234c600c836040518082805190602001908083835b6020831061231257805182526020820191506020810190506020830392506122ef565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205484612ba4565b600c836040518082805190602001908083835b60208310612382578051825260208201915060208101905060208303925061235f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902081905550612402600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bbe565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612578576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156125b257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506126fc600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612ba4565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612788600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bbe565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6e6c79204163636573732042792041646d696e21210000000000000000000081525060200191505060405180910390fd5b600b826040518082805190602001908083835b6020831061292f578051825260208201915060208101905060208303925061290c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020548311156129bb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612c5c6039913960400191505060405180910390fd5b612a2e600b836040518082805190602001908083835b602083106129f457805182526020820191506020810190506020830392506129d1565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205484612ba4565b600b836040518082805190602001908083835b60208310612a645780518252602082019150602081019050602083039250612a41565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902081905550612ae4600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bbe565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b6000600880549050905090565b600082821115612bb357600080fd5b818303905092915050565b6000818301905082811015612bd257600080fd5b92915050565b6000808211612be657600080fd5b818381612bef57fe5b04905092915050565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe496e76616c696420646174612070726f766964656420746f2073746172742070726573616c65546f6b656e20616d6f756e74206973206c6172676572207468616e20746f6b656e20646973747269627574696f6e20616c6c6f636174696f6ea2646970667358221220798e502948c9da444def068dc40c251b1e2a04ef804098edb34d3d246e82ae2764736f6c63430007000033

Deployed Bytecode Sourcemap

666:10085:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9135:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;736:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8432:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3540:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;869:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;789:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8699:357;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;761:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9788:477;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7675:302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;942:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9615:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10321:273;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;915:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6242:1369;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;709:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10644:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8033:339;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4167:927;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1219:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9262:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5701:494;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3693:427;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5166:473;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9458:111;;;:::i;:::-;;;;;;;;;;;;;;;;;;;736:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8432:207::-;8495:12;8550:6;8519:7;:19;8527:10;8519:19;;;;;;;;;;;;;;;:28;8539:7;8519:28;;;;;;;;;;;;;;;:37;;;;8593:7;8572:37;;8581:10;8572:37;;;8602:6;8572:37;;;;;;;;;;;;;;;;;;8627:4;8620:11;;8432:207;;;;:::o;3540:99::-;3587:20;3626:5;;;;;;;;;;;3619:12;;3540:99;:::o;869:23::-;;;;:::o;789:22::-;;;;:::o;8699:357::-;8776:12;8817:31;8825:8;:14;8834:4;8825:14;;;;;;;;;;;;;;;;8841:6;8817:7;:31::i;:::-;8800:8;:14;8809:4;8800:14;;;;;;;;;;;;;;;:48;;;;8887:42;8895:7;:13;8903:4;8895:13;;;;;;;;;;;;;;;:25;8909:10;8895:25;;;;;;;;;;;;;;;;8922:6;8887:7;:42::i;:::-;8859:7;:13;8867:4;8859:13;;;;;;;;;;;;;;;:25;8873:10;8859:25;;;;;;;;;;;;;;;:70;;;;8955:29;8963:8;:12;8972:2;8963:12;;;;;;;;;;;;;;;;8977:6;8955:7;:29::i;:::-;8940:8;:12;8949:2;8940:12;;;;;;;;;;;;;;;:44;;;;9015:2;9000:26;;9009:4;9000:26;;;9019:6;9000:26;;;;;;;;;;;;;;;;;;9044:4;9037:11;;8699:357;;;;;:::o;761:21::-;;;;;;;;;;;;;:::o;9788:477::-;9831:17;9850:18;9870:17;9889;9908:18;9928:19;9949:14;9965:21;10006:18;:29;;;;;;;;;;;;;;;;;;;;;;;;;10036:18;:30;;;;;;;;;;;;;;;;;;;;;;;;;10068:18;:29;;;;;;;;;;;;;;;;;;;;;;;;;10099:18;:29;;;;;;;;;;;;;;;;;;;;;;;;;10130:18;:30;;;;;;;;;;;;;;;;;;;;;;;;;10162:18;:31;;;;;;;;;;;;;;;;;;;;;;;;;10195:18;:26;;;;;;;;;;;;;;;;;;;;;;;;;10223:18;:33;;;;;;;;;;;;;;;;;;;;;;;;;9998:259;;;;;;;;;;;;;;;;9788:477;;;;;;;;:::o;7675:302::-;7730:12;3440:5;;;;;;;;;;;3426:19;;:10;:19;;;3418:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7781:5:::1;7762:8;:15;7771:5;;;;;;;;;;;7762:15;;;;;;;;;;;;;;;;:24;;7754:33;;;::::0;::::1;;7815:31;7823:8;:15;7832:5;;;;;;;;;;;7823:15;;;;;;;;;;;;;;;;7840:5;7815:7;:31::i;:::-;7798:8;:15;7807:5;;;;;;;;;;;7798:15;;;;;;;;;;;;;;;:48;;;;7891:1;7862:39;;7871:10;7862:39;;;7895:5;7862:39;;;;;;;;;;;;;;;;;;7965:4;7958:11;;7675:302:::0;;;:::o;942:25::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9615:119::-;9675:12;9706:8;:20;9715:10;9706:20;;;;;;;;;;;;;;;;9699:27;;9615:119;;;:::o;10321:273::-;10366:19;10387:32;10421:19;10442:14;10476:11;:24;;;;;;;;;;;;;;;;;;;;;;;;;10501:11;:37;;;;;;;;;;;;;;;;;;;;;;;;;10540:11;:24;;;;;;;;;;;;;;;;;;;;;;;;;10566:11;:19;;;;;;;;;;;;;;;;;;;;;;;;;10468:118;;;;;;;;10321:273;;;;:::o;915:20::-;;;;;;;;;;;;;:::o;6242:1369::-;6317:11;3440:5;;;;;;;;;;;3426:19;;:10;:19;;;3418:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6340:11:::1;6375:6:::0;6370:831:::1;6389:11;:18;;;;6385:1;:22;6370:831;;;6451:11;6463:1;6451:14;;;;;;;;;;;;;;;;;;:24;;;6432:15;:43;;:87;;;;;6497:11;6509:1;6497:14;;;;;;;;;;;;;;;;;;:22;;;6479:15;:40;;6432:87;6428:762;;;6552:11;6564:1;6552:14;;;;;;;;;;;;;;;;;;:24;;;6542:6;:34;6539:636;;6627:41;6635:11;6647:1;6635:14;;;;;;;;;;;;;;;;;;:24;;;6661:6;6627:7;:41::i;:::-;6600:11;6612:1;6600:14;;;;;;;;;;;;;;;;;;:24;;:68;;;;6712:35;6720:8;:18;6729:8;6720:18;;;;;;;;;;;;;;;;6740:6;6712:7;:35::i;:::-;6691:8;:18;6700:8;6691:18;;;;;;;;;;;;;;;:56;;;;6789:33;6797:16;;6815:6;6789:7;:33::i;:::-;6770:16;:52;;;;6873:41;6881:11;6893:1;6881:14;;;;;;;;;;;;;;;;;;:25;;;6907:6;6873:7;:41::i;:::-;6845:11;6857:1;6845:14;;;;;;;;;;;;;;;;;;:25;;:69;;;;6963:8;6942:38;;6951:10;6942:38;;;6973:6;6942:38;;;;;;;;;;;;;;;;;;7012:4;7003:13;;7046:4;7039:11;;;;;;6539:636;7115:40;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;6428:762;6409:3;;;;;;;6370:831;;;;7215:6;7211:393;;7270:6;7246:8;:20;7255:10;7246:20;;;;;;;;;;;;;;;;:30;;7237:58;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;7333:37;7341:8;:20;7350:10;7341:20;;;;;;;;;;;;;;;;7363:6;7333:7;:37::i;:::-;7310:8;:20;7319:10;7310:20;;;;;;;;;;;;;;;:60;;;;7406:35;7414:8;:18;7423:8;7414:18;;;;;;;;;;;;;;;;7434:6;7406:7;:35::i;:::-;7385:8;:18;7394:8;7385:18;;;;;;;;;;;;;;;:56;;;;7475:33;7483:16;;7501:6;7475:7;:33::i;:::-;7456:16;:52;;;;7549:8;7528:38;;7537:10;7528:38;;;7559:6;7528:38;;;;;;;;;;;;;;;;;;7588:4;7581:11;;;;;7211:393;3482:1;;6242:1369:::0;;;;:::o;709:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10644:104::-;10692:10;10722:11;:18;;;;10715:25;;10644:104;:::o;8033:339::-;8092:12;8139:37;8147:8;:20;8156:10;8147:20;;;;;;;;;;;;;;;;8169:6;8139:7;:37::i;:::-;8116:8;:20;8125:10;8116:20;;;;;;;;;;;;;;;:60;;;;8202:29;8210:8;:12;8219:2;8210:12;;;;;;;;;;;;;;;;8224:6;8202:7;:29::i;:::-;8187:8;:12;8196:2;8187:12;;;;;;;;;;;;;;;:44;;;;8261:33;8269:16;;8287:6;8261:7;:33::i;:::-;8242:16;:52;;;;8331:2;8310:32;;8319:10;8310:32;;;8335:6;8310:32;;;;;;;;;;;;;;;;;;8360:4;8353:11;;8033:339;;;;:::o;4167:927::-;4288:11;3440:5;;;;;;;;;;;3426:19;;:10;:19;;;3418:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4311:9:::1;4323:11;:18;;;;4311:30;;4364:1;4356:4;:9;4352:75;;;4382:33;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;4352:75;4437:18;4458:25;4466:8;4476:6;4458:7;:25::i;:::-;4437:46;;4494:18;4515:25;4523:8;4533:6;4515:7;:25::i;:::-;4494:46;;4588:8;4575:10;:21;:53;;;;;4613:15;4600:10;:28;4575:53;:76;;;;;4643:8;4632;:19;4575:76;:117;;;;;4671:11;4690:1;4683:4;:8;4671:21;;;;;;;;;;;;;;;;4655:13;:37;4575:117;:158;;;;;4712:11;4731:1;4724:4;:8;4712:21;;;;;;;;;;;;;;;;4696:13;:37;4575:158;4572:493;;;4763:14;;:::i;:::-;4779:80;;;;;;;;4784:10;4779:80;;;;4796:8;4779:80;;;;4806:11;4825:1;4818:4;:8;4806:21;;;;;;;;;;;;;;;;4779:80;;;;4829:6;4779:80;;;;4837:8;4779:80;;;;4847:8;4779:80;;;;4857:1;4779:80;;::::0;4763:96:::1;;4874:11;4891:2;4874:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4922:42;4930:10;;4942:11;4961:1;4954:4;:8;4942:21;;;;;;;;;;;;;;;;4922:7;:42::i;:::-;4909:10;:55;;;;4572:493;;;;5005:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4572:493;5082:4;5075:11;;;;;4167:927:::0;;;;;;;:::o;1219:25::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;834:28::-;;;;:::o;9262:146::-;9339:14;9372:7;:19;9380:10;9372:19;;;;;;;;;;;;;;;:28;9392:7;9372:28;;;;;;;;;;;;;;;;9365:35;;9262:146;;;;:::o;5701:494::-;5811:11;3440:5;;;;;;;;;;;3426:19;;:10;:19;;;3418:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5856:18:::1;5875:9;5856:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5843:9;:42;;5835:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5990:49;5998:18;6017:9;5998:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6029:9;5990:7;:49::i;:::-;5958:18;5977:9;5958:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:81;;;;6071:37;6079:8;:18;6088:8;6079:18;;;;;;;;;;;;;;;;6098:9;6071:7;:37::i;:::-;6050:8;:18;6059:8;6050:18;;;;;;;;;;;;;;;:58;;;;6145:8;6124:41;;6133:10;6124:41;;;6155:9;6124:41;;;;;;;;;;;;;;;;;;6183:4;6176:11;;5701:494:::0;;;;;:::o;3693:427::-;3440:5;;;;;;;;;;;3426:19;;:10;:19;;;3418:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3793:1:::1;3773:22;;:8;:22;;;;3765:31;;;::::0;::::1;;3840:8;3812:37;;3833:5;;;;;;;;;;;3812:37;;;;;;;;;;;;3868:8;3860:5;;:16;;;;;;;;;;;;;;;;;;3887:11;3901:8;:20;3910:10;3901:20;;;;;;;;;;;;;;;;3887:34;;3955:36;3963:8;:20;3972:10;3963:20;;;;;;;;;;;;;;;;3984:6;3955:7;:36::i;:::-;3932:8;:20;3941:10;3932:20;;;;;;;;;;;;;;;:59;;;;4023:35;4031:8;:18;4040:8;4031:18;;;;;;;;;;;;;;;;4051:6;4023:7;:35::i;:::-;4002:8;:18;4011:8;4002:18;;;;;;;;;;;;;;;:56;;;;4095:8;4074:38;;4083:10;4074:38;;;4105:6;4074:38;;;;;;;;;;;;;;;;;;3482:1;3693:427:::0;:::o;5166:473::-;5282:11;3440:5;;;;;;;;;;;3426:19;;:10;:19;;;3418:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5327:11:::1;5339:7;5327:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5314:9;:33;;5306:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5443:40;5451:11;5463:7;5451:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5473:9;5443:7;:40::i;:::-;5420:11;5432:7;5420:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:63;;;;5515:37;5523:8;:18;5532:8;5523:18;;;;;;;;;;;;;;;;5542:9;5515:7;:37::i;:::-;5494:8;:18;5503:8;5494:18;;;;;;;;;;;;;;;:58;;;;5589:8;5568:41;;5577:10;5568:41;;;5599:9;5568:41;;;;;;;;;;;;;;;;;;5627:4;5620:11;;5166:473:::0;;;;;:::o;9458:111::-;9505:18;9543:11;:18;;;;9536:25;;9458:111;:::o;250:117::-;306:6;337:1;332;:6;;324:15;;;;;;358:1;354;:5;350:9;;250:117;;;;:::o;127:::-;183:6;209:1;205;:5;201:9;;234:1;229;:6;;221:15;;;;;;127:117;;;;:::o;510:116::-;566:6;596:1;592;:5;584:14;;;;;;617:1;613;:5;;;;;;609:9;;510:116;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://798e502948c9da444def068dc40c251b1e2a04ef804098edb34d3d246e82ae27

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Ideaology is an open-source project build on the Ethereum network that is creating a business network that will unite innovators, developers, and investors.

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.