More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,475 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Token | 11462516 | 1368 days ago | IN | 0 ETH | 0.00254628 | ||||
Change Wallet | 11462146 | 1368 days ago | IN | 0 ETH | 0.00263268 | ||||
_withdraw All Fu... | 11462107 | 1368 days ago | IN | 0 ETH | 0.00247231 | ||||
_withdraw Wei | 10697686 | 1486 days ago | IN | 0 ETH | 0.00379548 | ||||
_withdraw Wei | 10697685 | 1486 days ago | IN | 0 ETH | 0.00379548 | ||||
_withdraw Wei | 10697682 | 1486 days ago | IN | 0 ETH | 0.00379548 | ||||
_withdraw Wei | 10697662 | 1486 days ago | IN | 0 ETH | 0.00379548 | ||||
Transfer Token | 10697621 | 1486 days ago | IN | 0 ETH | 0.00519504 | ||||
_withdraw Wei | 10697621 | 1486 days ago | IN | 0 ETH | 0.00379548 | ||||
_withdraw Wei | 10697332 | 1486 days ago | IN | 0 ETH | 0.00622919 | ||||
Change Wallet | 10697302 | 1486 days ago | IN | 0 ETH | 0.00318846 | ||||
Change Wallet | 10697289 | 1486 days ago | IN | 0 ETH | 0.00318846 | ||||
_withdraw Wei | 9914148 | 1607 days ago | IN | 0 ETH | 0.0003039 | ||||
_withdraw Wei | 9914147 | 1607 days ago | IN | 0 ETH | 0.0003039 | ||||
_withdraw Wei | 9914143 | 1607 days ago | IN | 0 ETH | 0.0003039 | ||||
_withdraw Wei | 9914138 | 1607 days ago | IN | 0 ETH | 0.0003039 | ||||
Change Wallet | 9914134 | 1607 days ago | IN | 0 ETH | 0.00028081 | ||||
Transfer Token | 9913608 | 1607 days ago | IN | 0 ETH | 0.00036355 | ||||
_withdraw Wei | 9913574 | 1607 days ago | IN | 0 ETH | 0.00025293 | ||||
Change Wallet | 9913564 | 1607 days ago | IN | 0 ETH | 0.00023401 | ||||
_withdraw Wei | 9858492 | 1616 days ago | IN | 0 ETH | 0.00018934 | ||||
Transfer Token | 9650875 | 1648 days ago | IN | 0 ETH | 0.00034624 | ||||
_withdraw Wei | 9650385 | 1648 days ago | IN | 0 ETH | 0.00031629 | ||||
_withdraw Wei | 9650383 | 1648 days ago | IN | 0 ETH | 0.00056629 | ||||
Change Wallet | 9650366 | 1648 days ago | IN | 0 ETH | 0.00029252 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
11462107 | 1368 days ago | 34.71116924 ETH | ||||
10697686 | 1486 days ago | 1.02540232 ETH | ||||
10697685 | 1486 days ago | 1.02540232 ETH | ||||
10697682 | 1486 days ago | 1.02540232 ETH | ||||
10697662 | 1486 days ago | 1.02540232 ETH | ||||
10697621 | 1486 days ago | 1.02540232 ETH | ||||
10697332 | 1486 days ago | 1.02540232 ETH | ||||
9914148 | 1607 days ago | 2.06208 ETH | ||||
9914147 | 1607 days ago | 2.06208 ETH | ||||
9914143 | 1607 days ago | 1 ETH | ||||
9914138 | 1607 days ago | 1 ETH | ||||
9913574 | 1607 days ago | 10 ETH | ||||
9858492 | 1616 days ago | 100 wei | ||||
9650385 | 1648 days ago | 4.291 ETH | ||||
9650383 | 1648 days ago | 0.3659 ETH | ||||
9521263 | 1668 days ago | 3.52 ETH | ||||
9521160 | 1668 days ago | 3.92 ETH | ||||
9521129 | 1668 days ago | 1 ETH | ||||
9521076 | 1668 days ago | 1.33 ETH | ||||
9521073 | 1668 days ago | 2.94 ETH | ||||
9361615 | 1692 days ago | 2.2 ETH | ||||
9355259 | 1693 days ago | 2.2 ETH | ||||
9355226 | 1693 days ago | 1.77 ETH | ||||
9355214 | 1693 days ago | 1.77 ETH | ||||
9350460 | 1694 days ago | 0.02 ETH |
Loading...
Loading
Contract Name:
Crowdsale
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-29 */ pragma solidity ^0.4.23; // File: contracts/OpenZeppelin/ERC20Basic.sol /** * @title ERC20 * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20 { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: contracts/OpenZeppelin/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title Crowdsale * @dev Crowdsale is a base contract for managing a token crowdsale, * allowing investors to purchase tokens with ether. */ contract Crowdsale { using SafeMath for uint256; // The token being sold ERC20 public token; // Address where funds are collected address public wallet; // Address of the contract owner address public owner; // The rate of tokens per ether. Only applied for the first tier, the first // 150 million tokens sold uint256 public rate; // Amount of wei raised uint256 public weiRaised; // Amount of sold tokens uint256 public soldTokens; // Amount of tokens processed uint256 public processedTokens; // Amount of unsold tokens to burn uint256 public unSoldTokens; // Amount of locked tokens uint256 public lockedTokens; // Amount of alocated tokens uint256 public allocatedTokens; // Amount of distributed tokens uint256 public distributedTokens; // ICO state paused or not bool public paused = false; // Minimal amount to exchange in ETH uint256 public minPurchase = 53 finney; // Keeping track of current round uint256 public currentRound; // We can only sell maximum total amount- 1,000,000,000 tokens during the ICO uint256 public constant maxTokensRaised = 1000000000E4; // Timestamp when the crowdsale starts 01/01/2018 @ 00:00am (UTC); uint256 public startTime = 1527703200; // Timestamp when the initial round ends (UTC); uint256 public currentRoundStart = startTime; // Timestamp when the crowdsale ends 07/07/2018 @ 00:00am (UTC); uint256 public endTime = 1532386740; // Timestamp when locked tokens become unlocked 21/09/2018 @ 00:00am (UTC); uint256 public lockedTill = 1542931200; // Timestamp when approved tokens become available 21/09/2018 @ 00:00am (UTC); uint256 public approvedTill = 1535328000; // How much each user paid for the crowdsale mapping(address => uint256) public crowdsaleBalances; // How many tokens each user got for the crowdsale mapping(address => uint256) public tokensBought; // How many tokens each user got for the crowdsale as bonus mapping(address => uint256) public bonusBalances; // How many tokens each user got locked mapping(address => uint256) public lockedBalances; // How many tokens each user got pre-delivered mapping(address => uint256) public allocatedBalances; // If user is approved to withdraw tokens mapping(address => bool) public approved; // How many tokens each user got distributed mapping(address => uint256) public distributedBalances; // Bonus levels per each round mapping (uint256 => uint256) public bonusLevels; // Rate levels per each round mapping (uint256 => uint256) public rateLevels; // Cap levels per each round mapping (uint256 => uint256) public capLevels; // To track list of contributors address[] public allocatedAddresses; /** * Event for token purchase logging * @param purchaser who paid for the tokens * @param beneficiary who got the tokens * @param value weis paid for purchase * @param amount amount of tokens purchased */ event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount); event Pause(); event Unpause(); modifier onlyOwner() { require(msg.sender == owner); _; } modifier whenNotPaused() { require(!paused); _; } modifier whenPaused() { require(paused); _; } function pause() onlyOwner whenNotPaused public { paused = true; emit Pause(); } function unpause() onlyOwner whenPaused public { paused = false; emit Unpause(); } function setNewBonusLevel (uint256 _bonusIndex, uint256 _bonusValue) onlyOwner external { bonusLevels[_bonusIndex] = _bonusValue; } function setNewRateLevel (uint256 _rateIndex, uint256 _rateValue) onlyOwner external { rateLevels[_rateIndex] = _rateValue; } function setMinPurchase (uint256 _minPurchase) onlyOwner external { minPurchase = _minPurchase; } // @notice Set's the rate of tokens per ether for each round function setNewRatesCustom (uint256 _r1, uint256 _r2, uint256 _r3, uint256 _r4, uint256 _r5, uint256 _r6) onlyOwner external { require(_r1 > 0 && _r2 > 0 && _r3 > 0 && _r4 > 0 && _r5 > 0 && _r6 > 0); rateLevels[1] = _r1; rateLevels[2] = _r2; rateLevels[3] = _r3; rateLevels[4] = _r4; rateLevels[5] = _r5; rateLevels[6] = _r6; } // @notice Set's the rate of tokens per ether for each round function setNewRatesBase (uint256 _r1) onlyOwner external { require(_r1 > 0); rateLevels[1] = _r1; rateLevels[2] = _r1.div(2); rateLevels[3] = _r1.div(3); rateLevels[4] = _r1.div(4); rateLevels[5] = _r1.div(5); rateLevels[6] = _r1.div(5); } /** * @param _rate Number of token units a buyer gets per ETH * @param _wallet Address where collected funds will be forwarded to * @param _token Address of the token being sold */ constructor(uint256 _rate, address _wallet, address _owner, ERC20 _token) public { require(_rate > 0); require(_wallet != address(0)); require(_token != address(0)); wallet = _wallet; token = _token; owner = _owner; soldTokens = 0; unSoldTokens = 0; processedTokens = 0; lockedTokens = 0; distributedTokens = 0; currentRound = 1; //bonus values per each round; bonusLevels[1] = 5; bonusLevels[2] = 10; bonusLevels[3] = 15; bonusLevels[4] = 20; bonusLevels[5] = 50; bonusLevels[6] = 0; //rate values per each round; rateLevels[1] = _rate; rateLevels[2] = _rate.div(2); rateLevels[3] = _rate.div(3); rateLevels[4] = _rate.div(4); rateLevels[5] = _rate.div(5); rateLevels[6] = _rate.div(5); //cap values per each round capLevels[1] = 150000000E4; capLevels[2] = 210000000E4; capLevels[3] = 255000000E4; capLevels[4] = 285000000E4; capLevels[5] = 300000000E4; capLevels[6] = maxTokensRaised; } // ----------------------------------------- // Crowdsale interface // ----------------------------------------- function () external payable whenNotPaused { buyTokens(msg.sender); } /** * @dev low level token purchase * @param _beneficiary Address performing the token purchase */ function buyTokens(address _beneficiary) public payable whenNotPaused { uint256 amountPaid = msg.value; _preValidatePurchase(_beneficiary, amountPaid); uint256 tokens = 0; uint256 bonusTokens = 0; uint256 fullTokens = 0; // Round 1 if(processedTokens < capLevels[1]) { tokens = _getTokensAmount(amountPaid, 1); bonusTokens = _getBonusAmount(tokens, 1); fullTokens = tokens.add(bonusTokens); // If the amount of tokens that you want to buy gets out of round 1 if(processedTokens.add(fullTokens) > capLevels[1]) { tokens = _calculateExcessTokens(amountPaid, 1); bonusTokens = _calculateExcessBonus(tokens, 1); setCurrentRound(2); } // Round 2 } else if(processedTokens >= capLevels[1] && processedTokens < capLevels[2]) { tokens = _getTokensAmount(amountPaid, 2); bonusTokens = _getBonusAmount(tokens, 2); fullTokens = tokens.add(bonusTokens); // If the amount of tokens that you want to buy gets out of round 2 if(processedTokens.add(fullTokens) > capLevels[2]) { tokens = _calculateExcessTokens(amountPaid, 2); bonusTokens = _calculateExcessBonus(tokens, 2); setCurrentRound(3); } // Round 3 } else if(processedTokens >= capLevels[2] && processedTokens < capLevels[3]) { tokens = _getTokensAmount(amountPaid, 3); bonusTokens = _getBonusAmount(tokens, 3); fullTokens = tokens.add(bonusTokens); // If the amount of tokens that you want to buy gets out of round 3 if(processedTokens.add(fullTokens) > capLevels[3]) { tokens = _calculateExcessTokens(amountPaid, 3); bonusTokens = _calculateExcessBonus(tokens, 3); setCurrentRound(4); } // Round 4 } else if(processedTokens >= capLevels[3] && processedTokens < capLevels[4]) { tokens = _getTokensAmount(amountPaid, 4); bonusTokens = _getBonusAmount(tokens, 4); fullTokens = tokens.add(bonusTokens); // If the amount of tokens that you want to buy gets out of round 4 if(processedTokens.add(fullTokens) > capLevels[4]) { tokens = _calculateExcessTokens(amountPaid, 4); bonusTokens = _calculateExcessBonus(tokens, 4); setCurrentRound(5); } // Round 5 } else if(processedTokens >= capLevels[4] && processedTokens < capLevels[5]) { tokens = _getTokensAmount(amountPaid, 5); bonusTokens = _getBonusAmount(tokens, 5); fullTokens = tokens.add(bonusTokens); // If the amount of tokens that you want to buy gets out of round 5 if(processedTokens.add(fullTokens) > capLevels[5]) { tokens = _calculateExcessTokens(amountPaid, 5); bonusTokens = 0; setCurrentRound(6); } // Round 6 } else if(processedTokens >= capLevels[5]) { tokens = _getTokensAmount(amountPaid, 6); } // update state weiRaised = weiRaised.add(amountPaid); fullTokens = tokens.add(bonusTokens); soldTokens = soldTokens.add(fullTokens); processedTokens = processedTokens.add(fullTokens); // Keep a record of how many tokens everybody gets in case we need to do refunds tokensBought[msg.sender] = tokensBought[msg.sender].add(tokens); // Kepp a record of how many wei everybody contributed in case we need to do refunds crowdsaleBalances[msg.sender] = crowdsaleBalances[msg.sender].add(amountPaid); // Kepp a record of how many token everybody got as bonus to display in bonusBalances[msg.sender] = bonusBalances[msg.sender].add(bonusTokens); // Combine bought tokens with bonus tokens before sending to investor uint256 totalTokens = tokens.add(bonusTokens); // Distribute the token _processPurchase(_beneficiary, totalTokens); emit TokenPurchase( msg.sender, _beneficiary, amountPaid, totalTokens ); } // ----------------------------------------- // Internal interface (extensible) // ----------------------------------------- /** * @dev Validation of an incoming purchase. Use require statements to revert state when conditions are not met. Use super to concatenate validations. * @param _beneficiary Address performing the token purchase * @param _weiAmount Value in wei involved in the purchase */ function _preValidatePurchase(address _beneficiary, uint256 _weiAmount) view internal { require(_beneficiary != address(0)); require(_weiAmount != 0); bool withinPeriod = hasStarted() && hasNotEnded(); bool nonZeroPurchase = msg.value > 0; bool withinTokenLimit = processedTokens < maxTokensRaised; bool minimumPurchase = msg.value >= minPurchase; require(withinPeriod); require(nonZeroPurchase); require(withinTokenLimit); require(minimumPurchase); } /** * @dev Executed when a purchase has been validated and is ready to be executed. Not necessarily emits/sends tokens. * @param _beneficiary Address receiving the tokens * @param _tokenAmount Number of tokens to be purchased */ function _processPurchase(address _beneficiary, uint256 _tokenAmount) internal { uint256 _tokensToPreAllocate = _tokenAmount.div(2); uint256 _tokensToLock = _tokenAmount.sub(_tokensToPreAllocate); //record address for future distribution allocatedAddresses.push(_beneficiary); //pre allocate 50% of purchase for delivery in 30 days _preAllocateTokens(_beneficiary, _tokensToPreAllocate); //lock 50% of purchase for delivery after 4 months _lockTokens(_beneficiary, _tokensToLock); //approve by default (dissaprove manually) approved[_beneficiary] = true; } function _lockTokens(address _beneficiary, uint256 _tokenAmount) internal { lockedBalances[_beneficiary] = lockedBalances[_beneficiary].add(_tokenAmount); lockedTokens = lockedTokens.add(_tokenAmount); } function _preAllocateTokens(address _beneficiary, uint256 _tokenAmount) internal { allocatedBalances[_beneficiary] = allocatedBalances[_beneficiary].add(_tokenAmount); allocatedTokens = allocatedTokens.add(_tokenAmount); } /** * @dev Override to extend the way in which ether is converted to bonus tokens. * @param _tokenAmount Value in wei to be converted into tokens * @return Number of bonus tokens that can be distributed with the specified bonus percent */ function _getBonusAmount(uint256 _tokenAmount, uint256 _bonusIndex) internal view returns (uint256) { uint256 bonusValue = _tokenAmount.mul(bonusLevels[_bonusIndex]); return bonusValue.div(100); } function _calculateExcessBonus(uint256 _tokens, uint256 _level) internal view returns (uint256) { uint256 thisLevelTokens = processedTokens.add(_tokens); uint256 nextLevelTokens = thisLevelTokens.sub(capLevels[_level]); uint256 totalBonus = _getBonusAmount(nextLevelTokens, _level.add(1)); return totalBonus; } function _calculateExcessTokens( uint256 amount, uint256 roundSelected ) internal returns(uint256) { require(amount > 0); require(roundSelected >= 1 && roundSelected <= 6); uint256 _rate = rateLevels[roundSelected]; uint256 _leftTokens = capLevels[roundSelected].sub(processedTokens); uint256 weiThisRound = _leftTokens.div(_rate).mul(1E14); uint256 weiNextRound = amount.sub(weiThisRound); uint256 tokensNextRound = 0; // If there's excessive wei for the last tier, refund those uint256 nextRound = roundSelected.add(1); if(roundSelected != 6) { tokensNextRound = _getTokensAmount(weiNextRound, nextRound); } else { msg.sender.transfer(weiNextRound); } uint256 totalTokens = _leftTokens.add(tokensNextRound); return totalTokens; } function _getTokensAmount(uint256 weiPaid, uint256 roundSelected) internal constant returns(uint256 calculatedTokens) { require(weiPaid > 0); require(roundSelected >= 1 && roundSelected <= 6); uint256 typeTokenWei = weiPaid.div(1E14); calculatedTokens = typeTokenWei.mul(rateLevels[roundSelected]); } // ----------------------------------------- // External interface (withdraw) // ----------------------------------------- /** * @dev Determines how ETH is being transfered to owners wallet. */ function _withdrawAllFunds() onlyOwner external { wallet.transfer(address(this).balance); } function _withdrawWei(uint256 _amount) onlyOwner external { wallet.transfer(_amount); } function _changeLockDate(uint256 _newDate) onlyOwner external { require(_newDate <= endTime.add(36 weeks)); lockedTill = _newDate; } function _changeApproveDate(uint256 _newDate) onlyOwner external { require(_newDate <= endTime.add(12 weeks)); approvedTill = _newDate; } function changeWallet(address _newWallet) onlyOwner external { wallet = _newWallet; } /// @notice Public function to check if the crowdsale has ended or not function hasNotEnded() public constant returns(bool) { return now < endTime && processedTokens < maxTokensRaised; } /// @notice Public function to check if the crowdsale has started or not function hasStarted() public constant returns(bool) { return now > startTime; } function setCurrentRound(uint256 _roundIndex) internal { currentRound = _roundIndex; currentRoundStart = now; } //move to next round by overwriting soldTokens value, unsold tokens will be burned; function goNextRound() onlyOwner external { require(currentRound < 6); uint256 notSold = getUnsold(); unSoldTokens = unSoldTokens.add(notSold); processedTokens = capLevels[currentRound]; currentRound = currentRound.add(1); currentRoundStart = now; } function getUnsold() internal view returns (uint256) { uint256 unSold = capLevels[currentRound].sub(processedTokens); return unSold; } function checkUnsold() onlyOwner external view returns (uint256) { uint256 unSold = capLevels[currentRound].sub(processedTokens); return unSold; } function round() public view returns(uint256) { return currentRound; } function currentBonusLevel() public view returns(uint256) { return bonusLevels[currentRound]; } function currentRateLevel() public view returns(uint256) { return rateLevels[currentRound]; } function currentCapLevel() public view returns(uint256) { return capLevels[currentRound]; } function changeApproval(address _beneficiary, bool _newStatus) onlyOwner public { approved[_beneficiary] = _newStatus; } function massApproval(bool _newStatus, uint256 _start, uint256 _end) onlyOwner public { require(_start >= 0); require(_end > 0); require(_end > _start); for (uint256 i = _start; i < _end; i++) { approved[allocatedAddresses[i]] = _newStatus; } } function autoTransferApproved(uint256 _start, uint256 _end) onlyOwner public { require(_start >= 0); require(_end > 0); require(_end > _start); for (uint256 i = _start; i < _end; i++) { transferApprovedBalance(allocatedAddresses[i]); } } function autoTransferLocked(uint256 _start, uint256 _end) onlyOwner public { require(_start >= 0); require(_end > 0); require(_end > _start); for (uint256 i = _start; i < _end; i++) { transferLockedBalance(allocatedAddresses[i]); } } function transferApprovedBalance(address _beneficiary) public { require(_beneficiary != address(0)); require(now >= approvedTill); require(allocatedTokens > 0); require(approved[_beneficiary]); require(allocatedBalances[_beneficiary] > 0); uint256 _approvedTokensToTransfer = allocatedBalances[_beneficiary]; token.transfer(_beneficiary, _approvedTokensToTransfer); distributedBalances[_beneficiary] = distributedBalances[_beneficiary].add(_approvedTokensToTransfer); allocatedTokens = allocatedTokens.sub(_approvedTokensToTransfer); allocatedBalances[_beneficiary] = 0; distributedTokens = distributedTokens.add(_approvedTokensToTransfer); } function transferLockedBalance(address _beneficiary) public { require(_beneficiary != address(0)); require(now >= lockedTill); require(lockedTokens > 0); require(approved[_beneficiary]); require(lockedBalances[_beneficiary] > 0); uint256 _lockedTokensToTransfer = lockedBalances[_beneficiary]; token.transfer(_beneficiary, _lockedTokensToTransfer); distributedBalances[_beneficiary] = distributedBalances[_beneficiary].add(_lockedTokensToTransfer); lockedTokens = lockedTokens.sub(_lockedTokensToTransfer); lockedBalances[_beneficiary] = 0; distributedTokens = distributedTokens.add(_lockedTokensToTransfer); } function transferToken(uint256 _tokens) external onlyOwner returns (bool success) { //bool withinPeriod = hasStarted() && hasNotEnded(); //require(!withinPeriod); return token.transfer(owner, _tokens); } function tokenBalance() public view returns (uint256) { return token.balanceOf(address(this)); } //destory contract with unsold tokens function burnUnsold() public onlyOwner { require(now > lockedTill); require(address(this).balance == 0); require(lockedTokens == 0); require(allocatedTokens == 0); require(unSoldTokens > 0); selfdestruct(owner); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"allocatedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"rateLevels","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockedBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxTokensRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"transferApprovedBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"bonusBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"crowdsaleBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lockedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"distributedBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"round","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newStatus","type":"bool"},{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"massApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_r1","type":"uint256"},{"name":"_r2","type":"uint256"},{"name":"_r3","type":"uint256"},{"name":"_r4","type":"uint256"},{"name":"_r5","type":"uint256"},{"name":"_r6","type":"uint256"}],"name":"setNewRatesCustom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentRoundStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokensBought","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allocatedAddresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"checkUnsold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minPurchase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"approvedTill","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hasStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"allocatedBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newDate","type":"uint256"}],"name":"_changeApproveDate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"transferLockedBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"distributedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"soldTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentCapLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentRateLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newDate","type":"uint256"}],"name":"_changeLockDate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rateIndex","type":"uint256"},{"name":"_rateValue","type":"uint256"}],"name":"setNewRateLevel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentRound","outputs":[{"name":"","type":"uint256"}],"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":"processedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"autoTransferLocked","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newWallet","type":"address"}],"name":"changeWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"}],"name":"transferToken","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"_withdrawWei","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unSoldTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"_withdrawAllFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_newStatus","type":"bool"}],"name":"changeApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"burnUnsold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"capLevels","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"goNextRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"autoTransferApproved","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockedTill","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bonusLevels","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentBonusLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bonusIndex","type":"uint256"},{"name":"_bonusValue","type":"uint256"}],"name":"setNewBonusLevel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"approved","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minPurchase","type":"uint256"}],"name":"setMinPurchase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_r1","type":"uint256"}],"name":"setNewRatesBase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hasNotEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_rate","type":"uint256"},{"name":"_wallet","type":"address"},{"name":"_owner","type":"address"},{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]
Contract Creation Code
60806040526000600b60006101000a81548160ff02191690831515021790555066bc4b381d188000600c55635b0ee6a0600e55600e54600f55635b565db4601055635bf74300601155635b833f006012553480156200005d57600080fd5b5060405160808062003dba83398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050600084111515620000af57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515620000ec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200012957600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006005819055506000600781905550600060068190555060006008819055506000600a819055506001600d819055506005601a60006001815260200190815260200160002081905550600a601a60006002815260200190815260200160002081905550600f601a600060038152602001908152602001600020819055506014601a600060048152602001908152602001600020819055506032601a600060058152602001908152602001600020819055506000601a6000600681526020019081526020016000208190555083601b60006001815260200190815260200160002081905550620002f4600285620004c064010000000002620036e4179091906401000000009004565b601b6000600281526020019081526020016000208190555062000330600385620004c064010000000002620036e4179091906401000000009004565b601b600060038152602001908152602001600020819055506200036c600485620004c064010000000002620036e4179091906401000000009004565b601b60006004815260200190815260200160002081905550620003a8600585620004c064010000000002620036e4179091906401000000009004565b601b60006005815260200190815260200160002081905550620003e4600585620004c064010000000002620036e4179091906401000000009004565b601b6000600681526020019081526020016000208190555065015d3ef79800601c600060018152602001908152602001600020819055506501e8f1c10800601c60006002815260200190815260200160002081905550650251b7d81c00601c60006003815260200190815260200160002081905550650297913cd400601c600060048152602001908152602001600020819055506502ba7def3000601c600060058152602001908152602001600020819055506509184e72a000601c6000600681526020019081526020016000208190555050505050620004dc565b6000808284811515620004cf57fe5b0490508091505092915050565b6138ce80620004ec6000396000f3006080604052600436106102d4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680622f9569146102fb578063031a4cd3146103265780630483a7f61461036757806309838bd9146103be5780630b803b6b146103e95780630c930a4b1461042c5780630e11624b146104835780630eb34740146104da5780631190f27e14610505578063146ca5311461055c57806314bd8acd146105875780632033de43146105ca578063222d7e3414610629578063264d77971461065457806329e58fe7146106ab5780632c4e722e146107185780632faf9a93146107435780633197cbb61461076e57806333b5b62e146107995780633f4ba83a146107c45780634042b66f146107db57806340499ae81461080657806344691f7e146108315780634e618db014610860578063514a48ae146108b7578063521eb273146108e45780635319418a1461093b578063586360ce1461097e5780635c975abb146109a95780635ed9ebfc146109d85780637074754414610a0357806375b3f9f514610a2e5780637690ed7014610a5957806378e9792514610a865780638397980314610ab15780638456cb5914610ae85780638a19c8bc14610aff5780638da5cb5b14610b2a5780638e8df68714610b81578063966704c214610bac57806398b9a2dc14610be35780639e1a4d1914610c265780639fc71b3114610c51578063a309800c14610c96578063a8c9f8ae14610cc3578063aa6d5dce14610cee578063b26c977914610d05578063b52a585114610d54578063b566045b14610d6b578063ba8118b114610dac578063c1ee337514610dc3578063c72e57c714610dfa578063c9e8434614610e25578063d2c936ff14610e66578063d782cc5414610e91578063d8b964e614610ec8578063e8307d0014610f23578063ec8ac4d814610f50578063fa69ede914610f86578063fab67bb614610fb3578063fc0c546a14610fe2575b600b60009054906101000a900460ff161515156102f057600080fd5b6102f933611039565b005b34801561030757600080fd5b50610310611723565b6040518082815260200191505060405180910390f35b34801561033257600080fd5b5061035160048036038101908080359060200190929190505050611729565b6040518082815260200191505060405180910390f35b34801561037357600080fd5b506103a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611741565b6040518082815260200191505060405180910390f35b3480156103ca57600080fd5b506103d3611759565b6040518082815260200191505060405180910390f35b3480156103f557600080fd5b5061042a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611763565b005b34801561043857600080fd5b5061046d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611abe565b6040518082815260200191505060405180910390f35b34801561048f57600080fd5b506104c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ad6565b6040518082815260200191505060405180910390f35b3480156104e657600080fd5b506104ef611aee565b6040518082815260200191505060405180910390f35b34801561051157600080fd5b50610546600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611af4565b6040518082815260200191505060405180910390f35b34801561056857600080fd5b50610571611b0c565b6040518082815260200191505060405180910390f35b34801561059357600080fd5b506105c86004803603810190808035151590602001909291908035906020019092919080359060200190929190505050611b16565b005b3480156105d657600080fd5b50610627600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611c50565b005b34801561063557600080fd5b5061063e611d95565b6040518082815260200191505060405180910390f35b34801561066057600080fd5b50610695600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d9b565b6040518082815260200191505060405180910390f35b3480156106b757600080fd5b506106d660048036038101908080359060200190929190505050611db3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561072457600080fd5b5061072d611df1565b6040518082815260200191505060405180910390f35b34801561074f57600080fd5b50610758611df7565b6040518082815260200191505060405180910390f35b34801561077a57600080fd5b50610783611e89565b6040518082815260200191505060405180910390f35b3480156107a557600080fd5b506107ae611e8f565b6040518082815260200191505060405180910390f35b3480156107d057600080fd5b506107d9611e95565b005b3480156107e757600080fd5b506107f0611f55565b6040518082815260200191505060405180910390f35b34801561081257600080fd5b5061081b611f5b565b6040518082815260200191505060405180910390f35b34801561083d57600080fd5b50610846611f61565b604051808215151515815260200191505060405180910390f35b34801561086c57600080fd5b506108a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f6d565b6040518082815260200191505060405180910390f35b3480156108c357600080fd5b506108e260048036038101908080359060200190929190505050611f85565b005b3480156108f057600080fd5b506108f9612011565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561094757600080fd5b5061097c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612037565b005b34801561098a57600080fd5b50610993612392565b6040518082815260200191505060405180910390f35b3480156109b557600080fd5b506109be612398565b604051808215151515815260200191505060405180910390f35b3480156109e457600080fd5b506109ed6123ab565b6040518082815260200191505060405180910390f35b348015610a0f57600080fd5b50610a186123b1565b6040518082815260200191505060405180910390f35b348015610a3a57600080fd5b50610a436123ce565b6040518082815260200191505060405180910390f35b348015610a6557600080fd5b50610a84600480360381019080803590602001909291905050506123eb565b005b348015610a9257600080fd5b50610a9b612478565b6040518082815260200191505060405180910390f35b348015610abd57600080fd5b50610ae6600480360381019080803590602001909291908035906020019092919050505061247e565b005b348015610af457600080fd5b50610afd6124f6565b005b348015610b0b57600080fd5b50610b146125b7565b6040518082815260200191505060405180910390f35b348015610b3657600080fd5b50610b3f6125bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b8d57600080fd5b50610b966125e3565b6040518082815260200191505060405180910390f35b348015610bb857600080fd5b50610be160048036038101908080359060200190929190803590602001909291905050506125e9565b005b348015610bef57600080fd5b50610c24600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126d4565b005b348015610c3257600080fd5b50610c3b612774565b6040518082815260200191505060405180910390f35b348015610c5d57600080fd5b50610c7c60048036038101908080359060200190929190505050612872565b604051808215151515815260200191505060405180910390f35b348015610ca257600080fd5b50610cc1600480360381019080803590602001909291905050506129f8565b005b348015610ccf57600080fd5b50610cd8612ac0565b6040518082815260200191505060405180910390f35b348015610cfa57600080fd5b50610d03612ac6565b005b348015610d1157600080fd5b50610d52600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612ba4565b005b348015610d6057600080fd5b50610d69612c5b565b005b348015610d7757600080fd5b50610d9660048036038101908080359060200190929190505050612d5b565b6040518082815260200191505060405180910390f35b348015610db857600080fd5b50610dc1612d73565b005b348015610dcf57600080fd5b50610df86004803603810190808035906020019092919080359060200190929190505050612e49565b005b348015610e0657600080fd5b50610e0f612f34565b6040518082815260200191505060405180910390f35b348015610e3157600080fd5b50610e5060048036038101908080359060200190929190505050612f3a565b6040518082815260200191505060405180910390f35b348015610e7257600080fd5b50610e7b612f52565b6040518082815260200191505060405180910390f35b348015610e9d57600080fd5b50610ec66004803603810190808035906020019092919080359060200190929190505050612f6f565b005b348015610ed457600080fd5b50610f09600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612fe7565b604051808215151515815260200191505060405180910390f35b348015610f2f57600080fd5b50610f4e60048036038101908080359060200190929190505050613007565b005b610f84600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611039565b005b348015610f9257600080fd5b50610fb16004803603810190808035906020019092919050505061306d565b005b348015610fbf57600080fd5b50610fc86131d0565b604051808215151515815260200191505060405180910390f35b348015610fee57600080fd5b50610ff76131ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806000806000600b60009054906101000a900460ff1615151561105d57600080fd5b34945061106a8686613214565b600093506000925060009150601c60006001815260200190815260200160002054600654101561111d5761109f8560016132d3565b93506110ac84600161334c565b92506110c1838561339490919063ffffffff16565b9150601c600060018152602001908152602001600020546110ed8360065461339490919063ffffffff16565b1115611118576110fe8560016133b2565b935061110b84600161350e565b9250611117600261357e565b5b61146a565b601c60006001815260200190815260200160002054600654101580156111585750601c60006002815260200190815260200160002054600654105b156111e6576111688560026132d3565b935061117584600261334c565b925061118a838561339490919063ffffffff16565b9150601c600060028152602001908152602001600020546111b68360065461339490919063ffffffff16565b11156111e1576111c78560026133b2565b93506111d484600261350e565b92506111e0600361357e565b5b611469565b601c60006002815260200190815260200160002054600654101580156112215750601c60006003815260200190815260200160002054600654105b156112af576112318560036132d3565b935061123e84600361334c565b9250611253838561339490919063ffffffff16565b9150601c6000600381526020019081526020016000205461127f8360065461339490919063ffffffff16565b11156112aa576112908560036133b2565b935061129d84600361350e565b92506112a9600461357e565b5b611468565b601c60006003815260200190815260200160002054600654101580156112ea5750601c60006004815260200190815260200160002054600654105b15611378576112fa8560046132d3565b935061130784600461334c565b925061131c838561339490919063ffffffff16565b9150601c600060048152602001908152602001600020546113488360065461339490919063ffffffff16565b1115611373576113598560046133b2565b935061136684600461350e565b9250611372600561357e565b5b611467565b601c60006004815260200190815260200160002054600654101580156113b35750601c60006005815260200190815260200160002054600654105b15611438576113c38560056132d3565b93506113d084600561334c565b92506113e5838561339490919063ffffffff16565b9150601c600060058152602001908152602001600020546114118360065461339490919063ffffffff16565b1115611433576114228560056133b2565b935060009250611432600661357e565b5b611466565b601c60006005815260200190815260200160002054600654101515611465576114628560066132d3565b93505b5b5b5b5b5b61147f8560045461339490919063ffffffff16565b600481905550611498838561339490919063ffffffff16565b91506114af8260055461339490919063ffffffff16565b6005819055506114ca8260065461339490919063ffffffff16565b60068190555061152284601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115b785601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061164c83601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116a2838561339490919063ffffffff16565b90506116ae868261358f565b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188784604051808381526020018281526020019250505060405180910390a3505050505050565b60095481565b601b6020528060005260406000206000915090505481565b60166020528060005260406000206000915090505481565b6509184e72a00081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156117a057600080fd5b60125442101515156117b157600080fd5b60006009541115156117c257600080fd5b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181a57600080fd5b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561186857600080fd5b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561196e57600080fd5b505af1158015611982573d6000803e3d6000fd5b505050506040513d602081101561199857600080fd5b8101908080519060200190929190505050506119fc81601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a548160095461369590919063ffffffff16565b6009819055506000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ab481600a5461339490919063ffffffff16565b600a819055505050565b60156020528060005260406000206000915090505481565b60136020528060005260406000206000915090505481565b60085481565b60196020528060005260406000206000915090505481565b6000600d54905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b7457600080fd5b60008310151515611b8457600080fd5b600082111515611b9357600080fd5b8282111515611ba157600080fd5b8290505b81811015611c4a578360186000601d84815481101515611bc157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611ba5565b50505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cac57600080fd5b600086118015611cbc5750600085115b8015611cc85750600084115b8015611cd45750600083115b8015611ce05750600082115b8015611cec5750600081115b1515611cf757600080fd5b85601b6000600181526020019081526020016000208190555084601b6000600281526020019081526020016000208190555083601b6000600381526020019081526020016000208190555082601b6000600481526020019081526020016000208190555081601b6000600581526020019081526020016000208190555080601b60006006815260200190815260200160002081905550505050505050565b600f5481565b60146020528060005260406000206000915090505481565b601d81815481101515611dc257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e5657600080fd5b611e80600654601c6000600d5481526020019081526020016000205461369590919063ffffffff16565b90508091505090565b60105481565b600c5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ef157600080fd5b600b60009054906101000a900460ff161515611f0c57600080fd5b6000600b60006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60045481565b60125481565b6000600e544211905090565b60176020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fe157600080fd5b611ff9626ebe0060105461339490919063ffffffff16565b811115151561200757600080fd5b8060128190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561207457600080fd5b601154421015151561208557600080fd5b600060085411151561209657600080fd5b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156120ee57600080fd5b6000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561213c57600080fd5b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561224257600080fd5b505af1158015612256573d6000803e3d6000fd5b505050506040513d602081101561226c57600080fd5b8101908080519060200190929190505050506122d081601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123288160085461369590919063ffffffff16565b6008819055506000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238881600a5461339490919063ffffffff16565b600a819055505050565b600a5481565b600b60009054906101000a900460ff1681565b60055481565b6000601c6000600d54815260200190815260200160002054905090565b6000601b6000600d54815260200190815260200160002054905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561244757600080fd5b61246063014c3a0060105461339490919063ffffffff16565b811115151561246e57600080fd5b8060118190555050565b600e5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124da57600080fd5b80601b6000848152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561255257600080fd5b600b60009054906101000a900460ff1615151561256e57600080fd5b6001600b60006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600d5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561264757600080fd5b6000831015151561265757600080fd5b60008211151561266657600080fd5b828211151561267457600080fd5b8290505b818110156126cf576126c2601d8281548110151561269257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612037565b8080600101915050612678565b505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273057600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561283257600080fd5b505af1158015612846573d6000803e3d6000fd5b505050506040513d602081101561285c57600080fd5b8101908080519060200190929190505050905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128d057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156129b657600080fd5b505af11580156129ca573d6000803e3d6000fd5b505050506040513d60208110156129e057600080fd5b81019080805190602001909291905050509050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a5457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612abc573d6000803e3d6000fd5b5050565b60075481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b2257600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015612ba1573d6000803e3d6000fd5b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c0057600080fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612cb757600080fd5b60115442111515612cc757600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff1631141515612ced57600080fd5b6000600854141515612cfe57600080fd5b6000600954141515612d0f57600080fd5b6000600754111515612d2057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b601c6020528060005260406000206000915090505481565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612dd157600080fd5b6006600d54101515612de257600080fd5b612dea6136ae565b9050612e018160075461339490919063ffffffff16565b600781905550601c6000600d54815260200190815260200160002054600681905550612e396001600d5461339490919063ffffffff16565b600d8190555042600f8190555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612ea757600080fd5b60008310151515612eb757600080fd5b600082111515612ec657600080fd5b8282111515612ed457600080fd5b8290505b81811015612f2f57612f22601d82815481101515612ef257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611763565b8080600101915050612ed8565b505050565b60115481565b601a6020528060005260406000206000915090505481565b6000601a6000600d54815260200190815260200160002054905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612fcb57600080fd5b80601a6000848152602001908152602001600020819055505050565b60186020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561306357600080fd5b80600c8190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156130c957600080fd5b6000811115156130d857600080fd5b80601b600060018152602001908152602001600020819055506131056002826136e490919063ffffffff16565b601b600060028152602001908152602001600020819055506131316003826136e490919063ffffffff16565b601b6000600381526020019081526020016000208190555061315d6004826136e490919063ffffffff16565b601b600060048152602001908152602001600020819055506131896005826136e490919063ffffffff16565b601b600060058152602001908152602001600020819055506131b56005826136e490919063ffffffff16565b601b6000600681526020019081526020016000208190555050565b6000601054421080156131ea57506509184e72a000600654105b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415151561325657600080fd5b6000851415151561326657600080fd5b61326e611f61565b801561327e575061327d6131d0565b5b93506000341192506509184e72a000600654109150600c5434101590508315156132a757600080fd5b8215156132b357600080fd5b8115156132bf57600080fd5b8015156132cb57600080fd5b505050505050565b6000806000841115156132e557600080fd5b600183101580156132f7575060068311155b151561330257600080fd5b61331b655af3107a4000856136e490919063ffffffff16565b9050613343601b600085815260200190815260200160002054826136ff90919063ffffffff16565b91505092915050565b600080613375601a600085815260200190815260200160002054856136ff90919063ffffffff16565b905061338b6064826136e490919063ffffffff16565b91505092915050565b60008082840190508381101515156133a857fe5b8091505092915050565b60008060008060008060008060008a1115156133cd57600080fd5b600189101580156133df575060068911155b15156133ea57600080fd5b601b60008a8152602001908152602001600020549650613428600654601c60008c81526020019081526020016000205461369590919063ffffffff16565b9550613455655af3107a400061344789896136e490919063ffffffff16565b6136ff90919063ffffffff16565b945061346a858b61369590919063ffffffff16565b93506000925061348460018a61339490919063ffffffff16565b91506006891415156134a15761349a84836132d3565b92506134e9565b3373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501580156134e7573d6000803e3d6000fd5b505b6134fc838761339490919063ffffffff16565b90508097505050505050505092915050565b6000806000806135298660065461339490919063ffffffff16565b9250613551601c6000878152602001908152602001600020548461369590919063ffffffff16565b91506135708261356b60018861339490919063ffffffff16565b61334c565b905080935050505092915050565b80600d8190555042600f8190555050565b6000806135a66002846136e490919063ffffffff16565b91506135bb828461369590919063ffffffff16565b9050601d8490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061362d848361373a565b61363784826137ee565b6001601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050565b60008282111515156136a357fe5b818303905092915050565b6000806136db600654601c6000600d5481526020019081526020016000205461369590919063ffffffff16565b90508091505090565b60008082848115156136f257fe5b0490508091505092915050565b60008060008414156137145760009150613733565b828402905082848281151561372557fe5b0414151561372f57fe5b8091505b5092915050565b61378c81601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506137e48160095461339490919063ffffffff16565b6009819055505050565b61384081601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138988160085461339490919063ffffffff16565b60088190555050505600a165627a7a72305820718195f9c192db5ad6e7d37685a3cc0725598a69fb3dc25c7533b360740089240029000000000000000000000000000000000000000000000000000000000000d055000000000000000000000000641ad78baca220c5bd28b51ce8e0f495e85fe689000000000000000000000000641ad78baca220c5bd28b51ce8e0f495e85fe689000000000000000000000000eaf61fc150cd5c3bea75744e830d916e60ea5a9f
Deployed Bytecode
0x6080604052600436106102d4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680622f9569146102fb578063031a4cd3146103265780630483a7f61461036757806309838bd9146103be5780630b803b6b146103e95780630c930a4b1461042c5780630e11624b146104835780630eb34740146104da5780631190f27e14610505578063146ca5311461055c57806314bd8acd146105875780632033de43146105ca578063222d7e3414610629578063264d77971461065457806329e58fe7146106ab5780632c4e722e146107185780632faf9a93146107435780633197cbb61461076e57806333b5b62e146107995780633f4ba83a146107c45780634042b66f146107db57806340499ae81461080657806344691f7e146108315780634e618db014610860578063514a48ae146108b7578063521eb273146108e45780635319418a1461093b578063586360ce1461097e5780635c975abb146109a95780635ed9ebfc146109d85780637074754414610a0357806375b3f9f514610a2e5780637690ed7014610a5957806378e9792514610a865780638397980314610ab15780638456cb5914610ae85780638a19c8bc14610aff5780638da5cb5b14610b2a5780638e8df68714610b81578063966704c214610bac57806398b9a2dc14610be35780639e1a4d1914610c265780639fc71b3114610c51578063a309800c14610c96578063a8c9f8ae14610cc3578063aa6d5dce14610cee578063b26c977914610d05578063b52a585114610d54578063b566045b14610d6b578063ba8118b114610dac578063c1ee337514610dc3578063c72e57c714610dfa578063c9e8434614610e25578063d2c936ff14610e66578063d782cc5414610e91578063d8b964e614610ec8578063e8307d0014610f23578063ec8ac4d814610f50578063fa69ede914610f86578063fab67bb614610fb3578063fc0c546a14610fe2575b600b60009054906101000a900460ff161515156102f057600080fd5b6102f933611039565b005b34801561030757600080fd5b50610310611723565b6040518082815260200191505060405180910390f35b34801561033257600080fd5b5061035160048036038101908080359060200190929190505050611729565b6040518082815260200191505060405180910390f35b34801561037357600080fd5b506103a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611741565b6040518082815260200191505060405180910390f35b3480156103ca57600080fd5b506103d3611759565b6040518082815260200191505060405180910390f35b3480156103f557600080fd5b5061042a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611763565b005b34801561043857600080fd5b5061046d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611abe565b6040518082815260200191505060405180910390f35b34801561048f57600080fd5b506104c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ad6565b6040518082815260200191505060405180910390f35b3480156104e657600080fd5b506104ef611aee565b6040518082815260200191505060405180910390f35b34801561051157600080fd5b50610546600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611af4565b6040518082815260200191505060405180910390f35b34801561056857600080fd5b50610571611b0c565b6040518082815260200191505060405180910390f35b34801561059357600080fd5b506105c86004803603810190808035151590602001909291908035906020019092919080359060200190929190505050611b16565b005b3480156105d657600080fd5b50610627600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611c50565b005b34801561063557600080fd5b5061063e611d95565b6040518082815260200191505060405180910390f35b34801561066057600080fd5b50610695600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d9b565b6040518082815260200191505060405180910390f35b3480156106b757600080fd5b506106d660048036038101908080359060200190929190505050611db3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561072457600080fd5b5061072d611df1565b6040518082815260200191505060405180910390f35b34801561074f57600080fd5b50610758611df7565b6040518082815260200191505060405180910390f35b34801561077a57600080fd5b50610783611e89565b6040518082815260200191505060405180910390f35b3480156107a557600080fd5b506107ae611e8f565b6040518082815260200191505060405180910390f35b3480156107d057600080fd5b506107d9611e95565b005b3480156107e757600080fd5b506107f0611f55565b6040518082815260200191505060405180910390f35b34801561081257600080fd5b5061081b611f5b565b6040518082815260200191505060405180910390f35b34801561083d57600080fd5b50610846611f61565b604051808215151515815260200191505060405180910390f35b34801561086c57600080fd5b506108a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f6d565b6040518082815260200191505060405180910390f35b3480156108c357600080fd5b506108e260048036038101908080359060200190929190505050611f85565b005b3480156108f057600080fd5b506108f9612011565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561094757600080fd5b5061097c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612037565b005b34801561098a57600080fd5b50610993612392565b6040518082815260200191505060405180910390f35b3480156109b557600080fd5b506109be612398565b604051808215151515815260200191505060405180910390f35b3480156109e457600080fd5b506109ed6123ab565b6040518082815260200191505060405180910390f35b348015610a0f57600080fd5b50610a186123b1565b6040518082815260200191505060405180910390f35b348015610a3a57600080fd5b50610a436123ce565b6040518082815260200191505060405180910390f35b348015610a6557600080fd5b50610a84600480360381019080803590602001909291905050506123eb565b005b348015610a9257600080fd5b50610a9b612478565b6040518082815260200191505060405180910390f35b348015610abd57600080fd5b50610ae6600480360381019080803590602001909291908035906020019092919050505061247e565b005b348015610af457600080fd5b50610afd6124f6565b005b348015610b0b57600080fd5b50610b146125b7565b6040518082815260200191505060405180910390f35b348015610b3657600080fd5b50610b3f6125bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b8d57600080fd5b50610b966125e3565b6040518082815260200191505060405180910390f35b348015610bb857600080fd5b50610be160048036038101908080359060200190929190803590602001909291905050506125e9565b005b348015610bef57600080fd5b50610c24600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126d4565b005b348015610c3257600080fd5b50610c3b612774565b6040518082815260200191505060405180910390f35b348015610c5d57600080fd5b50610c7c60048036038101908080359060200190929190505050612872565b604051808215151515815260200191505060405180910390f35b348015610ca257600080fd5b50610cc1600480360381019080803590602001909291905050506129f8565b005b348015610ccf57600080fd5b50610cd8612ac0565b6040518082815260200191505060405180910390f35b348015610cfa57600080fd5b50610d03612ac6565b005b348015610d1157600080fd5b50610d52600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612ba4565b005b348015610d6057600080fd5b50610d69612c5b565b005b348015610d7757600080fd5b50610d9660048036038101908080359060200190929190505050612d5b565b6040518082815260200191505060405180910390f35b348015610db857600080fd5b50610dc1612d73565b005b348015610dcf57600080fd5b50610df86004803603810190808035906020019092919080359060200190929190505050612e49565b005b348015610e0657600080fd5b50610e0f612f34565b6040518082815260200191505060405180910390f35b348015610e3157600080fd5b50610e5060048036038101908080359060200190929190505050612f3a565b6040518082815260200191505060405180910390f35b348015610e7257600080fd5b50610e7b612f52565b6040518082815260200191505060405180910390f35b348015610e9d57600080fd5b50610ec66004803603810190808035906020019092919080359060200190929190505050612f6f565b005b348015610ed457600080fd5b50610f09600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612fe7565b604051808215151515815260200191505060405180910390f35b348015610f2f57600080fd5b50610f4e60048036038101908080359060200190929190505050613007565b005b610f84600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611039565b005b348015610f9257600080fd5b50610fb16004803603810190808035906020019092919050505061306d565b005b348015610fbf57600080fd5b50610fc86131d0565b604051808215151515815260200191505060405180910390f35b348015610fee57600080fd5b50610ff76131ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806000806000600b60009054906101000a900460ff1615151561105d57600080fd5b34945061106a8686613214565b600093506000925060009150601c60006001815260200190815260200160002054600654101561111d5761109f8560016132d3565b93506110ac84600161334c565b92506110c1838561339490919063ffffffff16565b9150601c600060018152602001908152602001600020546110ed8360065461339490919063ffffffff16565b1115611118576110fe8560016133b2565b935061110b84600161350e565b9250611117600261357e565b5b61146a565b601c60006001815260200190815260200160002054600654101580156111585750601c60006002815260200190815260200160002054600654105b156111e6576111688560026132d3565b935061117584600261334c565b925061118a838561339490919063ffffffff16565b9150601c600060028152602001908152602001600020546111b68360065461339490919063ffffffff16565b11156111e1576111c78560026133b2565b93506111d484600261350e565b92506111e0600361357e565b5b611469565b601c60006002815260200190815260200160002054600654101580156112215750601c60006003815260200190815260200160002054600654105b156112af576112318560036132d3565b935061123e84600361334c565b9250611253838561339490919063ffffffff16565b9150601c6000600381526020019081526020016000205461127f8360065461339490919063ffffffff16565b11156112aa576112908560036133b2565b935061129d84600361350e565b92506112a9600461357e565b5b611468565b601c60006003815260200190815260200160002054600654101580156112ea5750601c60006004815260200190815260200160002054600654105b15611378576112fa8560046132d3565b935061130784600461334c565b925061131c838561339490919063ffffffff16565b9150601c600060048152602001908152602001600020546113488360065461339490919063ffffffff16565b1115611373576113598560046133b2565b935061136684600461350e565b9250611372600561357e565b5b611467565b601c60006004815260200190815260200160002054600654101580156113b35750601c60006005815260200190815260200160002054600654105b15611438576113c38560056132d3565b93506113d084600561334c565b92506113e5838561339490919063ffffffff16565b9150601c600060058152602001908152602001600020546114118360065461339490919063ffffffff16565b1115611433576114228560056133b2565b935060009250611432600661357e565b5b611466565b601c60006005815260200190815260200160002054600654101515611465576114628560066132d3565b93505b5b5b5b5b5b61147f8560045461339490919063ffffffff16565b600481905550611498838561339490919063ffffffff16565b91506114af8260055461339490919063ffffffff16565b6005819055506114ca8260065461339490919063ffffffff16565b60068190555061152284601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115b785601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061164c83601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116a2838561339490919063ffffffff16565b90506116ae868261358f565b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188784604051808381526020018281526020019250505060405180910390a3505050505050565b60095481565b601b6020528060005260406000206000915090505481565b60166020528060005260406000206000915090505481565b6509184e72a00081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156117a057600080fd5b60125442101515156117b157600080fd5b60006009541115156117c257600080fd5b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181a57600080fd5b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561186857600080fd5b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561196e57600080fd5b505af1158015611982573d6000803e3d6000fd5b505050506040513d602081101561199857600080fd5b8101908080519060200190929190505050506119fc81601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a548160095461369590919063ffffffff16565b6009819055506000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ab481600a5461339490919063ffffffff16565b600a819055505050565b60156020528060005260406000206000915090505481565b60136020528060005260406000206000915090505481565b60085481565b60196020528060005260406000206000915090505481565b6000600d54905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b7457600080fd5b60008310151515611b8457600080fd5b600082111515611b9357600080fd5b8282111515611ba157600080fd5b8290505b81811015611c4a578360186000601d84815481101515611bc157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611ba5565b50505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cac57600080fd5b600086118015611cbc5750600085115b8015611cc85750600084115b8015611cd45750600083115b8015611ce05750600082115b8015611cec5750600081115b1515611cf757600080fd5b85601b6000600181526020019081526020016000208190555084601b6000600281526020019081526020016000208190555083601b6000600381526020019081526020016000208190555082601b6000600481526020019081526020016000208190555081601b6000600581526020019081526020016000208190555080601b60006006815260200190815260200160002081905550505050505050565b600f5481565b60146020528060005260406000206000915090505481565b601d81815481101515611dc257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e5657600080fd5b611e80600654601c6000600d5481526020019081526020016000205461369590919063ffffffff16565b90508091505090565b60105481565b600c5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ef157600080fd5b600b60009054906101000a900460ff161515611f0c57600080fd5b6000600b60006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60045481565b60125481565b6000600e544211905090565b60176020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fe157600080fd5b611ff9626ebe0060105461339490919063ffffffff16565b811115151561200757600080fd5b8060128190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561207457600080fd5b601154421015151561208557600080fd5b600060085411151561209657600080fd5b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156120ee57600080fd5b6000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561213c57600080fd5b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561224257600080fd5b505af1158015612256573d6000803e3d6000fd5b505050506040513d602081101561226c57600080fd5b8101908080519060200190929190505050506122d081601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123288160085461369590919063ffffffff16565b6008819055506000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238881600a5461339490919063ffffffff16565b600a819055505050565b600a5481565b600b60009054906101000a900460ff1681565b60055481565b6000601c6000600d54815260200190815260200160002054905090565b6000601b6000600d54815260200190815260200160002054905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561244757600080fd5b61246063014c3a0060105461339490919063ffffffff16565b811115151561246e57600080fd5b8060118190555050565b600e5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124da57600080fd5b80601b6000848152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561255257600080fd5b600b60009054906101000a900460ff1615151561256e57600080fd5b6001600b60006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600d5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561264757600080fd5b6000831015151561265757600080fd5b60008211151561266657600080fd5b828211151561267457600080fd5b8290505b818110156126cf576126c2601d8281548110151561269257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612037565b8080600101915050612678565b505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273057600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561283257600080fd5b505af1158015612846573d6000803e3d6000fd5b505050506040513d602081101561285c57600080fd5b8101908080519060200190929190505050905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128d057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156129b657600080fd5b505af11580156129ca573d6000803e3d6000fd5b505050506040513d60208110156129e057600080fd5b81019080805190602001909291905050509050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a5457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612abc573d6000803e3d6000fd5b5050565b60075481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b2257600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015612ba1573d6000803e3d6000fd5b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c0057600080fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612cb757600080fd5b60115442111515612cc757600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff1631141515612ced57600080fd5b6000600854141515612cfe57600080fd5b6000600954141515612d0f57600080fd5b6000600754111515612d2057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b601c6020528060005260406000206000915090505481565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612dd157600080fd5b6006600d54101515612de257600080fd5b612dea6136ae565b9050612e018160075461339490919063ffffffff16565b600781905550601c6000600d54815260200190815260200160002054600681905550612e396001600d5461339490919063ffffffff16565b600d8190555042600f8190555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612ea757600080fd5b60008310151515612eb757600080fd5b600082111515612ec657600080fd5b8282111515612ed457600080fd5b8290505b81811015612f2f57612f22601d82815481101515612ef257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611763565b8080600101915050612ed8565b505050565b60115481565b601a6020528060005260406000206000915090505481565b6000601a6000600d54815260200190815260200160002054905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612fcb57600080fd5b80601a6000848152602001908152602001600020819055505050565b60186020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561306357600080fd5b80600c8190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156130c957600080fd5b6000811115156130d857600080fd5b80601b600060018152602001908152602001600020819055506131056002826136e490919063ffffffff16565b601b600060028152602001908152602001600020819055506131316003826136e490919063ffffffff16565b601b6000600381526020019081526020016000208190555061315d6004826136e490919063ffffffff16565b601b600060048152602001908152602001600020819055506131896005826136e490919063ffffffff16565b601b600060058152602001908152602001600020819055506131b56005826136e490919063ffffffff16565b601b6000600681526020019081526020016000208190555050565b6000601054421080156131ea57506509184e72a000600654105b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415151561325657600080fd5b6000851415151561326657600080fd5b61326e611f61565b801561327e575061327d6131d0565b5b93506000341192506509184e72a000600654109150600c5434101590508315156132a757600080fd5b8215156132b357600080fd5b8115156132bf57600080fd5b8015156132cb57600080fd5b505050505050565b6000806000841115156132e557600080fd5b600183101580156132f7575060068311155b151561330257600080fd5b61331b655af3107a4000856136e490919063ffffffff16565b9050613343601b600085815260200190815260200160002054826136ff90919063ffffffff16565b91505092915050565b600080613375601a600085815260200190815260200160002054856136ff90919063ffffffff16565b905061338b6064826136e490919063ffffffff16565b91505092915050565b60008082840190508381101515156133a857fe5b8091505092915050565b60008060008060008060008060008a1115156133cd57600080fd5b600189101580156133df575060068911155b15156133ea57600080fd5b601b60008a8152602001908152602001600020549650613428600654601c60008c81526020019081526020016000205461369590919063ffffffff16565b9550613455655af3107a400061344789896136e490919063ffffffff16565b6136ff90919063ffffffff16565b945061346a858b61369590919063ffffffff16565b93506000925061348460018a61339490919063ffffffff16565b91506006891415156134a15761349a84836132d3565b92506134e9565b3373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501580156134e7573d6000803e3d6000fd5b505b6134fc838761339490919063ffffffff16565b90508097505050505050505092915050565b6000806000806135298660065461339490919063ffffffff16565b9250613551601c6000878152602001908152602001600020548461369590919063ffffffff16565b91506135708261356b60018861339490919063ffffffff16565b61334c565b905080935050505092915050565b80600d8190555042600f8190555050565b6000806135a66002846136e490919063ffffffff16565b91506135bb828461369590919063ffffffff16565b9050601d8490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061362d848361373a565b61363784826137ee565b6001601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050565b60008282111515156136a357fe5b818303905092915050565b6000806136db600654601c6000600d5481526020019081526020016000205461369590919063ffffffff16565b90508091505090565b60008082848115156136f257fe5b0490508091505092915050565b60008060008414156137145760009150613733565b828402905082848281151561372557fe5b0414151561372f57fe5b8091505b5092915050565b61378c81601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506137e48160095461339490919063ffffffff16565b6009819055505050565b61384081601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461339490919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138988160085461339490919063ffffffff16565b60088190555050505600a165627a7a72305820718195f9c192db5ad6e7d37685a3cc0725598a69fb3dc25c7533b360740089240029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000d055000000000000000000000000641ad78baca220c5bd28b51ce8e0f495e85fe689000000000000000000000000641ad78baca220c5bd28b51ce8e0f495e85fe689000000000000000000000000eaf61fc150cd5c3bea75744e830d916e60ea5a9f
-----Decoded View---------------
Arg [0] : _rate (uint256): 53333
Arg [1] : _wallet (address): 0x641AD78BAca220C5BD28b51Ce8e0F495e85Fe689
Arg [2] : _owner (address): 0x641AD78BAca220C5BD28b51Ce8e0F495e85Fe689
Arg [3] : _token (address): 0xeaf61FC150CD5c3BeA75744e830D916E60EA5A9F
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000000d055
Arg [1] : 000000000000000000000000641ad78baca220c5bd28b51ce8e0f495e85fe689
Arg [2] : 000000000000000000000000641ad78baca220c5bd28b51ce8e0f495e85fe689
Arg [3] : 000000000000000000000000eaf61fc150cd5c3bea75744e830d916e60ea5a9f
Swarm Source
bzzr://718195f9c192db5ad6e7d37685a3cc0725598a69fb3dc25c7533b36074008924
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.