ETH Price: $3,352.69 (-1.07%)

Token

LearnChain (LEN)
 

Overview

Max Total Supply

3,000,000,000 LEN

Holders

27,955

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
15,454.879787867882277356 LEN

Value
$0.00
0x44355d2a08e947dcd8d3766ea59d4356d87a9798
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:
LearnChain

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-06
*/

pragma solidity ^0.4.18;

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

contract ForeignToken {
    function balanceOf(address _owner) constant public returns (uint256);
    function transfer(address _to, uint256 _value) public returns (bool);
}

contract ContractReceiver {
    function tokenFallback(address _from, uint _value, bytes _data) public returns (bool);
}

contract ERC223Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public constant returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    function transfer(address to, uint256 value, bytes data) public returns (bool);
    function transfer(address to, uint256 value, bytes data, string custom_fallback) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC223 is ERC223Basic {
    function allowance(address owner, address spender) public constant returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface Token { 
    function distr(address _to, uint256 _value) public returns (bool);
    function totalSupply() constant public returns (uint256 supply);
    function balanceOf(address _owner) constant public returns (uint256 balance);
}

contract LearnChain is ERC223 {
    
    using SafeMath for uint256;
    address public owner;

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
    
    mapping (address => bool) public blacklist;
    mapping(address => uint256) public proposals;

    string public name;
    string public symbol;
    uint256 public decimals;
    uint256 public totalSupply;
    
    address public otherTokenAddress;
    address public tokenSender;
    uint256 public tokenApproves;
    uint256 public tokenValue;
    
    uint256 public totalDistributed;
    uint256 public totalRemaining;
    uint256 public value;
    uint256 public dividend;
    uint256 public divisor;
    uint256 public inviteReward = 2;
    uint256 public proposalTimeout = 9999 days;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event LOG_Transfer(address indexed from, address indexed to, uint256 value, bytes indexed data);
    
    event Distr(address indexed to, uint256 amount);
    event InviteInit(address indexed to, uint256 amount);
    event Invite(address indexed from, address indexed to, uint256 other_amount);
    
    event DistrFinished();
    event DistrStarted();
    
    event Other_DistrFinished();
    event Other_DistrStarted();
    
    event LOG_receiveApproval(address _sender,uint256 _tokenValue,address _otherTokenAddress,bytes _extraData);
    event LOG_callTokenTransferFrom(address tokenSender,address _to,uint256 _value);
    
    event Burn(address indexed burner, uint256 value);
    event Mint(address indexed minter, uint256 value);
    
    bool public distributionFinished = false;
    bool public otherDistributionFinished = false;
    
    modifier canDistr() {
        require(!distributionFinished);
        _;
    }
    
    modifier canNotDistr() {
        require(distributionFinished);
        _;
    }
    
    modifier canDistrOther() {
        require(!otherDistributionFinished);
        _;
    }
    
    modifier canNotDistrOther() {
        require(otherDistributionFinished);
        _;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    
    modifier onlyWhitelistOrTimeout() {
        require(blacklist[msg.sender] == false || (blacklist[msg.sender] == true && proposals[msg.sender].add(proposalTimeout) <= now));
        _;
    }
    
    function LearnChain (string _tokenName, string _tokenSymbol, uint256 _decimalUnits, uint256 _initialAmount, uint256 _totalDistributed, uint256 _value, uint256 _dividend, uint256 _divisor) public {
        require(_decimalUnits != 0);
        require(_initialAmount != 0);
        require(_value != 0);
        require(_dividend != 0);
        require(_divisor != 0);
        
        
        owner = msg.sender;
        name = _tokenName;
        symbol = _tokenSymbol;
        decimals = _decimalUnits;
        totalSupply = _initialAmount;
        totalDistributed = _totalDistributed;
        totalRemaining = totalSupply.sub(totalDistributed);
        value = _value;
        dividend = _dividend;
        divisor = _divisor;
        
        balances[owner] = totalDistributed;
        Transfer(address(0), owner, totalDistributed);
    }
    
    function transferOwnership(address newOwner) onlyOwner public {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }
    
    function changeOtherTokenAddress(address newOtherTokenAddress) onlyOwner public {
        if (newOtherTokenAddress != address(0)) {
            otherTokenAddress = newOtherTokenAddress;
        }
    }
    
    function changeTokenSender(address newTokenSender) onlyOwner public {
        if (newTokenSender != address(0)) {
            tokenSender = newTokenSender;
        }
    }
    
    function changeTokenValue(uint256 newTokenValue) onlyOwner public {
        tokenValue = newTokenValue;
    }
    
    function changeProposalTimeout(uint256 newProposalTimeout) onlyOwner public {
        proposalTimeout = newProposalTimeout;
    }
    
    function changeTokenApproves(uint256 newTokenApproves) onlyOwner public {
        tokenApproves = newTokenApproves;
    }
    
    function enableWhitelist(address[] addresses) onlyOwner public {
        for (uint i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = false;
        }
    }

    function disableWhitelist(address[] addresses) onlyOwner public {
        for (uint i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = true;
        }
    }
    
    function finishDistribution() onlyOwner canDistr public returns (bool) {
        distributionFinished = true;
        DistrFinished();
        return true;
    }
    
    function startDistribution() onlyOwner canNotDistr public returns (bool) {
        distributionFinished = false;
        DistrStarted();
        return true;
    }
    
    function finishOtherDistribution() onlyOwner canDistrOther public returns (bool) {
        otherDistributionFinished = true;
        Other_DistrFinished();
        return true;
    }
    
    function startOtherDistribution() onlyOwner canNotDistrOther public returns (bool) {
        otherDistributionFinished = false;
        Other_DistrStarted();
        return true;
    }
    
    function changeTotalDistributed(uint256 newTotalDistributed) onlyOwner public {
        totalDistributed = newTotalDistributed;
    }
    
    function changeTotalRemaining(uint256 newTotalRemaining) onlyOwner public {
        totalRemaining = newTotalRemaining;
    }
    
    function changeValue(uint256 newValue) onlyOwner public {
        value = newValue;
    }
    
    function changeTotalSupply(uint256 newTotalSupply) onlyOwner public {
        totalSupply = newTotalSupply;
    }
    
    function changeDecimals(uint256 newDecimals) onlyOwner public {
        decimals = newDecimals;
    }
    
    function changeName(string newName) onlyOwner public {
        name = newName;
    }
    
    function changeSymbol(string newSymbol) onlyOwner public {
        symbol = newSymbol;
    }
    
    function changeDivisor(uint256 newDivisor) onlyOwner public {
        divisor = newDivisor;
    }
    
    function changeDividend(uint256 newDividend) onlyOwner public {
        dividend = newDividend;
    }
    
    function changeInviteReward(uint256 newInviteReward) onlyOwner public {
        inviteReward = newInviteReward;
    }
    
    function distr(address _to, uint256 _amount) canDistr private returns (bool) {
        totalDistributed = totalDistributed.add(_amount);
        totalRemaining = totalRemaining.sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        Distr(_to, _amount);
        Transfer(address(0), _to, _amount);
        return true;
        
        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }
    
    function airdrop(address[] addresses) onlyOwner canDistr public {
        
        require(addresses.length <= 255);
        require(value <= totalRemaining);
        
        for (uint i = 0; i < addresses.length; i++) {
            require(value <= totalRemaining);
            distr(addresses[i], value);
        }
	
        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }
    
    function distribution(address[] addresses, uint256 amount) onlyOwner canDistr public {
        
        require(addresses.length <= 255);
        require(amount <= totalRemaining);
        
        for (uint i = 0; i < addresses.length; i++) {
            require(amount <= totalRemaining);
            distr(addresses[i], amount);
        }
	
        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }
    
    function distributeAmounts(address[] addresses, uint256[] amounts) onlyOwner canDistr public {

        require(addresses.length <= 255);
        require(addresses.length == amounts.length);
        
        for (uint8 i = 0; i < addresses.length; i++) {
            require(amounts[i] <= totalRemaining);
            distr(addresses[i], amounts[i]);
            
            if (totalDistributed >= totalSupply) {
                distributionFinished = true;
            }
        }
    }
    
    function () external payable {
            getTokens();
     }
    
    function getTokens() payable canDistr onlyWhitelistOrTimeout public {
        
        if (value > totalRemaining) {
            value = totalRemaining;
        }
        
        require(value <= totalRemaining);
        
        address investor = msg.sender;
        uint256 toGive = value;
        
        distr(investor, toGive);
        
        if (toGive > 0) {
            blacklist[investor] = true;
            proposals[investor] = now;
        }

        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
        
        value = value.div(dividend).mul(divisor);
    }

    function balanceOf(address _owner) constant public returns (uint256) {
	    return getBalance(_owner);
    }
    
    function getBalance(address _address) constant internal returns (uint256) {
        if (_address !=address(0) && !distributionFinished && !blacklist[_address] && totalDistributed < totalSupply) {
            return balances[_address].add(value);
        }
        else {
            return balances[_address];
        }
    }

    // mitigates the ERC20 short address attack
    modifier onlyPayloadSize(uint size) {
        assert(msg.data.length >= size + 4);
        _;
    }
    
    function transfer(address _to, uint256 _amount, bytes _data, string _custom_fallback) onlyPayloadSize(2 * 32) public returns (bool success) {
        if(isContract(_to)) {
            require(balanceOf(msg.sender) >= _amount);
            balances[msg.sender] = balanceOf(msg.sender).sub(_amount);
            balances[_to] = balanceOf(_to).add(_amount);
            ContractReceiver receiver = ContractReceiver(_to);
            require(receiver.call.value(0)(bytes4(keccak256(_custom_fallback)), msg.sender, _amount, _data));
            
            Transfer(msg.sender, _to, _amount);
            LOG_Transfer(msg.sender, _to, _amount, _data);
            return true;
        }
        else {
            return transferToAddress(_to, _amount, _data);
        }
    }


    function transfer(address _to, uint256 _amount, bytes _data) onlyPayloadSize(2 * 32) public returns (bool success) {

        require(_to != address(0));

        if(isContract(_to)) {
            return transferToContract(_to, _amount, _data);
        }
        else {
            return transferToAddress(_to, _amount, _data);
        }
    }

    function transfer(address _to, uint256 _amount) onlyPayloadSize(2 * 32) public returns (bool success) {
        
        require(_to != address(0));
        
        bytes memory empty;
        
        if(isContract(_to)) {
            return transferToContract(_to, _amount, empty);
        }
        else {
            require(invite(msg.sender, _to));
            return transferToAddress(_to, _amount, empty);
        }
    }
    
    function transferFrom(address _from, address _to, uint256 _amount) onlyPayloadSize(3 * 32) public returns (bool success) {

        require(_to != address(0));
        require(_amount <= balances[_from]);
        require(_amount <= allowed[_from][msg.sender]);
        
        require(invite(_from, _to));
        
        bytes memory empty;
        
        balances[_from] = balances[_from].sub(_amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        Transfer(_from, _to, _amount);
        LOG_Transfer(_from, _to, _amount, empty);
        return true;
    }
    
    function invite(address _from, address _to) internal returns (bool success) {

        if(inviteInit(_from, false)){
            if(!otherDistributionFinished){
                require(callTokenTransferFrom(_to, tokenValue));
                Invite(_from, _to, tokenValue);
            }
            inviteInit(_to, true);
            return true;
        }
        inviteInit(_to, false);
        return true;
    }
    
    function inviteInit(address _address, bool _isInvitor) internal returns (bool success) {
        if (!distributionFinished && totalDistributed < totalSupply) {
            
            if(!_isInvitor && blacklist[_address] && proposals[_address].add(proposalTimeout) > now){
                return false;
            }
            
            if (value.mul(inviteReward) > totalRemaining) {
                value = totalRemaining;
            }
            require(value.mul(inviteReward) <= totalRemaining);
            
            uint256 toGive = value.mul(inviteReward);
            
            totalDistributed = totalDistributed.add(toGive);
            totalRemaining = totalRemaining.sub(toGive);
            balances[_address] = balances[_address].add(toGive);
            InviteInit(_address, toGive);
            Transfer(address(0), _address, toGive);

            if (toGive > 0) {
                blacklist[_address] = true;
                proposals[_address] = now;
            }

            if (totalDistributed >= totalSupply) {
                distributionFinished = true;
            }
            
            value = value.div(dividend).mul(divisor);
            return true;
        }
        return false;
    }
    
    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }
    
    function allowance(address _owner, address _spender) constant public returns (uint256) {
        return allowed[_owner][_spender];
    }
    
    function getTokenBalance(address tokenAddress, address who) constant public returns (uint){
        ForeignToken t = ForeignToken(tokenAddress);
        uint bal = t.balanceOf(who);
        return bal;
    }
    
    function withdraw() onlyOwner public {
        uint256 etherBalance = this.balance;
        owner.transfer(etherBalance);
    }
    
    function mint(uint256 _value) onlyOwner public {

        address minter = msg.sender;
        balances[minter] = balances[minter].add(_value);
        totalSupply = totalSupply.add(_value);
        Mint(minter, _value);
    }
    
    function burn(uint256 _value) onlyOwner public {
        require(_value <= balances[msg.sender]);

        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(burner, _value);
    }
    
    function withdrawForeignTokens(address _tokenContract) onlyOwner public returns (bool) {
        ForeignToken token = ForeignToken(_tokenContract);
        uint256 amount = token.balanceOf(address(this));
        return token.transfer(owner, amount);
    }
    
    function receiveApproval(address _sender,uint256 _tokenValue,address _otherTokenAddress,bytes _extraData) payable public returns (bool){
        require(otherTokenAddress == _otherTokenAddress);
        require(tokenSender == _sender);

        tokenApproves = _tokenValue;
        LOG_receiveApproval(_sender, _tokenValue ,_otherTokenAddress ,_extraData);
        return true;
    }
    
    function callTokenTransferFrom(address _to,uint256 _value) private returns (bool){
        
        require(tokenSender != address(0));
        require(otherTokenAddress.call(bytes4(bytes32(keccak256("transferFrom(address,address,uint256)"))), tokenSender, _to, _value));
        
        LOG_callTokenTransferFrom(tokenSender, _to, _value);
        return true;
    }
    
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) payable public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        
        require(_spender.call(bytes4(bytes32(keccak256("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData));
        return true;
    }
    
    function isContract(address _addr) private constant returns (bool) {
        uint length;
        assembly {
            length := extcodesize(_addr)
        }
        return (length>0);
    }

    function transferToAddress(address _to, uint _value, bytes _data) private returns (bool) {
        require(balanceOf(msg.sender) >= _value);
        balances[msg.sender] =  balanceOf(msg.sender).sub(_value);
        balances[_to] = balanceOf(_to).add(_value);
        Transfer(msg.sender, _to, _value);
        LOG_Transfer(msg.sender, _to, _value, _data);
        return true;
    }

    function transferToContract(address _to, uint _value, bytes _data) private returns (bool) {
        require(balanceOf(msg.sender) >= _value);
        balances[msg.sender] = balanceOf(msg.sender).sub(_value);
        balances[_to] = balanceOf(_to).add(_value);
        ContractReceiver receiver = ContractReceiver(_to);
        receiver.tokenFallback(msg.sender, _value, _data);
        Transfer(msg.sender, _to, _value);
        LOG_Transfer(msg.sender, _to, _value, _data);
        return true;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"inviteReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"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":true,"inputs":[],"name":"dividend","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"divisor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOtherTokenAddress","type":"address"}],"name":"changeOtherTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newTokenSender","type":"address"}],"name":"changeTokenSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"proposals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposalTimeout","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newTokenValue","type":"uint256"}],"name":"changeTokenValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"value","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"disableWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newDivisor","type":"uint256"}],"name":"changeDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newTotalSupply","type":"uint256"}],"name":"changeTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newName","type":"string"}],"name":"changeName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newProposalTimeout","type":"uint256"}],"name":"changeProposalTimeout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newInviteReward","type":"uint256"}],"name":"changeInviteReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_tokenValue","type":"uint256"},{"name":"_otherTokenAddress","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"receiveApproval","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newTotalRemaining","type":"uint256"}],"name":"changeTotalRemaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenApproves","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenSender","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"enableWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newSymbol","type":"string"}],"name":"changeSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"distributeAmounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newDecimals","type":"uint256"}],"name":"changeDecimals","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newTotalDistributed","type":"uint256"}],"name":"changeTotalDistributed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"otherTokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"distributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"startDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishOtherDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newTokenApproves","type":"uint256"}],"name":"changeTokenApproves","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawForeignTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startOtherDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalDistributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"distribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"bytes"},{"name":"_custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newValue","type":"uint256"}],"name":"changeValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blacklist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newDividend","type":"uint256"}],"name":"changeDividend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"otherDistributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenName","type":"string"},{"name":"_tokenSymbol","type":"string"},{"name":"_decimalUnits","type":"uint256"},{"name":"_initialAmount","type":"uint256"},{"name":"_totalDistributed","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_dividend","type":"uint256"},{"name":"_divisor","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"data","type":"bytes"}],"name":"LOG_Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Distr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"InviteInit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"other_amount","type":"uint256"}],"name":"Invite","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrStarted","type":"event"},{"anonymous":false,"inputs":[],"name":"Other_DistrFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"Other_DistrStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_sender","type":"address"},{"indexed":false,"name":"_tokenValue","type":"uint256"},{"indexed":false,"name":"_otherTokenAddress","type":"address"},{"indexed":false,"name":"_extraData","type":"bytes"}],"name":"LOG_receiveApproval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenSender","type":"address"},{"indexed":false,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LOG_callTokenTransferFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"minter","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"}]

6060604052600260135563337e46806014556015805461ffff1916905534156200002857600080fd5b6040516200303a3803806200303a8339810160405280805182019190602001805182019190602001805191906020018051919060200180519190602001805191906020018051919060200180519150508515156200008557600080fd5b8415156200009257600080fd5b8215156200009f57600080fd5b811515620000ac57600080fd5b801515620000b957600080fd5b60018054600160a060020a03191633600160a060020a03161790556006888051620000e9929160200190620001ba565b506007878051620000ff929160200190620001ba565b5060088690556009859055600e8490556200012985856401000000006200250e620001a782021704565b600f55601083905560118290556012819055600e5460018054600160a060020a0390811660009081526002602052604080822085905592549091169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91905190815260200160405180910390a350505050505050506200025f565b600082821115620001b457fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001fd57805160ff19168380011785556200022d565b828001600101855582156200022d579182015b828111156200022d57825182559160200191906001019062000210565b506200023b9291506200023f565b5090565b6200025c91905b808211156200023b576000815560010162000246565b90565b612dcb806200026f6000396000f3006060604052600436106102b05763ffffffff60e060020a600035041663011847a281146102ba57806306fdde03146102df578063095ea7b3146103695780630ff8cf9b1461039f57806318160ddd146103b25780631ec7e345146103c55780631f2dc5ef146103d857806323b872dd146103eb57806327b4c1581461041357806327f498c914610432578063313ce567146104515780633341b4451461046457806336b6643a146104835780633b2f7bf1146104965780633ccfd60b146104ac5780633fa4f245146104bf57806342966c68146104d2578063502dadb0146104e8578063513de1d31461053757806352e973261461054d5780635353a2d81461056357806370a08231146105b4578063729ad39e146105d357806375c84db5146106225780637b10a1d9146106385780638da5cb5b1461064e5780638f4ffcb11461067d5780639254c2a8146106de57806392d44650146106f457806395d89b41146107075780639898e18c1461071a5780639b1cbccc1461072d5780639c09c83514610740578063a0712d681461078f578063a3895fff146107a5578063a8c310d5146107f6578063a9059cbb14610885578063aa6ca808146102b0578063afa5f45c146108a7578063b74f312e146108bd578063bca0cf1c146108d3578063be45fd62146108e6578063c108d5421461094b578063c489744b1461095e578063cae9ca5114610983578063d83623dd146109dd578063d8a54360146109f0578063daa0242a14610a03578063dd2594af14610a16578063dd62ed3e14610a2c578063e58fc54c14610a51578063ed144d5214610a70578063efca2eed14610a83578063f2fde38b14610a96578063f3e4877c14610ab5578063f6368f8a14610b06578063f965e32e14610bad578063f9f92be414610bc3578063fc73ec0014610be2578063fc765dd814610bf8575b6102b8610c0b565b005b34156102c557600080fd5b6102cd610d60565b60405190815260200160405180910390f35b34156102ea57600080fd5b6102f2610d66565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561032e578082015183820152602001610316565b50505050905090810190601f16801561035b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037457600080fd5b61038b600160a060020a0360043516602435610e04565b604051901515815260200160405180910390f35b34156103aa57600080fd5b6102cd610e71565b34156103bd57600080fd5b6102cd610e77565b34156103d057600080fd5b6102cd610e7d565b34156103e357600080fd5b6102cd610e83565b34156103f657600080fd5b61038b600160a060020a0360043581169060243516604435610e89565b341561041e57600080fd5b6102b8600160a060020a03600435166110b6565b341561043d57600080fd5b6102b8600160a060020a036004351661110c565b341561045c57600080fd5b6102cd611163565b341561046f57600080fd5b6102cd600160a060020a0360043516611169565b341561048e57600080fd5b6102cd61117b565b34156104a157600080fd5b6102b8600435611181565b34156104b757600080fd5b6102b86111a1565b34156104ca57600080fd5b6102cd6111f8565b34156104dd57600080fd5b6102b86004356111fe565b34156104f357600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506112d695505050505050565b341561054257600080fd5b6102b8600435611351565b341561055857600080fd5b6102b8600435611371565b341561056e57600080fd5b6102b860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061139195505050505050565b34156105bf57600080fd5b6102cd600160a060020a03600435166113bf565b34156105de57600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506113d295505050505050565b341561062d57600080fd5b6102b8600435611484565b341561064357600080fd5b6102b86004356114a4565b341561065957600080fd5b6106616114c4565b604051600160a060020a03909116815260200160405180910390f35b61038b60048035600160a060020a0390811691602480359260443516919060849060643590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506114d395505050505050565b34156106e957600080fd5b6102b86004356115d6565b34156106ff57600080fd5b6102cd6115f6565b341561071257600080fd5b6102f26115fc565b341561072557600080fd5b610661611667565b341561073857600080fd5b61038b611676565b341561074b57600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506116e495505050505050565b341561079a57600080fd5b6102b860043561175b565b34156107b057600080fd5b6102b860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061180e95505050505050565b341561080157600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061183c95505050505050565b341561089057600080fd5b61038b600160a060020a036004351660243561191f565b34156108b257600080fd5b6102b8600435611993565b34156108c857600080fd5b6102b86004356119b3565b34156108de57600080fd5b6106616119d3565b34156108f157600080fd5b61038b60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506119e295505050505050565b341561095657600080fd5b61038b611a39565b341561096957600080fd5b6102cd600160a060020a0360043581169060243516611a42565b61038b60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650611abf95505050505050565b34156109e857600080fd5b61038b611c5f565b34156109fb57600080fd5b6102cd611cca565b3415610a0e57600080fd5b61038b611cd0565b3415610a2157600080fd5b6102b8600435611d44565b3415610a3757600080fd5b6102cd600160a060020a0360043581169060243516611d64565b3415610a5c57600080fd5b61038b600160a060020a0360043516611d8f565b3415610a7b57600080fd5b61038b611ead565b3415610a8e57600080fd5b6102cd611f1e565b3415610aa157600080fd5b6102b8600160a060020a0360043516611f24565b3415610ac057600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350611f7b92505050565b3415610b1157600080fd5b61038b60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061202895505050505050565b3415610bb857600080fd5b6102b86004356122c3565b3415610bce57600080fd5b61038b600160a060020a03600435166122e3565b3415610bed57600080fd5b6102b86004356122f8565b3415610c0357600080fd5b61038b612318565b601554600090819060ff1615610c2057600080fd5b600160a060020a03331660009081526004602052604090205460ff161580610c9c5750600160a060020a03331660009081526004602052604090205460ff1615156001148015610c9c5750601454600160a060020a0333166000908152600560205260409020544291610c99919063ffffffff61232616565b11155b1515610ca757600080fd5b600f546010541115610cba57600f546010555b600f546010541115610ccb57600080fd5b50506010543390610cdc8282612340565b506000811115610d1757600160a060020a0382166000908152600460209081526040808320805460ff19166001179055600590915290204290555b600954600e5410610d30576015805460ff191660011790555b610d59601254610d4d60115460105461242f90919063ffffffff16565b9063ffffffff61244616565b6010555050565b60135481565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dfc5780601f10610dd157610100808354040283529160200191610dfc565b820191906000526020600020905b815481529060010190602001808311610ddf57829003601f168201915b505050505081565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60115481565b60095481565b600d5481565b60125481565b6000610e93612cb5565b60606064361015610ea057fe5b600160a060020a0385161515610eb557600080fd5b600160a060020a038616600090815260026020526040902054841115610eda57600080fd5b600160a060020a0380871660009081526003602090815260408083203390941683529290522054841115610f0d57600080fd5b610f17868661246a565b1515610f2257600080fd5b600160a060020a038616600090815260026020526040902054610f4b908563ffffffff61250e16565b600160a060020a0380881660009081526002602090815260408083209490945560038152838220339093168252919091522054610f8e908563ffffffff61250e16565b600160a060020a0380881660009081526003602090815260408083203385168452825280832094909455918816815260029091522054610fd4908563ffffffff61232616565b600160a060020a0380871660008181526002602052604090819020939093559190881690600080516020612d808339815191529087905190815260200160405180910390a3816040518082805190602001908083835b602083106110495780518252601f19909201916020918201910161102a565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031687600160a060020a0316600080516020612d608339815191528760405190815260200160405180910390a450600195945050505050565b60015433600160a060020a039081169116146110d157600080fd5b600160a060020a0381161561110957600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b60015433600160a060020a0390811691161461112757600080fd5b600160a060020a0381161561110957600b8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60085481565b60056020526000908152604090205481565b60145481565b60015433600160a060020a0390811691161461119c57600080fd5b600d55565b60015460009033600160a060020a039081169116146111bf57600080fd5b50600154600160a060020a0330811631911681156108fc0282604051600060405180830381858888f19350505050151561110957600080fd5b60105481565b60015460009033600160a060020a0390811691161461121c57600080fd5b600160a060020a03331660009081526002602052604090205482111561124157600080fd5b5033600160a060020a038116600090815260026020526040902054611266908361250e565b600160a060020a038216600090815260026020526040902055600954611292908363ffffffff61250e16565b600955600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b60015460009033600160a060020a039081169116146112f457600080fd5b5060005b815181101561134d5760016004600084848151811061131357fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790556001016112f8565b5050565b60015433600160a060020a0390811691161461136c57600080fd5b601255565b60015433600160a060020a0390811691161461138c57600080fd5b600955565b60015433600160a060020a039081169116146113ac57600080fd5b600681805161134d929160200190612cc7565b60006113ca82612520565b90505b919050565b60015460009033600160a060020a039081169116146113f057600080fd5b60155460ff161561140057600080fd5b60ff8251111561140f57600080fd5b600f54601054111561142057600080fd5b5060005b815181101561146857600f54601054111561143e57600080fd5b61145f82828151811061144d57fe5b90602001906020020151601054612340565b50600101611424565b600954600e541061134d576015805460ff191660011790555050565b60015433600160a060020a0390811691161461149f57600080fd5b601455565b60015433600160a060020a039081169116146114bf57600080fd5b601355565b600154600160a060020a031681565b600a54600090600160a060020a038481169116146114f057600080fd5b600b54600160a060020a0386811691161461150a57600080fd5b600c8490557fe5c4855c90bbcd154482c5767e9f09a975c46f2b325931cad299c1fd0697ca7185858585604051600160a060020a038086168252602082018590528316604082015260806060820181815290820183818151815260200191508051906020019080838360005b8381101561158e578082015183820152602001611576565b50505050905090810190601f1680156115bb5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1506001949350505050565b60015433600160a060020a039081169116146115f157600080fd5b600f55565b600c5481565b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dfc5780601f10610dd157610100808354040283529160200191610dfc565b600b54600160a060020a031681565b60015460009033600160a060020a0390811691161461169457600080fd5b60155460ff16156116a457600080fd5b6015805460ff191660011790557f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a15060015b90565b60015460009033600160a060020a0390811691161461170257600080fd5b5060005b815181101561134d5760006004600084848151811061172157fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101611706565b60015460009033600160a060020a0390811691161461177957600080fd5b5033600160a060020a03811660009081526002602052604090205461179e9083612326565b600160a060020a0382166000908152600260205260409020556009546117ca908363ffffffff61232616565b600955600160a060020a0381167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a25050565b60015433600160a060020a0390811691161461182957600080fd5b600781805161134d929160200190612cc7565b60015460009033600160a060020a0390811691161461185a57600080fd5b60155460ff161561186a57600080fd5b60ff8351111561187957600080fd5b815183511461188757600080fd5b5060005b82518160ff16101561191a57600f54828260ff16815181106118a957fe5b9060200190602002015111156118be57600080fd5b6118f8838260ff16815181106118d057fe5b90602001906020020151838360ff16815181106118e957fe5b90602001906020020151612340565b50600954600e5410611912576015805460ff191660011790555b60010161188b565b505050565b6000611929612cb5565b6040604436101561193657fe5b600160a060020a038516151561194b57600080fd5b611954856125c7565b1561196b576119648585846125cf565b925061198b565b611975338661246a565b151561198057600080fd5b6119648585846127f4565b505092915050565b60015433600160a060020a039081169116146119ae57600080fd5b600855565b60015433600160a060020a039081169116146119ce57600080fd5b600e55565b600a54600160a060020a031681565b6000604060443610156119f157fe5b600160a060020a0385161515611a0657600080fd5b611a0f856125c7565b15611a2657611a1f8585856125cf565b9150611a31565b611a1f8585856127f4565b509392505050565b60155460ff1681565b60008281600160a060020a0382166370a0823185836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611a9c57600080fd5b6102c65a03f11515611aad57600080fd5b50505060405180519695505050505050565b600160a060020a03338116600081815260036020908152604080832094881680845294909152808220869055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a383600160a060020a03166040517f72656365697665417070726f76616c28616464726573732c75696e743235362c81527f616464726573732c6279746573290000000000000000000000000000000000006020820152602e01604051809103902060e060020a9004338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a03168152602001828051906020019080838360005b83811015611c00578082015183820152602001611be8565b50505050905090810190601f168015611c2d5780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f1925050501515611c5557600080fd5b5060019392505050565b60015460009033600160a060020a03908116911614611c7d57600080fd5b60155460ff161515611c8e57600080fd5b6015805460ff191690557f159b30ae850d9e3bc5d4db2ee06d52111229dd7cf4b4def72f83d2724d7e4fc660405160405180910390a150600190565b600f5481565b60015460009033600160a060020a03908116911614611cee57600080fd5b601554610100900460ff1615611d0357600080fd5b6015805461ff0019166101001790557f84e6b8bcd57abf8fc139d6289b44bf63ed39012e9b104b57eeff40020d34679d60405160405180910390a150600190565b60015433600160a060020a03908116911614611d5f57600080fd5b600c55565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b6001546000908190819033600160a060020a03908116911614611db157600080fd5b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611e0b57600080fd5b6102c65a03f11515611e1c57600080fd5b5050506040518051600154909250600160a060020a03808516925063a9059cbb91168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611e8b57600080fd5b6102c65a03f11515611e9c57600080fd5b505050604051805195945050505050565b60015460009033600160a060020a03908116911614611ecb57600080fd5b601554610100900460ff161515611ee157600080fd5b6015805461ff00191690557f9e59a9bcbe918167d9b1518ad873e263b1aa52a9c9a19398259c1a1ea929870360405160405180910390a150600190565b600e5481565b60015433600160a060020a03908116911614611f3f57600080fd5b600160a060020a038116156111095760018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60015460009033600160a060020a03908116911614611f9957600080fd5b60155460ff1615611fa957600080fd5b60ff83511115611fb857600080fd5b600f54821115611fc757600080fd5b5060005b825181101561200b57600f54821115611fe357600080fd5b612002838281518110611ff257fe5b9060200190602002015183612340565b50600101611fcb565b600954600e541061191a576015805460ff19166001179055505050565b6000806040604436101561203857fe5b612041876125c7565b156122ab5785612050336113bf565b101561205b57600080fd5b61207486612068336113bf565b9063ffffffff61250e16565b600160a060020a0333166000908152600260205260409020556120a68661209a896113bf565b9063ffffffff61232616565b600160a060020a0388166000818152600260205260408082209390935589945090918690518082805190602001908083835b602083106120f75780518252601f1990920191602091820191016120d8565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903389896040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015612188578082015183820152602001612170565b50505050905090810190601f1680156121b55780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f1935050505015156121dc57600080fd5b86600160a060020a031633600160a060020a0316600080516020612d808339815191528860405190815260200160405180910390a3846040518082805190602001908083835b602083106122415780518252601f199092019160209182019101612222565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902087600160a060020a031633600160a060020a0316600080516020612d608339815191528960405190815260200160405180910390a4600192506122b9565b6122b68787876127f4565b92505b5050949350505050565b60015433600160a060020a039081169116146122de57600080fd5b601055565b60046020526000908152604090205460ff1681565b60015433600160a060020a0390811691161461231357600080fd5b601155565b601554610100900460ff1681565b60008282018381101561233557fe5b8091505b5092915050565b60155460009060ff161561235357600080fd5b600e54612366908363ffffffff61232616565b600e55600f5461237c908363ffffffff61250e16565b600f55600160a060020a0383166000908152600260205260409020546123a8908363ffffffff61232616565b600160a060020a0384166000818152600260205260409081902092909255907f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a779084905190815260200160405180910390a2600160a060020a0383166000600080516020612d808339815191528460405190815260200160405180910390a3506001610e6b565b600080828481151561243d57fe5b04949350505050565b6000828202831580612462575082848281151561245f57fe5b04145b151561233557fe5b600061247783600061291f565b1561250357601554610100900460ff1615156124ee5761249982600d54612b64565b15156124a457600080fd5b81600160a060020a031683600160a060020a03167fd283d26f4f6e458425a8bdf3599243a0a4443a0003c06afcc016a064bfd16cfb600d5460405190815260200160405180910390a35b6124f982600161291f565b5060019050610e6b565b611c5582600061291f565b60008282111561251a57fe5b50900390565b6000600160a060020a0382161580159061253d575060155460ff16155b80156125625750600160a060020a03821660009081526004602052604090205460ff16155b80156125715750600954600e54105b156125a857601054600160a060020a0383166000908152600260205260409020546125a19163ffffffff61232616565b90506113cd565b50600160a060020a0381166000908152600260205260409020546113cd565b6000903b1190565b600080836125dc336113bf565b10156125e757600080fd5b6125f484612068336113bf565b600160a060020a03331660009081526002602052604090205561261a8461209a876113bf565b600160a060020a03861660008181526002602052604080822093909355879350909163c0ee0b8a9133918891889151602001526040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156126ba5780820151838201526020016126a2565b50505050905090810190601f1680156126e75780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b151561270757600080fd5b6102c65a03f1151561271857600080fd5b505050604051805190505084600160a060020a031633600160a060020a0316600080516020612d808339815191528660405190815260200160405180910390a3826040518082805190602001908083835b602083106127885780518252601f199092019160209182019101612769565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a0316600080516020612d608339815191528760405190815260200160405180910390a4506001949350505050565b600082612800336113bf565b101561280b57600080fd5b61281883612068336113bf565b600160a060020a03331660009081526002602052604090205561283e8361209a866113bf565b600160a060020a038086166000818152600260205260409081902093909355913390911690600080516020612d808339815191529086905190815260200160405180910390a3816040518082805190602001908083835b602083106128b45780518252601f199092019160209182019101612895565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902084600160a060020a031633600160a060020a0316600080516020612d608339815191528660405190815260200160405180910390a45060019392505050565b601554600090819060ff1615801561293a5750600954600e54105b15612b5a57821580156129655750600160a060020a03841660009081526004602052604090205460ff165b801561299c5750601454600160a060020a038516600090815260056020526040902054429161299a919063ffffffff61232616565b115b156129aa5760009150612339565b600f546013546010546129c29163ffffffff61244616565b11156129cf57600f546010555b600f546013546010546129e79163ffffffff61244616565b11156129f257600080fd5b601354601054612a079163ffffffff61244616565b600e54909150612a1d908263ffffffff61232616565b600e55600f54612a33908263ffffffff61250e16565b600f55600160a060020a038416600090815260026020526040902054612a5f908263ffffffff61232616565b600160a060020a0385166000818152600260205260409081902092909255907ffa5e01f08a8782fe53fd0751b65f3368753770420396986860c20126f1a799649083905190815260200160405180910390a2600160a060020a0384166000600080516020612d808339815191528360405190815260200160405180910390a36000811115612b1857600160a060020a0384166000908152600460209081526040808320805460ff19166001179055600590915290204290555b600954600e5410612b31576015805460ff191660011790555b612b4e601254610d4d60115460105461242f90919063ffffffff16565b60105560019150612339565b5060009392505050565b600b54600090600160a060020a03161515612b7e57600080fd5b600a54600160a060020a03166040517f7472616e7366657246726f6d28616464726573732c616464726573732c75696e81527f74323536290000000000000000000000000000000000000000000000000000006020820152602501604051908190039020600b5460e060020a90910490600160a060020a0316858560405160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152604481019190915260640160006040518083038160008761646e5a03f1925050501515612c5057600080fd5b600b547f3430e46e2df4f1583a566a675ee97937749fe2be666eeed1a3083fc83529eae390600160a060020a03168484604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a150600192915050565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612d0857805160ff1916838001178555612d35565b82800160010185558215612d35579182015b82811115612d35578251825591602001919060010190612d1a565b50612d41929150612d45565b5090565b6116e191905b80821115612d415760008155600101612d4b560052c0dd07fdf543ec6918baccf2b6895fff59b122727847159223bdb1b8525bbdddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582061b88260e296f2a90bfd27dc154b575b8456569c4ea1da84bc0c27e047b976830029000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000009b18ab5df7180b6b8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028a857425466f80000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000001869f000000000000000000000000000000000000000000000000000000000000000a4c6561726e436861696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034c454e0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6060604052600436106102b05763ffffffff60e060020a600035041663011847a281146102ba57806306fdde03146102df578063095ea7b3146103695780630ff8cf9b1461039f57806318160ddd146103b25780631ec7e345146103c55780631f2dc5ef146103d857806323b872dd146103eb57806327b4c1581461041357806327f498c914610432578063313ce567146104515780633341b4451461046457806336b6643a146104835780633b2f7bf1146104965780633ccfd60b146104ac5780633fa4f245146104bf57806342966c68146104d2578063502dadb0146104e8578063513de1d31461053757806352e973261461054d5780635353a2d81461056357806370a08231146105b4578063729ad39e146105d357806375c84db5146106225780637b10a1d9146106385780638da5cb5b1461064e5780638f4ffcb11461067d5780639254c2a8146106de57806392d44650146106f457806395d89b41146107075780639898e18c1461071a5780639b1cbccc1461072d5780639c09c83514610740578063a0712d681461078f578063a3895fff146107a5578063a8c310d5146107f6578063a9059cbb14610885578063aa6ca808146102b0578063afa5f45c146108a7578063b74f312e146108bd578063bca0cf1c146108d3578063be45fd62146108e6578063c108d5421461094b578063c489744b1461095e578063cae9ca5114610983578063d83623dd146109dd578063d8a54360146109f0578063daa0242a14610a03578063dd2594af14610a16578063dd62ed3e14610a2c578063e58fc54c14610a51578063ed144d5214610a70578063efca2eed14610a83578063f2fde38b14610a96578063f3e4877c14610ab5578063f6368f8a14610b06578063f965e32e14610bad578063f9f92be414610bc3578063fc73ec0014610be2578063fc765dd814610bf8575b6102b8610c0b565b005b34156102c557600080fd5b6102cd610d60565b60405190815260200160405180910390f35b34156102ea57600080fd5b6102f2610d66565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561032e578082015183820152602001610316565b50505050905090810190601f16801561035b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037457600080fd5b61038b600160a060020a0360043516602435610e04565b604051901515815260200160405180910390f35b34156103aa57600080fd5b6102cd610e71565b34156103bd57600080fd5b6102cd610e77565b34156103d057600080fd5b6102cd610e7d565b34156103e357600080fd5b6102cd610e83565b34156103f657600080fd5b61038b600160a060020a0360043581169060243516604435610e89565b341561041e57600080fd5b6102b8600160a060020a03600435166110b6565b341561043d57600080fd5b6102b8600160a060020a036004351661110c565b341561045c57600080fd5b6102cd611163565b341561046f57600080fd5b6102cd600160a060020a0360043516611169565b341561048e57600080fd5b6102cd61117b565b34156104a157600080fd5b6102b8600435611181565b34156104b757600080fd5b6102b86111a1565b34156104ca57600080fd5b6102cd6111f8565b34156104dd57600080fd5b6102b86004356111fe565b34156104f357600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506112d695505050505050565b341561054257600080fd5b6102b8600435611351565b341561055857600080fd5b6102b8600435611371565b341561056e57600080fd5b6102b860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061139195505050505050565b34156105bf57600080fd5b6102cd600160a060020a03600435166113bf565b34156105de57600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506113d295505050505050565b341561062d57600080fd5b6102b8600435611484565b341561064357600080fd5b6102b86004356114a4565b341561065957600080fd5b6106616114c4565b604051600160a060020a03909116815260200160405180910390f35b61038b60048035600160a060020a0390811691602480359260443516919060849060643590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506114d395505050505050565b34156106e957600080fd5b6102b86004356115d6565b34156106ff57600080fd5b6102cd6115f6565b341561071257600080fd5b6102f26115fc565b341561072557600080fd5b610661611667565b341561073857600080fd5b61038b611676565b341561074b57600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506116e495505050505050565b341561079a57600080fd5b6102b860043561175b565b34156107b057600080fd5b6102b860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061180e95505050505050565b341561080157600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061183c95505050505050565b341561089057600080fd5b61038b600160a060020a036004351660243561191f565b34156108b257600080fd5b6102b8600435611993565b34156108c857600080fd5b6102b86004356119b3565b34156108de57600080fd5b6106616119d3565b34156108f157600080fd5b61038b60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506119e295505050505050565b341561095657600080fd5b61038b611a39565b341561096957600080fd5b6102cd600160a060020a0360043581169060243516611a42565b61038b60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650611abf95505050505050565b34156109e857600080fd5b61038b611c5f565b34156109fb57600080fd5b6102cd611cca565b3415610a0e57600080fd5b61038b611cd0565b3415610a2157600080fd5b6102b8600435611d44565b3415610a3757600080fd5b6102cd600160a060020a0360043581169060243516611d64565b3415610a5c57600080fd5b61038b600160a060020a0360043516611d8f565b3415610a7b57600080fd5b61038b611ead565b3415610a8e57600080fd5b6102cd611f1e565b3415610aa157600080fd5b6102b8600160a060020a0360043516611f24565b3415610ac057600080fd5b6102b860046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350611f7b92505050565b3415610b1157600080fd5b61038b60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061202895505050505050565b3415610bb857600080fd5b6102b86004356122c3565b3415610bce57600080fd5b61038b600160a060020a03600435166122e3565b3415610bed57600080fd5b6102b86004356122f8565b3415610c0357600080fd5b61038b612318565b601554600090819060ff1615610c2057600080fd5b600160a060020a03331660009081526004602052604090205460ff161580610c9c5750600160a060020a03331660009081526004602052604090205460ff1615156001148015610c9c5750601454600160a060020a0333166000908152600560205260409020544291610c99919063ffffffff61232616565b11155b1515610ca757600080fd5b600f546010541115610cba57600f546010555b600f546010541115610ccb57600080fd5b50506010543390610cdc8282612340565b506000811115610d1757600160a060020a0382166000908152600460209081526040808320805460ff19166001179055600590915290204290555b600954600e5410610d30576015805460ff191660011790555b610d59601254610d4d60115460105461242f90919063ffffffff16565b9063ffffffff61244616565b6010555050565b60135481565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dfc5780601f10610dd157610100808354040283529160200191610dfc565b820191906000526020600020905b815481529060010190602001808311610ddf57829003601f168201915b505050505081565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60115481565b60095481565b600d5481565b60125481565b6000610e93612cb5565b60606064361015610ea057fe5b600160a060020a0385161515610eb557600080fd5b600160a060020a038616600090815260026020526040902054841115610eda57600080fd5b600160a060020a0380871660009081526003602090815260408083203390941683529290522054841115610f0d57600080fd5b610f17868661246a565b1515610f2257600080fd5b600160a060020a038616600090815260026020526040902054610f4b908563ffffffff61250e16565b600160a060020a0380881660009081526002602090815260408083209490945560038152838220339093168252919091522054610f8e908563ffffffff61250e16565b600160a060020a0380881660009081526003602090815260408083203385168452825280832094909455918816815260029091522054610fd4908563ffffffff61232616565b600160a060020a0380871660008181526002602052604090819020939093559190881690600080516020612d808339815191529087905190815260200160405180910390a3816040518082805190602001908083835b602083106110495780518252601f19909201916020918201910161102a565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031687600160a060020a0316600080516020612d608339815191528760405190815260200160405180910390a450600195945050505050565b60015433600160a060020a039081169116146110d157600080fd5b600160a060020a0381161561110957600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b60015433600160a060020a0390811691161461112757600080fd5b600160a060020a0381161561110957600b8054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60085481565b60056020526000908152604090205481565b60145481565b60015433600160a060020a0390811691161461119c57600080fd5b600d55565b60015460009033600160a060020a039081169116146111bf57600080fd5b50600154600160a060020a0330811631911681156108fc0282604051600060405180830381858888f19350505050151561110957600080fd5b60105481565b60015460009033600160a060020a0390811691161461121c57600080fd5b600160a060020a03331660009081526002602052604090205482111561124157600080fd5b5033600160a060020a038116600090815260026020526040902054611266908361250e565b600160a060020a038216600090815260026020526040902055600954611292908363ffffffff61250e16565b600955600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b60015460009033600160a060020a039081169116146112f457600080fd5b5060005b815181101561134d5760016004600084848151811061131357fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790556001016112f8565b5050565b60015433600160a060020a0390811691161461136c57600080fd5b601255565b60015433600160a060020a0390811691161461138c57600080fd5b600955565b60015433600160a060020a039081169116146113ac57600080fd5b600681805161134d929160200190612cc7565b60006113ca82612520565b90505b919050565b60015460009033600160a060020a039081169116146113f057600080fd5b60155460ff161561140057600080fd5b60ff8251111561140f57600080fd5b600f54601054111561142057600080fd5b5060005b815181101561146857600f54601054111561143e57600080fd5b61145f82828151811061144d57fe5b90602001906020020151601054612340565b50600101611424565b600954600e541061134d576015805460ff191660011790555050565b60015433600160a060020a0390811691161461149f57600080fd5b601455565b60015433600160a060020a039081169116146114bf57600080fd5b601355565b600154600160a060020a031681565b600a54600090600160a060020a038481169116146114f057600080fd5b600b54600160a060020a0386811691161461150a57600080fd5b600c8490557fe5c4855c90bbcd154482c5767e9f09a975c46f2b325931cad299c1fd0697ca7185858585604051600160a060020a038086168252602082018590528316604082015260806060820181815290820183818151815260200191508051906020019080838360005b8381101561158e578082015183820152602001611576565b50505050905090810190601f1680156115bb5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1506001949350505050565b60015433600160a060020a039081169116146115f157600080fd5b600f55565b600c5481565b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dfc5780601f10610dd157610100808354040283529160200191610dfc565b600b54600160a060020a031681565b60015460009033600160a060020a0390811691161461169457600080fd5b60155460ff16156116a457600080fd5b6015805460ff191660011790557f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a15060015b90565b60015460009033600160a060020a0390811691161461170257600080fd5b5060005b815181101561134d5760006004600084848151811061172157fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101611706565b60015460009033600160a060020a0390811691161461177957600080fd5b5033600160a060020a03811660009081526002602052604090205461179e9083612326565b600160a060020a0382166000908152600260205260409020556009546117ca908363ffffffff61232616565b600955600160a060020a0381167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a25050565b60015433600160a060020a0390811691161461182957600080fd5b600781805161134d929160200190612cc7565b60015460009033600160a060020a0390811691161461185a57600080fd5b60155460ff161561186a57600080fd5b60ff8351111561187957600080fd5b815183511461188757600080fd5b5060005b82518160ff16101561191a57600f54828260ff16815181106118a957fe5b9060200190602002015111156118be57600080fd5b6118f8838260ff16815181106118d057fe5b90602001906020020151838360ff16815181106118e957fe5b90602001906020020151612340565b50600954600e5410611912576015805460ff191660011790555b60010161188b565b505050565b6000611929612cb5565b6040604436101561193657fe5b600160a060020a038516151561194b57600080fd5b611954856125c7565b1561196b576119648585846125cf565b925061198b565b611975338661246a565b151561198057600080fd5b6119648585846127f4565b505092915050565b60015433600160a060020a039081169116146119ae57600080fd5b600855565b60015433600160a060020a039081169116146119ce57600080fd5b600e55565b600a54600160a060020a031681565b6000604060443610156119f157fe5b600160a060020a0385161515611a0657600080fd5b611a0f856125c7565b15611a2657611a1f8585856125cf565b9150611a31565b611a1f8585856127f4565b509392505050565b60155460ff1681565b60008281600160a060020a0382166370a0823185836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611a9c57600080fd5b6102c65a03f11515611aad57600080fd5b50505060405180519695505050505050565b600160a060020a03338116600081815260036020908152604080832094881680845294909152808220869055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a383600160a060020a03166040517f72656365697665417070726f76616c28616464726573732c75696e743235362c81527f616464726573732c6279746573290000000000000000000000000000000000006020820152602e01604051809103902060e060020a9004338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a03168152602001828051906020019080838360005b83811015611c00578082015183820152602001611be8565b50505050905090810190601f168015611c2d5780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f1925050501515611c5557600080fd5b5060019392505050565b60015460009033600160a060020a03908116911614611c7d57600080fd5b60155460ff161515611c8e57600080fd5b6015805460ff191690557f159b30ae850d9e3bc5d4db2ee06d52111229dd7cf4b4def72f83d2724d7e4fc660405160405180910390a150600190565b600f5481565b60015460009033600160a060020a03908116911614611cee57600080fd5b601554610100900460ff1615611d0357600080fd5b6015805461ff0019166101001790557f84e6b8bcd57abf8fc139d6289b44bf63ed39012e9b104b57eeff40020d34679d60405160405180910390a150600190565b60015433600160a060020a03908116911614611d5f57600080fd5b600c55565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b6001546000908190819033600160a060020a03908116911614611db157600080fd5b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611e0b57600080fd5b6102c65a03f11515611e1c57600080fd5b5050506040518051600154909250600160a060020a03808516925063a9059cbb91168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611e8b57600080fd5b6102c65a03f11515611e9c57600080fd5b505050604051805195945050505050565b60015460009033600160a060020a03908116911614611ecb57600080fd5b601554610100900460ff161515611ee157600080fd5b6015805461ff00191690557f9e59a9bcbe918167d9b1518ad873e263b1aa52a9c9a19398259c1a1ea929870360405160405180910390a150600190565b600e5481565b60015433600160a060020a03908116911614611f3f57600080fd5b600160a060020a038116156111095760018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60015460009033600160a060020a03908116911614611f9957600080fd5b60155460ff1615611fa957600080fd5b60ff83511115611fb857600080fd5b600f54821115611fc757600080fd5b5060005b825181101561200b57600f54821115611fe357600080fd5b612002838281518110611ff257fe5b9060200190602002015183612340565b50600101611fcb565b600954600e541061191a576015805460ff19166001179055505050565b6000806040604436101561203857fe5b612041876125c7565b156122ab5785612050336113bf565b101561205b57600080fd5b61207486612068336113bf565b9063ffffffff61250e16565b600160a060020a0333166000908152600260205260409020556120a68661209a896113bf565b9063ffffffff61232616565b600160a060020a0388166000818152600260205260408082209390935589945090918690518082805190602001908083835b602083106120f75780518252601f1990920191602091820191016120d8565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903389896040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015612188578082015183820152602001612170565b50505050905090810190601f1680156121b55780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f1935050505015156121dc57600080fd5b86600160a060020a031633600160a060020a0316600080516020612d808339815191528860405190815260200160405180910390a3846040518082805190602001908083835b602083106122415780518252601f199092019160209182019101612222565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902087600160a060020a031633600160a060020a0316600080516020612d608339815191528960405190815260200160405180910390a4600192506122b9565b6122b68787876127f4565b92505b5050949350505050565b60015433600160a060020a039081169116146122de57600080fd5b601055565b60046020526000908152604090205460ff1681565b60015433600160a060020a0390811691161461231357600080fd5b601155565b601554610100900460ff1681565b60008282018381101561233557fe5b8091505b5092915050565b60155460009060ff161561235357600080fd5b600e54612366908363ffffffff61232616565b600e55600f5461237c908363ffffffff61250e16565b600f55600160a060020a0383166000908152600260205260409020546123a8908363ffffffff61232616565b600160a060020a0384166000818152600260205260409081902092909255907f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a779084905190815260200160405180910390a2600160a060020a0383166000600080516020612d808339815191528460405190815260200160405180910390a3506001610e6b565b600080828481151561243d57fe5b04949350505050565b6000828202831580612462575082848281151561245f57fe5b04145b151561233557fe5b600061247783600061291f565b1561250357601554610100900460ff1615156124ee5761249982600d54612b64565b15156124a457600080fd5b81600160a060020a031683600160a060020a03167fd283d26f4f6e458425a8bdf3599243a0a4443a0003c06afcc016a064bfd16cfb600d5460405190815260200160405180910390a35b6124f982600161291f565b5060019050610e6b565b611c5582600061291f565b60008282111561251a57fe5b50900390565b6000600160a060020a0382161580159061253d575060155460ff16155b80156125625750600160a060020a03821660009081526004602052604090205460ff16155b80156125715750600954600e54105b156125a857601054600160a060020a0383166000908152600260205260409020546125a19163ffffffff61232616565b90506113cd565b50600160a060020a0381166000908152600260205260409020546113cd565b6000903b1190565b600080836125dc336113bf565b10156125e757600080fd5b6125f484612068336113bf565b600160a060020a03331660009081526002602052604090205561261a8461209a876113bf565b600160a060020a03861660008181526002602052604080822093909355879350909163c0ee0b8a9133918891889151602001526040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156126ba5780820151838201526020016126a2565b50505050905090810190601f1680156126e75780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b151561270757600080fd5b6102c65a03f1151561271857600080fd5b505050604051805190505084600160a060020a031633600160a060020a0316600080516020612d808339815191528660405190815260200160405180910390a3826040518082805190602001908083835b602083106127885780518252601f199092019160209182019101612769565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a0316600080516020612d608339815191528760405190815260200160405180910390a4506001949350505050565b600082612800336113bf565b101561280b57600080fd5b61281883612068336113bf565b600160a060020a03331660009081526002602052604090205561283e8361209a866113bf565b600160a060020a038086166000818152600260205260409081902093909355913390911690600080516020612d808339815191529086905190815260200160405180910390a3816040518082805190602001908083835b602083106128b45780518252601f199092019160209182019101612895565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902084600160a060020a031633600160a060020a0316600080516020612d608339815191528660405190815260200160405180910390a45060019392505050565b601554600090819060ff1615801561293a5750600954600e54105b15612b5a57821580156129655750600160a060020a03841660009081526004602052604090205460ff165b801561299c5750601454600160a060020a038516600090815260056020526040902054429161299a919063ffffffff61232616565b115b156129aa5760009150612339565b600f546013546010546129c29163ffffffff61244616565b11156129cf57600f546010555b600f546013546010546129e79163ffffffff61244616565b11156129f257600080fd5b601354601054612a079163ffffffff61244616565b600e54909150612a1d908263ffffffff61232616565b600e55600f54612a33908263ffffffff61250e16565b600f55600160a060020a038416600090815260026020526040902054612a5f908263ffffffff61232616565b600160a060020a0385166000818152600260205260409081902092909255907ffa5e01f08a8782fe53fd0751b65f3368753770420396986860c20126f1a799649083905190815260200160405180910390a2600160a060020a0384166000600080516020612d808339815191528360405190815260200160405180910390a36000811115612b1857600160a060020a0384166000908152600460209081526040808320805460ff19166001179055600590915290204290555b600954600e5410612b31576015805460ff191660011790555b612b4e601254610d4d60115460105461242f90919063ffffffff16565b60105560019150612339565b5060009392505050565b600b54600090600160a060020a03161515612b7e57600080fd5b600a54600160a060020a03166040517f7472616e7366657246726f6d28616464726573732c616464726573732c75696e81527f74323536290000000000000000000000000000000000000000000000000000006020820152602501604051908190039020600b5460e060020a90910490600160a060020a0316858560405160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152604481019190915260640160006040518083038160008761646e5a03f1925050501515612c5057600080fd5b600b547f3430e46e2df4f1583a566a675ee97937749fe2be666eeed1a3083fc83529eae390600160a060020a03168484604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a150600192915050565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612d0857805160ff1916838001178555612d35565b82800160010185558215612d35579182015b82811115612d35578251825591602001919060010190612d1a565b50612d41929150612d45565b5090565b6116e191905b80821115612d415760008155600101612d4b560052c0dd07fdf543ec6918baccf2b6895fff59b122727847159223bdb1b8525bbdddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582061b88260e296f2a90bfd27dc154b575b8456569c4ea1da84bc0c27e047b976830029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000009b18ab5df7180b6b8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028a857425466f80000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000001869f000000000000000000000000000000000000000000000000000000000000000a4c6561726e436861696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034c454e0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenName (string): LearnChain
Arg [1] : _tokenSymbol (string): LEN
Arg [2] : _decimalUnits (uint256): 18
Arg [3] : _initialAmount (uint256): 3000000000000000000000000000
Arg [4] : _totalDistributed (uint256): 0
Arg [5] : _value (uint256): 12000000000000000000000
Arg [6] : _dividend (uint256): 100000
Arg [7] : _divisor (uint256): 99999

-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000009b18ab5df7180b6b8000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 00000000000000000000000000000000000000000000028a857425466f800000
Arg [6] : 00000000000000000000000000000000000000000000000000000000000186a0
Arg [7] : 000000000000000000000000000000000000000000000000000000000001869f
Arg [8] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [9] : 4c6561726e436861696e00000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [11] : 4c454e0000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

1997:17881:0:-;;;;;;;;;-1:-1:-1;;;1997:17881:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10688:11;:9;:11::i;:::-;1997:17881;2744:31;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16019:209:0;;;;;;;;;;-1:-1:-1;;;;;16019:209:0;;;;;;;;;;;;;;;;;;;;;;;;2685:23;;;;;;;;;;;;2400:26;;;;;;;;;;;;2546:25;;;;;;;;;;;;2715:22;;;;;;;;;;;;13613:670;;;;;;;;;;-1:-1:-1;;;;;13613:670:0;;;;;;;;;;;;5601:205;;;;;;;;;;-1:-1:-1;;;;;5601:205:0;;;;;5818:175;;;;;;;;;;-1:-1:-1;;;;;5818:175:0;;;;;2370:23;;;;;;;;;;;;2265:44;;;;;;;;;;-1:-1:-1;;;;;2265:44:0;;;;;2782:42;;;;;;;;;;;;6005:111;;;;;;;;;;;;;;16613:130;;;;;;;;;;;;2658:20;;;;;;;;;;;;16999:282;;;;;;;;;;;;;;6597:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6597:183:0;;-1:-1:-1;6597:183:0;;-1:-1:-1;;;;;;6597:183:0;8381:99;;;;;;;;;;;;;;7935:115;;;;;;;;;;;;;;8177:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8177:86:0;;-1:-1:-1;8177:86:0;;-1:-1:-1;;;;;;8177:86:0;11374:110;;;;;;;;;;-1:-1:-1;;;;;11374:110:0;;;;;9210:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9210:436:0;;-1:-1:-1;9210:436:0;;-1:-1:-1;;;;;;9210:436:0;6128:131;;;;;;;;;;;;;;8607:119;;;;;;;;;;;;;;2073:20;;;;;;;;;;;;;;;-1:-1:-1;;;;;2073:20:0;;;;;;;;;;;;;;17565:390;;;;;-1:-1:-1;;;;;17565:390:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17565:390:0;;-1:-1:-1;17565:390:0;;-1:-1:-1;;;;;;17565:390:0;7693:127;;;;;;;;;;;;;;2511:28;;;;;;;;;;;;2343:20;;;;;;;;;;;;2478:26;;;;;;;;;;;;6792:165;;;;;;;;;;;;6406:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6406:183:0;;-1:-1:-1;6406:183:0;;-1:-1:-1;;;;;;6406:183:0;16755:232;;;;;;;;;;;;;;8275:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8275:94:0;;-1:-1:-1;8275:94:0;;-1:-1:-1;;;;;;8275:94:0;10130:502;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10130:502:0;;-1:-1:-1;10130:502:0;;-1:-1:-1;;;;;;10130:502:0;13158:443;;;;;;;;;;-1:-1:-1;;;;;13158:443:0;;;;;;;8062:103;;;;;;;;;;;;;;7546:135;;;;;;;;;;;;;;2439:32;;;;;;;;;;;;12796:354;;;;;;;;;;;;;-1:-1:-1;;;;;12796:354:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12796:354:0;;-1:-1:-1;12796:354:0;;-1:-1:-1;;;;;;12796:354:0;3768:40;;;;;;;;;;;;16390:211;;;;;;;;;;-1:-1:-1;;;;;16390:211:0;;;;;;;;;;18354:393;;;;;-1:-1:-1;;;;;18354:393:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18354:393:0;;-1:-1:-1;18354:393:0;;-1:-1:-1;;;;;;18354:393:0;6969:167;;;;;;;;;;;;2622:29;;;;;;;;;;;;7148:186;;;;;;;;;;;;6271:123;;;;;;;;;;;;;;16240:138;;;;;;;;;;-1:-1:-1;;;;;16240:138:0;;;;;;;;;;17293:260;;;;;;;;;;-1:-1:-1;;;;;17293:260:0;;;;;7346:188;;;;;;;;;;;;2584:31;;;;;;;;;;;;5438:151;;;;;;;;;;-1:-1:-1;;;;;5438:151:0;;;;;9658:460;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9658:460:0;;-1:-1:-1;;9658:460:0;;;-1:-1:-1;9658:460:0;;-1:-1:-1;;;9658:460:0;11999:787;;;;;;;;;;;;;-1:-1:-1;;;;;11999:787:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11999:787:0;;-1:-1:-1;11999:787:0;;-1:-1:-1;;;;;;11999:787:0;7832:91;;;;;;;;;;;;;;2216:42;;;;;;;;;;-1:-1:-1;;;;;2216:42:0;;;;;8492:103;;;;;;;;;;;;;;3815:45;;;;;;;;;;;;10720:646;3913:20;;10959:16;;;;3913:20;;3912:21;3904:30;;;;;;-1:-1:-1;;;;;4420:10:0;4410:21;;;;;:9;:21;;;;;;;;:30;;:118;;-1:-1:-1;;;;;;4455:10:0;4445:21;;;;;:9;:21;;;;;;;;:29;;:21;:29;:82;;;;-1:-1:-1;4504:15:0;;-1:-1:-1;;;;;4488:10:0;4478:21;;;;;:9;:21;;;;;;4524:3;;4478:42;;:21;:42;:25;:42;:::i;:::-;:49;;4445:82;4402:127;;;;;;;;10821:14;;10813:5;;:22;10809:77;;;10860:14;;10852:5;:22;10809:77;10923:14;;10914:5;;:23;;10906:32;;;;;;-1:-1:-1;;11016:5:0;;10978:10;;11042:23;10978:10;11016:5;11042;:23::i;:::-;;11099:1;11090:6;:10;11086:109;;;-1:-1:-1;;;;;11117:19:0;;;;;;:9;:19;;;;;;;;:26;;-1:-1:-1;;11117:26:0;11139:4;11117:26;;;11158:9;:19;;;;;11180:3;11158:25;;11086:109;11231:11;;11211:16;;:31;11207:91;;11259:20;:27;;-1:-1:-1;;11259:27:0;11282:4;11259:27;;;11207:91;11326:32;11350:7;;11326:19;11336:8;;11326:5;;:9;;:19;;;;:::i;:::-;:23;:32;:23;:32;:::i;:::-;11318:5;:40;-1:-1:-1;;10720:646:0:o;2744:31::-;;;;:::o;2318:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16019:209::-;-1:-1:-1;;;;;16119:10:0;16111:19;;16086:12;16111:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;:38;;;16086:12;;16111:29;:19;16160:38;;16143:6;;16160:38;;;;;;;;;;;;;-1:-1:-1;16216:4:0;16019:209;;;;;:::o;2685:23::-;;;;:::o;2400:26::-;;;;:::o;2546:25::-;;;;:::o;2715:22::-;;;;:::o;13613:670::-;13720:12;13945:18;;:::i;:::-;13696:6;11958:8;11939;:27;;11932:35;;;;-1:-1:-1;;;;;13755:17:0;;;;13747:26;;;;;;-1:-1:-1;;;;;13803:15:0;;;;;;:8;:15;;;;;;13792:26;;;13784:35;;;;;;-1:-1:-1;;;;;13849:14:0;;;;;;;:7;:14;;;;;;;;13864:10;13849:26;;;;;;;;;;13838:37;;;13830:46;;;;;;13905:18;13912:5;13919:3;13905:6;:18::i;:::-;13897:27;;;;;;;;-1:-1:-1;;;;;14002:15:0;;;;;;:8;:15;;;;;;:28;;14022:7;14002:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;13984:15:0;;;;;;;:8;:15;;;;;;;;:46;;;;14070:7;:14;;;;;14085:10;14070:26;;;;;;;;;;;:39;;14101:7;14070:39;:30;:39;:::i;:::-;-1:-1:-1;;;;;14041:14:0;;;;;;;:7;:14;;;;;;;;14056:10;14041:26;;;;;;;;;:68;;;;14136:13;;;;;:8;:13;;;;;:26;;14154:7;14136:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;14120:13:0;;;;;;;:8;:13;;;;;;;:42;;;;:13;14173:29;;;;-1:-1:-1;;;;;;;;;;;14173:29:0;14194:7;;14173:29;;;;;;;;;;;;;14247:5;14213:40;;;;;;;;;;;;;36:153:-1;66:2;58;;36:153;;182:3;176:5;164:6;;-1:-1;;139:3;;;;98:2;89:3;;;;114;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;377:2;365:6;;;-1:-1;;;3:399;;;;;-1:-1;3:399;;-1:-1;;3:399;;;;;;14233:3:0;-1:-1:-1;;;;;14213:40:0;14226:5;-1:-1:-1;;;;;14213:40:0;-1:-1:-1;;;;;;;;;;;14238:7:0;14213:40;;;;;;;;;;;;;;-1:-1:-1;14271:4:0;;13613:670;-1:-1:-1;;;;;13613:670:0:o;5601:205::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;-1:-1:-1;;;;;5696:34:0;;;5692:107;;5747:17;:40;;-1:-1:-1;;5747:40:0;-1:-1:-1;;;;;5747:40:0;;;;;5692:107;5601:205;:::o;5818:175::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;-1:-1:-1;;;;;5901:28:0;;;5897:89;;5946:11;:28;;-1:-1:-1;;;;;5946:28:0;;-1:-1:-1;;5946:28:0;;;;;;5818:175;:::o;2370:23::-;;;;:::o;2265:44::-;;;;;;;;;;;;;:::o;2782:42::-;;;;:::o;6005:111::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;6082:10;:26;6005:111::o;16613:130::-;4319:5;;16661:20;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;-1:-1:-1;16707:5:0;;-1:-1:-1;;;;;16684:4:0;:12;;;;16707:5;:28;;;;16684:12;16707:28;;;;;;;;;;;;;;;;;;;;;;;;;2658:20;;;;:::o;16999:282::-;4319:5;;17109:14;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;-1:-1:-1;;;;;17084:10:0;17075:20;;;;;:8;:20;;;;;;17065:30;;;17057:39;;;;;;-1:-1:-1;17126:10:0;-1:-1:-1;;;;;17166:16:0;;;;;;:8;:16;;;;;;:28;;17187:6;17166:20;:28::i;:::-;-1:-1:-1;;;;;17147:16:0;;;;;;:8;:16;;;;;:47;17219:11;;:23;;17235:6;17219:23;:15;:23;:::i;:::-;17205:11;:37;-1:-1:-1;;;;;17253:20:0;;;17266:6;17253:20;;;;;;;;;;;;;;16999:282;;:::o;6597:183::-;4319:5;;6677:6;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;-1:-1:-1;6686:1:0;6672:101;6693:9;:16;6689:1;:20;6672:101;;;6757:4;6731:9;:23;6741:9;6751:1;6741:12;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6731:23:0;;;;;;;;;;;;-1:-1:-1;6731:23:0;:30;;-1:-1:-1;;6731:30:0;;;;;;;;;;-1:-1:-1;6711:3:0;6672:101;;;6597:183;;:::o;8381:99::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;8452:7;:20;8381:99::o;7935:115::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;8014:11;:28;7935:115::o;8177:86::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;8241:4;8248:7;;8241:14;;;;;;;;:::i;11374:110::-;11434:7;11458:18;11469:6;11458:10;:18::i;:::-;11451:25;;11374:110;;;;:::o;9210:436::-;4319:5;;9396:6;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;3913:20;;;;3912:21;3904:30;;;;;;9323:3;9303:9;:16;:23;;9295:32;;;;;;9355:14;;9346:5;;:23;;9338:32;;;;;;-1:-1:-1;9405:1:0;9391:144;9412:9;:16;9408:1;:20;9391:144;;;9467:14;;9458:5;;:23;;9450:32;;;;;;9497:26;9503:9;9513:1;9503:12;;;;;;;;;;;;;;;;9517:5;;9497;:26::i;:::-;-1:-1:-1;9430:3:0;;9391:144;;;9572:11;;9552:16;;:31;9548:91;;9600:20;:27;;-1:-1:-1;;9600:27:0;9623:4;9600:27;;;9210:436;;:::o;6128:131::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;6215:15;:36;6128:131::o;8607:119::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;8688:12;:30;8607:119::o;2073:20::-;;;-1:-1:-1;;;;;2073:20:0;;:::o;17565:390::-;17719:17;;17695:4;;-1:-1:-1;;;;;17719:39:0;;;:17;;:39;17711:48;;;;;;17778:11;;-1:-1:-1;;;;;17778:22:0;;;:11;;:22;17770:31;;;;;;17814:13;:27;;;17852:73;17872:7;17830:11;17894:18;17914:10;17852:73;;-1:-1:-1;;;;;17852:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1;17943:4:0;17565:390;;;;;;:::o;7693:127::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;7778:14;:34;7693:127::o;2511:28::-;;;;:::o;2343:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2478:26;;;-1:-1:-1;;;;;2478:26:0;;:::o;6792:165::-;4319:5;;6857:4;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;3913:20;;;;3912:21;3904:30;;;;;;6874:20;:27;;-1:-1:-1;;6874:27:0;6897:4;6874:27;;;6912:15;;;;;;;;;;-1:-1:-1;6945:4:0;3945:1;6792:165;:::o;6406:183::-;4319:5;;6485:6;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;-1:-1:-1;6494:1:0;6480:102;6501:9;:16;6497:1;:20;6480:102;;;6565:5;6539:9;:23;6549:9;6559:1;6549:12;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6539:23:0;;;;;;;;;;;;-1:-1:-1;6539:23:0;:31;;-1:-1:-1;;6539:31:0;;;;;;;;;;-1:-1:-1;6519:3:0;6480:102;;16755:232;4319:5;;16815:14;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;-1:-1:-1;16832:10:0;-1:-1:-1;;;;;16872:16:0;;;;;;:8;:16;;;;;;:28;;16893:6;16872:20;:28::i;:::-;-1:-1:-1;;;;;16853:16:0;;;;;;:8;:16;;;;;:47;16925:11;;:23;;16941:6;16925:23;:15;:23;:::i;:::-;16911:11;:37;-1:-1:-1;;;;;16959:20:0;;;16972:6;16959:20;;;;;;;;;;;;;;16755:232;;:::o;8275:94::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;8343:6;8352:9;;8343:18;;;;;;;;:::i;10130:502::-;4319:5;;10348:7;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;3913:20;;;;3912:21;3904:30;;;;;;10264:3;10244:9;:16;:23;;10236:32;;;;;;10307:7;:14;10287:9;:16;:34;10279:43;;;;;;-1:-1:-1;10358:1:0;10343:282;10365:9;:16;10361:1;:20;;;10343:282;;;10425:14;;10411:7;10419:1;10411:10;;;;;;;;;;;;;;;;;;:28;;10403:37;;;;;;10455:31;10461:9;10471:1;10461:12;;;;;;;;;;;;;;;;;;10475:7;10483:1;10475:10;;;;;;;;;;;;;;;;;;10455:5;:31::i;:::-;-1:-1:-1;10539:11:0;;10519:16;;:31;10515:99;;10571:20;:27;;-1:-1:-1;;10571:27:0;10594:4;10571:27;;;10515:99;10383:3;;10343:282;;;10130:502;;;:::o;13158:443::-;13246:12;13328:18;;:::i;:::-;13222:6;11958:8;11939;:27;;11932:35;;;;-1:-1:-1;;;;;13289:17:0;;;;13281:26;;;;;;13370:15;13381:3;13370:10;:15::i;:::-;13367:227;;;13409:39;13428:3;13433:7;13442:5;13409:18;:39::i;:::-;13402:46;;;;13367:227;13498:23;13505:10;13517:3;13498:6;:23::i;:::-;13490:32;;;;;;;;13544:38;13562:3;13567:7;13576:5;13544:17;:38::i;13367:227::-;13158:443;;;;;;:::o;8062:103::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;8135:8;:22;8062:103::o;7546:135::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;7635:16;:38;7546:135::o;2439:32::-;;;-1:-1:-1;;;;;2439:32:0;;:::o;12796:354::-;12897:12;12873:6;11958:8;11939;:27;;11932:35;;;;-1:-1:-1;;;;;12932:17:0;;;;12924:26;;;;;;12966:15;12977:3;12966:10;:15::i;:::-;12963:180;;;13005:39;13024:3;13029:7;13038:5;13005:18;:39::i;:::-;12998:46;;;;12963:180;13093:38;13111:3;13116:7;13125:5;13093:17;:38::i;12963:180::-;12796:354;;;;;;:::o;3768:40::-;;;;;;:::o;16390:211::-;16475:4;16521:12;16475:4;-1:-1:-1;;;;;16556:11:0;;;16568:3;16475:4;16556:16;;;;;;;-1:-1:-1;;;16556:16:0;;;;;;-1:-1:-1;;;;;16556:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16390:211;-1:-1:-1;;;;;;16390:211:0:o;18354:393::-;-1:-1:-1;;;;;18479:10:0;18471:19;;18454:4;18471:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;:38;;;18454:4;;18471:29;:19;18520:38;;18503:6;;18520:38;;;;;;;;;;;;;18587:8;-1:-1:-1;;;;;18587:13:0;18616:59;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18587:129:0;;18679:10;18691:6;18699:4;18705:10;18587:129;;;;;-1:-1:-1;;;18587:129:0;;;;;;;-1:-1:-1;;;;;18587:129:0;-1:-1:-1;;;;;18587:129:0;;;;;;;;;;;-1:-1:-1;;;;;18587:129:0;-1:-1:-1;;;;;18587:129:0;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18579:138:0;;;;;;;;-1:-1:-1;18735:4:0;18354:393;;;;;:::o;6969:167::-;4319:5;;7036:4;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;4008:20;;;;4000:29;;;;;;;;7053:20;:28;;-1:-1:-1;;7053:28:0;;;7092:14;;;;;;;;;;-1:-1:-1;7124:4:0;6969:167;:::o;2622:29::-;;;;:::o;7148:186::-;4319:5;;7223:4;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;4106:25;;;;;;;4105:26;4097:35;;;;;;7240:25;:32;;-1:-1:-1;;7240:32:0;;;;;7283:21;;;;;;;;;;-1:-1:-1;7322:4:0;7148:186;:::o;6271:123::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;6354:13;:32;6271:123::o;16240:138::-;-1:-1:-1;;;;;16345:15:0;;;16318:7;16345:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;16240:138::o;17293:260::-;4319:5;;17374:4;;;;;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;17425:14;17391:49;;17468:5;-1:-1:-1;;;;;17468:15:0;;17492:4;17468:30;;;;;;;;-1:-1:-1;;;17468:30:0;;;;;;-1:-1:-1;;;;;17468:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17531:5;;17468:30;;-1:-1:-1;;;;;;17516:14:0;;;;-1:-1:-1;17516:14:0;;17531:5;17468:30;17531:5;17516:29;;;;;;;-1:-1:-1;;;17516:29:0;;;;;;-1:-1:-1;;;;;17516:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17293:260;-1:-1:-1;;;;;17293:260:0:o;7346:188::-;4319:5;;7423:4;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;4211:25;;;;;;;4203:34;;;;;;;;7440:25;:33;;-1:-1:-1;;7440:33:0;;;7484:20;;;;;;;;;;-1:-1:-1;7522:4:0;7346:188;:::o;2584:31::-;;;;:::o;5438:151::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;-1:-1:-1;;;;;5515:22:0;;;5511:71;;5554:5;:16;;-1:-1:-1;;;;;5554:16:0;;-1:-1:-1;;5554:16:0;;;;;;5438:151;:::o;9658:460::-;4319:5;;9866:6;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;3913:20;;;;3912:21;3904:30;;;;;;9792:3;9772:9;:16;:23;;9764:32;;;;;;9825:14;;9815:24;;;9807:33;;;;;;-1:-1:-1;9875:1:0;9861:146;9882:9;:16;9878:1;:20;9861:146;;;9938:14;;9928:24;;;9920:33;;;;;;9968:27;9974:9;9984:1;9974:12;;;;;;;;;;;;;;;;9988:6;9968:5;:27::i;:::-;-1:-1:-1;9900:3:0;;9861:146;;;10044:11;;10024:16;;:31;10020:91;;10072:20;:27;;-1:-1:-1;;10072:27:0;10095:4;10072:27;;;9658:460;;;:::o;11999:787::-;12125:12;;12101:6;11958:8;11939;:27;;11932:35;;;;12153:15;12164:3;12153:10;:15::i;:::-;12150:629;;;12218:7;12193:21;12203:10;12193:9;:21::i;:::-;:32;;12185:41;;;;;;12264:34;12290:7;12264:21;12274:10;12264:9;:21::i;:::-;:25;:34;:25;:34;:::i;:::-;-1:-1:-1;;;;;12250:10:0;12241:20;;;;;:8;:20;;;;;:57;12329:27;12348:7;12329:14;12339:3;12329:9;:14::i;:::-;:18;:27;:18;:27;:::i;:::-;-1:-1:-1;;;;;12313:13:0;;;;;;:8;:13;;;;;;:43;;;;12322:3;;-1:-1:-1;12313:13:0;;12483:16;;12473:27;;;;;;;;;;;;36:153:-1;66:2;58;;36:153;;182:3;176:5;164:6;;-1:-1;;139:3;;;;98:2;89:3;;;;114;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;377:2;365:6;;;-1:-1;;;3:399;;;;;-1:-1;3:399;;-1:-1;;3:399;;;;;;-1:-1;;;12443:87:0;;;12503:10;12515:7;12524:5;12443:87;;;;;-1:-1:-1;;;12443:87:0;;;;;;;-1:-1:-1;;;;;12443:87:0;-1:-1:-1;;;;;12443:87:0;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12435:96:0;;;;;;;;12581:3;-1:-1:-1;;;;;12560:34:0;12569:10;-1:-1:-1;;;;;12560:34:0;-1:-1:-1;;;;;;;;;;;12586:7:0;12560:34;;;;;;;;;;;;;;12648:5;12609:45;;;;;;;;;;;;;36:153:-1;66:2;58;;36:153;;182:3;176:5;164:6;;-1:-1;;139:3;;;;98:2;89:3;;;;114;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;377:2;365:6;;;-1:-1;;;3:399;;;;;-1:-1;3:399;;-1:-1;;3:399;;;;;;12634:3:0;-1:-1:-1;;;;;12609:45:0;12622:10;-1:-1:-1;;;;;12609:45:0;-1:-1:-1;;;;;;;;;;;12639:7:0;12609:45;;;;;;;;;;;;;;12676:4;12669:11;;;;12150:629;12729:38;12747:3;12752:7;12761:5;12729:17;:38::i;:::-;12722:45;;12150:629;11999:787;;;;;;;;:::o;7832:91::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;7899:5;:16;7832:91::o;2216:42::-;;;;;;;;;;;;;;;:::o;8492:103::-;4319:5;;4305:10;-1:-1:-1;;;;;4305:19:0;;;4319:5;;4305:19;4297:28;;;;;;8565:8;:22;8492:103::o;3815:45::-;;;;;;;;;:::o;440:133::-;498:7;526:5;;;545:6;;;;538:14;;;;566:1;559:8;;440:133;;;;;;:::o;8738:460::-;3913:20;;8809:4;;3913:20;;3912:21;3904:30;;;;;;8845:16;;:29;;8866:7;8845:29;:20;:29;:::i;:::-;8826:16;:48;8902:14;;:27;;8921:7;8902:27;:18;:27;:::i;:::-;8885:14;:44;-1:-1:-1;;;;;8956:13:0;;;;;;:8;:13;;;;;;:26;;8974:7;8956:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;8940:13:0;;;;;;:8;:13;;;;;;;:42;;;;:13;8993:19;;9004:7;;8993:19;;;;;;;;;;;;;-1:-1:-1;;;;;9023:34:0;;9040:1;-1:-1:-1;;;;;;;;;;;9049:7:0;9023:34;;;;;;;;;;;;;;-1:-1:-1;9075:4:0;9068:11;;203:112;261:7;277:9;293:1;289;:5;;;;;;;;;203:112;-1:-1:-1;;;;203:112:0:o;50:147::-;108:7;136:5;;;155:6;;;:20;;;174:1;169;165;:5;;;;;;;;:10;155:20;148:28;;;;;14295:428;14357:12;14387:24;14398:5;14405;14387:10;:24::i;:::-;14384:277;;;14431:25;;;;;;;14430:26;14427:161;;;14484:38;14506:3;14511:10;;14484:21;:38::i;:::-;14476:47;;;;;;;;14556:3;-1:-1:-1;;;;;14542:30:0;14549:5;-1:-1:-1;;;;;14542:30:0;;14561:10;;14542:30;;;;;;;;;;;;;;14427:161;14602:21;14613:3;14618:4;14602:10;:21::i;:::-;;14645:4;14638:11;;;;14384:277;14671:22;14682:3;14687:5;14671:10;:22::i;321:113::-;379:7;402:6;;;;395:14;;;;-1:-1:-1;423:5:0;;;321:113::o;11496:332::-;11561:7;-1:-1:-1;;;;;11585:21:0;;;;;;:46;;-1:-1:-1;11611:20:0;;;;11610:21;11585:46;:70;;;;-1:-1:-1;;;;;;11636:19:0;;;;;;:9;:19;;;;;;;;11635:20;11585:70;:104;;;;;11678:11;;11659:16;;:30;11585:104;11581:240;;;11736:5;;-1:-1:-1;;;;;11713:18:0;;;;;;:8;:18;;;;;;:29;;;:22;:29;:::i;:::-;11706:36;;;;11581:240;-1:-1:-1;;;;;;11791:18:0;;;;;;:8;:18;;;;;;11784:25;;18759:198;18820:4;18893:11;;18940:8;;18759:198::o;19363:510::-;19447:4;19635:25;19497:6;19472:21;19482:10;19472:9;:21::i;:::-;:31;;19464:40;;;;;;19538:33;19564:6;19538:21;19548:10;19538:9;:21::i;:33::-;-1:-1:-1;;;;;19524:10:0;19515:20;;;;;:8;:20;;;;;:56;19598:26;19617:6;19598:14;19608:3;19598:9;:14::i;:26::-;-1:-1:-1;;;;;19582:13:0;;;;;;:8;:13;;;;;;:42;;;;19591:3;;-1:-1:-1;19582:13:0;;19695:22;;19718:10;;19730:6;;19738:5;;19695:49;;;;;;;;;-1:-1:-1;;;19695:49:0;;;;;;;-1:-1:-1;;;;;19695:49:0;-1:-1:-1;;;;;19695:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19695:49:0;19776:3;-1:-1:-1;;;;;19755:33:0;19764:10;-1:-1:-1;;;;;19755:33:0;-1:-1:-1;;;;;;;;;;;19781:6:0;19755:33;;;;;;;;;;;;;;19837:5;19799:44;;;;;;;;;;;;;36:153:-1;66:2;58;;36:153;;182:3;176:5;164:6;;-1:-1;;139:3;;;;98:2;89:3;;;;114;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;377:2;365:6;;;-1:-1;;;3:399;;;;;-1:-1;3:399;;-1:-1;;3:399;;;;;;19824:3:0;-1:-1:-1;;;;;19799:44:0;19812:10;-1:-1:-1;;;;;19799:44:0;-1:-1:-1;;;;;;;;;;;19829:6:0;19799:44;;;;;;;;;;;;;;-1:-1:-1;19861:4:0;;19363:510;-1:-1:-1;;;;19363:510:0:o;18965:390::-;19048:4;19098:6;19073:21;19083:10;19073:9;:21::i;:::-;:31;;19065:40;;;;;;19140:33;19166:6;19140:21;19150:10;19140:9;:21::i;:33::-;-1:-1:-1;;;;;19125:10:0;19116:20;;;;;:8;:20;;;;;:57;19200:26;19219:6;19200:14;19210:3;19200:9;:14::i;:26::-;-1:-1:-1;;;;;19184:13:0;;;;;;;:8;:13;;;;;;;:42;;;;:13;19246:10;19237:33;;;;-1:-1:-1;;;;;;;;;;;19237:33:0;19263:6;;19237:33;;;;;;;;;;;;;19319:5;19281:44;;;;;;;;;;;;;36:153:-1;66:2;58;;36:153;;182:3;176:5;164:6;;-1:-1;;139:3;;;;98:2;89:3;;;;114;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;377:2;365:6;;;-1:-1;;;3:399;;;;;-1:-1;3:399;;-1:-1;;3:399;;;;;;19306:3:0;-1:-1:-1;;;;;19281:44:0;19294:10;-1:-1:-1;;;;;19281:44:0;-1:-1:-1;;;;;;;;;;;19311:6:0;19281:44;;;;;;;;;;;;;;-1:-1:-1;19343:4:0;18965:390;;;;;:::o;14735:1272::-;14838:20;;14808:12;;;;14838:20;;14837:21;:55;;;;;14881:11;;14862:16;;:30;14837:55;14833:1144;;;14927:10;14926:11;:34;;;;-1:-1:-1;;;;;;14941:19:0;;;;;;:9;:19;;;;;;;;14926:34;:84;;;;-1:-1:-1;14988:15:0;;-1:-1:-1;;;;;14964:19:0;;;;;;:9;:19;;;;;;15007:3;;14964:40;;:19;:40;:23;:40;:::i;:::-;:46;14926:84;14923:135;;;15037:5;15030:12;;;;14923:135;15116:14;;15100:12;;15090:5;;:23;;;:9;:23;:::i;:::-;:40;15086:103;;;15159:14;;15151:5;:22;15086:103;15238:14;;15221:12;;15211:5;;:23;;;:9;:23;:::i;:::-;:41;;15203:50;;;;;;15309:12;;15299:5;;:23;;;:9;:23;:::i;:::-;15370:16;;15282:40;;-1:-1:-1;15370:28:0;;15282:40;15370:28;:20;:28;:::i;:::-;15351:16;:47;15430:14;;:26;;15449:6;15430:26;:18;:26;:::i;:::-;15413:14;:43;-1:-1:-1;;;;;15492:18:0;;;;;;:8;:18;;;;;;:30;;15515:6;15492:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;15471:18:0;;;;;;:8;:18;;;;;;;:51;;;;:18;15537:28;;15558:6;;15537:28;;;;;;;;;;;;;-1:-1:-1;;;;;15580:38:0;;15597:1;-1:-1:-1;;;;;;;;;;;15611:6:0;15580:38;;;;;;;;;;;;;;15648:1;15639:6;:10;15635:121;;;-1:-1:-1;;;;;15670:19:0;;;;;;:9;:19;;;;;;;;:26;;-1:-1:-1;;15670:26:0;15692:4;15670:26;;;15715:9;:19;;;;;15737:3;15715:25;;15635:121;15796:11;;15776:16;;:31;15772:99;;15828:20;:27;;-1:-1:-1;;15828:27:0;15851:4;15828:27;;;15772:99;15907:32;15931:7;;15907:19;15917:8;;15907:5;;:9;;:19;;;;:::i;:32::-;15899:5;:40;15961:4;;-1:-1:-1;15954:11:0;;14833:1144;-1:-1:-1;15994:5:0;;14735:1272;-1:-1:-1;;;14735:1272:0:o;17967:375::-;18077:11;;18043:4;;-1:-1:-1;;;;;18077:11:0;:25;;18069:34;;;;;;18122:17;;-1:-1:-1;;;;;18122:17:0;18160:50;;;;;;;;;;;;;;;;;;;;18214:11;;-1:-1:-1;;;18122:117:0;;;;-1:-1:-1;;;;;18214:11:0;18227:3;18232:6;18122:117;;-1:-1:-1;;;18122:117:0;;;;;;-1:-1:-1;;;;;18122:117:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18122:117:0;;;;;;;;;;;;;;;;18114:126;;;;;;;;18287:11;;18261:51;;-1:-1:-1;;;;;18287:11:0;18300:3;18305:6;18261:51;;-1:-1:-1;;;;;18261:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18330:4:0;17967:375;;;;:::o;1997:17881::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1997:17881:0;;;-1:-1:-1;1997:17881:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://61b88260e296f2a90bfd27dc154b575b8456569c4ea1da84bc0c27e047b97683
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.