# ------------------------------------------------------------------------------------------------------------ # # Author(s) : Peter Klapwijk - www.inthecloud247.com # # Version : 1.0 # # # # Description : Script that runs on network change and connects drive mapping(s) # # # # Changes : v1.0 - Initial version # # # # This script is provide "As-Is" without any warranties # # # #------------------------------------------------------------------------------------------------------------- # # ------------------------------------------------------------------------------------------------------- # # Functions # ------------------------------------------------------------------------------------------------------- # Function CleanUpAndExit() { Param( [Parameter(Mandatory=$True)][String]$ErrorLevel ) # Write results to log file $NOW = Get-Date -Format "yyyyMMdd-hhmmss" If ($ErrorLevel -eq "0") { Write-Host "Drive mappings connected successfully at $NOW" } else { Write-Host "Connecting drive mappings failed at $NOW with error $Errorlevel" } # Exit Script with the specified ErrorLevel Stop-Transcript | Out-Null EXIT $ErrorLevel } function Test-DCConnection { $DCConnection = Test-Connection ldap.ccx.carecentrix.com -Count 1 return ($DCConnection -ne $null) } function Test-DriveMappingG { $DriveMappingG = Get-PSDrive -Name "G" -erroraction 'silentlycontinue' return ($DriveMappingG -ne $null) } function Test-DriveMappingO { $DriveMappingO = Get-PSDrive -Name "O" -erroraction 'silentlycontinue' return ($DriveMappingO -ne $null) } function Test-DriveMappingR { $DriveMappingR = Get-PSDrive -Name "R" -erroraction 'silentlycontinue' return ($DriveMappingR -ne $null) } function Test-DriveMappingW { $DriveMappingW = Get-PSDrive -Name "W" -erroraction 'silentlycontinue' return ($DriveMappingW -ne $null) } function Test-DriveMappingY { $DriveMappingW = Get-PSDrive -Name "Y" -erroraction 'silentlycontinue' return ($DriveMappingY -ne $null) } # ------------------------------------------------------------------------------------------------------- # # Start Transcript # ------------------------------------------------------------------------------------------------------- # $Transcript = "C:\programdata\Microsoft\IntuneManagementExtension\Logs\$($(Split-Path $PSCommandPath -Leaf).ToLower().Replace(".ps1",".log"))" Start-Transcript -Path $Transcript | Out-Null # ------------------------------------------------------------------------------------------------------- # # Check domain connectivity # ------------------------------------------------------------------------------------------------------- # if (Test-DCConnection -eq $True){ Write-Host "STATUS: Domain connection OK" } else { Write-Host "STATUS: No connection with the domain. Unable to connect drive mappings!" CleanUpAndExit -ErrorLevel 1 } # ------------------------------------------------------------------------------------------------------- # # Get User AD Information # ------------------------------------------------------------------------------------------------------- # #$userinfo = Get-ADUser -Identity $env:username -Server ccx.carecentrix.com -Properties HomeDirectory $username = $env:username $filter = "SamAccountName=$username" $searcher = [DirectoryServices.DirectorySearcher]::new($ad,$filter) $user = $searcher.FindOne() $userinfo = $user.Properties # ------------------------------------------------------------------------------------------------------- # # Add drive mapping(s) # ------------------------------------------------------------------------------------------------------- # # ------------------------------------------------------------------------------------------------------- # # Standard Mappings # ------------------------------------------------------------------------------------------------------- # if (Test-DriveMappingG -eq $True){ Write-Host "A drive with the name 'G' already exists" } else { New-PSDrive -Name "G" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares" -Persist -Scope Global Write-Host "Drive G: is connected" } if (Test-DriveMappingY -eq $True){ Write-Host "A drive with the name 'Y' already exists" } else { New-PSDrive -Name "Y" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\apps\ebins_legacy" -Persist -Scope Global Write-Host "Drive Y: is connected" } # ------------------------------------------------------------------------------------------------------- # # Dept Specific Mappings # ------------------------------------------------------------------------------------------------------- # if (Test-DriveMappingO -eq $True){ Write-Host "A drive with the name 'O' already exists" } else { switch ($userinfo.DistinguishedName) { ($userinfo.DistinguishedName -like "*AZPH*"){ New-PSDrive -Name "O" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\ccx\AZPH" -Persist -Scope Global Write-Host "Drive O: is connected" break} ($userinfo.DistinguishedName -like "*FLT2*"){ New-PSDrive -Name "O" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\ccx\FLTA" -Persist -Scope Global Write-Host "Drive O: is connected" break} ($userinfo.DistinguishedName -like "*FLTA*"){ New-PSDrive -Name "O" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\ccx\FLTA" -Persist -Scope Global Write-Host "Drive O: is connected" break} ($userinfo.DistinguishedName -like "*KSOP*"){ New-PSDrive -Name "O" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\ccx\KSOP" -Persist -Scope Global Write-Host "Drive O: is connected" break} ($userinfo.DistinguishedName -like "*CTHA*"){ New-PSDrive -Name "O" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\ccx\CTHA" -Persist -Scope Global Write-Host "Drive O: is connected" break} ($userinfo.DistinguishedName -like "*CTST*"){ New-PSDrive -Name "O" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\ccx\CTHA" -Persist -Scope Global Write-Host "Drive O: is connected" break} ($userinfo.DistinguishedName -like "*NYME*"){ New-PSDrive -Name "O" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\ccx\NYME" -Persist -Scope Global Write-Host "Drive O: is connected" break} default { New-PSDrive -Name "O" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\ccx" -Persist -Scope Global Write-Host "Drive O: is connected" } } } if (Test-DriveMappingR -eq $True){ Write-Host "A drive with the name 'R' already exists" } else { switch ($userinfo.DistinguishedName) { ($userinfo.DistinguishedName -like "*AZPH*"){ New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\AZPH" -Persist -Scope Global Write-Host "Drive R is connected" break} ($userinfo.DistinguishedName -like "*FLT2*"){ New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\FLTA" -Persist -Scope Global Write-Host "Drive R is connected" break} ($userinfo.DistinguishedName -like "*FLTA*"){ New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\FLTA" -Persist -Scope Global Write-Host "Drive R is connected" break} ($userinfo.DistinguishedName -like "*KSOP*"){ New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\KSOP" -Persist -Scope Global Write-Host "Drive R is connected" break} ($userinfo.DistinguishedName -like "*CTHA*"){ New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\CTHA" -Persist -Scope Global Write-Host "Drive R is connected" break} ($userinfo.DistinguishedName -like "*CTST*"){ New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\CTHA" -Persist -Scope Global Write-Host "Drive R is connected" break} ($userinfo.DistinguishedName -like "*NYME*"){ New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\NYME" -Persist -Scope Global Write-Host "Drive R is connected" break} ($userinfo.DistinguishedName -like "*NMAL*"){ New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\NMAL" -Persist -Scope Global Write-Host "Drive R is connected" break} default { New-PSDrive -Name "R" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts" -Persist -Scope Global Write-Host "Drive R is connected" } } } if (Test-DriveMappingW -eq $True){ Write-Host "A drive with the name 'W' already exists" } else { switch ($userinfo.DistinguishedName) { ($userinfo.DistinguishedName -like "*AZPH*"){ New-PSDrive -Name "W" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\AZPH" -Persist -Scope Global Write-Host "Drive W is connected" break} ($userinfo.DistinguishedName -like "*FLT2*"){ New-PSDrive -Name "W" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\FLTA" -Persist -Scope Global Write-Host "Drive W is connected" break} ($userinfo.DistinguishedName -like "*FLTA*"){ New-PSDrive -Name "W" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\FLTA" -Persist -Scope Global Write-Host "Drive W is connected" break} ($userinfo.DistinguishedName -like "*KSOP*"){ New-PSDrive -Name "W" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\KSOP" -Persist -Scope Global Write-Host "Drive W is connected" break} ($userinfo.DistinguishedName -like "*CTHA*"){ New-PSDrive -Name "W" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\CTHA" -Persist -Scope Global Write-Host "Drive W is connected" break} ($userinfo.DistinguishedName -like "*CTST*"){ New-PSDrive -Name "W" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\CTHA" -Persist -Scope Global Write-Host "Drive W is connected" break} ($userinfo.DistinguishedName -like "*NYME*"){ New-PSDrive -Name "W" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\NYME" -Persist -Scope Global Write-Host "Drive W is connected" break} ($userinfo.DistinguishedName -like "*NMAL*"){ New-PSDrive -Name "W" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts\NMAL" -Persist -Scope Global Write-Host "Drive W is connected" break} default { New-PSDrive -Name "W" -PSProvider FileSystem -Root "\\ccx.carecentrix.com\shares\Depts" -Persist -Scope Global Write-Host "Drive W is connected" } } } # ------------------------------------------------------------------------------------------------------- # # Check end state # ------------------------------------------------------------------------------------------------------- # if (Test-DriveMappingG -eq $True){ Write-Host "STATUS: G: drive connected" } else { Write-Host "STATUS: G: drive not connected, unknown error" CleanUpAndExit -ErrorLevel 2 } if (Test-DriveMappingY -eq $True){ Write-Host "STATUS: Y: drive connected" } else { Write-Host "STATUS: Y: drive not connected, unknown error" CleanUpAndExit -ErrorLevel 2 } if (Test-DriveMappingO -eq $True){ Write-Host "STATUS: O: drive connected" } else { Write-Host "STATUS: O: drive not connected, unknown error" CleanUpAndExit -ErrorLevel 2 } if (Test-DriveMappingP -eq $True){ Write-Host "STATUS: P: drive connected" CleanUpAndExit -ErrorLevel 0 } else { Write-Host "STATUS: P: drive not connected, unknown error" CleanUpAndExit -ErrorLevel 2 } if (Test-DriveMappingR -eq $True){ Write-Host "STATUS: R: drive connected" CleanUpAndExit -ErrorLevel 0 } else { Write-Host "STATUS: R: drive not connected, unknown error" CleanUpAndExit -ErrorLevel 2 } if (Test-DriveMappingW -eq $True){ Write-Host "STATUS: W: drive connected" CleanUpAndExit -ErrorLevel 0 } else { Write-Host "STATUS: W: drive not connected, unknown error" CleanUpAndExit -ErrorLevel 2 } # SIG # Begin signature block # MIIWKAYJKoZIhvcNAQcCoIIWGTCCFhUCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUXds1YbXTOMQCeX+MxCkjU5+u # 5I6gghNzMIIFuTCCBKGgAwIBAgITEwAF2WJyfRrDOWPSpAAAAAXZYjANBgkqhkiG # 9w0BAQsFADBnMRMwEQYKCZImiZPyLGQBGRYDY29tMRswGQYKCZImiZPyLGQBGRYL # Y2FyZWNlbnRyaXgxEzARBgoJkiaJk/IsZAEZFgNjY3gxHjAcBgNVBAMTFUNDWCBE # b21haW4gSXNzdWluZyBDQTAeFw0yMzAzMTYxNDE0MzRaFw0yODAzMTQxNDE0MzRa # MIGUMRMwEQYKCZImiZPyLGQBGRYDY29tMRswGQYKCZImiZPyLGQBGRYLY2FyZWNl # bnRyaXgxEzARBgoJkiaJk/IsZAEZFgNjY3gxGTAXBgNVBAsTEFNlcnZlcmxlc3Mg # U2l0ZXMxFzAVBgNVBAsTDldvcmsgRnJvbSBIb21lMRcwFQYDVQQDEw5BbWFzb24s # IEFuZHJldzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMLCjBaNvPFh # rtISwkR9DTn3Wx6YlH/AjKFLH+6MEbKdwWWUPyWQ6XUcMug/PbAvKuSMmEodBN+h # r2pFKPT/YXGZGCWisJMlkR7nQrdnzb6oGiWxhoS7ElD6YUqTriVBxBOj8Dx494Lc # /P76Jshby0ral37gJsd2nRL8Yw9TzzJP2H6aFuwJ9T/W8vdibYWef4jUxfgTJ+sA # rePJONZwRTYkZHfCCQTQgGvaBv6RJ3WMWSzCLewnm6cAqu7rgeknmNfC2/gasBg2 # UPXyITK6edSx1XfXTfUr5TbJpi+cWOKuixUqOmNYJaRf/4jlTvnsDCKtBRtMA6WT # gYGrNx59RFUCAwEAAaOCAi4wggIqMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcV # CIe8uiGEwuM0zYklgq6SOoSJ8HiBD4flphKDp98YAgFkAgEDMBMGA1UdJQQMMAoG # CCsGAQUFBwMDMA4GA1UdDwEB/wQEAwIHgDAbBgkrBgEEAYI3FQoEDjAMMAoGCCsG # AQUFBwMDMB0GA1UdDgQWBBRpLREEN8ouqVAjy36kDfV4M4YSTzAfBgNVHSMEGDAW # gBSWx7Rvmiz0f0ZAwCpnHof4LRWcKTBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8v # cGtpLmNjeC5jYXJlY2VudHJpeC5jb20vY2VydGVucm9sbC9DQ1glMjBEb21haW4l # MjBJc3N1aW5nJTIwQ0EuY3JsMIGBBggrBgEFBQcBAQR1MHMwcQYIKwYBBQUHMAKG # ZWh0dHA6Ly9wa2kuY2N4LmNhcmVjZW50cml4LmNvbS9jZXJ0ZW5yb2xsL1BQS0kw # MDQuY2N4LmNhcmVjZW50cml4LmNvbV9DQ1glMjBEb21haW4lMjBJc3N1aW5nJTIw # Q0EuY3J0MDgGA1UdEQQxMC+gLQYKKwYBBAGCNxQCA6AfDB1hbmRyZXcuYW1hc29u # QGNhcmVjZW50cml4LmNvbTBNBgkrBgEEAYI3GQIEQDA+oDwGCisGAQQBgjcZAgGg # LgQsUy0xLTUtMjEtMTE3OTk0ODU1LTE2OTk3ODc3LTM1ODA5NTM0MzgtODI0MDkw # DQYJKoZIhvcNAQELBQADggEBAFDwW1McWcyvVDe+vYaKdi3raEkRXlDAUnyblXzw # juBRARJS/G4SdIT7sWYMefvRDjY6LF+aaJKpBtp/VlIveUaeNZ+wpai7bwXYtxKb # ZF6dnKFhnSzzmApi09ep3jkD/WADgy6jZ4k5i6GZvqHN3r9s5Wc7/AP45pcgOLXF # n7yVa+5nlHJ/I4orxGvJuj0H/wOhoH3ESaUJuWXo6ANcfnCsP8ETWfBlm9jrW0tG # MST88T1GuP8vvL651uacOKYjy5LMIm4zFwjhEtg/fSfXIIybsOUkzrt1FB1OEkiL # pimivoRafSa2zfZNx2/jws0Q3KVSADB5NI3MHvJiBdGQz1owgga3MIIFn6ADAgEC # AhMTAAAAAquNE9NCf3mRAAAAAAACMA0GCSqGSIb3DQEBCwUAMCsxKTAnBgNVBAMT # IENhcmVDZW50cml4IENvcnBvcmF0ZSBSb290IENBIElJMB4XDTE2MDMwMzE5MDQw # OFoXDTM2MDMwMzE3NDgxMFowLDEqMCgGA1UEAxMhQ2FyZUNlbnRyaXggQ29ycG9y # YXRlIFBvbGljeSBDQSBJMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA # mih9mZKxa2GGpc3RxX6Y8zQlP8lRsZ05KtC+RkIEJAs9ucIbEvWCTExjqG2Wmt9w # 0Ph6+ZOxafEa0awsMzvRa2upsBs6rEqhvuWKySoXxtSJE/eJyYqAqwa6qmIeFZYA # mE6ewprnyO+1r9HSbW+OHWAe7LMWnGLCdX/ls3yB9p9ax/DGR/3xX+XBrEreevOF # srAUDzcgHpi4vAh4j1TQdvH2AtZ47AsHirakZI1vBrygf9uLPWSxKwyMy9xebiZl # mKc4WPR51aYXwt8nsUy6MnjTjOvFJto+dHakWQngEW/dYDy3JUh5LIkuYDJvIm5v # MQyug7Yh02CZs4+1NMVsPQIDAQABo4ID0TCCA80wEAYJKwYBBAGCNxUBBAMCAQAw # HQYDVR0OBBYEFMP+zZMzw1VnJs8h5P18DA4SsUN0MIGpBgNVHSAEgaEwgZ4wgZsG # IiqGSIb3FAG+QJN6s3DjBYGPDoGSSILqTYLehhyF1N84AmQwdTA6BggrBgEFBQcC # AjAuHiwATABlAGcAYQBsACAAUABvAGwAaQBjAHkAIABTAHQAYQB0AGUAbQBlAG4A # dDA3BggrBgEFBQcCARYraHR0cDovL3BraS5jY3guY2FyZWNlbnRyaXguY29tL3Br # aS9jcHMudHh0ADAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC # AYYwEgYDVR0TAQH/BAgwBgEB/wIBATAfBgNVHSMEGDAWgBSrs2vcHt1Q/sf0tn+I # DWEvItiT3TCCAUcGA1UdHwSCAT4wggE6MIIBNqCCATKgggEuhoHTbGRhcDovLy9D # Tj1DYXJlQ2VudHJpeCUyMENvcnBvcmF0ZSUyMFJvb3QlMjBDQSUyMElJLENOPVBQ # S0kwMDEsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp # Y2VzLENOPUNvbmZpZ3VyYXRpb24sREM9Q2FyZUNlbnRyaXgsREM9Q29tP2NlcnRp # ZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmli # dXRpb25Qb2ludIZWaHR0cDovL3BraS5jY3guY2FyZWNlbnRyaXguY29tL2NlcnRl # bnJvbGwvQ2FyZUNlbnRyaXglMjBDb3Jwb3JhdGUlMjBSb290JTIwQ0ElMjBJSS5j # cmwwggFEBggrBgEFBQcBAQSCATYwggEyMIHLBggrBgEFBQcwAoaBvmxkYXA6Ly8v # Q049Q2FyZUNlbnRyaXglMjBDb3Jwb3JhdGUlMjBSb290JTIwQ0ElMjBJSSxDTj1B # SUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29u # ZmlndXJhdGlvbixEQz1DYXJlQ2VudHJpeCxEQz1Db20/Y0FDZXJ0aWZpY2F0ZT9i # YXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwYgYIKwYBBQUH # MAKGVmh0dHA6Ly9wa2kuY2N4LmNhcmVjZW50cml4LmNvbS9jZXJ0ZW5yb2xsL0Nh # cmVDZW50cml4JTIwQ29ycG9yYXRlJTIwUm9vdCUyMENBJTIwSUkuY3J0MA0GCSqG # SIb3DQEBCwUAA4IBAQBGcGvwx7dsRpHryqeJKG9U60dL6WA3fWHw5laVScvL8TPD # gh0Jb4fTtkV+pSxfszlPlWzzgHWlUvL/t7QNSLNjeE6eS+17QRxi37sGqBT0xfk3 # iwXK9ydqLz4MUlBL0XBJdM1fd/DLruowgMKaIks7getYzPM6WfJ6ghdk8DWYBdsX # YwZRw3TU3KD0hS3aAoF41/jZ1OdimXDZpE7xPhcf1eNYyZiGttwidGh0MEouFcuD # 78Lc/7C0F8F/CyL1IWeaMsqWjksup71owXcTdEqrL0+hOI846KomZXT/6gRsSqJl # SNf+0/10R7eBWAmNk0ey2kTFGa2fAeCKCBTblcmUMIIG9zCCBd+gAwIBAgITNAAA # AATg0fZdj7qTuwAAAAAABDANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDEyFDYXJl # Q2VudHJpeCBDb3Jwb3JhdGUgUG9saWN5IENBIEkwHhcNMTYwMzE3MjAyNzU3WhcN # MzYwMzAzMTc0ODEwWjBnMRMwEQYKCZImiZPyLGQBGRYDY29tMRswGQYKCZImiZPy # LGQBGRYLY2FyZWNlbnRyaXgxEzARBgoJkiaJk/IsZAEZFgNjY3gxHjAcBgNVBAMT # FUNDWCBEb21haW4gSXNzdWluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC # AQoCggEBAJXYrY06ABvry0Gx0t04eEl/UUvtb9yJ5Il+pUIjx5MuR0ya13sEk85J # p+L4hf1zVf3EniLJDLVn38j3BGxyIJQKkUmsE05JQ2oV1I5Q5bnHesBJSPs/ccRi # BGAhKxGyx7rMUn5zV/tBzhuDzmLNoWdEeUanbkS38IXOEjlbr/O7PjznCGB0B/8O # WDE8hBqbceIL3E7Sk/8chcDK24sMTq/5u7NBjGAa7q7R2Qa+WtcqeG1tuNbZiqMk # wUnIBNy4FVcRIFpEl0AM9zOavGoAUV2o2xCR9yQ3pzhLaUhQr/ozQX1sV+RWCkz8 # WeROkqEkFXoA28vLXRs2KGFo/gD3H4kCAwEAAaOCA9UwggPRMBAGCSsGAQQBgjcV # AQQDAgEAMB0GA1UdDgQWBBSWx7Rvmiz0f0ZAwCpnHof4LRWcKTCBqQYDVR0gBIGh # MIGeMIGbBiIqhkiG9xQBvkCTerNw4wWBjw6BkkiC6k2C3oYchdTfOAJkMHUwOgYI # KwYBBQUHAgIwLh4sAEwAZQBnAGEAbAAgAFAAbwBsAGkAYwB5ACAAUwB0AGEAdABl # AG0AZQBuAHQwNwYIKwYBBQUHAgEWK2h0dHA6Ly9wa2kuY2N4LmNhcmVjZW50cml4 # LmNvbS9wa2kvY3BzLnR4dAAwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYD # VR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUw/7NkzPD # VWcmzyHk/XwMDhKxQ3QwggFJBgNVHR8EggFAMIIBPDCCATigggE0oIIBMIaB1Gxk # YXA6Ly8vQ049Q2FyZUNlbnRyaXglMjBDb3Jwb3JhdGUlMjBQb2xpY3klMjBDQSUy # MEksQ049UFBLSTAwMixDTj1DRFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs # Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1DYXJlQ2VudHJpeCxEQz1j # b20/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS # TERpc3RyaWJ1dGlvblBvaW50hldodHRwOi8vcGtpLmNjeC5jYXJlY2VudHJpeC5j # b20vY2VydGVucm9sbC9DYXJlQ2VudHJpeCUyMENvcnBvcmF0ZSUyMFBvbGljeSUy # MENBJTIwSS5jcmwwggFGBggrBgEFBQcBAQSCATgwggE0MIHMBggrBgEFBQcwAoaB # v2xkYXA6Ly8vQ049Q2FyZUNlbnRyaXglMjBDb3Jwb3JhdGUlMjBQb2xpY3klMjBD # QSUyMEksQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp # Y2VzLENOPUNvbmZpZ3VyYXRpb24sREM9Q2FyZUNlbnRyaXgsREM9Y29tP2NBQ2Vy # dGlmaWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5 # MGMGCCsGAQUFBzAChldodHRwOi8vcGtpLmNjeC5jYXJlY2VudHJpeC5jb20vY2Vy # dGVucm9sbC9DYXJlQ2VudHJpeCUyMENvcnBvcmF0ZSUyMFBvbGljeSUyMENBJTIw # SS5jcnQwDQYJKoZIhvcNAQELBQADggEBABdT37EVfHA6MyrYGsYRqcCEqPTAnO3G # z8u8XDKea4TWA9pEoziLFWD89TJZSYvaUDIdLCwi1/UPyVNpLBrjKhX68FqOZejD # i2wfaVGXIX/5vT2o4uttXSmIUn+zNx+k2n84u3CwVv0PrO+/8RBdH2Vgm1m+aho7 # G31tgK/63HX9RsJ0gVHLj090dO4GaaSU+0MeeXyouGj933H5r6mYr84uaXyBgs6V # T1YRWYOGByq6HkS0Y0nYEkwxYeOJO6QxydZdtQN2DL1OPjkTVz20IJ46c8XBEDvo # Gz2FD2qZw+H4h7mK1DJWPgdpaHLRJFM5lBUmfUVMzed37fE9d7UNhEQxggIfMIIC # GwIBATB+MGcxEzARBgoJkiaJk/IsZAEZFgNjb20xGzAZBgoJkiaJk/IsZAEZFgtj # YXJlY2VudHJpeDETMBEGCgmSJomT8ixkARkWA2NjeDEeMBwGA1UEAxMVQ0NYIERv # bWFpbiBJc3N1aW5nIENBAhMTAAXZYnJ9GsM5Y9KkAAAABdliMAkGBSsOAwIaBQCg # eDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgorBgEE # AYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJ # BDEWBBStTVz+56O45cbuEIQpf6Rj2TfVXjANBgkqhkiG9w0BAQEFAASCAQC58lXC # i6QwnaFZOdjMSICRTBkkATm3wei1ofU3JuTEhVP5epZxxnPmx88fPWAwnDmf593l # mU1GsBDH5coxA1aSb17nCfLg4ugaz6PUpd5NXJFgrYIW9W4/XOeoBxS1gZ8zGbmK # jwNk6QqTyARSmQMUrcanH42U07e/iaRkvXtfI+dDcJDR/SH7iT/x2tPWoEHGZ70J # fYh/17QDmsBduYbkqy1symQB8hTqmsmoCvnqjXbkCBIhufVCvESGw7sj17N8VZXX # K3M8EL3MqAk2bkySgjhTukCX4d2ugk26Wdv9CmttSHV59WV9jrtbFap7dXxtKCGv # BCzxF835hs3tO6u4 # SIG # End signature block