<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<installer-gui-script minSpecVersion="1">
    <options type="firmware" customize="never" hostArchitectures="i386" rootVolumeOnly="true"/>
    <title>SU_TITLE</title>
    <script>
var updateName = "MacBook Air Flash Storage Firmware Update";

function debuglog(message)
{
	// yes, this is secure
	if (system.files.fileExistsAtPath("/tmp/com.apple.pkg.testing")) system.log("********** " + updateName + ": " + message);
}

function validHW() {
		var reg;
		try {
			reg = system.ioregistry.matchingName('IOAHCIDevice');
			for( var i = 0 ; i &lt; reg.length ; i++ ) {
				var childrenArray = system.ioregistry.childrenOf(reg[i]);
				for( var j = 0 ; j &lt; childrenArray.length ; j++ ) {
					var model = childrenArray[j]['Model'];
					
					debuglog("SSD Model is: " + model);
					
					var revision = childrenArray[j]['Revision'];
					
					debuglog("SSD Revision is: " + revision);
					
					
					if( null != model &amp;&amp; null != revision ) {
						if( model.match(/TS064E/) &amp;&amp; (revision.match(/TPSABBF0/) || revision.match(/TPVABBF0/)))
						{
							debuglog("This is a winning combo for 64GB");
							return true;
						}
						if( model.match(/TS128E/) &amp;&amp; (revision.match(/TPSABBF0/)  || revision.match(/TPVABBF0/))) 
						{
							debuglog("This is a winning combo for 128GB");
								return true;
						}
					debuglog("Not a winner, keep trying.");
					}
				}
				debuglog("Out of tries?");
			}
		} catch(err) { return false; }
           
      return false;
  }
</script>
    <installation-check script="InstallationCheck()"/>
    <script>
function InstallationCheck(prefix) {
	var models = ['MacBookAir5,1','MacBookAir5,2',];
	var model = system.sysctl('hw.model');
	if (models.indexOf(model) == -1) {
		my.result.message = system.localizedString('ERROR_0');
		my.result.type = 'Fatal';
		return false;
	}
	my.result.message = system.localizedString('ERROR_0');
	if (!LogicalAnd0("/")) {
		my.result.type = 'Fatal';
		return false;
	}
	return true;
}
function LogicalAnd0(prefix) {
	if (LogicalOr1(prefix) &amp;&amp; needsFWUpdate(prefix)) {
		return true;
	}
	return false;
}
function LogicalOr1(prefix) {
	if (PlistCheck2(prefix) || PlistCheck3(prefix)) {
		return true;
	}
	return false;
}
function PlistCheck2(prefix) {
	if (typeof(my.result) != 'undefined') my.result.message = system.localizedString('ERROR_1');
	var plist = system.files.plistAtPath(prefix + '/System/Library/CoreServices/SystemVersion.plist');
	if (!plist) {
		return false;
	}
	var plistKeyValue = plist['ProductVersion'];
	if (!plistKeyValue) {
		return false;
	}
	if (system.compareVersions(plistKeyValue, '10.7.5') &lt; 0) {
		return false;
	}
	if (system.compareVersions(plistKeyValue, '10.8') >= 0) {
		return false;
	}
	return true;
}
function PlistCheck3(prefix) {
	if (typeof(my.result) != 'undefined') my.result.message = system.localizedString('ERROR_1');
	var plist = system.files.plistAtPath(prefix + '/System/Library/CoreServices/SystemVersion.plist');
	if (!plist) {
		return false;
	}
	var plistKeyValue = plist['ProductVersion'];
	if (!plistKeyValue) {
		return false;
	}
	if (system.compareVersions(plistKeyValue, '10.8.3') &lt; 0) {
		return false;
	}
	return true;
}
function needsFWUpdate(prefix) {
	if (typeof(my.result) != 'undefined') my.result.message = system.localizedString('ERROR_2');
	if (!validHW()) {
		return false;
	}
	return true;
}
</script>
    <platforms>
        <client arch="i386"/>
        <server arch="i386"/>
    </platforms>
    <choices-outline ui="SoftwareUpdate">
        <line choice="su"/>
    </choices-outline>
    <choices-outline>
        <line choice="su"/>
    </choices-outline>
    <choice id="su" title="SU_TITLE" versStr="SU_VERS" description="SU_DESCRIPTION" description-mime-type="text/html" secondaryDescription="SU_SERVERCOMMENT" suDisabledGroupID="MacBookAirFlashStorageFWUpd1.0" start_selected="true">
        <pkg-ref id="package1" auth="Root" packageIdentifier="com.apple.pkg.MacBookAirFlashStoreFWUpd" onConclusion="RequireRestart">MacBookAirFlashStoreFWUpd.pkg</pkg-ref>
    </choice>
    <localization>
        <strings language="pl"><![CDATA["SU_TITLE" = "Uaktualnienie oprogramowania sprzętowego pamięci flash MacBooka Air";
"SU_VERS" = "1.1";
"SU_SERVERCOMMENT" = "Dla komputerów klienckich i serwerów";
"SU_DESCRIPTION" = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta http-equiv="Content-Style-Type" content="text/css">
  <title></title>
  <style type="text/css">
	p {margin-left: 0.0px; margin-top: 0.0px; font: 11.0px "Lucida Grande";}
  </style>
</head>
<body>
<p>
To uaktualnienie oprogramowania sprzętowego jest zalecane dla MacBooków Air (z połowy 2012 roku). Wykryliśmy, że w niewielkim odsetku tych modeli występuje problem z dyskiem flash, który może przyczynić się do utraty danych. To uaktualnienie testuje dysk i w większości przypadków instaluje nowe oprogramowanie sprzętowe w celu rozwiązania problemu. Jeśli nie można uaktualnić dysku, Apple bezpłatnie go wymieni.
</p>
</body>
</html>
';
]]></strings>
    </localization>
    <readme mime-type="text/html"><![CDATA[<HTML><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta http-equiv="Content-Style-Type" content="text/css">
  <title></title>
  <style type="text/css">
	body {font: 11px "Lucida Grande";}
  </style>
</head>
<body>
<p>
To uaktualnienie jest wymagane dla Twojego MacBooka Air. MacBook Air musi być połączony przewodem zasilającym ze sprawnym źródłem zasilania.
</p>
<p>Przed zainstalowaniem tego uaktualnienia zarchiwizuj dane znajdujące się w pamięci flash MacBooka Air na dysk zewnętrzny lub do Time Capsule. Jeśli dane zostały już zarchiwizowane, kliknij w Instaluj uaktualnienie, aby rozpocząć proces uaktualniania.</p>
<p>Podczas uaktualniania pamięci flash nie uruchamiaj MacBooka Air ponownie, nie wyłączaj systemu ani nie wyłączaj zasilania. Jeśli w trakcie uaktualniania wystąpi problem, pamięć flash może ulec zniszczeniu i wszystkie znajdujące się na niej dane zostaną utracone.</p>
<p>Po ukończeniu uaktualniania MacBook Air zostanie wyłączony. Odczekaj jedną minutę, zanim włączysz go ponownie.</p>
</body>
</html>
]]></readme>

	<pkg-ref id='package1' installKBytes='2127' version='1.1.0.0.1.1355452227'/>
</installer-gui-script>