$global:return = 0

# v. 1.0.9.0

#region Main UI presets
# Button states
$fDisableUpdate = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name DisableUpdate -ErrorAction SilentlyContinue ).DisableUpdate
If ($fDisableUpdate -ne $null) {$fDisableUpdate = $true} Else {$fDisableUpdate = $false}

$fDisableSetup = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name DisableSetup -ErrorAction SilentlyContinue ).DisableSetup
If ($fDisableSetup -ne $null) {$fDisableSetup = $true} Else {$fDisableSetup = $false}

$InstalledBuild = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name InstalledBuild -ErrorAction SilentlyContinue ).InstalledBuild
If ($InstalledBuild -eq $null) {$InstalledBuild = ""}
$BuildToInstall = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name BuildToInstall -ErrorAction SilentlyContinue ).BuildToInstall

$CDNRef = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name CDN -ErrorAction SilentlyContinue ).CDN

#endregion Main UI presets

#region Custom Install UI presets
# Office Platform/Architecture
$Platform = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name Platform -ErrorAction SilentlyContinue ).Platform
switch ($Platform)
{
	"x86" {$PlatformIndex = 0}
	"x64" {$PlatformIndex = 1}
	default {$PlatformIndex = 0}
}

# Primary Language
$ClientCulture = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name ClientCulture -ErrorAction SilentlyContinue ).clientculture
switch ($ClientCulture)
{
	"ar-sa" {$ClientCultureIndex = 0}
	"cs-cz" {$ClientCultureIndex = 1}
	"de-de" {$ClientCultureIndex = 2}
	"el-gr" {$ClientCultureIndex = 3}
	"en-us" {$ClientCultureIndex = 4}
	"es-es" {$ClientCultureIndex = 5}
	"et-ee" {$ClientCultureIndex = 6}
	"fi-fi" {$ClientCultureIndex = 7}
	"fr-fr" {$ClientCultureIndex = 8}
	"hi-in" {$ClientCultureIndex = 9}
	"hu-hu" {$ClientCultureIndex = 10}
	"it-it" {$ClientCultureIndex = 11}
	"ja-jp" {$ClientCultureIndex = 12}
	"ko-kr" {$ClientCultureIndex = 13}
	"lt-lt" {$ClientCultureIndex = 14}
	"lv-lv" {$ClientCultureIndex = 15}
	"nb-no" {$ClientCultureIndex = 16}
	"pt-br" {$ClientCultureIndex = 17}
	"ro-ro" {$ClientCultureIndex = 18}
	"ru-ru" {$ClientCultureIndex = 19}
	"th-th" {$ClientCultureIndex = 20}
	"tr-tr" {$ClientCultureIndex = 21}
	"uk-ua" {$ClientCultureIndex = 22}
	"vi-vn" {$ClientCultureIndex = 23}
	"zh-cn" {$ClientCultureIndex = 24}
	default {$ClientCulture = "en-us"; $ClientCultureIndex = 4}
}

# Set default values for
	# cultures
	$CultArSa = -1
	$CultCsCz = -1
	$CultDeDe = -1
	$CultElGr = -1
	$CultEnUs = -1
	$CultEsEs = -1
	$CultEtEe = -1
	$CultFiFi = -1
	$CultFrFr = -1
	$CultHiIn = -1
	$CultHuHu = -1
	$CultItIt = -1
	$CultJaJp = -1
	$CultKoKr = -1
	$CultLtLt = -1
	$CultLvLv = -1
	$CultNbNo = -1
	$CultPtBr = -1
	$CultRoRo = -1
	$CultRuRu = -1
	$CultThTh = -1
	$CultTrTr = -1
	$CultUkUa = -1
	$CultViVn = -1
	$CultZhCn = -1
	
	# suite
	$ProdIdIndex = 0
	
	# standalone products
	$ProjectSKUIndex = -1
	$VisioSKUIndex = -1

# Get cached values for suite & standalone products
$ProductReleaseIds = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name ProductReleaseIds -ErrorAction SilentlyContinue ).ProductReleaseIds
If ($ProductReleaseIds -ne $null) 
{
	# Suite
	$arr_ProdIds = $ProductReleaseIds.split(",")
	switch ($arr_ProdIds[0])
	{
		"O365ProPlusRetail" {$ProdIdIndex = 0}
		"O365HomePremRetail" {$ProdIdIndex = 1}
		"O365SmallBusPremRetail" {$ProdIdIndex = 2}
		default {$ProdIdIndex = 0}
	}
	# Additional Languages
	foreach ($objItem in $arr_ProdIds)
	{
		$ProdLang = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name $objItem -ErrorAction SilentlyContinue).$objItem
		$arr_ProdLang = $ProdLang.split(",")
		foreach ($lang in $arr_ProdLang)
		{
			If ($lang -ne $ClientCulture)
			{
				Switch ($lang)
				{
					"ar-sa" {$CultArSa = 0}
					"cs-cz" {$CultCsCz = 1}
					"de-de" {$CultDeDe = 2}
					"el-gr" {$CultElGr = 3}
					"en-us" {$CultEnUs = 4}
					"es-es" {$CultEsEs = 5}
					"et-ee" {$CultEtEe = 6}
					"fi-fi" {$CultFiFi = 7}
					"fr-fr" {$CultFrFr = 8}
					"hi-in" {$CultHiIn = 9}
					"hu-hu" {$CultHuHu = 10}
					"it-it" {$CultItIt = 11}
					"ja-jp" {$CultJaJp = 12}
					"ko-kr" {$CultKoKr = 13}
					"lt-lt" {$CultLtLt = 14}
					"lv-lv" {$CultLvLv = 15}
					"nb-no" {$CultNbNo = 16}
					"pt-br" {$CultPtBr = 17}
					"ro-ro" {$CultRoRo = 18}
					"ru-ru" {$CultRuRu = 19}
					"th-th" {$CultThTh = 20}
					"tr-tr" {$CultTrTr = 21}
					"uk-ua" {$CultUkUa = 22}
					"vi-vn" {$CultViVn = 23}
					"zh-cn" {$CultZhCn = 24}
				}
			}
		}
	}
}
Else {$ProdIdIndex = 0}

# Standalone Sku's
$ProjectSKU = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name ProjectProRetail -ErrorAction SilentlyContinue ).ProjectProRetail
If ($ProjectSKU -ne $null) {$ProjectSKUIndex = 1}
$VisioSKU = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name VisioProRetail -ErrorAction SilentlyContinue ).VisioProRetail
If ($VisioSKU -ne $null) {$VisioSKUIndex = 0}

#endregion custom Install UI presets

Function ExitUI 
{
	Exit $return
}
#==============================================================================
#region WinForms

#region Forms Constructor
Add-Type -AssemblyName System.Windows.forms
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
#endregion 'Forms Constructor

#==============================================================================

#region Custom InstallUI

#region Custom Install UI Definition

#region < InstallUI >
$InstallUI = New-Object System.Windows.Forms.Form
$InstallUI.ClientSize = New-Object System.Drawing.Size(473, 469)
$InstallUI.RightToLeftLayout = $true
$InstallUI.Text = "Install - Office Preview $BuildToInstall"
$InstallUI.KeyPreview = $true
$InstallUI.Add_KeyDown({if ($_.KeyCode -eq "Escape") 
    {
	$global:return = 22
	$InstallUI.Close()
    }})
#endregion

#region < Btn_Cancel >
$Btn_Cancel = New-Object System.Windows.Forms.Button
$Btn_Cancel.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$Btn_Cancel.Location = New-Object System.Drawing.Point(274, 415)
$Btn_Cancel.Size = New-Object System.Drawing.Size(123, 29)
$Btn_Cancel.TabIndex = 15
$Btn_Cancel.Text = "Cancel"
$Btn_Cancel.UseVisualStyleBackColor = $true
$Btn_Cancel.add_Click({Btn_CancelClick($Btn_Cancel)})
#endregion

#region < Btn_InstallNow >
$Btn_InstallNow = New-Object System.Windows.Forms.Button
$Btn_InstallNow.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$Btn_InstallNow.Location = New-Object System.Drawing.Point(76, 415)
$Btn_InstallNow.Size = New-Object System.Drawing.Size(123, 29)
$Btn_InstallNow.TabIndex = 14
$Btn_InstallNow.Text = "Install Now"
$Btn_InstallNow.UseVisualStyleBackColor = $true
$Btn_InstallNow.add_Click({Btn_InstallNowClick($Btn_InstallNow)})
#endregion

#region < L_PrimaryLang >
$L_PrimaryLang = New-Object System.Windows.Forms.Label
$L_PrimaryLang.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$L_PrimaryLang.Location = New-Object System.Drawing.Point(24, 267)
$L_PrimaryLang.Size = New-Object System.Drawing.Size(181, 21)
$L_PrimaryLang.TabIndex = 9
$L_PrimaryLang.Text = "Primary Language:"
#endregion

#region < L_AddtlLang >
$L_AddtlLang = New-Object System.Windows.Forms.Label
$L_AddtlLang.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$L_AddtlLang.Location = New-Object System.Drawing.Point(24, 309)
$L_AddtlLang.Size = New-Object System.Drawing.Size(181, 21)
$L_AddtlLang.TabIndex = 11
$L_AddtlLang.Text = "Additional Languages:"
#endregion

#region < LB_Cultures >
$LB_Cultures = New-Object System.Windows.Forms.ListBox
$LB_Cultures.AccessibleDescription = "Select languages (cultures) to install. Multi selection is possible"
$LB_Cultures.FormattingEnabled = $true
$LB_Cultures.Location = New-Object System.Drawing.Point(231, 309)
$LB_Cultures.SelectionMode = [System.Windows.Forms.SelectionMode]::MultiSimple
$LB_Cultures.Size = New-Object System.Drawing.Size(192, 84)
$LB_Cultures.TabIndex = 13
$LB_Cultures.Items.AddRange([System.Object[]](@("ar-sa", "cs-cz", "de-de", "el-gr", "en-us", "es-es", "et-ee", "fi-fi", "fr-fr", "hi-in", "hu-hu", "it-it", "ja-jp", "ko-kr", "lv-lv", "lt-lt", "nb-no", "pt-br", "ro-ro", "ru-ru", "th-th", "tr-tr", "uk-ua", "vi-vn", "zh-cn")))
$LB_Cultures.SelectedIndex = -1

If ($CultArSa -ne -1){$LB_Cultures.SelectedIndex = $CultArSa}
If ($CultCsCz -ne -1){$LB_Cultures.SelectedIndex = $CultCsCz}
If ($CultDeDe -ne -1){$LB_Cultures.SelectedIndex = $CultDeDe}
If ($CultElGr -ne -1){$LB_Cultures.SelectedIndex = $CultElGr}
If ($CultEnUs -ne -1){$LB_Cultures.SelectedIndex = $CultEnUs}
If ($CultEsEs -ne -1){$LB_Cultures.SelectedIndex = $CultEsEs}
If ($CultEtEe -ne -1){$LB_Cultures.SelectedIndex = $CultEtEe}
If ($CultFiFi -ne -1){$LB_Cultures.SelectedIndex = $CultFiFi}
If ($CultFrFr -ne -1){$LB_Cultures.SelectedIndex = $CultFrFr}
If ($CultHiIn -ne -1){$LB_Cultures.SelectedIndex = $CultHiIn}
If ($CultHuHu -ne -1){$LB_Cultures.SelectedIndex = $CultHuHu}
If ($CultItIt -ne -1){$LB_Cultures.SelectedIndex = $CultItIt}
If ($CultJaJp -ne -1){$LB_Cultures.SelectedIndex = $CultJaJp}
If ($CultKoKr -ne -1){$LB_Cultures.SelectedIndex = $CultKoKr}
If ($CultLtLt -ne -1){$LB_Cultures.SelectedIndex = $CultLtLt}
If ($CultLvLv -ne -1){$LB_Cultures.SelectedIndex = $CultLvLv}
If ($CultNbNo -ne -1){$LB_Cultures.SelectedIndex = $CultNbNo}
If ($CultPtBr -ne -1){$LB_Cultures.SelectedIndex = $CultPtBr}
If ($CultRoRo -ne -1){$LB_Cultures.SelectedIndex = $CultRoRo}
If ($CultRuRu -ne -1){$LB_Cultures.SelectedIndex = $CultRuRu}
If ($CultThTh -ne -1){$LB_Cultures.SelectedIndex = $CultThTh}
If ($CultTrTr -ne -1){$LB_Cultures.SelectedIndex = $CultTrTr}
If ($CultUkUa -ne -1){$LB_Cultures.SelectedIndex = $CultUkUa}
If ($CultViVn -ne -1){$LB_Cultures.SelectedIndex = $CultViVn}
If ($CultZhCn -ne -1){$LB_Cultures.SelectedIndex = $CultZhCn}
#endregion

#region < Label6 >
$Label6 = New-Object System.Windows.Forms.Label
$Label6.Location = New-Object System.Drawing.Point(24, 330)
$Label6.Size = New-Object System.Drawing.Size(176, 16)
$Label6.TabIndex = 12
$Label6.Text = "select all that apply"
#endregion

#region < Label4 >
$Label4 = New-Object System.Windows.Forms.Label
$Label4.Location = New-Object System.Drawing.Point(24, 208)
$Label4.Size = New-Object System.Drawing.Size(176, 16)
$Label4.TabIndex = 7
$Label4.Text = "select all that apply"
#endregion

#region < L_StandaloneSKU >
$L_StandaloneSKU = New-Object System.Windows.Forms.Label
$L_StandaloneSKU.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$L_StandaloneSKU.Location = New-Object System.Drawing.Point(24, 187)
$L_StandaloneSKU.Size = New-Object System.Drawing.Size(181, 21)
$L_StandaloneSKU.TabIndex = 6
$L_StandaloneSKU.Text = "Standalone Applications:"
#endregion

#region < LB_Standalone SKUs >
$LB_Standalone = New-Object System.Windows.Forms.ListBox
$LB_Standalone.AccessibleDescription = "Select all individual applications to install"
$LB_Standalone.FormattingEnabled = $true
$LB_Standalone.Location = New-Object System.Drawing.Point(231, 187)
$LB_Standalone.SelectionMode = [System.Windows.Forms.SelectionMode]::MultiSimple
$LB_Standalone.Size = New-Object System.Drawing.Size(192, 36)
$LB_Standalone.TabIndex = 8
$LB_Standalone.Items.AddRange([System.Object[]](@( "VisioProRetail", "ProjectProRetail")))
$LB_Standalone.SelectedIndex = -1
If ($VisioSKUIndex -ne -1) {$LB_Standalone.SelectedIndex = $VisioSKUIndex}
If ($ProjectSKUIndex -ne -1) {$LB_Standalone.SelectedIndex = $ProjectSKUIndex}
#endregion

#region < CB_OfficeVersion >
$CB_OfficeVersion = New-Object System.Windows.Forms.ComboBox
$CB_OfficeVersion.AccessibleDescription = "Pick the suite to install. Only one selection possible"
$CB_OfficeVersion.FormattingEnabled = $true
$CB_OfficeVersion.Location = New-Object System.Drawing.Point(231, 35)
$CB_OfficeVersion.Size = New-Object System.Drawing.Size(192, 24)
$CB_OfficeVersion.TabIndex = 1
$CB_OfficeVersion.Text = "Office Preview"
$CB_OfficeVersion.Items.AddRange([System.Object[]](@("Office Preview", "Office 2013 (15.0)")))
$CB_OfficeVersion.SelectedIndex = 0
$CB_OfficeVersion.add_SelectedIndexChanged({CB_OfficeVersionSelectedIndexChanged($CB_OfficeVersion)})
#endregion

#region < CB_Suite >
$CB_Suite = New-Object System.Windows.Forms.ComboBox
$CB_Suite.AccessibleDescription = "Pick the suite to install. Only one selection possible"
$CB_Suite.FormattingEnabled = $true
$CB_Suite.Location = New-Object System.Drawing.Point(231, 137)
$CB_Suite.Size = New-Object System.Drawing.Size(192, 24)
$CB_Suite.TabIndex = 5
$CB_Suite.Items.AddRange([System.Object[]](@("O365ProPlusRetail", "O365HomePremRetail", "O365SmallBusPremRetail")))
$CB_Suite.SelectedIndex = $ProdIdIndex
#endregion

#region < L_OfficeSuite >
$L_OfficeSuite = New-Object System.Windows.Forms.Label
$L_OfficeSuite.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$L_OfficeSuite.Location = New-Object System.Drawing.Point(24, 137)
$L_OfficeSuite.Size = New-Object System.Drawing.Size(182, 21)
$L_OfficeSuite.TabIndex = 4
$L_OfficeSuite.Text = "Office Suite:"
#endregion

#region < L_OfficeVersion >
$L_OfficeVersion = New-Object System.Windows.Forms.Label
$L_OfficeVersion.AccessibleDescription = "Select the Office bitness to be either 32 or 64 bit"
$L_OfficeVersion.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$L_OfficeVersion.ImageAlign = [System.Drawing.ContentAlignment]::BottomCenter
$L_OfficeVersion.Location = New-Object System.Drawing.Point(24, 36)
$L_OfficeVersion.Size = New-Object System.Drawing.Size(183, 21)
$L_OfficeVersion.TabIndex = 0
$L_OfficeVersion.Text = "Office Version:"
#endregion

#region < L_OfficePlatform >
$L_OfficePlatform = New-Object System.Windows.Forms.Label
$L_OfficePlatform.AccessibleDescription = "Select the Office bitness to be either 32 or 64 bit"
$L_OfficePlatform.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$L_OfficePlatform.ImageAlign = [System.Drawing.ContentAlignment]::BottomCenter
$L_OfficePlatform.Location = New-Object System.Drawing.Point(24, 87)
$L_OfficePlatform.Size = New-Object System.Drawing.Size(183, 21)
$L_OfficePlatform.TabIndex = 2
$L_OfficePlatform.Text = "Office Architecture:"
#endregion

#region < CB_PrimaryLang >
$CB_PrimaryLang = New-Object System.Windows.Forms.ComboBox
$CB_PrimaryLang.AccessibleDescription = "Select the Office bitness to be either 32 or 64 bit"
$CB_PrimaryLang.FormattingEnabled = $true
$CB_PrimaryLang.Location = New-Object System.Drawing.Point(231, 267)
$CB_PrimaryLang.Size = New-Object System.Drawing.Size(192, 24)
$CB_PrimaryLang.TabIndex = 10
$CB_PrimaryLang.Items.AddRange([System.Object[]](@("ar-sa", "cs-cz", "de-de", "el-gr", "en-us", "es-es", "et-ee", "fi-fi", "fr-fr", "hi-in", "hu-hu", "it-it", "ja-jp", "ko-kr", "lv-lv", "lt-lt", "nb-no", "pt-br", "ro-ro", "ru-ru", "th-th", "tr-tr", "uk-ua", "vi-vn", "zh-cn")))
$CB_PrimaryLang.SelectedIndex = $ClientCultureIndex
#endregion

#region < CB_OfficeArchitecture >
$CB_OfficeArchitecture = New-Object System.Windows.Forms.ComboBox
$CB_OfficeArchitecture.AccessibleDescription = "Select the Office bitness to be either 32 or 64 bit"
$CB_OfficeArchitecture.FormattingEnabled = $true
$CB_OfficeArchitecture.Location = New-Object System.Drawing.Point(231, 87)
$CB_OfficeArchitecture.Size = New-Object System.Drawing.Size(192, 24)
$CB_OfficeArchitecture.TabIndex = 3
$CB_OfficeArchitecture.Text = "32 bit"
$CB_OfficeArchitecture.Items.AddRange([System.Object[]](@("32 bit", "64 bit")))
$CB_OfficeArchitecture.SelectedIndex = $PlatformIndex
#endregion

#region < Add Controls>
$InstallUI.Controls.Add($Btn_Cancel)
$InstallUI.Controls.Add($Btn_InstallNow)
$InstallUI.Controls.Add($L_PrimaryLang)
$InstallUI.Controls.Add($L_AddtlLang)
$InstallUI.Controls.Add($LB_Cultures)
$InstallUI.Controls.Add($Label6)
$InstallUI.Controls.Add($Label4)
$InstallUI.Controls.Add($L_StandaloneSKU)
$InstallUI.Controls.Add($LB_Standalone)
$InstallUI.Controls.Add($CB_OfficeVersion)
$InstallUI.Controls.Add($CB_Suite)
$InstallUI.Controls.Add($L_OfficeSuite)
$InstallUI.Controls.Add($L_OfficeVersion)
$InstallUI.Controls.Add($L_OfficePlatform)
$InstallUI.Controls.Add($CB_PrimaryLang)
$InstallUI.Controls.Add($CB_OfficeArchitecture)
#endregion

#region CustomUI Icon
$InstallUI.Icon = ([System.Drawing.Icon](New-Object System.Drawing.Icon((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String(
	"AAABAAMAEBAQAAEABAAoAQAANgAAABgYAAABACAAiAkAAF4BAAAQEAAAAQAgAGgEAADmCgAAKAAA"+
    "ABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAA"+
    "gACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAImZmAAAAAiZmZ"+
    "mZkAAAmZmAmZmQAJgAAACZmZAAmZAAAJmZkACZkAAAmZmQAJmQAACZmZAAmZAAAJmZkACZkAAAmZ"+
    "mQAJmQAACZmZAAmZAAAJmZkACZkAAAmZmQAJmZmACZmZAAAImZmZmZkAAAAImZmZmQAAAAAImZmA"+
    "AP4HAADwAwAA4IMAAJ+DAACPgwAAj4MAAI+DAACPgwAAj4MAAI+DAACPgwAAj4MAAIGDAADgAwAA"+
    "+AMAAP4HAAAoAAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvrQAA7658AO+v/ADvr7wA7"+
    "668AO+twADvrIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAADvrIAA764AAO+vfADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA7698AO+uP"+
    "ADvrUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA761AAO+uvADvr/wA76/8A"+
    "O+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAA76yAAO+uPADvr7wA76/8AO+v/ADvr/wA7688AO+uvADvrgAA762AAO+tAADvr"+
    "/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+tgADvrrwA7678AO+uP"+
    "ADvrgAA760AAO+sgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8A"+
    "O+v/ADvr/wAAAAAAAAAAAAAAAAA76xAAO+vvADvrnwA760AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAA"+
    "AAAAAAAAO+v/ADvr/wA76/8AO+vfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8A"+
    "O+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA7"+
    "6/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAA"+
    "AAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA7"+
    "6/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr"+
    "/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAA"+
    "AAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr"+
    "/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/"+
    "ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAA"+
    "AAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/"+
    "ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8A"+
    "O+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr"+
    "/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/ADvr/wA7688AO+uPADvrYAA76yAAAAAA"+
    "AAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAA"+
    "O+tgADvrvwA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+vvADvrrwA764AAO+tAADvr/wA7"+
    "6/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA76yAAO+uPADvr"+
    "7wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/"+
    "ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA761AAO+uvADvr/wA76/8A"+
    "O+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvrIAA764AAO+vfADvr/wA76/8AO+v/ADvr"+
    "/wA76/8AO+v/ADvr/wA7688AO+uPADvrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvrQAA7658AO+v/ADvr7wA7668AO+tgADvrIAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAA//AfAP+AAwD+AAMA8AADAMB+AwCH/gMAw/4DAMP+AwDD/gMAw/4DAMP+"+
    "AwDD/gMAw/4DAMP+AwDD/gMAw/4DAMP+AwDD/gMAwB4DAMAAAwDwAAMA/gADAP+AAwD/8B8AKAAA"+
    "ABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAA76yAAO+twADvrzwA76/8AO+vvADvrvwA764AAO+tAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "O+sgADvrcAA7688AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAA"+
    "AAAAO+tQADvrgAA764AAO+tgADvrQAA760AAO+tAADvr/wA76/8AO+v/ADvr/wA76/8AAAAAAAAA"+
    "AAAAAAAAO+vfADvrjwA761AAAAAAAAAAAAAAAAAAAAAAAAAAAAA76/8AO+v/ADvr/wA76/8AO+v/"+
    "AAAAAAAAAAAAAAAAADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8A"+
    "O+v/ADvr/wAAAAAAAAAAAAAAAAA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA7"+
    "6/8AO+v/ADvr/wA76/8AAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAA76/8AO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAADvr/wA76/8AO+v/AAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAA76/8AO+v/ADvr/wAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AAAAAAAAAAAAAAAAAO+v/ADvr/wA7"+
    "6/8AAAAAAAAAAAAAAAAAAAAAAAAAAAA76/8AO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAADvr"+
    "/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAA"+
    "AAAAAAA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8A"+
    "AAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/ADvrzwA7658AO+twADvrQAA76/8AO+v/ADvr/wA7"+
    "6/8AO+v/AAAAAAAAAAAAAAAAADvrIAA764AAO+vfADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr"+
    "/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA760AAO+ufADvr7wA76/8AO+v/"+
    "ADvr/wA76/8AO+v/ADvr/wA76/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA76xAA"+
    "O+tgADvrvwA76/8AO+vvADvrvwA764AAO+tAAAAAAAAAAAD8AwAA4AMAAMADAACPgwAAj4MAAI+D"+
    "AACPgwAAj4MAAI+DAACPgwAAj4MAAI+DAACAAwAAgAMAAPADAAD8AwAA")),0,$$.Length)))))
#endregion 'Icon

#endregion CustomUI Definition

#region InstallUI Events

function Btn_InstallNowClick ($object)
{
	$global:return = 20
	
	# ensure registry structure
	New-Item -Path HKCU:\"Software\Microsoft\Office" -ErrorAction SilentlyContinue
	New-Item -Path HKCU:\"Software\Microsoft\Office\16.0" -ErrorAction SilentlyContinue
	New-Item -Path HKCU:\"Software\Microsoft\Office\16.0\Preview" -ErrorAction SilentlyContinue
	Remove-ItemProperty -Path HKCU:\"Software\Microsoft\Office\16.0\Preview" -Name * -ErrorAction SilentlyContinue
	
	# write values to registry
	# Office Version
	if ($CB_OfficeVersion.Text -eq "Office 2013 (15.0)") 
	{
		New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name Version -Value "15.0" -Force
	}
	# Office Architecture
	$Platform = "x86"
	if ($CB_OfficeArchitecture.Text -eq "64 bit") {$Platform = "x64"}
	New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name Platform -Value $Platform -Force
	
	# Primary Language
	$PrimaryLang = $CB_PrimaryLang.text
	$AllLang = $PrimaryLang
	New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name ClientCulture -Value $PrimaryLang -Force
	
	# Additional Languages
	foreach ($objItem in $LB_Cultures.SelectedItems){$AllLang += "," + $objItem}
	
	# Office Suite
	$ProductReleaseIds = $CB_Suite.Text
	New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name $CB_Suite.Text -Value $AllLang -Force
	
	# Standalone Applications
	foreach ($objItem in $LB_Standalone.SelectedItems)
	{
		$ProductReleaseIds += "," + $objItem
		New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name $objItem -Value $AllLang -Force
	}
	New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Preview" -Name ProductReleaseIds -Value $ProductReleaseIds -Force
	
	
	$InstallUI.Close()
}

function Btn_CancelClick ($object)
{
	$global:return = 22
	$InstallUI.Close()
}

#endregion InstallUI Events

#endregion CustomUI
#==============================================================================
#region Form Main UI
#region Form Main UI Definition
#region < MainUI >
$MainUI = New-Object System.Windows.Forms.Form
$MainUI.ClientSize = New-Object System.Drawing.Size(360, 380)
$MainUI.Text = "Office $CDNRef Preview $BuildToInstall"
$MainUI.KeyPreview = $true
$MainUI.Add_KeyDown({if ($_.KeyCode -eq "Escape") 
    {
	$global:return = 32
	$MainUI.Close()
    }})

#endregion

#region < BuildLabel >
$BuildLabel = New-Object System.Windows.Forms.Label
$BuildLabel.Location = New-Object System.Drawing.Point(28, 10)
$BuildLabel.Size = New-Object System.Drawing.Size(300, 48)
$BuildLabel.TabIndex = 0
$BuildLabel.Text = "Installed: $InstalledBuild  -  Available: $BuildToInstall"
#endregion

#region < Btn_UpdateNow >
$Btn_UpdateNow = New-Object System.Windows.Forms.Button
$Btn_UpdateNow.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$Btn_UpdateNow.Location = New-Object System.Drawing.Point(60, 60)
$Btn_UpdateNow.Size = New-Object System.Drawing.Size(220, 66)
$Btn_UpdateNow.TabIndex = 1
$Btn_UpdateNow.Text = "Update Now"
$Btn_UpdateNow.UseVisualStyleBackColor = $true
$Btn_UpdateNow.add_Click({Btn_UpdateNowClick($Btn_UpdateNow)})
$Btn_UpdateNow.Enabled = -not $fDisableUpdate
#endregion

#region < Btn_MainSetup >
$Btn_MainSetup = New-Object System.Windows.Forms.Button
$Btn_MainSetup.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$Btn_MainSetup.Location = New-Object System.Drawing.Point(60, 160)
$Btn_MainSetup.Size = New-Object System.Drawing.Size(220, 66)
$Btn_MainSetup.TabIndex = 2
$Btn_MainSetup.Text = "Configure Office Setup" 
$Btn_MainSetup.add_Click({Btn_MainSetupClick($Btn_MainSetup)})
$Btn_MainSetup.Enabled = -not $fDisableSetup
#endregion

#region < Btn_UninstallO16 >
$Btn_UninstallO16 = New-Object System.Windows.Forms.Button
$Btn_UninstallO16.Font = New-Object System.Drawing.Font("Tahoma", 10.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
$Btn_UninstallO16.Location = New-Object System.Drawing.Point(60, 260)
$Btn_UninstallO16.Size = New-Object System.Drawing.Size(220, 66)
$Btn_UninstallO16.TabIndex = 3
$Btn_UninstallO16.Text = "Uninstall Office"
$Btn_UninstallO16.UseVisualStyleBackColor = $true
$Btn_UninstallO16.add_Click({Btn_UninstallO16Click($Btn_UninstallO16)})
#endregion

#region < Add Controls >
$MainUI.Controls.Add($BuildLabel)
$MainUI.Controls.Add($Btn_UpdateNow)
$MainUI.Controls.Add($Btn_UninstallO16)
$MainUI.Controls.Add($Btn_MainSetup)
#endregion

#region Icon
$MainUI.Icon = ([System.Drawing.Icon](New-Object System.Drawing.Icon((New-Object System.IO.MemoryStream(($$ = [System.Convert]::FromBase64String(
	"AAABAAMAEBAQAAEABAAoAQAANgAAABgYAAABACAAiAkAAF4BAAAQEAAAAQAgAGgEAADmCgAAKAAA"+
    "ABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAA"+
    "gACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAImZmAAAAAiZmZ"+
    "mZkAAAmZmAmZmQAJgAAACZmZAAmZAAAJmZkACZkAAAmZmQAJmQAACZmZAAmZAAAJmZkACZkAAAmZ"+
    "mQAJmQAACZmZAAmZAAAJmZkACZkAAAmZmQAJmZmACZmZAAAImZmZmZkAAAAImZmZmQAAAAAImZmA"+
    "AP4HAADwAwAA4IMAAJ+DAACPgwAAj4MAAI+DAACPgwAAj4MAAI+DAACPgwAAj4MAAIGDAADgAwAA"+
    "+AMAAP4HAAAoAAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvrQAA7658AO+v/ADvr7wA7"+
    "668AO+twADvrIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAADvrIAA764AAO+vfADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA7698AO+uP"+
    "ADvrUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA761AAO+uvADvr/wA76/8A"+
    "O+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAA76yAAO+uPADvr7wA76/8AO+v/ADvr/wA7688AO+uvADvrgAA762AAO+tAADvr"+
    "/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+tgADvrrwA7678AO+uP"+
    "ADvrgAA760AAO+sgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8A"+
    "O+v/ADvr/wAAAAAAAAAAAAAAAAA76xAAO+vvADvrnwA760AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAA"+
    "AAAAAAAAO+v/ADvr/wA76/8AO+vfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8A"+
    "O+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA7"+
    "6/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAA"+
    "AAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA7"+
    "6/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr"+
    "/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAA"+
    "AAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr"+
    "/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/"+
    "ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAA"+
    "AAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/"+
    "ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8A"+
    "O+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/AAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr"+
    "/wAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/ADvr/wA7688AO+uPADvrYAA76yAAAAAA"+
    "AAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAA"+
    "O+tgADvrvwA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+vvADvrrwA764AAO+tAADvr/wA7"+
    "6/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA76yAAO+uPADvr"+
    "7wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/"+
    "ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA761AAO+uvADvr/wA76/8A"+
    "O+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvrIAA764AAO+vfADvr/wA76/8AO+v/ADvr"+
    "/wA76/8AO+v/ADvr/wA7688AO+uPADvrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvrQAA7658AO+v/ADvr7wA7668AO+tgADvrIAAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAA//AfAP+AAwD+AAMA8AADAMB+AwCH/gMAw/4DAMP+AwDD/gMAw/4DAMP+"+
    "AwDD/gMAw/4DAMP+AwDD/gMAw/4DAMP+AwDD/gMAwB4DAMAAAwDwAAMA/gADAP+AAwD/8B8AKAAA"+
    "ABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAAAAAA76yAAO+twADvrzwA76/8AO+vvADvrvwA764AAO+tAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
    "O+sgADvrcAA7688AO+v/ADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAA"+
    "AAAAO+tQADvrgAA764AAO+tgADvrQAA760AAO+tAADvr/wA76/8AO+v/ADvr/wA76/8AAAAAAAAA"+
    "AAAAAAAAO+vfADvrjwA761AAAAAAAAAAAAAAAAAAAAAAAAAAAAA76/8AO+v/ADvr/wA76/8AO+v/"+
    "AAAAAAAAAAAAAAAAADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8A"+
    "O+v/ADvr/wAAAAAAAAAAAAAAAAA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA7"+
    "6/8AO+v/ADvr/wA76/8AAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AAAAAAAAAAAAAAAAAAAAAAAAA"+
    "AAA76/8AO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAADvr/wA76/8AO+v/AAAAAAAAAAAAAAAA"+
    "AAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAA76/8AO+v/ADvr/wAAAAAA"+
    "AAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8AAAAAAAAAAAAAAAAAO+v/ADvr/wA7"+
    "6/8AAAAAAAAAAAAAAAAAAAAAAAAAAAA76/8AO+v/ADvr/wA76/8AO+v/AAAAAAAAAAAAAAAAADvr"+
    "/wA76/8AO+v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/ADvr/wAAAAAAAAAA"+
    "AAAAAAA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAADvr/wA76/8AO+v/ADvr/wA76/8A"+
    "AAAAAAAAAAAAAAAAO+v/ADvr/wA76/8AO+v/ADvrzwA7658AO+twADvrQAA76/8AO+v/ADvr/wA7"+
    "6/8AO+v/AAAAAAAAAAAAAAAAADvrIAA764AAO+vfADvr/wA76/8AO+v/ADvr/wA76/8AO+v/ADvr"+
    "/wA76/8AO+v/ADvr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA760AAO+ufADvr7wA76/8AO+v/"+
    "ADvr/wA76/8AO+v/ADvr/wA76/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA76xAA"+
    "O+tgADvrvwA76/8AO+vvADvrvwA764AAO+tAAAAAAAAAAAD8AwAA4AMAAMADAACPgwAAj4MAAI+D"+
    "AACPgwAAj4MAAI+DAACPgwAAj4MAAI+DAACAAwAAgAMAAPADAAD8AwAA")),0,$$.Length)))))
#endregion 'Icon
#endregion Form Main UI Definition

#region MainUI Events

function Btn_UpdateNowClick( $object )
{
	$global:return = 10
	$MainUI.Close()
}

function Btn_MainSetupClick( $object )
{
	$MainUI.Close()
	$MainUI.Visible = $false
	$global:return = 22
	$InstallUI.ShowDialog()
}

function Btn_UninstallO16Click( $object )
{
	$MainUI.Close()
	$global:return = 30
}

#endregion MainUI Events
#endregion Form Main UI
#==============================================================================

#endregion 'WinForms
#==============================================================================

[System.Windows.Forms.Application]::EnableVisualStyles()

Switch ($args[0])
{
	"InstallUI" {$global:return = 22; $InstallUI.ShowDialog()}
	"MainUI" {$global:return = 32; $MainUI.ShowDialog()}
	default {$global:return = 32; $MainUI.ShowDialog()}
}
ExitUI

# SIG # Begin signature block
# MIIaswYJKoZIhvcNAQcCoIIapDCCGqACAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUck8lJLPFQQEQ3Z1m0wqyWPCV
# Y16gghWCMIIEwzCCA6ugAwIBAgITMwAAAGJBL8dNiq4TJgAAAAAAYjANBgkqhkiG
# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw
# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTUwMjEwMTgzMzM3
# WhcNMTYwNTEwMTgzMzM3WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
# b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO
# OkMwRjQtMzA4Ni1ERUY4MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
# ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzpcpEnjOg16e
# fCoOjWmTxe4NOad07kj+GNlAGb0eel7cppX64uGPcUvvOPSAmxheqTjM2PBEtHGN
# qjqD6M7STHM5hsVJ0dWsK+5KEY8IbIYHIxJJrNyF5rDLJ3lKlKFVo1mgn/oZM4cM
# CgfokLOayjIvyxuJIFrFbpO+nF+PhuI3MYT+lsHKdg2ErCNF0Y3KNvmDtP9XBiRK
# iGS7pVlKB4oaueB+94csweq7LXrUTrOcP8a6hRKzNqjR4pAcybwv508B4otK+jbX
# lmE2ldsEysu9mwjN1fyDVSnWheoGZiXw3pxG9FeeXsOkNLibTtUVrjkcohq6hvb7
# 7q4dco7enQIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFJsuiFXbFF3ayMLtg9j5aH6D
# oTnHMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw
# SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz
# L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG
# AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv
# c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI
# hvcNAQEFBQADggEBAAytzvTw859N7K64VMzmnhXGV4ZOeMnn/AJgqOUGsIrVqmth
# oqscqKq9fSnj3QlC3kyXFID7S69GmvDfylA/mu6HSe0mytg8svbYu7p6arQWe8q1
# 2kdagS1kFPBqUySyEx5pdI0r+9WejW98lNiY4PNgoqdvFZaU4fp1tsbJ8f6rJZ7U
# tVCLOYHbDvlhU0LjKpbCgZ0VlR4Kk1SUuclxtIVETpHS5ToC1EzQRIGLsvkOxg7p
# Kf/MkuGM4R4dYIVZpPQYLeTb0o0hdnXXez1za9a9zaa/imKXyiV53z1loGFVVYqH
# AnYnCMw5M16oWdKeG7OaT+qFQL5aK0SaoZSHpuswggTsMIID1KADAgECAhMzAAAA
# ymzVMhI1xOFVAAEAAADKMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBMB4XDTE0MDQyMjE3MzkwMFoXDTE1MDcyMjE3MzkwMFowgYMxCzAJ
# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx
# HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB
# BQADggEPADCCAQoCggEBAJZxXe0GRvqEy51bt0bHsOG0ETkDrbEVc2Cc66e2bho8
# P/9l4zTxpqUhXlaZbFjkkqEKXMLT3FIvDGWaIGFAUzGcbI8hfbr5/hNQUmCVOlu5
# WKV0YUGplOCtJk5MoZdwSSdefGfKTx5xhEa8HUu24g/FxifJB+Z6CqUXABlMcEU4
# LYG0UKrFZ9H6ebzFzKFym/QlNJj4VN8SOTgSL6RrpZp+x2LR3M/tPTT4ud81MLrs
# eTKp4amsVU1Mf0xWwxMLdvEH+cxHrPuI1VKlHij6PS3Pz4SYhnFlEc+FyQlEhuFv
# 57H8rEBEpamLIz+CSZ3VlllQE1kYc/9DDK0r1H8wQGcCAwEAAaOCAWAwggFcMBMG
# A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBQfXuJdUI1Whr5KPM8E6KeHtcu/
# gzBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr
# YjQyMThmMTMtNmZjYS00OTBmLTljNDctM2ZjNTU3ZGZjNDQwMB8GA1UdIwQYMBaA
# FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j
# cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w
# OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx
# LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQB3XOvXkT3NvXuD2YWpsEOdc3wX
# yQ/tNtvHtSwbXvtUBTqDcUCBCaK3cSZe1n22bDvJql9dAxgqHSd+B+nFZR+1zw23
# VMcoOFqI53vBGbZWMrrizMuT269uD11E9dSw7xvVTsGvDu8gm/Lh/idd6MX/YfYZ
# 0igKIp3fzXCCnhhy2CPMeixD7v/qwODmHaqelzMAUm8HuNOIbN6kBjWnwlOGZRF3
# CY81WbnYhqgA/vgxfSz0jAWdwMHVd3Js6U1ZJoPxwrKIV5M1AHxQK7xZ/P4cKTiC
# 095Sl0UpGE6WW526Xxuj8SdQ6geV6G00DThX3DcoNZU6OJzU7WqFXQ4iEV57MIIF
# vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm
# iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD
# EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx
# MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD
# QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC
# mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw
# aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy
# c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ
# +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP
# Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf
# A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS
# tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB
# MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3
# FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk
# pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp
# L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE
# SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
# cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+
# fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6
# oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW
# 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb
# 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu
# 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ
# NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB
# 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord
# EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t
# s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh
# rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I
# ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0
# AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX
# BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290
# IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx
# MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf
# BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB
# BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn
# 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0
# Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n
# rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR
# JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54
# QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G
# A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG
# A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg
# QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG
# CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg
# Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ
# MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1
# Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB
# BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z
# b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB
# BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i
# uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r
# kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct
# xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F
# NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo
# nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0
# NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp
# K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J
# oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0
# eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng
# 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBJswggSX
# AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh
# BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAAAymzVMhI1xOFV
# AAEAAADKMAkGBSsOAwIaBQCggbQwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFLGL
# 5kok4PljUvxFpM9wIUtdcUR2MFQGCisGAQQBgjcCAQwxRjBEoCKAIABNAGkAYwBy
# AG8AcwBvAGYAdAAgAE8AZgBmAGkAYwBloR6AHGh0dHA6Ly9vZmZpY2UubWljcm9z
# b2Z0LmNvbS8wDQYJKoZIhvcNAQEBBQAEggEAhMrtLOIlS15BYzFsxQgwOd+dW/iX
# jOziev+jleh2/8gTSYv5OK7kbn+3A043A5Y/1gqC5DAFhTz92RX8kai85KjNd4R0
# jHbset8DM1hdltqX0SSJ5XYBgkpUZOTj0eEWvPDNtiwm81xyBHvQEvw3FSP3KqQP
# loOmLPtsopByhO2kHNuvrHF5nNPaXlXydY2qE2101lMG2IfnE4XrJB5wpVZvkEVn
# PckKzH+i2rKE3pTtIHOD+FVnK3DXqeEU8NxFRZjsxn91kh0r8O++q6OJuh7R5Wd9
# +zzYD5Sv79g5XfAeYlxEDPI8xSJmKeHzkDwAP1cV1mlvQFXqskbNaJcdpqGCAigw
# ggIkBgkqhkiG9w0BCQYxggIVMIICEQIBATCBjjB3MQswCQYDVQQGEwJVUzETMBEG
# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
# cm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFt
# cCBQQ0ECEzMAAABiQS/HTYquEyYAAAAAAGIwCQYFKw4DAhoFAKBdMBgGCSqGSIb3
# DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE1MDMwOTE3MTUwNFow
# IwYJKoZIhvcNAQkEMRYEFHWQwhENipvUqQ11IGrghMqblQODMA0GCSqGSIb3DQEB
# BQUABIIBAGQiJMSlrPbLXiwJPLdYs1pfFVep/Nao94fJ0JPQtlSStv9W916xsfpv
# 4OU6dfZyn2L4ItBy5teQFe8nDfKIucf0kwT5BPVP6Bi6JB8kEdPBMsMyVt3G5tpp
# +Uy5dkq61w1+PkAj5O5KBQ1faPrnCLgQuxnvLw3aClg3Yr0R9nY9ipTzRkB/6gp2
# 7t2V+va+8xTqQQLcKLgayMNdDv9d5Vj/xhZoIx68M5BJXtlj4PCczNMOT1MS5wu4
# oStDXxJtIl7tmAm+ySsYcv7PoBltHPRTF5+qgaf665VNmZFXf5224JrXkcVpYE/H
# F/+qnGlT8UGZqb/8hkKUv5lETqR4GZc=
# SIG # End signature block
