ComplianceDiagnosticEncryption.psm1
Import-Module "$PSScriptRoot\ComplianceDiagnosticUtils.psm1" # Get support template for Encryption #region encryption function Initialize-Encryption{ $global:EncryptControlVariables.fileData = $null } function Get-EncryptTabContent($TabObject){ [Parameter(Mandatory=$true)] [Windows.Controls.TabItem] $TabObject # Collect diagnostic data from user $global:EncryptControlVariables.EncryptSupportDataTabContent = New-Object Windows.Controls.StackPanel $global:EncryptControlVariables.EncryptSupportDataTabContent.HorizontalAlignment = [Windows.HorizontalAlignment]::Center $EncryptDiagButton = Get-Button -ButtonName "Encryption" -Margin '10,50,10,10' -width 200 -HorizontalAlignment "Left" $EncryptionPanelGrid = New-Object Windows.Controls.Grid $EncryptionTopTabControl = Get-TopTabControl $EncryptionPanelGrid.Children.Add($EncryptionTopTabControl.TopTabControl) > $null $global:EncryptControlVariables.EncryptionOutput = New-Object Windows.Controls.StackPanel $EncryptionoutputPanelTemplate = Get-TemplateGrid $EncryptionoutputPanelTemplate.Column1.Children.Add($EncryptDiagButton) > $null # $SupportPanelTemplate.Column1.Children.Add($EncryptDiagButton) > $null $blueColor = [System.Windows.Media.Color]::FromRgb(63, 119, 206) $supportDataHeader = Show-Text -Text "Encryption Support Data Template" -Color $blueColor -fontSize 20 $global:EncryptControlVariables.EncryptSupportDataTabContent.Children.Add($supportDataHeader) > $null # Define Gather Support data in a table format and pinning all the Controlds to Table Grid$tableGrid = New-Object System.Windows.Controls.Grid $tableGrid = Get-Table -columns 4 -rows 9 #Row 0 $AffectedClient = Show-Text -Text "Affected Client" -IsBold $false -margin "0,0,10,0" -VerticalAlignment "Center" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 0 -column 1 -Control $AffectedClient $AffectedClientCombo = @('Outlook For Web','Outlook Windows application', "Outlook Mobile") $global:EncryptControlVariables.AffectedClientComboboxExo = Get-ComboBox -Margin "0,5,10,5" -Width 400 -HorizontalAlignment "Left" $global:EncryptControlVariables.AffectedClientComboboxExo.ItemsSource = $AffectedClientCombo Add-ControlToTableAt -TableObj $tableGrid -row 0 -column 2 -Control $global:EncryptControlVariables.AffectedClientComboboxExo #Row 1 $ImpactedSenderSMTP = Show-Text -Text "Sender" -IsBold $false -margin "0,0,10,0" -VerticalAlignment "Center" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 1 -column 1 -Control $ImpactedSenderSMTP $global:EncryptControlVariables.ImpactedSenderTextBox = Get-TextBox -Width 400 -Margin "0,0,10,0" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 1 -column 2 -Control $global:EncryptControlVariables.ImpactedSenderTextBox #Row 2 $dateTimeLabel = Show-Text -Text "Date & Time of issue (UTC)" -IsBold $false -margin "0,0,10,0" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 2 -column 1 -Control $dateTimeLabel $dateTimeButton = Get-Button -ButtonName "Select date & Time" -Margin "0,0,10,0" -HorizontalAlignment "Left" -height 30 -width 220 Add-ControlToTableAt -TableObj $tableGrid -row 2 -column 2 -Control $dateTimeButton $global:ContextScopeVariables["EncryptionDateTimeLabel"] = Show-Text -Text "UTC Date Time" -IsBold $false -margin "0,0,10,0" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 2 -column 3 -Control $global:ContextScopeVariables["EncryptionDateTimeLabel"] $dateTimeButton.Add_Click({ $global:ContextScopeVariables.DateTimeProp = "EncryptionDateTime" $global:ContextScopeVariables["EncryptionDateTime"] = "" Get-DateTimePickerDialog }) #Row 3 $ImpactedRecieverSMTP = Show-Text -Text "Recipient" -IsBold $false -margin "0,0,10,0" -VerticalAlignment "Center" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 3 -column 1 -Control $ImpactedRecieverSMTP $global:EncryptControlVariables.ImpactedrecieverTextBox = Get-TextBox -Width 400 -Margin "0,0,10,0" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 3 -column 2 -Control $global:EncryptControlVariables.ImpactedrecieverTextBox #Row 4 $EncryptionVersion = Show-Text -Text "Encryption Version" -IsBold $false -margin "0,0,10,0" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 4 -column 1 -Control $EncryptionVersion $EncryptionVersionCombo = @('OMEv1','OMEv2') $global:EncryptControlVariables.EncryptionversionComboboxExo = Get-ComboBox -Margin "0,5,10,5" -Width 400 -HorizontalAlignment "Left" $global:EncryptControlVariables.EncryptionversionComboboxExo.ItemsSource = $EncryptionversionCombo Add-ControlToTableAt -TableObj $tableGrid -row 4 -column 2 -Control $global:EncryptControlVariables.EncryptionversionComboboxExo #row 5 $EncryptionMethod = Show-Text -Text "Method Of Encryption" -IsBold $false -margin "0,0,10,0" -VerticalAlignment "Center" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 5 -column 1 -Control $EncryptionMethod $EncryptionMethodCombo = @('Encrypt Button','DLP Policy', "Sensitivity Label", "Exchange Transport Rule (ETR)") $global:EncryptControlVariables.EncryptionMethodCombobox = Get-ComboBox -Margin "0,5,10,5" -Width 400 -HorizontalAlignment "Left" $global:EncryptControlVariables.EncryptionMethodCombobox.ItemsSource = $EncryptionMethodCombo Add-ControlToTableAt -TableObj $tableGrid -row 5 -column 2 -Control $global:EncryptControlVariables.EncryptionMethodCombobox #row 6 $MessageIDLabel = Show-Text -Text "Impacted Message ID" -IsBold $false -margin "0,0,10,0" -VerticalAlignment "Center" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 6 -column 1 -Control $MessageIDLabel $global:EncryptControlVariables.MessageID = Get-TextBox -Width 400 -Margin "0,0,10,0" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 6 -column 2 -Control $global:EncryptControlVariables.MessageID #row 7 $global:EncryptControlVariables.BrowseAttachLabel = Show-Text -Text "MTL Attachment/ Screenshot/ Fiddler /HAR / Other info?" -IsBold $false -margin "0,0,10,0" -HorizontalAlignment "Left" Add-ControlToTableAt -TableObj $tableGrid -row 7 -column 1 -Control $global:EncryptControlVariables.BrowseAttachLabel $global:EncryptControlVariables.EncBrowseAttachButton = Get-FileButton ` -GlobalScopeName "EncryptControlVariables" ` -GlobalVariableName "BrowsedFileLabel" ` -GlobalFileListName "fileData" ` -ButtonName "Browse Supporting Files" ` -Margin "0,0,10,0" ` -HorizontalAlignment "Left" ` -height 30 ` -width 220 ` -VerticalAlignment "Center" Add-ControlToTableAt -TableObj $tableGrid -row 7 -column 2 -Control $global:EncryptControlVariables.EncBrowseAttachButton $global:EncryptControlVariables.BrowsedFileLabel = Show-Text -Text "Attached Files" -IsBold $false -margin "0,0,10,0" -HorizontalAlignment "Left" $FilesScrollViewer = New-Object Windows.Controls.ScrollViewer $FilesScrollViewer.VerticalScrollBarVisibility = [Windows.Controls.ScrollBarVisibility]::Auto $FilesScrollViewer.HorizontalScrollBarVisibility = [Windows.Controls.ScrollBarVisibility]::Auto $FilesScrollViewer.Content = $global:EncryptControlVariables.BrowsedFileLabel Add-ControlToTableAt -TableObj $tableGrid -row 8 -column 2 -Control $FilesScrollViewer $tableGrid.Margin = New-Object System.Windows.Thickness(10,30,10,10) $tableGrid.HorizontalAlignment = "Center" $global:EncryptControlVariables.EncryptSupportDataTabContent.Children.Add($tableGrid) > $null $EncryptionoutputPanelTemplate.Column2.Children.Add($global:EncryptControlVariables.EncryptSupportDataTabContent ) > $null $DiagscrollViewer = New-Object Windows.Controls.ScrollViewer $DiagscrollViewer.VerticalScrollBarVisibility = [Windows.Controls.ScrollBarVisibility]::Auto $DiagscrollViewer.HorizontalScrollBarVisibility = [Windows.Controls.ScrollBarVisibility]::Auto $DiagscrollViewer.Content = $EncryptionoutputPanelTemplate.Grid $EncryptionTopTabControl.GatherSupportDataTabItem.Content = $DiagscrollViewer $global:EncryptControlVariables.EncryptSupportDataTabContent.Visibility = "hidden" $EncryptDiagButton.Add_Click({ Initialize-Encryption $global:EncryptControlVariables.EncryptSupportDataTabContent.Visibility = "visible" }) $EncryptExport = Get-Button -ButtonName "Export Support Data" $EncryptExport.Margin = New-Object System.Windows.Thickness(10,50,10,10) $global:EncryptControlVariables.EncryptSupportDataTabContent.Children.Add($EncryptExport) > $null $EncryptExport.Add_Click({ # Create a new SaveFileDialog object $Folder = Get-ExportFolder("ExportedEncryptionData") if (!$Folder) { return } $filePath = $Folder + "\"+"EncryptionExport.xmla" $supportData=@{} $supportData["EncryptionVersion"] = $global:EncryptControlVariables.EncryptionversionComboboxExo.Text $supportData["ImpactedReciever"] = $global:EncryptControlVariables.ImpactedrecieverTextBox.Text $supportData["ImpactedClient"] = $global:EncryptControlVariables.AffectedClientComboboxExo.Text $supportData["EncryptionMethod"] = $global:EncryptControlVariables.EncryptionMethodCombobox.Text $supportData["ImpactedSender"] = $global:EncryptControlVariables.ImpactedSenderTextBox.Text $supportData["MessageID"] = $global:EncryptControlVariables.MessageID.Text $supportData["DateTime"] = $global:ContextScopeVariables["EncryptionDateTime"] try { # Copy the files to the destination folder $supportData["SupportingFiles"] = Get-FileName($global:EncryptControlVariables.fileData) foreach ($file in $global:EncryptControlVariables.fileData) { Copy-Item $file $Folder -Force } # Save the object as an XMLA file $supportData | Export-Clixml -Path $filePath # Zip the destination folder CleanAndShowFolder -Folder $Folder -supportData $supportData -filePath $filePath } catch { [System.Windows.MessageBox]::Show("Failed to create zip file. Error message: $_", "Error", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Error) } }) $TabObject.Content = $EncryptionPanelGrid } #endregion encryption Export-ModuleMember -Function * # SIG # Begin signature block # MIIoOwYJKoZIhvcNAQcCoIIoLDCCKCgCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCC+iHngHCx6aXVt # Je0XzSQrLVkDHrhLx55VHxbYdyr+NqCCDYUwggYDMIID66ADAgECAhMzAAADri01 # UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p # bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB # AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG # yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 # QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 # 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV # M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd # WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w # VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh # dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW # gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v # d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw # MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov # L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx # XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB # AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W # 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY # 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV # APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 # ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 # xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t # Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i # 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk # 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK # 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO # zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK # YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv # c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm # aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw # OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE # BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD # VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG # 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la # UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc # 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D # dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ # lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk # kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 # A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd # X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL # 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd # sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 # T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS # 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI # bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL # BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD # uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv # c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf # MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 # dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf # MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF # BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h # cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA # YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn # 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 # v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b # pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ # KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy # CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp # mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi # hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb # BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS # oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL # gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX # cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGgwwghoIAgEBMIGVMH4x # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p # Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA # A64wDQYJYIZIAWUDBAIBBQCggbAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw # HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIFF1 # ylQ6feD6+qndbdRWb/uxuxmgxFR26ED+ybY9Iqf5MEQGCisGAQQBgjcCAQwxNjA0 # oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEcgBpodHRwczovL3d3dy5taWNyb3NvZnQu # Y29tIDANBgkqhkiG9w0BAQEFAASCAQC2NkQHiDmIIqpYQJTfO5JWVA+I/xVyHdfI # /pO/mjtDt8I3fu4Nn2flOXcqBsEtTOr7WoGxdTxdtOP+LP/GBiEl4S13cQiYmhJl # xRFwsTD1RGQr12dmKjTRxDJteGWBq7nmmg+lpDkjIj9as1/7Rnqbc3WWBqwa7SKv # n8pB1s4txk2GV2AEWdLf09Y3vUeRnPuaKarXmhIST3jGhdqGBsweXIpCgWuEo+Ua # Uu5jmhQ+CfqSmdh9d4MoxWy4p/utr+IUsj0G3hMdQnrJXG5E4xUb1HF4HcYqZkJZ # Oh75Q8k+OOXC/SiTjFW6g/Na16hy1fgqOB3x2gpajJyiQT32pQYcoYIXlDCCF5AG # CisGAQQBgjcDAwExgheAMIIXfAYJKoZIhvcNAQcCoIIXbTCCF2kCAQMxDzANBglg # hkgBZQMEAgEFADCCAVIGCyqGSIb3DQEJEAEEoIIBQQSCAT0wggE5AgEBBgorBgEE # AYRZCgMBMDEwDQYJYIZIAWUDBAIBBQAEIBjdrfHMw5gFs0NTx8kxa3WRwWUrnUZe # wP85dIY/KnqEAgZlzf+dZTAYEzIwMjQwMjIwMjEyNTE2LjM3MlowBIACAfSggdGk # gc4wgcsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH # EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNV # BAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGll # bGQgVFNTIEVTTjo5MjAwLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRp # bWUtU3RhbXAgU2VydmljZaCCEeowggcgMIIFCKADAgECAhMzAAAB5y6PL5MLTxvp # AAEAAAHnMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX # YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg # Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy # MDEwMB4XDTIzMTIwNjE4NDUxOVoXDTI1MDMwNTE4NDUxOVowgcsxCzAJBgNVBAYT # AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBB # bWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo5MjAw # LTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj # ZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMJXny/gi5Drn1c8zUO1 # pYy/38dFQLmR2IQXz1gE/r9GfuSOoyRnkRJ6Z/kSWLgIu1BVJ59GkXWPtLkssqKw # xY4ZFotxpVsZN9yYjW8xEnW3MzAI0igKr+/LxYfxB1XUH8Bvmwr5D3Ii/MbDjtN9 # c8TxGWtq7Ar976dafAy3TrRqQRmIknPVWHUuFJgpqI/1nbcRmYYRMJaKCQpty4Ce # G+HfKsxrz24F9p4dBkQcZCp2yQzjwQFxZJZ2mJJIGIDHKEdSRuSeX08/O0H9JTHN # FmNTNYeD1t/WapnRwiIBYLQSMrs42GVB8pJEdUsos0+mXf/5QvheNzRi92pzzyA4 # tSv/zhP3/Ermvza6W9GnYDz9qv1wbhbvrnS4poDFECaAviEqAhfn/RogCxvKok5r # o4gZIX1r4N9eXUulA80pHv3axwXu2MPlarAi6J9L1hSIcy9EuOMqTRJIJX+alcLQ # Gg+STlqx/GuslsKwl48dI4RuWknNGbNo/o4xfBFytvtNcVA6xOQq6qRa+9gg+9XM # LrxQz4yyQs+V3V6p044wrtJtt/a0ZJl/f6I7BZAxxZcH2DDmArcAhgrTxaQkm7LM # +p+K2C5t1EKZiv0JWw065b7AcNgaFyIkMXYuSuOQVSNRxdIgl31/ayxiK1n0K6sZ # XvgFBx+vGO+TUvyO+03ua6UjAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUz/7gmICf # Njh2kR/9mWuHUrvej1gwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIw # XwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9w # cy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3Js # MGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3Nv # ZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENB # JTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEF # BQcDCDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAHSh8NuT6WVa # LVwLqex+J7km2nT2jpvoBEKm+0M+rYoU/6GL5Q00/ssZyIq5ySpcKYFMUiF8F4ZL # G+TrJyiR1CvfzXmkQ5phZOce9DT7yErLzqvUXit8G7igcHlxPLTxPiiGsb85gb8H # +A2fPQ6Xq/u7+oSPPjzNdnpmXEobJnAqYplZoF3YNgTDMql0uQHGzoDp6dZlHSNj # 6rkV1tXjmCEZMqBKvkQIA6csPieMnB+MirSZFlbANlChe0lJpUdK7aUdAvdgcQWK # S6dtRMl818EMsvsa/6xOZGINmTLk4DGgsbaBpN+6IVt+mZJ89yCXkI5TN8xCfOkp # 9fr4WQjRBA2+4+lawNTyxH66eLZWYOjuuaomuibiKGBU10tox81Sq8EvlmJIrXOZ # oQsEn1r5g6MTmmZJqtbmwZufuJWQXZb0lAg4fq0ZYsUlLkezfrNqGSgeHyIP3rct # 4aNmqQW6wppRbvbIyP/LFN4YQM6givfmTBfGvVS77OS6vbL4W41jShmOmnOn3kBb # WV6E/TFo76gFXVd+9oK6v8Hk9UCnbHOuiwwRRwDCkmmKj5Vh8i58aPuZ5dwZBhYD # xSavwroC6j4mWPwh4VLqVK8qGpCmZ0HMAwao85Aq3U7DdlfF6Eru8CKKbdmIAuUz # QrnjqTSxmvF1k+CmbPs7zD2Acu7JkBB7MIIHcTCCBVmgAwIBAgITMwAAABXF52ue # AptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv # c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm # aWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgz # MjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE # BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD # VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcN # AQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxO # dcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQ # GOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq # /XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVW # Te/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7 # mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De # +JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM # 9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEz # OUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2 # ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqv # UAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q # 4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcV # AgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXS # ZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcC # ARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRv # cnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1 # AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaA # FNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j # cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8y # MDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6 # Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAt # MDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8 # qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7p # Zmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2C # DPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BA # ljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJ # eBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1 # MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz # 138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1 # V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLB # gqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0l # lOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFx # BmoQtB1VM1izoXBm8qGCA00wggI1AgEBMIH5oYHRpIHOMIHLMQswCQYDVQQGEwJV # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1l # cmljYSBPcGVyYXRpb25zMScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046OTIwMC0w # NUUwLUQ5NDcxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2Wi # IwoBATAHBgUrDgMCGgMVALNyBOcZqxLB792u75w97U0X+/BDoIGDMIGApH4wfDEL # MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v # bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWlj # cm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQELBQACBQDpfmwC # MCIYDzIwMjQwMjIwMDAwODM0WhgPMjAyNDAyMjEwMDA4MzRaMHQwOgYKKwYBBAGE # WQoEATEsMCowCgIFAOl+bAICAQAwBwIBAAICHiQwBwIBAAICE64wCgIFAOl/vYIC # AQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK # MAgCAQACAwGGoDANBgkqhkiG9w0BAQsFAAOCAQEASMF2HFzYPLUiIj9puaTYTwiz # ZiAqO+kquAdXGuZHq5OhUs/5RN8ZSPZZ2TqY5T21hKjb5/KeQQJk3QOgqNMQaHgK # ueR6EsFW5Y2BYuwJlzhT58+c2aBnaoCgMIJdESclH0kgmblS01e164yjMLurzHGD # 92iziCx7h6hQIcHIcUCxAXbJAfiXDQAvlR7xAr/AGZBajSF3NmESj8AYhYEl3lfj # X3TJ26qmYmmPhu5itG2sVDNsBUuVMgebPwqh87dt0uyjMFT1Yr37/7xrUBefVLIS # 3mEtRfhSvNyZMyYz1QgXIsbAbWEM6tkjpQ63A/5I8u5i/l9Mi8sqOfrZyPzxuDGC # BA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u # MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp # b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB # 5y6PL5MLTxvpAAEAAAHnMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMx # DQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIH9RHXgWgFAfsZbvsaXtzjLL # zLc5hsByLjLHEucDoYgQMIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQg5TZd # DXZqhv0N4MVcz1QUd4RfvgW/QAG9AwbuoLnWc60wgZgwgYCkfjB8MQswCQYDVQQG # EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG # A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg # VGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAecujy+TC08b6QABAAAB5zAiBCDmy2s2 # xhsAlJwoATlobcuibku+hLm0XGgFDh7x8g0d7TANBgkqhkiG9w0BAQsFAASCAgCR # 5rNbgZ43LOXJZLLIryqbeZOuLmmutC0w0RIjOMlfG4d1BfJ/nMrtdHs64mRSODu7 # gAxJi2qO4eAvBsU2jqPWEgMxUC0dFarMzyPGJQ9C0TUxYuIfRt4h7RQ0TJmFAM+o # nNMAjjlEj4tQPm3GlnuSdCoj2JhvrFrsWTnWI0WC+x63rckEM6MvazelBQkXBlVC # SXyfiV2G0/PFCDiNp+2bnpdMTKjQXvsmu7h6KfCkBcSjqRUY5uLCIexljWlFFCzp # z9IUFGnGkC/eW3n6zyBFY7U72nyTcZYOZW75oaNMYvfqh4NtKL2amhqqX3Pgi4VL # +BtaNaiuW2sZkQzjfIMb4aP+lSU7h4Hvw5B3/asjolfFnEtxDMk8NepH27qnj7os # RzwKe4WduPQSTmG1qypwMSdwD1OBXlqO5mwwtR4O16yoBv5IHP0a9mXJrkVflJBF # d8SlerChfveFtI+nWKwLe+NYqGrHKyWlm7Am1k05huNKA4pO/KM1zVZBQS8gVrhc # RJ7scWHdCORc+YqhrSbaGVR5uhjhcaR4tZGHeHdyPCP0R4rEAU8A0jGz703awkrs # AEJ3hEENpcMb1OMKh9Z/R6gJeDwgHXrPEwFnfKTfwFi862RsmWb/unysio6izO3A # Jy4SOlDZBwWEGbU+vftRvGycxGmZq2ztDNy11rHOfw== # SIG # End signature block |