ETH Price: $3,811.59 (+6.44%)

Token

Skraps (SKRP)
 

Overview

Max Total Supply

110,000,000 SKRP

Holders

9,939

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Skraps

Compiler Version
v0.4.20+commit.3155dd80

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-25
*/

pragma solidity 0.4.20;

contract Owned {
    address public owner;
    address public pendingOwner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function Owned() internal {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        pendingOwner = newOwner;
    }

    function acceptOwnership() public {
        require(msg.sender == pendingOwner);
        OwnershipTransferred(owner, pendingOwner);
        owner = pendingOwner;
        pendingOwner = address(0);
    }
}

// Support accounts using for change Ether price, manual migration and sending tokens during ICO, see endOfFreeze field
contract Support is Owned {
    mapping (address => bool) public supportAccounts;

    event SupportAdded(address indexed _who);
    event SupportRemoved(address indexed _who);

    modifier supportOrOwner {
        require(msg.sender == owner || supportAccounts[msg.sender]);
        _;
    }

    function addSupport(address _who) public onlyOwner {
        require(_who != address(0));
        require(_who != owner);
        require(!supportAccounts[_who]);
        supportAccounts[_who] = true;
        SupportAdded(_who);
    }

    function removeSupport(address _who) public onlyOwner {
        require(supportAccounts[_who]);
        supportAccounts[_who] = false;
        SupportRemoved(_who);
    }
}

// Math operations with safety checks that throw on error
library SafeMath {
    // Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    function sub(uint a, uint b) internal pure returns (uint) {
        assert(b <= a);
        return a - b;
    }

    // Adds two numbers, throws on overflow.
    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        assert(c >= a);
        return c;
    }
}

// ERC20 interface https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
contract ERC20 {
    uint public totalSupply;
    function balanceOf(address who) public constant returns (uint balance);
    function allowance(address owner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint value) public returns (bool success);
    function transferFrom(address from, address to, uint value) public returns (bool success);
    function approve(address spender, uint value) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

// Interface for migration to a new contract address
contract MigrationAgent {
    function migrateFrom(address _from, uint256 _value) public;
}

contract AdvancedToken is ERC20, Support {
    using SafeMath for uint;

    uint internal MAX_SUPPLY = 110000000 * 1 ether;
    address public migrationAgent;

    mapping (address => uint) internal balances;

    enum State { Waiting, ICO, Running, Migration }
    State public state = State.Waiting;

    event NewState(State state);
    event Burn(address indexed from, uint256 value);

    /**
     * The migration process to transfer tokens to the new token contract, when in the contract, a sufficiently large
     * number of investors that the company can't cover a miner fees to transfer all tokens, this will
     * be used in the following cases:
     * 1. If a critical error is found in the contract
     * 2. When will be released and approved a new standard for digital identification ERC-725 or similar
     * @param _agent The new token contract
     */
    function setMigrationAgent(address _agent) public onlyOwner {
        require(state == State.Running);
        migrationAgent = _agent;
    }

    // Called after setMigrationAgent function to make sure that a new contract address is valid
    function startMigration() public onlyOwner {
        require(migrationAgent != address(0));
        require(state == State.Running);
        state = State.Migration;
        NewState(state);
    }

    // Migration can be canceled if tokens have not yet been sent to the new contract
    function cancelMigration() public onlyOwner {
        require(state == State.Migration);
        require(totalSupply == MAX_SUPPLY);
        migrationAgent = address(0);
        state = State.Running;
        NewState(state);
    }

    // Manual migration if someone has problems moving
    function manualMigrate(address _who) public supportOrOwner {
        require(state == State.Migration);
        require(_who != address(this));
        require(balances[_who] > 0);
        uint value = balances[_who];
        balances[_who] = balances[_who].sub(value);
        totalSupply = totalSupply.sub(value);
        Burn(_who, value);
        MigrationAgent(migrationAgent).migrateFrom(_who, value);
    }

    // Migrate the holder's tokens to a new contract and burn the holder's tokens on the current contract
    function migrate() public {
        require(state == State.Migration);
        require(balances[msg.sender] > 0);
        uint value = balances[msg.sender];
        balances[msg.sender] = balances[msg.sender].sub(value);
        totalSupply = totalSupply.sub(value);
        Burn(msg.sender, value);
        MigrationAgent(migrationAgent).migrateFrom(msg.sender, value);
    }

    // The withdraw of Tokens from the contract after the end of ICO
    function withdrawTokens(uint _value) public onlyOwner {
        require(state == State.Running || state == State.Migration);
        require(balances[address(this)] > 0 && balances[address(this)] >= _value);
        balances[address(this)] = balances[address(this)].sub(_value);
        balances[msg.sender] = balances[msg.sender].add(_value);
        Transfer(address(this), msg.sender, _value);
    }

    // The withdraw of Ether from the contract
    function withdrawEther(uint256 _value) public onlyOwner {
        require(this.balance >= _value);
        owner.transfer(_value);
    }
}

contract Crowdsale is AdvancedToken {
    uint internal endOfFreeze = 1522569600; // Sun, 01 Apr 2018 00:00:00 PST
    uint private tokensForSalePhase2;
    uint public tokensPerEther;

    address internal reserve = 0x4B046B05C29E535E152A3D9c8FB7540a8e15c7A6;

    function Crowdsale() internal {
        assert(reserve != address(0));
        tokensPerEther = 2000 * 1 ether; // Tokens ^ 18
        totalSupply = MAX_SUPPLY;
        uint MARKET_SHARE = 66000000 * 1 ether;
        uint tokensSoldPhase1 = 11110257 * 1 ether;
        tokensForSalePhase2 = MARKET_SHARE - tokensSoldPhase1;

        // Tokens for the Phase 2 are on the contract and not available to withdraw by owner during the ICO
        balances[address(this)] = tokensForSalePhase2;
        // Tokens for the Phase 1 are on the owner to distribution by manually processes
        balances[owner] = totalSupply - tokensForSalePhase2;

        assert(balances[address(this)] + balances[owner] == MAX_SUPPLY);
        Transfer(0, address(this), balances[address(this)]);
        Transfer(0, owner, balances[owner]);
    }

    // Setting the number of tokens to buy for 1 Ether, changes automatically by owner or support account
    function setTokensPerEther(uint _tokens) public supportOrOwner {
        require(state == State.ICO || state == State.Waiting);
        require(_tokens > 100 ether); // Min 100 tokens ^ 18
        tokensPerEther = _tokens;
    }

    // The payable function to buy Skraps tokens
    function () internal payable {
        require(msg.sender != address(0));
        require(state == State.ICO || state == State.Migration);
        if (state == State.ICO) {
            // The minimum ether to participate
            require(msg.value >= 0.01 ether);
            // Counting and sending tokens to the investor
            uint _tokens = msg.value * tokensPerEther / 1 ether;
            require(balances[address(this)] >= _tokens);
            balances[address(this)] = balances[address(this)].sub(_tokens);
            balances[msg.sender] = balances[msg.sender].add(_tokens);
            Transfer(address(this), msg.sender, _tokens);

            // send 25% of ether received to reserve address
            uint to_reserve = msg.value * 25 / 100;
            reserve.transfer(to_reserve);
        } else {
            require(msg.value == 0);
            migrate();
        }
    }

    // Start ISO manually because the block timestamp is not mean the current time
    function startICO() public supportOrOwner {
        require(state == State.Waiting);
        state = State.ICO;
        NewState(state);
    }

    // Since a contracts can not call itself, we must manually close the ICO
    function closeICO() public onlyOwner {
        require(state == State.ICO);
        state = State.Running;
        NewState(state);
    }

    // Anti-scam function, if the tokens are obtained by dishonest means, can be used only during ICO
    function refundTokens(address _from, uint _value) public onlyOwner {
        require(state == State.ICO);
        require(balances[_from] >= _value);
        balances[_from] = balances[_from].sub(_value);
        balances[address(this)] = balances[address(this)].add(_value);
        Transfer(_from, address(this), _value);
    }
}

/**
 * Standard ERC20 implementation, see the interface above,
 * with a small modification to block the transfer of tokens until a specific date, see endOfFreeze field
 */
contract Skraps is Crowdsale {
    using SafeMath for uint;

    string public name = "Skraps";
    string public symbol = "SKRP";
    uint8 public decimals = 18;

    mapping (address => mapping (address => uint)) private allowed;

    function balanceOf(address _who) public constant returns (uint) {
        return balances[_who];
    }

    function allowance(address _owner, address _spender) public constant returns (uint remaining) {
        return allowed[_owner][_spender];
    }

    function transfer(address _to, uint _value) public returns (bool success) {
        require(_to != address(0));
        require(balances[msg.sender] >= _value);
        require(now > endOfFreeze || msg.sender == owner || supportAccounts[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint _value) public returns (bool success) {
        require(_to != address(0));
        require(balances[_from] >= _value);
        require(allowed[_from][msg.sender] >= _value);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint _value) public returns (bool success) {
        require(balances[msg.sender] >= _value);
        require(_spender != address(0));
        require(now > endOfFreeze || msg.sender == owner || supportAccounts[msg.sender]);
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"cancelMigration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startMigration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"}],"name":"manualMigrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"}],"name":"removeSupport","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"closeICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"refundTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_agent","type":"address"}],"name":"setMigrationAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"supportAccounts","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"migrationAgent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"migrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"}],"name":"setTokensPerEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"}],"name":"addSupport","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"state","type":"uint8"}],"name":"NewState","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_who","type":"address"}],"name":"SupportAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_who","type":"address"}],"name":"SupportRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60606040526a5afd67f2dc0e1b2e0000006004556000600760006101000a81548160ff021916908360038111156200003357fe5b0217905550635ac09180600855734b046b05c29e535e152a3d9c8fb7540a8e15c7a6600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600681526020017f536b726170730000000000000000000000000000000000000000000000000000815250600c9080519060200190620000e2929190620004f7565b506040805190810160405280600481526020017f534b525000000000000000000000000000000000000000000000000000000000815250600d908051906020019062000130929190620004f7565b506012600e60006101000a81548160ff021916908360ff16021790555060008033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515620001ed57fe5b686c6b935b8bbd400000600a819055506004546000819055506a36980b2b50d5438200000091506a0930b03d22e3969f2400009050808203600981905550600954600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506009546000540360066000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060045460066000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011415156200038d57fe5b3073ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60066000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a35050620005a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200053a57805160ff19168380011785556200056b565b828001600101855582156200056b579182015b828111156200056a5782518255916020019190600101906200054d565b5b5090506200057a91906200057e565b5090565b620005a391905b808211156200059f57600081600090555060010162000585565b5090565b90565b61323d80620005b66000396000f300606060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146104f2578063095ea7b31461058057806310639ea0146105da57806318160ddd146105ef57806318264f331461061857806323b872dd1461062d57806325cb366d146106a6578063313ce567146106df578063315a095d1461070e5780633160d63b146107315780633bed33ce1461076a578063542386451461078d578063549c6bbb146107a257806370a08231146107e457806375e2ff651461083157806379ba50971461086a5780637f05c3a61461087f5780637fa8c158146108d05780638328dbcd146108e55780638da5cb5b1461093a5780638fd3ab801461098f578063904bd6d0146109a457806395d89b41146109c7578063a9059cbb14610a55578063bc201a9d14610aaf578063c19d93fb14610ae8578063dd62ed3e14610b1f578063e30c397814610b8b578063f2fde38b14610be0578063f856d60514610c19575b600080600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515156101bf57600080fd5b600160038111156101cc57fe5b600760009054906101000a900460ff1660038111156101e757fe5b148061021757506003808111156101fa57fe5b600760009054906101000a900460ff16600381111561021557fe5b145b151561022257600080fd5b6001600381111561022f57fe5b600760009054906101000a900460ff16600381111561024a57fe5b14156104d657662386f26fc10000341015151561026657600080fd5b670de0b6b3a7640000600a54340281151561027d57fe5b04915081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156102ce57600080fd5b61032082600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103b582600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360646019340281151561046c57fe5b049050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156104d157600080fd5b6104ee565b6000341415156104e557600080fd5b6104ed610c79565b5b5050005b34156104fd57600080fd5b610505610f17565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054557808201518184015260208101905061052a565b50505050905090810190601f1680156105725780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058b57600080fd5b6105c0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fb5565b604051808215151515815260200191505060405180910390f35b34156105e557600080fd5b6105ed611283565b005b34156105fa57600080fd5b6106026113e0565b6040518082815260200191505060405180910390f35b341561062357600080fd5b61062b6113e6565b005b341561063857600080fd5b61068c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061154e565b604051808215151515815260200191505060405180910390f35b34156106b157600080fd5b6106dd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061190d565b005b34156106ea57600080fd5b6106f2611c97565b604051808260ff1660ff16815260200191505060405180910390f35b341561071957600080fd5b61072f6004808035906020019091905050611caa565b005b341561073c57600080fd5b610768600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f94565b005b341561077557600080fd5b61078b60048080359060200190919050506120e6565b005b341561079857600080fd5b6107a06121cd565b005b34156107ad57600080fd5b6107e2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506122d7565b005b34156107ef57600080fd5b61081b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612548565b6040518082815260200191505060405180910390f35b341561083c57600080fd5b610868600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612591565b005b341561087557600080fd5b61087d612665565b005b341561088a57600080fd5b6108b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612806565b604051808215151515815260200191505060405180910390f35b34156108db57600080fd5b6108e3612826565b005b34156108f057600080fd5b6108f8612984565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561094557600080fd5b61094d6129aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561099a57600080fd5b6109a2610c79565b005b34156109af57600080fd5b6109c560048080359060200190919050506129d0565b005b34156109d257600080fd5b6109da612b05565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a1a5780820151818401526020810190506109ff565b50505050905090810190601f168015610a475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a6057600080fd5b610a95600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612ba3565b604051808215151515815260200191505060405180910390f35b3415610aba57600080fd5b610ae6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612e83565b005b3415610af357600080fd5b610afb61306f565b60405180826003811115610b0b57fe5b60ff16815260200191505060405180910390f35b3415610b2a57600080fd5b610b75600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613082565b6040518082815260200191505060405180910390f35b3415610b9657600080fd5b610b9e613109565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610beb57600080fd5b610c17600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061312f565b005b3415610c2457600080fd5b610c2c61320b565b6040518082815260200191505060405180910390f35b6000828211151515610c5057fe5b818303905092915050565b6000808284019050838110151515610c6f57fe5b8091505092915050565b6000600380811115610c8757fe5b600760009054906101000a900460ff166003811115610ca257fe5b141515610cae57600080fd5b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515610cfc57600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610d9081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610de881600054610c4290919063ffffffff16565b6000819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637a3130e333836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f0057600080fd5b6102c65a03f11515610f1157600080fd5b50505050565b600c8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fad5780601f10610f8257610100808354040283529160200191610fad565b820191906000526020600020905b815481529060010190602001808311610f9057829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561100557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561104157600080fd5b60085442118061109e5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806110f25750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156110fd57600080fd5b600082148061118857506000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561119357600080fd5b81600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112df57600080fd5b6003808111156112eb57fe5b600760009054906101000a900460ff16600381111561130657fe5b14151561131257600080fd5b60045460005414151561132457600080fd5b6000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002600760006101000a81548160ff0219169083600381111561138557fe5b02179055507fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b483600760009054906101000a900460ff16604051808260038111156113cb57fe5b60ff16815260200191505060405180910390a1565b60005481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156114a057600080fd5b600260038111156114ad57fe5b600760009054906101000a900460ff1660038111156114c857fe5b1415156114d457600080fd5b6003600760006101000a81548160ff021916908360038111156114f357fe5b02179055507fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b483600760009054906101000a900460ff166040518082600381111561153957fe5b60ff16815260200191505060405180910390a1565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561158b57600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156115d957600080fd5b81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561166457600080fd5b6116b682600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174b82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061181d82600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119b45750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156119bf57600080fd5b6003808111156119cb57fe5b600760009054906101000a900460ff1660038111156119e657fe5b1415156119f257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611a2d57600080fd5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515611a7b57600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611b0f81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b6781600054610c4290919063ffffffff16565b6000819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637a3130e383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515611c7f57600080fd5b6102c65a03f11515611c9057600080fd5b5050505050565b600e60009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0657600080fd5b60026003811115611d1357fe5b600760009054906101000a900460ff166003811115611d2e57fe5b1480611d5e5750600380811115611d4157fe5b600760009054906101000a900460ff166003811115611d5c57fe5b145b1515611d6957600080fd5b6000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118015611df7575080600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1515611e0257600080fd5b611e5481600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee981600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ff057600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561204857600080fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f570468f0651f7f576cb27a02931736022a18f61f8df2a29566edfeef02da38af60405160405180910390a250565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561214257600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561216857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156121ca57600080fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561222957600080fd5b6001600381111561223657fe5b600760009054906101000a900460ff16600381111561225157fe5b14151561225d57600080fd5b6002600760006101000a81548160ff0219169083600381111561227c57fe5b02179055507fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b483600760009054906101000a900460ff16604051808260038111156122c257fe5b60ff16815260200191505060405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561233357600080fd5b6001600381111561234057fe5b600760009054906101000a900460ff16600381111561235b57fe5b14151561236757600080fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156123b557600080fd5b61240781600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061249c81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125ed57600080fd5b600260038111156125fa57fe5b600760009054906101000a900460ff16600381111561261557fe5b14151561262157600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126c157600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806128cb5750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156128d657600080fd5b600060038111156128e357fe5b600760009054906101000a900460ff1660038111156128fe57fe5b14151561290a57600080fd5b6001600760006101000a81548160ff0219169083600381111561292957fe5b02179055507fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b483600760009054906101000a900460ff166040518082600381111561296f57fe5b60ff16815260200191505060405180910390a1565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612a755750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515612a8057600080fd5b60016003811115612a8d57fe5b600760009054906101000a900460ff166003811115612aa857fe5b1480612ad9575060006003811115612abc57fe5b600760009054906101000a900460ff166003811115612ad757fe5b145b1515612ae457600080fd5b68056bc75e2d6310000081111515612afb57600080fd5b80600a8190555050565b600d8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b9b5780601f10612b7057610100808354040283529160200191612b9b565b820191906000526020600020905b815481529060010190602001808311612b7e57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612be057600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515612c2e57600080fd5b600854421180612c8b5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80612cdf5750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515612cea57600080fd5b612d3c82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dd182600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612edf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612f1b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612f7857600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612fd157600080fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6aedf1d160e0b4c37e6411c49afda196511329e9a8c7dfd863cdccc1ec9bf80660405160405180910390a250565b600760009054906101000a900460ff1681565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561318b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156131c757600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a54815600a165627a7a72305820b8ece78acfc7f5a80fe3a6dc139e5772225c589ca46f007597d561ab2ab3e5e40029

Deployed Bytecode

0x606060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146104f2578063095ea7b31461058057806310639ea0146105da57806318160ddd146105ef57806318264f331461061857806323b872dd1461062d57806325cb366d146106a6578063313ce567146106df578063315a095d1461070e5780633160d63b146107315780633bed33ce1461076a578063542386451461078d578063549c6bbb146107a257806370a08231146107e457806375e2ff651461083157806379ba50971461086a5780637f05c3a61461087f5780637fa8c158146108d05780638328dbcd146108e55780638da5cb5b1461093a5780638fd3ab801461098f578063904bd6d0146109a457806395d89b41146109c7578063a9059cbb14610a55578063bc201a9d14610aaf578063c19d93fb14610ae8578063dd62ed3e14610b1f578063e30c397814610b8b578063f2fde38b14610be0578063f856d60514610c19575b600080600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515156101bf57600080fd5b600160038111156101cc57fe5b600760009054906101000a900460ff1660038111156101e757fe5b148061021757506003808111156101fa57fe5b600760009054906101000a900460ff16600381111561021557fe5b145b151561022257600080fd5b6001600381111561022f57fe5b600760009054906101000a900460ff16600381111561024a57fe5b14156104d657662386f26fc10000341015151561026657600080fd5b670de0b6b3a7640000600a54340281151561027d57fe5b04915081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156102ce57600080fd5b61032082600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103b582600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360646019340281151561046c57fe5b049050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156104d157600080fd5b6104ee565b6000341415156104e557600080fd5b6104ed610c79565b5b5050005b34156104fd57600080fd5b610505610f17565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054557808201518184015260208101905061052a565b50505050905090810190601f1680156105725780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058b57600080fd5b6105c0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fb5565b604051808215151515815260200191505060405180910390f35b34156105e557600080fd5b6105ed611283565b005b34156105fa57600080fd5b6106026113e0565b6040518082815260200191505060405180910390f35b341561062357600080fd5b61062b6113e6565b005b341561063857600080fd5b61068c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061154e565b604051808215151515815260200191505060405180910390f35b34156106b157600080fd5b6106dd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061190d565b005b34156106ea57600080fd5b6106f2611c97565b604051808260ff1660ff16815260200191505060405180910390f35b341561071957600080fd5b61072f6004808035906020019091905050611caa565b005b341561073c57600080fd5b610768600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f94565b005b341561077557600080fd5b61078b60048080359060200190919050506120e6565b005b341561079857600080fd5b6107a06121cd565b005b34156107ad57600080fd5b6107e2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506122d7565b005b34156107ef57600080fd5b61081b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612548565b6040518082815260200191505060405180910390f35b341561083c57600080fd5b610868600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612591565b005b341561087557600080fd5b61087d612665565b005b341561088a57600080fd5b6108b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612806565b604051808215151515815260200191505060405180910390f35b34156108db57600080fd5b6108e3612826565b005b34156108f057600080fd5b6108f8612984565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561094557600080fd5b61094d6129aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561099a57600080fd5b6109a2610c79565b005b34156109af57600080fd5b6109c560048080359060200190919050506129d0565b005b34156109d257600080fd5b6109da612b05565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a1a5780820151818401526020810190506109ff565b50505050905090810190601f168015610a475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a6057600080fd5b610a95600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612ba3565b604051808215151515815260200191505060405180910390f35b3415610aba57600080fd5b610ae6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612e83565b005b3415610af357600080fd5b610afb61306f565b60405180826003811115610b0b57fe5b60ff16815260200191505060405180910390f35b3415610b2a57600080fd5b610b75600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613082565b6040518082815260200191505060405180910390f35b3415610b9657600080fd5b610b9e613109565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610beb57600080fd5b610c17600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061312f565b005b3415610c2457600080fd5b610c2c61320b565b6040518082815260200191505060405180910390f35b6000828211151515610c5057fe5b818303905092915050565b6000808284019050838110151515610c6f57fe5b8091505092915050565b6000600380811115610c8757fe5b600760009054906101000a900460ff166003811115610ca257fe5b141515610cae57600080fd5b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515610cfc57600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610d9081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610de881600054610c4290919063ffffffff16565b6000819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637a3130e333836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610f0057600080fd5b6102c65a03f11515610f1157600080fd5b50505050565b600c8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fad5780601f10610f8257610100808354040283529160200191610fad565b820191906000526020600020905b815481529060010190602001808311610f9057829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561100557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561104157600080fd5b60085442118061109e5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806110f25750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156110fd57600080fd5b600082148061118857506000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561119357600080fd5b81600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112df57600080fd5b6003808111156112eb57fe5b600760009054906101000a900460ff16600381111561130657fe5b14151561131257600080fd5b60045460005414151561132457600080fd5b6000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002600760006101000a81548160ff0219169083600381111561138557fe5b02179055507fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b483600760009054906101000a900460ff16604051808260038111156113cb57fe5b60ff16815260200191505060405180910390a1565b60005481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156114a057600080fd5b600260038111156114ad57fe5b600760009054906101000a900460ff1660038111156114c857fe5b1415156114d457600080fd5b6003600760006101000a81548160ff021916908360038111156114f357fe5b02179055507fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b483600760009054906101000a900460ff166040518082600381111561153957fe5b60ff16815260200191505060405180910390a1565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561158b57600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156115d957600080fd5b81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561166457600080fd5b6116b682600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174b82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061181d82600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119b45750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156119bf57600080fd5b6003808111156119cb57fe5b600760009054906101000a900460ff1660038111156119e657fe5b1415156119f257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611a2d57600080fd5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515611a7b57600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611b0f81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b6781600054610c4290919063ffffffff16565b6000819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637a3130e383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515611c7f57600080fd5b6102c65a03f11515611c9057600080fd5b5050505050565b600e60009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0657600080fd5b60026003811115611d1357fe5b600760009054906101000a900460ff166003811115611d2e57fe5b1480611d5e5750600380811115611d4157fe5b600760009054906101000a900460ff166003811115611d5c57fe5b145b1515611d6957600080fd5b6000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118015611df7575080600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1515611e0257600080fd5b611e5481600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee981600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ff057600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561204857600080fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f570468f0651f7f576cb27a02931736022a18f61f8df2a29566edfeef02da38af60405160405180910390a250565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561214257600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561216857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156121ca57600080fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561222957600080fd5b6001600381111561223657fe5b600760009054906101000a900460ff16600381111561225157fe5b14151561225d57600080fd5b6002600760006101000a81548160ff0219169083600381111561227c57fe5b02179055507fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b483600760009054906101000a900460ff16604051808260038111156122c257fe5b60ff16815260200191505060405180910390a1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561233357600080fd5b6001600381111561234057fe5b600760009054906101000a900460ff16600381111561235b57fe5b14151561236757600080fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156123b557600080fd5b61240781600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061249c81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125ed57600080fd5b600260038111156125fa57fe5b600760009054906101000a900460ff16600381111561261557fe5b14151561262157600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126c157600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806128cb5750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156128d657600080fd5b600060038111156128e357fe5b600760009054906101000a900460ff1660038111156128fe57fe5b14151561290a57600080fd5b6001600760006101000a81548160ff0219169083600381111561292957fe5b02179055507fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b483600760009054906101000a900460ff166040518082600381111561296f57fe5b60ff16815260200191505060405180910390a1565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612a755750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515612a8057600080fd5b60016003811115612a8d57fe5b600760009054906101000a900460ff166003811115612aa857fe5b1480612ad9575060006003811115612abc57fe5b600760009054906101000a900460ff166003811115612ad757fe5b145b1515612ae457600080fd5b68056bc75e2d6310000081111515612afb57600080fd5b80600a8190555050565b600d8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b9b5780601f10612b7057610100808354040283529160200191612b9b565b820191906000526020600020905b815481529060010190602001808311612b7e57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612be057600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515612c2e57600080fd5b600854421180612c8b5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80612cdf5750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515612cea57600080fd5b612d3c82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4290919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dd182600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612edf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612f1b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612f7857600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612fd157600080fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6aedf1d160e0b4c37e6411c49afda196511329e9a8c7dfd863cdccc1ec9bf80660405160405180910390a250565b600760009054906101000a900460ff1681565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561318b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156131c757600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a54815600a165627a7a72305820b8ece78acfc7f5a80fe3a6dc139e5772225c589ca46f007597d561ab2ab3e5e40029

Swarm Source

bzzr://b8ece78acfc7f5a80fe3a6dc139e5772225c589ca46f007597d561ab2ab3e5e4
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.