Contract 0x501F84a2Ae444db15048Ac0e56319553AEDEF87B

Contract Overview

Balance:
0 Ether
Txn Hash
Method
Block
From
To
Value
0x68fdb924f94797f4d964d4b395a8643233bea2cdfe98989eeea6ea9f8f2351fd0x6060604028515452018-03-17 3:54:021616 days 19 hrs ago0x65a05c896d9a6f428b3936ac5db8df28752ccd44 IN  Create: CryptoflipCar50 Ether0.0432477410
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CryptoflipCar5

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-03-17
*/

pragma solidity ^0.4.18;

contract CryptoflipCar5 {

  address ownerAddress = 0x03e35E569bF92e42197C3671B30b2B791917601d;
  address foundTeamAddress = 0xB149FAb7E6F53b6856360cE08Dc4c6b947D41A29;

	struct Company {
		string name;
		address[] ownerAddresses;
		uint256 curPrice;
		bool is_released;
	}

  struct Make {
    string name;
    address[] ownerAddresses;
    uint256 curPrice;
    uint256 companyId;
		bool is_released;
  }

  struct Car {
    string name;
    address[] ownerAddresses;
    uint256 curPrice;
    uint256 companyId;
    uint256 makeId;
		bool is_released;
  }

	struct Adv {
    string text;
		string link;
    uint256 curPrice;
    address[] ownerAddresses;
		uint256 carId;
		bool is_released;
  }

  Company[] companies;
  Make[] makes;
  Car[] cars;
	Adv[] advs;

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

    bool companiesAreInitiated = false;
    bool makesAreInitiated = false;
    bool carsAreInitiated = false;
    bool isPaused = false;

    /*
    We use the following functions to pause and unpause the game.
    */
    function pauseGame() public onlyOwner {
        isPaused = true;
    }

    function playGame() public onlyOwner {
        isPaused = false;
    }

    function GetIsPauded() public view returns(bool) {
       return(isPaused);
    }

		function purchaseAdv(uint256 _companyId) public payable {
			require(msg.value == companies[_companyId].curPrice);
			require(isPaused == false);
			require(companies[_companyId].is_released == true);

			uint256 len = companies[_companyId].ownerAddresses.length;
	        uint256 totalpercent = 150 + 5;
			uint256 commission5percent = (msg.value * 5 / totalpercent);
	        foundTeamAddress.transfer(commission5percent);

	         uint256 commissionOwner = msg.value - commission5percent;

			companies[_companyId].ownerAddresses[len-1].transfer(commissionOwner);

			// Update the team owner and set the new price
			companies[_companyId].ownerAddresses.push(msg.sender);
			companies[_companyId].curPrice = mul(companies[_companyId].curPrice, totalpercent/100);
		}

	function purchaseCompany(uint256 _companyId) public payable {
		require(msg.value == companies[_companyId].curPrice);
		require(isPaused == false);
		require(companies[_companyId].is_released == true);

		uint256 len = companies[_companyId].ownerAddresses.length;
        uint256 totalpercent = 150 + 5;
		uint256 commission5percent = (msg.value * 5 / totalpercent);
        foundTeamAddress.transfer(commission5percent);

         uint256 commissionOwner = msg.value - commission5percent;

		companies[_companyId].ownerAddresses[len-1].transfer(commissionOwner);

		// Update the team owner and set the new price
		companies[_companyId].ownerAddresses.push(msg.sender);
		companies[_companyId].curPrice = mul(companies[_companyId].curPrice, totalpercent/100);
	}

  function purchaseMake(uint256 _makeId) public payable {
		require(msg.value == makes[_makeId].curPrice);
		require(isPaused == false);
		require(makes[_makeId].is_released == true);

		uint256 len = makes[_makeId].ownerAddresses.length;

		uint256 totalpercent = 150 + 5;

		if (makes[_makeId].companyId > 0){
			totalpercent = totalpercent + 2;
			uint256 company_id = makes[_makeId].companyId;
			uint256 commission2percent = (msg.value * 2 / totalpercent);
			uint256 com_own_len = companies[company_id].ownerAddresses.length;
			companies[company_id].ownerAddresses[com_own_len-1].transfer(commission2percent);
		}

		uint256 commission5percent = (msg.value * 5 / totalpercent);
		foundTeamAddress.transfer(commission5percent);

		uint256 commissionOwner = msg.value - commission5percent;

		makes[_makeId].ownerAddresses[len-1].transfer(commissionOwner);

		// Update the team owner and set the new price
		makes[_makeId].ownerAddresses.push(msg.sender);
		makes[_makeId].curPrice = mul(makes[_makeId].curPrice, totalpercent/100);
  }

	function purchaseCar(uint256 _carId) public payable {
		require(msg.value == cars[_carId].curPrice);
		require(isPaused == false);
		require(cars[_carId].is_released == true);

		uint256 ownercount = 1;
		uint256 len = cars[_carId].ownerAddresses.length;
		if (cars[_carId].ownerAddresses.length > 4){
			ownercount = 4;
		} else {
			ownercount = len;
		}

		uint256 totalpercent = 150 + 5 + ownercount/2;

		if (cars[_carId].companyId > 0){
			totalpercent = totalpercent + 2;
			uint256 company_id = cars[_carId].companyId;
			uint256 commission2percent = (msg.value * 2 / totalpercent);
			uint256 com_own_len = companies[company_id].ownerAddresses.length;
			companies[company_id].ownerAddresses[com_own_len-1].transfer(commission2percent);
		}

		if (cars[_carId].makeId > 0){
			totalpercent = totalpercent + 2;
			uint256 make_id = cars[_carId].makeId;
			commission2percent = (msg.value * 2 / totalpercent);
			uint256 make_own_len = makes[make_id].ownerAddresses.length;
			makes[make_id].ownerAddresses[make_own_len-1].transfer(commission2percent);
		}

		uint256 commission5percent = (msg.value * 5 / totalpercent);
		foundTeamAddress.transfer(commission5percent);

		uint256 commissionOwner = msg.value - commission5percent;
		uint256 commissiondivpercent = (msg.value / (totalpercent * 2));

		for (uint i=len-1; i>=0; i--) {
			if (i > len-5){
				cars[_carId].ownerAddresses[i].transfer(commissiondivpercent);
				commissionOwner = commissionOwner - commissiondivpercent;
			}
		}

		cars[_carId].ownerAddresses[len-1].transfer(commissionOwner);
		// Update the team owner and set the new price
		cars[_carId].ownerAddresses.push(msg.sender);
		cars[_carId].curPrice = mul(cars[_carId].curPrice, totalpercent/100);
  }

	// This function will return all of the details of our company
	function getCompany(uint256 _companyId) public view returns (
        string name,
        address[] ownerAddresses,
        uint256 curPrice,
		bool is_released
    ) {
        Company storage _company = companies[_companyId];
        name = _company.name;
        ownerAddresses = _company.ownerAddresses;
        curPrice = _company.curPrice;
		is_released = _company.is_released;
  }

		function getMake(uint256 _makeId) public view returns (
	        string name,
	        address[] ownerAddresses,
	        uint256 curPrice,
			uint256 companyId,
			bool is_released
	    ) {
	        Make storage _make = makes[_makeId];
	        name = _make.name;
	        ownerAddresses = _make.ownerAddresses;
	        curPrice = _make.curPrice;
					companyId = _make.companyId;
					is_released = _make.is_released;
	    }

		function getCar(uint256 _carId) public view returns (
		        string name,
		        address[] ownerAddresses,
		        uint256 curPrice,
				uint256 companyId,
				uint256 makeId,
				bool is_released
		) {
		        Car storage _car = cars[_carId];
		        name = _car.name;
		        ownerAddresses = _car.ownerAddresses;
		        curPrice = _car.curPrice;
			    	makeId = _car.makeId;
			    	companyId = _car.companyId;
						is_released = _car.is_released;
	    }

			function getAdv(uint256 _advId) public view returns (
			        string text,
							string link,
			        address[] ownerAddresses,
			        uint256 curPrice,
							uint256 carId,
							bool is_released
			) {
			        Adv storage _adv = advs[_advId];
			        text = _adv.text;
							link = _adv.link;
			        ownerAddresses = _adv.ownerAddresses;
			        curPrice = _adv.curPrice;
				    	carId = _adv.carId;
							is_released = _adv.is_released;
		  }

    function getCompanyPrice(uint256 _companyId) public view returns(uint256) {
        return(companies[_companyId].curPrice);
    }

    function getMakePrice(uint256 _makeId) public view returns(uint256) {
        return(makes[_makeId].curPrice);
    }

		function getCarPrice(uint256 _carId) public view returns(uint256) {
        return(cars[_carId].curPrice);
    }

    // This function will return only the addess of a specific team
    function getCompanyOwners(uint256 _companyId) public view returns(address[]) {
        return(companies[_companyId].ownerAddresses);
    }

		function getMakeOwners(uint256 _makeId) public view returns(address[]) {
        return(makes[_makeId].ownerAddresses);
    }

		function getCarOwners(uint _carId) public view returns(address[]) {
        return(cars[_carId].ownerAddresses);
    }

    /**
    @dev Multiplies two numbers, throws on overflow. => From the SafeMath library
    */
    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. => From the SafeMath library
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }



	function InitiateCompanies() public onlyOwner {
		 require(companiesAreInitiated == false);
		 addCompany('Aston Martin',0x03e35E569bF92e42197C3671B30b2B791917601d, 5000000000000000000);
		 addCompany('BMW',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
		 addCompany('Ferrari',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
		 addCompany('Honda',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
		 addCompany('Alfa Romeo',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Audi',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Nissan',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Volkswagen',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Chevrolet',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Lincoln',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Lotus',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Bugatti',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Dodge',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('McLaren',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Cadillac',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Ford',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Mercedes-Benz',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Tesla',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Jaguar',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Lamborgini',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Hyundai',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Volvo',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
         addCompany('Pontiac',0x03e35E569bF92e42197C3671B30b2B791917601d, 10000000000000000000);
		 companiesAreInitiated = true;
	}

  function addCompany(string name, address address1, uint256 price) public onlyOwner {
      uint companyId = companies.length++;
      companies[companyId].name = name;
      companies[companyId].curPrice   = price;
      companies[companyId].ownerAddresses.push(address1);
      companies[companyId].is_released   = false;
  }

	function setReleaseCompany(uint256 _companyId, bool is_released) public onlyOwner {
        companies[_companyId].is_released = is_released;
  }

	function InitiateMakes() public onlyOwner {
		 require(makesAreInitiated == false);
		 addMake('DB5',0x03e35E569bF92e42197C3671B30b2B791917601d, 0, 2000000000000000000);
		 addMake('DB6',0x03e35E569bF92e42197C3671B30b2B791917601d, 0, 30000000000000000000);
		 makesAreInitiated = true;
	}

	function addMake(string name, address address1, uint256 companyId, uint256 price) public onlyOwner {
			uint makeId = makes.length++;
			makes[makeId].name = name;
			makes[makeId].curPrice   = price;
			makes[makeId].ownerAddresses.push(address1);
			makes[makeId].companyId   = companyId;
			makes[makeId].is_released   = false;
	}

	function setReleaseMake(uint256 _makeId, bool is_released) public onlyOwner {
			makes[_makeId].is_released = is_released;
	}

	function InitiateCars() public onlyOwner {
		 require(carsAreInitiated == false);
		 addCar('1964 DB5 James Bond Edition',0x03e35E569bF92e42197C3671B30b2B791917601d, 0, 0, 40000000000000000000);
		 addCar('Blue 1965 ',0x03e35E569bF92e42197C3671B30b2B791917601d, 0, 0, 50000000000000000000);
		 carsAreInitiated = true;
	}

	function addCar(string name, address address1, uint256 companyId, uint256 makeId, uint256 price ) public onlyOwner {
			uint carId = cars.length++;
			cars[carId].name = name;
			cars[carId].curPrice   = price;
			cars[carId].ownerAddresses.push(address1);
			cars[carId].companyId   = companyId;
			cars[carId].makeId   = makeId;
			cars[carId].is_released   = false;

			uint advId = advs.length++;
			advs[advId].text = 'cryptoflipcars';
			advs[advId].link = 'http://cryptoflipcars.site/';
			advs[advId].curPrice   = 1000000000000000000;
			advs[advId].ownerAddresses.push(address1);
			advs[advId].carId = carId;
			advs[advId].is_released = false;
	}

	function setReleaseCar(uint256 _carId, bool is_released) public onlyOwner {
			cars[_carId].is_released = is_released;
	}

	function setReleaseAdv(uint256 _advId, bool is_released) public onlyOwner {
			advs[_advId].is_released = is_released;
	}
}

Contract ABI

[{"constant":true,"inputs":[{"name":"_makeId","type":"uint256"}],"name":"getMakePrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_companyId","type":"uint256"}],"name":"purchaseAdv","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"pauseGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"InitiateCars","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_makeId","type":"uint256"}],"name":"purchaseMake","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_companyId","type":"uint256"}],"name":"getCompany","outputs":[{"name":"name","type":"string"},{"name":"ownerAddresses","type":"address[]"},{"name":"curPrice","type":"uint256"},{"name":"is_released","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_carId","type":"uint256"}],"name":"getCar","outputs":[{"name":"name","type":"string"},{"name":"ownerAddresses","type":"address[]"},{"name":"curPrice","type":"uint256"},{"name":"companyId","type":"uint256"},{"name":"makeId","type":"uint256"},{"name":"is_released","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"InitiateCompanies","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"address1","type":"address"},{"name":"price","type":"uint256"}],"name":"addCompany","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_carId","type":"uint256"}],"name":"getCarPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_makeId","type":"uint256"}],"name":"getMake","outputs":[{"name":"name","type":"string"},{"name":"ownerAddresses","type":"address[]"},{"name":"curPrice","type":"uint256"},{"name":"companyId","type":"uint256"},{"name":"is_released","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_makeId","type":"uint256"},{"name":"is_released","type":"bool"}],"name":"setReleaseMake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"GetIsPauded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_carId","type":"uint256"},{"name":"is_released","type":"bool"}],"name":"setReleaseCar","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"playGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_companyId","type":"uint256"},{"name":"is_released","type":"bool"}],"name":"setReleaseCompany","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_advId","type":"uint256"}],"name":"getAdv","outputs":[{"name":"text","type":"string"},{"name":"link","type":"string"},{"name":"ownerAddresses","type":"address[]"},{"name":"curPrice","type":"uint256"},{"name":"carId","type":"uint256"},{"name":"is_released","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_advId","type":"uint256"},{"name":"is_released","type":"bool"}],"name":"setReleaseAdv","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"address1","type":"address"},{"name":"companyId","type":"uint256"},{"name":"makeId","type":"uint256"},{"name":"price","type":"uint256"}],"name":"addCar","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_carId","type":"uint256"}],"name":"purchaseCar","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_companyId","type":"uint256"}],"name":"getCompanyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_carId","type":"uint256"}],"name":"getCarOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_makeId","type":"uint256"}],"name":"getMakeOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_companyId","type":"uint256"}],"name":"purchaseCompany","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_companyId","type":"uint256"}],"name":"getCompanyOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"InitiateMakes","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"address1","type":"address"},{"name":"companyId","type":"uint256"},{"name":"price","type":"uint256"}],"name":"addMake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60606040527303e35e569bf92e42197c3671b30b2b791917601d6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b149fab7e6f53b6856360ce08dc4c6b947d41a29600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660006101000a81548160ff0219169083151502179055506000600660016101000a81548160ff0219169083151502179055506000600660026101000a81548160ff0219169083151502179055506000600660036101000a81548160ff021916908315150217905550341561012457600080fd5b613e47806101336000396000f30060606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632b9b51571461016457806334e1877e1461019b578063499831f2146101b35780634d908a55146101c85780634faeedb7146101dd57806357d13917146101f55780635e8be190146102eb5780635ea050ec146103ef5780636caabc6f1461040457806371e69a32146104895780637a4b7075146104c05780637e3ef935146105bd578063820c59bb146105eb578063a1d707a314610618578063af89973514610646578063bdcc809a1461065b578063bea637e214610689578063c565ad68146107f2578063daef4df814610820578063e0ba3fe5146108b7578063e6426358146108cf578063e707481714610906578063ea03f7ba1461097e578063ea6c1180146109f6578063ec1895d114610a0e578063fadc070014610a86578063fba7c1ab14610a9b575b600080fd5b341561016f57600080fd5b6101856004808035906020019091905050610b29565b6040518082815260200191505060405180910390f35b6101b16004808035906020019091905050610b53565b005b34156101be57600080fd5b6101c6610e08565b005b34156101d357600080fd5b6101db610e80565b005b6101f36004808035906020019091905050610fda565b005b341561020057600080fd5b61021660048080359060200190919050506113bc565b60405180806020018060200185815260200184151515158152602001838103835287818151815260200191508051906020019080838360005b8381101561026a57808201518184015260208101905061024f565b50505050905090810190601f1680156102975780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019060200280838360005b838110156102d35780820151818401526020810190506102b8565b50505050905001965050505050505060405180910390f35b34156102f657600080fd5b61030c600480803590602001909190505061153d565b60405180806020018060200187815260200186815260200185815260200184151515158152602001838103835289818151815260200191508051906020019080838360005b8381101561036c578082015181840152602081019050610351565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019060200280838360005b838110156103d55780820151818401526020810190506103ba565b505050509050019850505050505050505060405180910390f35b34156103fa57600080fd5b6104026116d1565b005b341561040f57600080fd5b610487600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611faf565b005b341561049457600080fd5b6104aa600480803590602001909190505061213c565b6040518082815260200191505060405180910390f35b34156104cb57600080fd5b6104e16004808035906020019091905050612166565b60405180806020018060200186815260200185815260200184151515158152602001838103835288818151815260200191508051906020019080838360005b8381101561053b578082015181840152602081019050610520565b50505050905090810190601f1680156105685780820380516001836020036101000a031916815260200191505b50838103825287818151815260200191508051906020019060200280838360005b838110156105a4578082015181840152602081019050610589565b5050505090500197505050505050505060405180910390f35b34156105c857600080fd5b6105e9600480803590602001909190803515159060200190919050506122f1565b005b34156105f657600080fd5b6105fe612388565b604051808215151515815260200191505060405180910390f35b341561062357600080fd5b6106446004808035906020019091908035151590602001909190505061239f565b005b341561065157600080fd5b610659612436565b005b341561066657600080fd5b610687600480803590602001909190803515159060200190919050506124ae565b005b341561069457600080fd5b6106aa6004808035906020019091905050612545565b604051808060200180602001806020018781526020018681526020018515151515815260200184810384528a818151815260200191508051906020019080838360005b838110156107085780820151818401526020810190506106ed565b50505050905090810190601f1680156107355780820380516001836020036101000a031916815260200191505b50848103835289818151815260200191508051906020019080838360005b8381101561076e578082015181840152602081019050610753565b50505050905090810190601f16801561079b5780820380516001836020036101000a031916815260200191505b50848103825288818151815260200191508051906020019060200280838360005b838110156107d75780820151818401526020810190506107bc565b50505050905001995050505050505050505060405180910390f35b34156107fd57600080fd5b61081e60048080359060200190919080351515906020019091905050612777565b005b341561082b57600080fd5b6108b5600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001909190505061280e565b005b6108cd6004808035906020019091905050612bdf565b005b34156108da57600080fd5b6108f06004808035906020019091905050613215565b6040518082815260200191505060405180910390f35b341561091157600080fd5b610927600480803590602001909190505061323f565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561096a57808201518184015260208101905061094f565b505050509050019250505060405180910390f35b341561098957600080fd5b61099f60048080359060200190919050506132f3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156109e25780820151818401526020810190506109c7565b505050509050019250505060405180910390f35b610a0c60048080359060200190919050506133a7565b005b3415610a1957600080fd5b610a2f600480803590602001909190505061365c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610a72578082015181840152602081019050610a57565b505050509050019250505060405180910390f35b3415610a9157600080fd5b610a99613710565b005b3415610aa657600080fd5b610b27600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050613867565b005b6000600382815481101515610b3a57fe5b9060005260206000209060050201600201549050919050565b600080600080600285815481101515610b6857fe5b90600052602060002090600402016002015434141515610b8757600080fd5b60001515600660039054906101000a900460ff161515141515610ba957600080fd5b60011515600286815481101515610bbc57fe5b906000526020600020906004020160030160009054906101000a900460ff161515141515610be957600080fd5b600285815481101515610bf857fe5b9060005260206000209060040201600101805490509350609b92508260053402811515610c2157fe5b049150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610c8657600080fd5b8134039050600285815481101515610c9a57fe5b906000526020600020906004020160010160018503815481101515610cbb57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610d2657600080fd5b600285815481101515610d3557fe5b90600052602060002090600402016001018054806001018281610d589190613a55565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610ddd600286815481101515610db957fe5b906000526020600020906004020160020154606485811515610dd757fe5b04613a1a565b600286815481101515610dec57fe5b9060005260206000209060040201600201819055505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6357600080fd5b6001600660036101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610edb57600080fd5b60001515600660029054906101000a900460ff161515141515610efd57600080fd5b610f5d6040805190810160405280601b81526020017f3139363420444235204a616d657320426f6e642045646974696f6e00000000008152507303e35e569bf92e42197c3671b30b2b791917601d60008068022b1c8c1227a0000061280e565b610fbd6040805190810160405280600a81526020017f426c7565203139363520000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d6000806802b5e3af16b188000061280e565b6001600660026101000a81548160ff021916908315150217905550565b6000806000806000806000600388815481101515610ff457fe5b9060005260206000209060050201600201543414151561101357600080fd5b60001515600660039054906101000a900460ff16151514151561103557600080fd5b6001151560038981548110151561104857fe5b906000526020600020906005020160040160009054906101000a900460ff16151514151561107557600080fd5b60038881548110151561108457fe5b9060005260206000209060050201600101805490509650609b955060006003898154811015156110b057fe5b90600052602060002090600502016003015411156111c4576002860195506003888154811015156110dd57fe5b906000526020600020906005020160030154945085600234028115156110ff57fe5b04935060028581548110151561111157fe5b906000526020600020906004020160010180549050925060028581548110151561113757fe5b90600052602060002090600402016001016001840381548110151561115857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505015156111c357600080fd5b5b85600534028115156111d257fe5b049150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561123757600080fd5b813403905060038881548110151561124b57fe5b90600052602060002090600502016001016001880381548110151561126c57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156112d757600080fd5b6003888154811015156112e657fe5b906000526020600020906005020160010180548060010182816113099190613a55565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061138e60038981548110151561136a57fe5b90600052602060002090600502016002015460648881151561138857fe5b04613a1a565b60038981548110151561139d57fe5b9060005260206000209060050201600201819055505050505050505050565b6113c4613a81565b6113cc613a95565b60008060006002868154811015156113e057fe5b90600052602060002090600402019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114885780601f1061145d57610100808354040283529160200191611488565b820191906000526020600020905b81548152906001019060200180831161146b57829003601f168201915b505050505094508060010180548060200260200160405190810160405280929190818152602001828054801561151357602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116114c9575b50505050509350806002015492508060030160009054906101000a900460ff169150509193509193565b611545613a81565b61154d613a95565b600080600080600060048881548110151561156457fe5b90600052602060002090600602019050806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505096508060010180548060200260200160405190810160405280929190818152602001828054801561169757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161164d575b505050505095508060020154945080600401549250806003015493508060050160009054906101000a900460ff1691505091939550919395565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561172c57600080fd5b60001515600660009054906101000a900460ff16151514151561174e57600080fd5b6117aa6040805190810160405280600c81526020017f4173746f6e204d617274696e00000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d674563918244f40000611faf565b6118066040805190810160405280600381526020017f424d5700000000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b6118626040805190810160405280600781526020017f46657272617269000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b6118be6040805190810160405280600581526020017f486f6e64610000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b61191a6040805190810160405280600a81526020017f416c666120526f6d656f000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b6119766040805190810160405280600481526020017f41756469000000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b6119d26040805190810160405280600681526020017f4e697373616e00000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611a2e6040805190810160405280600a81526020017f566f6c6b73776167656e000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611a8a6040805190810160405280600981526020017f43686576726f6c657400000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611ae66040805190810160405280600781526020017f4c696e636f6c6e000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611b426040805190810160405280600581526020017f4c6f7475730000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611b9e6040805190810160405280600781526020017f42756761747469000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611bfa6040805190810160405280600581526020017f446f6467650000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611c566040805190810160405280600781526020017f4d634c6172656e000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611cb26040805190810160405280600881526020017f436164696c6c61630000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611d0e6040805190810160405280600481526020017f466f7264000000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611d6a6040805190810160405280600d81526020017f4d657263656465732d42656e7a000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611dc66040805190810160405280600581526020017f5465736c610000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611e226040805190810160405280600681526020017f4a616775617200000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611e7e6040805190810160405280600a81526020017f4c616d626f7267696e69000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611eda6040805190810160405280600781526020017f4879756e646169000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611f366040805190810160405280600581526020017f566f6c766f0000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b611f926040805190810160405280600781526020017f506f6e74696163000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d678ac7230489e80000611faf565b6001600660006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200c57600080fd5b600280548091906001016120209190613aa9565b90508360028281548110151561203257fe5b90600052602060002090600402016000019080519060200190612056929190613adb565b508160028281548110151561206757fe5b90600052602060002090600402016002018190555060028181548110151561208b57fe5b906000526020600020906004020160010180548060010182816120ae9190613a55565b9160005260206000209001600085909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600060028281548110151561210e57fe5b906000526020600020906004020160030160006101000a81548160ff02191690831515021790555050505050565b600060048281548110151561214d57fe5b9060005260206000209060060201600201549050919050565b61216e613a81565b612176613a95565b60008060008060038781548110151561218b57fe5b90600052602060002090600502019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156122335780601f1061220857610100808354040283529160200191612233565b820191906000526020600020905b81548152906001019060200180831161221657829003601f168201915b50505050509550806001018054806020026020016040519081016040528092919081815260200182805480156122be57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612274575b5050505050945080600201549350806003015492508060040160009054906101000a900460ff1691505091939590929450565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561234c57600080fd5b8060038381548110151561235c57fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055505050565b6000600660039054906101000a900460ff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123fa57600080fd5b8060048381548110151561240a57fe5b906000526020600020906006020160050160006101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561249157600080fd5b6000600660036101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561250957600080fd5b8060028381548110151561251957fe5b906000526020600020906004020160030160006101000a81548160ff0219169083151502179055505050565b61254d613a81565b612555613a81565b61255d613a95565b60008060008060058881548110151561257257fe5b90600052602060002090600602019050806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561261a5780601f106125ef5761010080835404028352916020019161261a565b820191906000526020600020905b8154815290600101906020018083116125fd57829003601f168201915b50505050509650806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126b95780601f1061268e576101008083540402835291602001916126b9565b820191906000526020600020905b81548152906001019060200180831161269c57829003601f168201915b505050505095508060030180548060200260200160405190810160405280929190818152602001828054801561274457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116126fa575b5050505050945080600201549350806004015492508060050160009054906101000a900460ff1691505091939550919395565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156127d257600080fd5b806005838154811015156127e257fe5b906000526020600020906006020160050160006101000a81548160ff0219169083151502179055505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561286c57600080fd5b600480548091906001016128809190613b5b565b91508660048381548110151561289257fe5b906000526020600020906006020160000190805190602001906128b6929190613adb565b50826004838154811015156128c757fe5b9060005260206000209060060201600201819055506004828154811015156128eb57fe5b9060005260206000209060060201600101805480600101828161290e9190613a55565b9160005260206000209001600088909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508460048381548110151561296d57fe5b9060005260206000209060060201600301819055508360048381548110151561299257fe5b90600052602060002090600602016004018190555060006004838154811015156129b857fe5b906000526020600020906006020160050160006101000a81548160ff021916908315150217905550600580548091906001016129f49190613b8d565b90506040805190810160405280600e81526020017f63727970746f666c697063617273000000000000000000000000000000000000815250600582815481101515612a3b57fe5b90600052602060002090600602016000019080519060200190612a5f929190613adb565b506040805190810160405280601b81526020017f687474703a2f2f63727970746f666c6970636172732e736974652f0000000000815250600582815481101515612aa557fe5b90600052602060002090600602016001019080519060200190612ac9929190613adb565b50670de0b6b3a7640000600582815481101515612ae257fe5b906000526020600020906006020160020181905550600581815481101515612b0657fe5b90600052602060002090600602016003018054806001018281612b299190613a55565b9160005260206000209001600088909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505081600582815481101515612b8857fe5b9060005260206000209060060201600401819055506000600582815481101515612bae57fe5b906000526020600020906006020160050160006101000a81548160ff02191690831515021790555050505050505050565b60008060008060008060008060008060008060048d815481101515612c0057fe5b90600052602060002090600602016002015434141515612c1f57600080fd5b60001515600660039054906101000a900460ff161515141515612c4157600080fd5b6001151560048e815481101515612c5457fe5b906000526020600020906006020160050160009054906101000a900460ff161515141515612c8157600080fd5b60019b5060048d815481101515612c9457fe5b9060005260206000209060060201600101805490509a506004808e815481101515612cbb57fe5b9060005260206000209060060201600101805490501115612cdf5760049b50612ce3565b8a9b505b60028c811515612cef57fe5b04609b019950600060048e815481101515612d0657fe5b9060005260206000209060060201600301541115612e1a5760028a01995060048d815481101515612d3357fe5b90600052602060002090600602016003015498508960023402811515612d5557fe5b049750600289815481101515612d6757fe5b9060005260206000209060040201600101805490509650600289815481101515612d8d57fe5b906000526020600020906004020160010160018803815481101515612dae57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc899081150290604051600060405180830381858888f193505050501515612e1957600080fd5b5b600060048e815481101515612e2b57fe5b9060005260206000209060060201600401541115612f3f5760028a01995060048d815481101515612e5857fe5b90600052602060002090600602016004015495508960023402811515612e7a57fe5b049750600386815481101515612e8c57fe5b9060005260206000209060050201600101805490509450600386815481101515612eb257fe5b906000526020600020906005020160010160018603815481101515612ed357fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc899081150290604051600060405180830381858888f193505050501515612f3e57600080fd5b5b8960053402811515612f4d57fe5b049350600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501515612fb257600080fd5b833403925060028a0234811515612fc557fe5b04915060018b0390505b6000811015156130905760058b038111156130825760048d815481101515612ff357fe5b90600052602060002090600602016001018181548110151561301157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561307c57600080fd5b81830392505b808060019003915050612fcf565b60048d81548110151561309f57fe5b906000526020600020906006020160010160018c038154811015156130c057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561312b57600080fd5b60048d81548110151561313a57fe5b9060005260206000209060060201600101805480600101828161315d9190613a55565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506131e260048e8154811015156131be57fe5b90600052602060002090600602016002015460648c8115156131dc57fe5b04613a1a565b60048e8154811015156131f157fe5b90600052602060002090600602016002018190555050505050505050505050505050565b600060028281548110151561322657fe5b9060005260206000209060040201600201549050919050565b613247613a95565b60048281548110151561325657fe5b90600052602060002090600602016001018054806020026020016040519081016040528092919081815260200182805480156132e757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161329d575b50505050509050919050565b6132fb613a95565b60038281548110151561330a57fe5b906000526020600020906005020160010180548060200260200160405190810160405280929190818152602001828054801561339b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311613351575b50505050509050919050565b6000806000806002858154811015156133bc57fe5b906000526020600020906004020160020154341415156133db57600080fd5b60001515600660039054906101000a900460ff1615151415156133fd57600080fd5b6001151560028681548110151561341057fe5b906000526020600020906004020160030160009054906101000a900460ff16151514151561343d57600080fd5b60028581548110151561344c57fe5b9060005260206000209060040201600101805490509350609b9250826005340281151561347557fe5b049150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156134da57600080fd5b81340390506002858154811015156134ee57fe5b90600052602060002090600402016001016001850381548110151561350f57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561357a57600080fd5b60028581548110151561358957fe5b906000526020600020906004020160010180548060010182816135ac9190613a55565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061363160028681548110151561360d57fe5b90600052602060002090600402016002015460648581151561362b57fe5b04613a1a565b60028681548110151561364057fe5b9060005260206000209060040201600201819055505050505050565b613664613a95565b60028281548110151561367357fe5b906000526020600020906004020160010180548060200260200160405190810160405280929190818152602001828054801561370457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116136ba575b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561376b57600080fd5b60001515600660019054906101000a900460ff16151514151561378d57600080fd5b6137eb6040805190810160405280600381526020017f44423500000000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d6000671bc16d674ec80000613867565b61384a6040805190810160405280600381526020017f44423600000000000000000000000000000000000000000000000000000000008152507303e35e569bf92e42197c3671b30b2b791917601d60006801a055690d9db80000613867565b6001600660016101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156138c457600080fd5b600380548091906001016138d89190613bbf565b9050846003828154811015156138ea57fe5b9060005260206000209060050201600001908051906020019061390e929190613adb565b508160038281548110151561391f57fe5b90600052602060002090600502016002018190555060038181548110151561394357fe5b906000526020600020906005020160010180548060010182816139669190613a55565b9160005260206000209001600086909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050826003828154811015156139c557fe5b90600052602060002090600502016003018190555060006003828154811015156139eb57fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055505050505050565b6000806000841415613a2f5760009150613a4e565b8284029050828482811515613a4057fe5b04141515613a4a57fe5b8091505b5092915050565b815481835581811511613a7c57818360005260206000209182019101613a7b9190613bf1565b5b505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b815481835581811511613ad657600402816004028360005260206000209182019101613ad59190613c16565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613b1c57805160ff1916838001178555613b4a565b82800160010185558215613b4a579182015b82811115613b49578251825591602001919060010190613b2e565b5b509050613b579190613bf1565b5090565b815481835581811511613b8857600602816006028360005260206000209182019101613b879190613c71565b5b505050565b815481835581811511613bba57600602816006028360005260206000209182019101613bb99190613cdc565b5b505050565b815481835581811511613bec57600502816005028360005260206000209182019101613beb9190613d4f565b5b505050565b613c1391905b80821115613c0f576000816000905550600101613bf7565b5090565b90565b613c6e91905b80821115613c6a5760008082016000613c359190613db2565b600182016000613c459190613dfa565b60028201600090556003820160006101000a81549060ff021916905550600401613c1c565b5090565b90565b613cd991905b80821115613cd55760008082016000613c909190613db2565b600182016000613ca09190613dfa565b6002820160009055600382016000905560048201600090556005820160006101000a81549060ff021916905550600601613c77565b5090565b90565b613d4c91905b80821115613d485760008082016000613cfb9190613db2565b600182016000613d0b9190613db2565b6002820160009055600382016000613d239190613dfa565b60048201600090556005820160006101000a81549060ff021916905550600601613ce2565b5090565b90565b613daf91905b80821115613dab5760008082016000613d6e9190613db2565b600182016000613d7e9190613dfa565b600282016000905560038201600090556004820160006101000a81549060ff021916905550600501613d55565b5090565b90565b50805460018160011615610100020316600290046000825580601f10613dd85750613df7565b601f016020900490600052602060002090810190613df69190613bf1565b5b50565b5080546000825590600052602060002090810190613e189190613bf1565b505600a165627a7a7230582078a7bb964b9e46b52c3688045b0db9b1b835406d9a8f83a44e76134aaad3e0450029

Swarm Source

bzzr://78a7bb964b9e46b52c3688045b0db9b1b835406d9a8f83a44e76134aaad3e045
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading

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.