ETH Price: $3,595.84 (+3.72%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Destroy Tokens57981792018-06-16 9:08:322393 days ago1529140112IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003721812
Destroy Tokens57013472018-05-30 6:58:172410 days ago1527663497IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003721812
Air Drop56901142018-05-28 7:18:522412 days ago1527491932IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848842018-05-27 9:26:092413 days ago1527413169IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848822018-05-27 9:26:002413 days ago1527413160IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003251910
Air Drop56848812018-05-27 9:25:432413 days ago1527413143IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003251910
Air Drop56848812018-05-27 9:25:432413 days ago1527413143IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848812018-05-27 9:25:432413 days ago1527413143IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848812018-05-27 9:25:432413 days ago1527413143IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848812018-05-27 9:25:432413 days ago1527413143IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848812018-05-27 9:25:432413 days ago1527413143IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848812018-05-27 9:25:432413 days ago1527413143IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848812018-05-27 9:25:432413 days ago1527413143IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848812018-05-27 9:25:432413 days ago1527413143IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848792018-05-27 9:25:112413 days ago1527413111IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848792018-05-27 9:25:112413 days ago1527413111IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003239110
Air Drop56848772018-05-27 9:24:582413 days ago1527413098IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848512018-05-27 9:18:232413 days ago1527412703IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848502018-05-27 9:18:192413 days ago1527412699IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848482018-05-27 9:17:282413 days ago1527412648IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848432018-05-27 9:15:422413 days ago1527412542IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848392018-05-27 9:14:362413 days ago1527412476IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848392018-05-27 9:14:362413 days ago1527412476IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848392018-05-27 9:14:362413 days ago1527412476IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
Air Drop56848392018-05-27 9:14:362413 days ago1527412476IN
0x2eB1a3B7...CceAC3E96
0 ETH0.0003245510
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KayoToken

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-05-26
*/

pragma solidity ^0.4.18;

    contract Owned {

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

        address public owner;

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

        function changeOwner(address _newOwner) public onlyOwner {
            owner = _newOwner;
        }
    }

    contract TokenController {

        function onTransfer(address _from, address _to, uint _amount) public returns(bool);

        function onApprove(address _owner, address _spender, uint _amount) public returns(bool);
    }

    contract ApproveAndCallFallBack {
        function receiveApproval(address from, uint256 _amount, address _token, bytes _data) public;
    }

    contract KayoToken is Owned {

        string public name;                
        uint8 public decimals;             
        string public symbol;              

        struct  Checkpoint {

            uint128 fromBlock;

            uint128 value;
        }

        KayoToken public parentToken;

        uint public parentSnapShotBlock;

        uint public creationBlock;

        mapping (address => Checkpoint[]) balances;

        uint public preSaleTokenBalances;

        mapping (address => mapping (address => uint256)) allowed;

        Checkpoint[] totalSupplyHistory;

        bool public transfersEnabled;
        
        bool public IsPreSaleEnabled = false;

        bool public IsSaleEnabled = false;

        bool public IsAirDropEnabled = false;
        
        address public owner;

        address public airDropManager;
        
        uint public allowedAirDropTokens;

        mapping (address => bool) public frozenAccount;
        event FrozenFunds(address target, bool frozen);
        
        modifier canReleaseToken {
            if (IsSaleEnabled == true || IsPreSaleEnabled == true) 
                _;
            else
                revert();
        }

        modifier onlyairDropManager { 
            require(msg.sender == airDropManager); _; 
        }

        function KayoToken(
            address _tokenFactory,
            address _parentToken,
            uint _parentSnapShotBlock,
            string _tokenName,
            uint8 _decimalUnits,
            string _tokenSymbol,
            bool _transfersEnabled
        ) public {
            owner = _tokenFactory;
            name = _tokenName;                                 
            decimals = _decimalUnits;                          
            symbol = _tokenSymbol;                             
            parentToken = KayoToken(_parentToken);
            parentSnapShotBlock = _parentSnapShotBlock;
            transfersEnabled = _transfersEnabled;
            creationBlock = block.number;
        }

        function transfer(address _to, uint256 _amount) public returns (bool success) {
            require(transfersEnabled);
            transferFrom(msg.sender, _to, _amount);
            return true;
        }

        function freezeAccount(address target, bool freeze) onlyOwner public{
            frozenAccount[target] = freeze;
            FrozenFunds(target, freeze);
        }

        function setPreSale (bool _value) onlyOwner public {
            IsPreSaleEnabled = _value;
        }

        function setSale (bool _value) onlyOwner public {
            IsSaleEnabled = _value;
        }

        function setAirDrop (bool _value) onlyOwner public {
            IsAirDropEnabled = _value;
        }

        function setAirDropManager (address _address) onlyOwner public{
            airDropManager = _address;
        }

        function setairDropManagerLimit(uint _amount) onlyOwner public returns (bool success){
            allowedAirDropTokens = _amount;
            approve(airDropManager, _amount);
            return true;
        }

        function airDrop(address _to, uint256 _amount) onlyairDropManager public returns (bool success){
            
            require((_to != 0) && (_to != address(this)));
            require(IsAirDropEnabled);
            
            require(allowed[owner][msg.sender] >= _amount);
            allowed[owner][msg.sender] -= _amount;
            Transfer(owner, _to, _amount);
            return true;
        }

        function invest(address _to, uint256 _amount) canReleaseToken onlyOwner public returns (bool success) {
            
            require((_to != 0) && (_to != address(this)));

            bool IsTransferAllowed = false;

            if(IsPreSaleEnabled){
                require(preSaleTokenBalances >= _amount);
                IsTransferAllowed = true;
                preSaleTokenBalances = preSaleTokenBalances - _amount;
            }
            else if(IsSaleEnabled){
                IsTransferAllowed = true;
            }
            else{
                revert();
            }

            require(IsTransferAllowed);
            var previousBalanceFrom = balanceOfAt(msg.sender, block.number);
            require(previousBalanceFrom >= _amount);
            updateValueAtNow(balances[msg.sender], previousBalanceFrom - _amount);

            var previousBalanceTo = balanceOfAt(_to, block.number);
            require(previousBalanceTo + _amount >= previousBalanceTo);
            updateValueAtNow(balances[_to], previousBalanceTo + _amount);

            transferFrom(msg.sender, _to, _amount); //Owner sending tokens
            return true;
        }

        function transferFrom(address _from, address _to, uint _amount) public returns (bool success) {

            require(IsSaleEnabled && !IsPreSaleEnabled);

            if (_amount == 0) {
                Transfer(_from, _to, _amount);
                return;
            }

            if (msg.sender != owner) {
                require(allowed[_from][msg.sender] >= _amount);
                allowed[_from][msg.sender] -= _amount;
            }

            Transfer(_from, _to, _amount);

            return true;
        }

        function balanceOf(address _owner) public constant returns (uint256 tokenBalance) {
            return balanceOfAt(_owner, block.number);
        }

        function approve(address _spender, uint256 _amount) public returns (bool success) {

            require((_amount == 0) || (allowed[msg.sender][_spender] == 0));

            if (isValidAddress(owner)) {
                require(TokenController(owner).onApprove(msg.sender, _spender, _amount));
            }

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

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

        function approveAndCall(address _spender, uint256 _amount, bytes _extraData) public returns (bool success) {

            require(approve(_spender, _amount));
            ApproveAndCallFallBack(_spender).receiveApproval(msg.sender,_amount,this,_extraData);
            return true;
        }

        function totalSupply() public constant returns (uint) {
            return totalSupplyAt(block.number);
        }

        function balanceOfAt(address _owner, uint _blockNumber) public constant returns (uint) {

            if ((balances[_owner].length == 0) || (balances[_owner][0].fromBlock > _blockNumber)) {
                if (address(parentToken) != 0) {
                    return parentToken.balanceOfAt(_owner, min(_blockNumber, parentSnapShotBlock));
                } else {
                    return 0;
                }

            } else {
                return getValueAt(balances[_owner], _blockNumber);
            }
        }

        function totalSupplyAt(uint _blockNumber) public constant returns(uint) {

            if ((totalSupplyHistory.length == 0) || (totalSupplyHistory[0].fromBlock > _blockNumber)) {
                if (address(parentToken) != 0) {
                    return parentToken.totalSupplyAt(min(_blockNumber, parentSnapShotBlock));
                } else {
                    return 0;
                }

            } else {
                return getValueAt(totalSupplyHistory, _blockNumber);
            }
        }

        function generateTokens(address _owner, uint _amount) public onlyOwner returns (bool) {
            uint curTotalSupply = totalSupply();
            require(curTotalSupply + _amount >= curTotalSupply);
            uint previousBalanceTo = balanceOf(_owner);
            require(previousBalanceTo + _amount >= previousBalanceTo);

            updateValueAtNow(totalSupplyHistory, curTotalSupply + _amount);
            updateValueAtNow(balances[_owner], previousBalanceTo + _amount);

            uint256 _bal = _amount * 30;
            preSaleTokenBalances = preSaleTokenBalances + _bal / 100;
            Transfer(0, _owner, _amount);
            return true;
        }

        function destroyTokens(address _owner, uint _amount) onlyOwner public returns (bool) {
            uint curTotalSupply = totalSupply();
            require(curTotalSupply >= _amount);
            uint previousBalanceFrom = balanceOf(_owner);
            require(previousBalanceFrom >= _amount);
            updateValueAtNow(totalSupplyHistory, curTotalSupply - _amount);
            updateValueAtNow(balances[_owner], previousBalanceFrom - _amount);
            Transfer(_owner, 0, _amount);
            return true;
        }
        
        function destroyAllTokens(address _owner) onlyOwner public returns (bool) {
            updateValueAtNow(totalSupplyHistory, 0);
            updateValueAtNow(balances[_owner], 0);
            Transfer(_owner, 0, 0);
            return true;
        }

        function enableTransfers(bool _transfersEnabled) public onlyOwner {
            transfersEnabled = _transfersEnabled;
        }

        function getValueAt(Checkpoint[] storage checkpoints, uint _block) constant internal returns (uint) {
            
            if (checkpoints.length == 0) return 0;

            if (_block >= checkpoints[checkpoints.length-1].fromBlock)
                return checkpoints[checkpoints.length-1].value;

            if (_block < checkpoints[0].fromBlock) return 0;

            uint minValue = 0;
            uint maximum = checkpoints.length-1;
            while (maximum > minValue) {
                uint midddle = (maximum + minValue + 1)/ 2;
                if (checkpoints[midddle].fromBlock<=_block) {
                    minValue = midddle;
                } else {
                    maximum = midddle-1;
                }
            }
            return checkpoints[minValue].value;
        }

        function updateValueAtNow(Checkpoint[] storage checkpoints, uint _value) internal  {
            if ((checkpoints.length == 0) || (checkpoints[checkpoints.length -1].fromBlock < block.number)) {
                Checkpoint storage newCheckPoint = checkpoints[ checkpoints.length++ ];
                newCheckPoint.fromBlock =  uint128(block.number);
                newCheckPoint.value = uint128(_value);
            } else {
                Checkpoint storage oldCheckPoint = checkpoints[checkpoints.length-1];
                oldCheckPoint.value = uint128(_value);
            }
        }

        function isValidAddress(address _addr) constant internal returns(bool) {
            uint size;
            if (_addr == 0) return false;
            assembly {
                size := extcodesize(_addr)
            }
            return size > 0;
        }

        function min(uint a, uint b) pure internal returns (uint) {
            return a < b ? a : b;
        }

        event Transfer(address indexed _from, address indexed _to, uint256 _amount);
        event Approval(address indexed _owner, address indexed _spender, uint256 _amount);

    }

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"airDrop","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"setPreSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"IsSaleEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setAirDropManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"creationBlock","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":false,"inputs":[{"name":"_value","type":"bool"}],"name":"setSale","outputs":[],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[],"name":"airDropManager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preSaleTokenBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_blockNumber","type":"uint256"}],"name":"balanceOfAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allowedAirDropTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"tokenBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"parentToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_amount","type":"uint256"}],"name":"generateTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"IsAirDropEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"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":"_blockNumber","type":"uint256"}],"name":"totalSupplyAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"setAirDrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","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":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"IsPreSaleEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"invest","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transfersEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"parentSnapShotBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_amount","type":"uint256"}],"name":"destroyTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"destroyAllTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_transfersEnabled","type":"bool"}],"name":"enableTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"setairDropManagerLimit","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenFactory","type":"address"},{"name":"_parentToken","type":"address"},{"name":"_parentSnapShotBlock","type":"uint256"},{"name":"_tokenName","type":"string"},{"name":"_decimalUnits","type":"uint8"},{"name":"_tokenSymbol","type":"string"},{"name":"_transfersEnabled","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Approval","type":"event"}]

60606040526000600b60016101000a81548160ff0219169083151502179055506000600b60026101000a81548160ff0219169083151502179055506000600b60036101000a81548160ff02191690831515021790555034156200006157600080fd5b60405162002f4138038062002f4183398101604052808051906020019091908051906020019091908051906020019091908051820191906020018051906020019091908051820191906020018051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600b60046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550836001908051906020019062000151929190620001fc565b5082600260006101000a81548160ff021916908360ff160217905550816003908051906020019062000185929190620001fc565b5085600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460058190555080600b60006101000a81548160ff0219169083151502179055504360068190555050505050505050620002ab565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023f57805160ff191683800117855562000270565b8280016001018555821562000270579182015b828111156200026f57825182559160200191906001019062000252565b5b5090506200027f919062000283565b5090565b620002a891905b80821115620002a45760008160009055506001016200028a565b5090565b90565b612c8680620002bb6000396000f3006060604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063045f7850146101d257806306fdde031461022c578063095ea7b3146102ba5780630d95ccc9146103145780630ebdc43a146103395780630f35881a14610366578063176345141461039f57806318160ddd146103c85780631d2e5a3a146103f157806323b872dd1461041657806328c8f3ba1461048f578063313ce567146104e45780633ba308dd146105135780634ee2cd7e1461053c5780636ff8e3321461059257806370a08231146105bb57806380a5400114610608578063827f32c01461065d578063883a6476146106b75780638da5cb5b146106e457806395d89b4114610739578063981b24d0146107c7578063a2368e11146107fe578063a6f9dae114610823578063a9059cbb1461085c578063b414d4b6146108b6578063b51ad45614610907578063b9b8c24614610934578063bef97c871461098e578063c5bcc4f1146109bb578063cae9ca51146109e4578063d3ce77fe14610a81578063d3e91a9814610adb578063dd62ed3e14610b2c578063e724529c14610b98578063f41e60c514610bdc578063fc26fe0114610c01575b600080fd5b34156101dd57600080fd5b610212600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c3c565b604051808215151515815260200191505060405180910390f35b341561023757600080fd5b61023f610efd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561027f578082015181840152602081019050610264565b50505050905090810190601f1680156102ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102c557600080fd5b6102fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f9b565b604051808215151515815260200191505060405180910390f35b341561031f57600080fd5b6103376004808035151590602001909190505061127a565b005b341561034457600080fd5b61034c6112f2565b604051808215151515815260200191505060405180910390f35b341561037157600080fd5b61039d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611305565b005b34156103aa57600080fd5b6103b26113a4565b6040518082815260200191505060405180910390f35b34156103d357600080fd5b6103db6113aa565b6040518082815260200191505060405180910390f35b34156103fc57600080fd5b610414600480803515159060200190919050506113ba565b005b341561042157600080fd5b610475600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611432565b604051808215151515815260200191505060405180910390f35b341561049a57600080fd5b6104a26116b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ef57600080fd5b6104f76116df565b604051808260ff1660ff16815260200191505060405180910390f35b341561051e57600080fd5b6105266116f2565b6040518082815260200191505060405180910390f35b341561054757600080fd5b61057c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506116f8565b6040518082815260200191505060405180910390f35b341561059d57600080fd5b6105a561196d565b6040518082815260200191505060405180910390f35b34156105c657600080fd5b6105f2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611973565b6040518082815260200191505060405180910390f35b341561061357600080fd5b61061b611986565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066857600080fd5b61069d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119ac565b604051808215151515815260200191505060405180910390f35b34156106c257600080fd5b6106ca611b15565b604051808215151515815260200191505060405180910390f35b34156106ef57600080fd5b6106f7611b28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561074457600080fd5b61074c611b4e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561078c578082015181840152602081019050610771565b50505050905090810190601f1680156107b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107d257600080fd5b6107e86004808035906020019091905050611bec565b6040518082815260200191505060405180910390f35b341561080957600080fd5b61082160048080351515906020019091905050611d75565b005b341561082e57600080fd5b61085a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ded565b005b341561086757600080fd5b61089c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611e8b565b604051808215151515815260200191505060405180910390f35b34156108c157600080fd5b6108ed600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ebe565b604051808215151515815260200191505060405180910390f35b341561091257600080fd5b61091a611ede565b604051808215151515815260200191505060405180910390f35b341561093f57600080fd5b610974600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611ef1565b604051808215151515815260200191505060405180910390f35b341561099957600080fd5b6109a1612147565b604051808215151515815260200191505060405180910390f35b34156109c657600080fd5b6109ce61215a565b6040518082815260200191505060405180910390f35b34156109ef57600080fd5b610a67600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612160565b604051808215151515815260200191505060405180910390f35b3415610a8c57600080fd5b610ac1600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506122d9565b604051808215151515815260200191505060405180910390f35b3415610ae657600080fd5b610b12600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061241f565b604051808215151515815260200191505060405180910390f35b3415610b3757600080fd5b610b82600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061252b565b6040518082815260200191505060405180910390f35b3415610ba357600080fd5b610bda600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506125b2565b005b3415610be757600080fd5b610bff600480803515159060200190919050506126d7565b005b3415610c0c57600080fd5b610c22600480803590602001909190505061274f565b604051808215151515815260200191505060405180910390f35b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c9a57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff1614158015610ced57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1515610cf857600080fd5b600b60039054906101000a900460ff161515610d1357600080fd5b8160096000600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610dc057600080fd5b8160096000600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff16600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f935780601f10610f6857610100808354040283529160200191610f93565b820191906000526020600020905b815481529060010190602001808311610f7657829003601f168201915b505050505081565b60008082148061102757506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561103257600080fd5b61105d600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff166127e9565b1561118a57600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da682aeb3385856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561116357600080fd5b6102c65a03f1151561117457600080fd5b50505060405180519050151561118957600080fd5b5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112d557600080fd5b80600b60016101000a81548160ff02191690831515021790555050565b600b60029054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561136057600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60065481565b60006113b543611bec565b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561141557600080fd5b80600b60026101000a81548160ff02191690831515021790555050565b6000600b60029054906101000a900460ff16801561145d5750600b60019054906101000a900460ff16155b151561146857600080fd5b60008214156114db578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36116b2565b600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116485781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156115bd57600080fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190505b9392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900460ff1681565b60085481565b600080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905014806117d2575081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548110151561179357fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b1561191c576000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561191357600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ee2cd7e8461186485600554612825565b6000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156118f157600080fd5b6102c65a03f1151561190257600080fd5b505050604051805190509050611967565b60009050611967565b611964600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208361283e565b90505b92915050565b600d5481565b600061197f82436116f8565b9050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0d57600080fd5b611a156113aa565b92508285840110151515611a2857600080fd5b611a3186611973565b91508185830110151515611a4457600080fd5b611a51600a868501612a52565b611a9b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020868401612a52565b601e85029050606481811515611aad57fe5b04600854016008819055508573ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36001935050505092915050565b600b60039054906101000a900460ff1681565b600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611be45780601f10611bb957610100808354040283529160200191611be4565b820191906000526020600020905b815481529060010190602001808311611bc757829003601f168201915b505050505081565b600080600a805490501480611c4c575081600a6000815481101515611c0d57fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b15611d62576000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611d5957600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663981b24d0611cdd84600554612825565b6000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515611d3757600080fd5b6102c65a03f11515611d4857600080fd5b505050604051805190509050611d70565b60009050611d70565b611d6d600a8361283e565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611dd057600080fd5b80600b60036101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e4857600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600b60009054906101000a900460ff161515611ea857600080fd5b611eb3338484611432565b506001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b60008060008060011515600b60029054906101000a900460ff1615151480611f2c575060011515600b60019054906101000a900460ff161515145b15612139576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f8c57600080fd5b60008673ffffffffffffffffffffffffffffffffffffffff1614158015611fdf57503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b1515611fea57600080fd5b60009250600b60019054906101000a900460ff161561202857846008541015151561201457600080fd5b60019250846008540360088190555061204c565b600b60029054906101000a900460ff1615612046576001925061204b565b600080fd5b5b82151561205857600080fd5b61206233436116f8565b915084821015151561207357600080fd5b6120bd600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020868403612a52565b6120c786436116f8565b905080858201101515156120da57600080fd5b612124600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020868301612a52565b61212f338787611432565b506001935061213e565b600080fd5b50505092915050565b600b60009054906101000a900460ff1681565b60055481565b600061216c8484610f9b565b151561217757600080fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561226c578082015181840152602081019050612251565b50505050905090810190601f1680156122995780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156122ba57600080fd5b6102c65a03f115156122cb57600080fd5b505050600190509392505050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561233957600080fd5b6123416113aa565b915083821015151561235257600080fd5b61235b85611973565b905083811015151561236c57600080fd5b612379600a858403612a52565b6123c3600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020858303612a52565b60008573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561247c57600080fd5b612488600a6000612a52565b6124d1600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000612a52565b60008273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60006040518082815260200191505060405180910390a360019050919050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561260d57600080fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273257600080fd5b80600b60006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156127ac57600080fd5b81600d819055506127df600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610f9b565b5060019050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff161415612814576000915061281f565b823b90506000811191505b50919050565b60008183106128345781612836565b825b905092915050565b60008060008060008680549050141561285a5760009350612a49565b85600187805490500381548110151561286f57fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168510151561290d578560018780549050038154811015156128c957fe5b906000526020600020900160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169350612a49565b85600081548110151561291c57fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168510156129695760009350612a49565b60009250600186805490500391505b828211156129fb57600260018484010181151561299157fe5b0490508486828154811015156129a357fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161115156129ef578092506129f6565b6001810391505b612978565b8583815481101515612a0957fe5b906000526020600020900160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1693505b50505092915050565b600080600084805490501480612ab8575043846001868054905003815481101515612a7957fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16105b15612b655783848054809190600101612ad19190612bc9565b815481101515612add57fe5b90600052602060002090019150438260000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828260000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550612bc3565b836001858054905003815481101515612b7a57fe5b90600052602060002090019050828160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b50505050565b815481835581811511612bf057818360005260206000209182019101612bef9190612bf5565b5b505050565b612c5791905b80821115612c5357600080820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556000820160106101000a8154906fffffffffffffffffffffffffffffffff021916905550600101612bfb565b5090565b905600a165627a7a72305820735444aff1dd2d04c8f2534cde72255ab54671ab7ac8efb9c6b326b4277315b70029000000000000000000000000b35a81be06446c24d5104b14e08400317bbf17f5000000000000000000000000c6a495e670972323f93f468bbf91eed563f9fb3f0000000000000000000000000000000000000000000000000000000000564ea400000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4b61796f4372656469747300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034b594f0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6060604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063045f7850146101d257806306fdde031461022c578063095ea7b3146102ba5780630d95ccc9146103145780630ebdc43a146103395780630f35881a14610366578063176345141461039f57806318160ddd146103c85780631d2e5a3a146103f157806323b872dd1461041657806328c8f3ba1461048f578063313ce567146104e45780633ba308dd146105135780634ee2cd7e1461053c5780636ff8e3321461059257806370a08231146105bb57806380a5400114610608578063827f32c01461065d578063883a6476146106b75780638da5cb5b146106e457806395d89b4114610739578063981b24d0146107c7578063a2368e11146107fe578063a6f9dae114610823578063a9059cbb1461085c578063b414d4b6146108b6578063b51ad45614610907578063b9b8c24614610934578063bef97c871461098e578063c5bcc4f1146109bb578063cae9ca51146109e4578063d3ce77fe14610a81578063d3e91a9814610adb578063dd62ed3e14610b2c578063e724529c14610b98578063f41e60c514610bdc578063fc26fe0114610c01575b600080fd5b34156101dd57600080fd5b610212600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c3c565b604051808215151515815260200191505060405180910390f35b341561023757600080fd5b61023f610efd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561027f578082015181840152602081019050610264565b50505050905090810190601f1680156102ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102c557600080fd5b6102fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f9b565b604051808215151515815260200191505060405180910390f35b341561031f57600080fd5b6103376004808035151590602001909190505061127a565b005b341561034457600080fd5b61034c6112f2565b604051808215151515815260200191505060405180910390f35b341561037157600080fd5b61039d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611305565b005b34156103aa57600080fd5b6103b26113a4565b6040518082815260200191505060405180910390f35b34156103d357600080fd5b6103db6113aa565b6040518082815260200191505060405180910390f35b34156103fc57600080fd5b610414600480803515159060200190919050506113ba565b005b341561042157600080fd5b610475600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611432565b604051808215151515815260200191505060405180910390f35b341561049a57600080fd5b6104a26116b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ef57600080fd5b6104f76116df565b604051808260ff1660ff16815260200191505060405180910390f35b341561051e57600080fd5b6105266116f2565b6040518082815260200191505060405180910390f35b341561054757600080fd5b61057c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506116f8565b6040518082815260200191505060405180910390f35b341561059d57600080fd5b6105a561196d565b6040518082815260200191505060405180910390f35b34156105c657600080fd5b6105f2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611973565b6040518082815260200191505060405180910390f35b341561061357600080fd5b61061b611986565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066857600080fd5b61069d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119ac565b604051808215151515815260200191505060405180910390f35b34156106c257600080fd5b6106ca611b15565b604051808215151515815260200191505060405180910390f35b34156106ef57600080fd5b6106f7611b28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561074457600080fd5b61074c611b4e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561078c578082015181840152602081019050610771565b50505050905090810190601f1680156107b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107d257600080fd5b6107e86004808035906020019091905050611bec565b6040518082815260200191505060405180910390f35b341561080957600080fd5b61082160048080351515906020019091905050611d75565b005b341561082e57600080fd5b61085a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ded565b005b341561086757600080fd5b61089c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611e8b565b604051808215151515815260200191505060405180910390f35b34156108c157600080fd5b6108ed600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ebe565b604051808215151515815260200191505060405180910390f35b341561091257600080fd5b61091a611ede565b604051808215151515815260200191505060405180910390f35b341561093f57600080fd5b610974600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611ef1565b604051808215151515815260200191505060405180910390f35b341561099957600080fd5b6109a1612147565b604051808215151515815260200191505060405180910390f35b34156109c657600080fd5b6109ce61215a565b6040518082815260200191505060405180910390f35b34156109ef57600080fd5b610a67600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612160565b604051808215151515815260200191505060405180910390f35b3415610a8c57600080fd5b610ac1600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506122d9565b604051808215151515815260200191505060405180910390f35b3415610ae657600080fd5b610b12600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061241f565b604051808215151515815260200191505060405180910390f35b3415610b3757600080fd5b610b82600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061252b565b6040518082815260200191505060405180910390f35b3415610ba357600080fd5b610bda600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506125b2565b005b3415610be757600080fd5b610bff600480803515159060200190919050506126d7565b005b3415610c0c57600080fd5b610c22600480803590602001909190505061274f565b604051808215151515815260200191505060405180910390f35b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c9a57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff1614158015610ced57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1515610cf857600080fd5b600b60039054906101000a900460ff161515610d1357600080fd5b8160096000600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610dc057600080fd5b8160096000600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff16600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f935780601f10610f6857610100808354040283529160200191610f93565b820191906000526020600020905b815481529060010190602001808311610f7657829003601f168201915b505050505081565b60008082148061102757506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561103257600080fd5b61105d600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff166127e9565b1561118a57600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663da682aeb3385856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561116357600080fd5b6102c65a03f1151561117457600080fd5b50505060405180519050151561118957600080fd5b5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112d557600080fd5b80600b60016101000a81548160ff02191690831515021790555050565b600b60029054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561136057600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60065481565b60006113b543611bec565b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561141557600080fd5b80600b60026101000a81548160ff02191690831515021790555050565b6000600b60029054906101000a900460ff16801561145d5750600b60019054906101000a900460ff16155b151561146857600080fd5b60008214156114db578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36116b2565b600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116485781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156115bd57600080fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190505b9392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900460ff1681565b60085481565b600080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905014806117d2575081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548110151561179357fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b1561191c576000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561191357600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ee2cd7e8461186485600554612825565b6000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156118f157600080fd5b6102c65a03f1151561190257600080fd5b505050604051805190509050611967565b60009050611967565b611964600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208361283e565b90505b92915050565b600d5481565b600061197f82436116f8565b9050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0d57600080fd5b611a156113aa565b92508285840110151515611a2857600080fd5b611a3186611973565b91508185830110151515611a4457600080fd5b611a51600a868501612a52565b611a9b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020868401612a52565b601e85029050606481811515611aad57fe5b04600854016008819055508573ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36001935050505092915050565b600b60039054906101000a900460ff1681565b600b60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611be45780601f10611bb957610100808354040283529160200191611be4565b820191906000526020600020905b815481529060010190602001808311611bc757829003601f168201915b505050505081565b600080600a805490501480611c4c575081600a6000815481101515611c0d57fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b15611d62576000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611d5957600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663981b24d0611cdd84600554612825565b6000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515611d3757600080fd5b6102c65a03f11515611d4857600080fd5b505050604051805190509050611d70565b60009050611d70565b611d6d600a8361283e565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611dd057600080fd5b80600b60036101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e4857600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600b60009054906101000a900460ff161515611ea857600080fd5b611eb3338484611432565b506001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b60008060008060011515600b60029054906101000a900460ff1615151480611f2c575060011515600b60019054906101000a900460ff161515145b15612139576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f8c57600080fd5b60008673ffffffffffffffffffffffffffffffffffffffff1614158015611fdf57503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b1515611fea57600080fd5b60009250600b60019054906101000a900460ff161561202857846008541015151561201457600080fd5b60019250846008540360088190555061204c565b600b60029054906101000a900460ff1615612046576001925061204b565b600080fd5b5b82151561205857600080fd5b61206233436116f8565b915084821015151561207357600080fd5b6120bd600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020868403612a52565b6120c786436116f8565b905080858201101515156120da57600080fd5b612124600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020868301612a52565b61212f338787611432565b506001935061213e565b600080fd5b50505092915050565b600b60009054906101000a900460ff1681565b60055481565b600061216c8484610f9b565b151561217757600080fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561226c578082015181840152602081019050612251565b50505050905090810190601f1680156122995780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156122ba57600080fd5b6102c65a03f115156122cb57600080fd5b505050600190509392505050565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561233957600080fd5b6123416113aa565b915083821015151561235257600080fd5b61235b85611973565b905083811015151561236c57600080fd5b612379600a858403612a52565b6123c3600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020858303612a52565b60008573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561247c57600080fd5b612488600a6000612a52565b6124d1600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000612a52565b60008273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60006040518082815260200191505060405180910390a360019050919050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561260d57600080fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273257600080fd5b80600b60006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156127ac57600080fd5b81600d819055506127df600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610f9b565b5060019050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff161415612814576000915061281f565b823b90506000811191505b50919050565b60008183106128345781612836565b825b905092915050565b60008060008060008680549050141561285a5760009350612a49565b85600187805490500381548110151561286f57fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168510151561290d578560018780549050038154811015156128c957fe5b906000526020600020900160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169350612a49565b85600081548110151561291c57fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168510156129695760009350612a49565b60009250600186805490500391505b828211156129fb57600260018484010181151561299157fe5b0490508486828154811015156129a357fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161115156129ef578092506129f6565b6001810391505b612978565b8583815481101515612a0957fe5b906000526020600020900160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1693505b50505092915050565b600080600084805490501480612ab8575043846001868054905003815481101515612a7957fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16105b15612b655783848054809190600101612ad19190612bc9565b815481101515612add57fe5b90600052602060002090019150438260000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828260000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550612bc3565b836001858054905003815481101515612b7a57fe5b90600052602060002090019050828160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b50505050565b815481835581811511612bf057818360005260206000209182019101612bef9190612bf5565b5b505050565b612c5791905b80821115612c5357600080820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556000820160106101000a8154906fffffffffffffffffffffffffffffffff021916905550600101612bfb565b5090565b905600a165627a7a72305820735444aff1dd2d04c8f2534cde72255ab54671ab7ac8efb9c6b326b4277315b70029

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

000000000000000000000000b35a81be06446c24d5104b14e08400317bbf17f5000000000000000000000000c6a495e670972323f93f468bbf91eed563f9fb3f0000000000000000000000000000000000000000000000000000000000564ea400000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4b61796f4372656469747300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034b594f0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenFactory (address): 0xb35A81bE06446c24D5104B14E08400317BbF17F5
Arg [1] : _parentToken (address): 0xc6a495E670972323f93f468BbF91eEd563f9fB3f
Arg [2] : _parentSnapShotBlock (uint256): 5656228
Arg [3] : _tokenName (string): KayoCredits
Arg [4] : _decimalUnits (uint8): 6
Arg [5] : _tokenSymbol (string): KYO
Arg [6] : _transfersEnabled (bool): False

-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 000000000000000000000000b35a81be06446c24d5104b14e08400317bbf17f5
Arg [1] : 000000000000000000000000c6a495e670972323f93f468bbf91eed563f9fb3f
Arg [2] : 0000000000000000000000000000000000000000000000000000000000564ea4
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [7] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [8] : 4b61796f43726564697473000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [10] : 4b594f0000000000000000000000000000000000000000000000000000000000


Swarm Source

bzzr://735444aff1dd2d04c8f2534cde72255ab54671ab7ac8efb9c6b326b4277315b7

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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