functions/Get-IntuneResourceSite.ps1
function Get-IntuneResourceSite { [CmdletBinding(DefaultParameterSetName = 'SomeSite')] param ( [Parameter(ValueFromPipeline, ParameterSetName = 'SomeSite')] [String] $SiteName, [Parameter(ParameterSetName = 'MySite')] [Switch] $MySite, [Parameter(ParameterSetName = 'NotMySite')] [Switch] $NotMySite, [Parameter(ValueFromPipelineByPropertyName)] [String] $Path = "$([System.Environment]::GetFolderPath('CommonApplicationData'))/IntuneResourceLocalization" ) begin { Write-Information "Function Get-IntuneResourceSite started" if (!$Script:Configuration) { throw [EnvironmentException]'The configuration has not been set yet. Please use the cmdlet "Get-IntuneResourceEnvironment" to initialize' } [array]$CentralConfiguration = Get-IntuneResourceConfigurationfile -Path $Path # check if we have a connection to the backend servers try { Write-Information "+- Check connectivity to servers..." [bool]$connectionToBackend = 0 if ($CentralConfiguration.locations) { $backendServers = Get-ServersFromConfigurationFile -configArray $CentralConfiguration Write-Information "+- Found $($backendServers.Count) unique servers in configuration file" foreach ($backendServer in $backendServers) { Write-Information "+- Testing connectivity to $($backendServer)" $connectionToBackend = Get-ConnectionStatus -Server $backendServer -protocol 'SMB' # legacy if (!$connectionToBackend) {$connectionToBackend = Get-ConnectionStatus -Server $backendServer -protocol 'HTTP'} # universal cloud printing if ($connectionToBackend) { Write-Information "+- Connection to $($backendServer) was true" break } } } } catch [ConfigurationFileNotFoundException] { throw $_ } } process { # process the config if a connection is available if ($connectionToBackend) { switch ($PSCmdlet.ParameterSetName) { 'SomeSite' { if ($SiteName) { # We want to retrieve a specific site by name Write-Information "+- SomeSite switch: site information was requested for site $($SiteName)" $sites = Get-SiteFromName -SiteName $SiteName -Path $Path -CentralConfiguration $CentralConfiguration } else { # We want to retrieve all sites $sites = Get-SiteFromName -SiteName '' --Path $Path CentralConfiguration $CentralConfiguration Write-Information "+- SomeSite switch: all sites ($($sites.Count)) were retrieved" } } 'MySite' { # return the site for which the device ipaddress is in range of a Site Write-Information "+- MySite switch: current site information is being retrieved..." $sites = Get-MySiteFromIP -Path $Path -MySite -CentralConfiguration $CentralConfiguration Write-Information "+- $($sites.count) site(s) were retrieved based on IP information" # if no results, we should now check if Site can be found via group memberships if (!$sites) { $sites = Get-MySiteFromGroup -Path $Path -MySite -CentralConfiguration $CentralConfiguration Write-Information "+- $($sites.count) site(s) were retrieved based on group membership" } } Default { # first check if there's a definition for the current site based on ipaddress Write-Information "+- NotMySite or undefined switch: all but current site information is being retrieved..." $site = Get-MySiteFromIP -Path $Path -MySite -CentralConfiguration $CentralConfiguration if ($site) { # if so, we know checks are based on CIDR and exclusions should be as well Write-Information "+- Current site was retrieved based on IP configuration" $sites = Get-MySiteFromIP -Path $Path -CentralConfiguration $CentralConfiguration Write-Information "+- All sites were retrieved ($($sites.count)) based on IP information" } else { # if not, we need to fallback onto group membership and return all sites for which the group membership is not in range, similar to NotMySite behavior Write-Information "+- Current site information could not be retrieved based on IP, trying group memberships" $sites = Get-MySiteFromGroup -Path $Path -CentralConfiguration $CentralConfiguration Write-Information "+- All sites were retrieved ($($sites.count)) based on group membership" } } } } else { Write-Information "+- Backend connectivity could not be established" switch ($PSCmdlet.ParameterSetName) { 'MySite' { # return null since there is no connection to the backend $sites = $null Write-Information "+- MySite switch: current site will be set to null in this case" } Default { # retrieve all sites, since there is no connection to the backend, is similar to NotMySite with empty main site $sites = Get-SiteFromName -SiteName '' -Path $Path -CentralConfiguration $CentralConfiguration Write-Information "+- NotMySite or undefined switch: all sites ($($sites.Count)) were retrieved" } } } } end { $sites Write-Information "Function Get-IntuneResourceSite ended" } } # SIG # Begin signature block # MIIuxQYJKoZIhvcNAQcCoIIutjCCLrICAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAmNAmgzxDXBmIO # wM68/r0CLmhTxmMeYe/uq+zJ+w3oKqCCFD4wggVyMIIDWqADAgECAhB2U/6sdUZI # k/Xl10pIOk74MA0GCSqGSIb3DQEBDAUAMFMxCzAJBgNVBAYTAkJFMRkwFwYDVQQK # ExBHbG9iYWxTaWduIG52LXNhMSkwJwYDVQQDEyBHbG9iYWxTaWduIENvZGUgU2ln # bmluZyBSb290IFI0NTAeFw0yMDAzMTgwMDAwMDBaFw00NTAzMTgwMDAwMDBaMFMx # CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSkwJwYDVQQD # EyBHbG9iYWxTaWduIENvZGUgU2lnbmluZyBSb290IFI0NTCCAiIwDQYJKoZIhvcN # AQEBBQADggIPADCCAgoCggIBALYtxTDdeuirkD0DcrA6S5kWYbLl/6VnHTcc5X7s # k4OqhPWjQ5uYRYq4Y1ddmwCIBCXp+GiSS4LYS8lKA/Oof2qPimEnvaFE0P31PyLC # o0+RjbMFsiiCkV37WYgFC5cGwpj4LKczJO5QOkHM8KCwex1N0qhYOJbp3/kbkbuL # ECzSx0Mdogl0oYCve+YzCgxZa4689Ktal3t/rlX7hPCA/oRM1+K6vcR1oW+9YRB0 # RLKYB+J0q/9o3GwmPukf5eAEh60w0wyNA3xVuBZwXCR4ICXrZ2eIq7pONJhrcBHe # OMrUvqHAnOHfHgIB2DvhZ0OEts/8dLcvhKO/ugk3PWdssUVcGWGrQYP1rB3rdw1G # R3POv72Vle2dK4gQ/vpY6KdX4bPPqFrpByWbEsSegHI9k9yMlN87ROYmgPzSwwPw # jAzSRdYu54+YnuYE7kJuZ35CFnFi5wT5YMZkobacgSFOK8ZtaJSGxpl0c2cxepHy # 1Ix5bnymu35Gb03FhRIrz5oiRAiohTfOB2FXBhcSJMDEMXOhmDVXR34QOkXZLaRR # kJipoAc3xGUaqhxrFnf3p5fsPxkwmW8x++pAsufSxPrJ0PBQdnRZ+o1tFzK++Ol+ # A/Tnh3Wa1EqRLIUDEwIrQoDyiWo2z8hMoM6e+MuNrRan097VmxinxpI68YJj8S4O # JGTfAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0G # A1UdDgQWBBQfAL9GgAr8eDm3pbRD2VZQu86WOzANBgkqhkiG9w0BAQwFAAOCAgEA # Xiu6dJc0RF92SChAhJPuAW7pobPWgCXme+S8CZE9D/x2rdfUMCC7j2DQkdYc8pzv # eBorlDICwSSWUlIC0PPR/PKbOW6Z4R+OQ0F9mh5byV2ahPwm5ofzdHImraQb2T07 # alKgPAkeLx57szO0Rcf3rLGvk2Ctdq64shV464Nq6//bRqsk5e4C+pAfWcAvXda3 # XaRcELdyU/hBTsz6eBolSsr+hWJDYcO0N6qB0vTWOg+9jVl+MEfeK2vnIVAzX9Rn # m9S4Z588J5kD/4VDjnMSyiDN6GHVsWbcF9Y5bQ/bzyM3oYKJThxrP9agzaoHnT5C # JqrXDO76R78aUn7RdYHTyYpiF21PiKAhoCY+r23ZYjAf6Zgorm6N1Y5McmaTgI0q # 41XHYGeQQlZcIlEPs9xOOe5N3dkdeBBUO27Ql28DtR6yI3PGErKaZND8lYUkqP/f # obDckUCu3wkzq7ndkrfxzJF0O2nrZ5cbkL/nx6BvcbtXv7ePWu16QGoWzYCELS/h # AtQklEOzFfwMKxv9cW/8y7x1Fzpeg9LJsy8b1ZyNf1T+fn7kVqOHp53hWVKUQY9t # W76GlZr/GnbdQNJRSnC0HzNjI3c/7CceWeQIh+00gkoPP/6gHcH1Z3NFhnj0qinp # J4fGGdvGExTDOUmHTaCX4GUT9Z13Vunas1jHOvLAzYIwggboMIIE0KADAgECAhB3 # vQ4Ft1kLth1HYVMeP3XtMA0GCSqGSIb3DQEBCwUAMFMxCzAJBgNVBAYTAkJFMRkw # FwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSkwJwYDVQQDEyBHbG9iYWxTaWduIENv # ZGUgU2lnbmluZyBSb290IFI0NTAeFw0yMDA3MjgwMDAwMDBaFw0zMDA3MjgwMDAw # MDBaMFwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTIw # MAYDVQQDEylHbG9iYWxTaWduIEdDQyBSNDUgRVYgQ29kZVNpZ25pbmcgQ0EgMjAy # MDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMsg75ceuQEyQ6BbqYoj # /SBerjgSi8os1P9B2BpV1BlTt/2jF+d6OVzA984Ro/ml7QH6tbqT76+T3PjisxlM # g7BKRFAEeIQQaqTWlpCOgfh8qy+1o1cz0lh7lA5tD6WRJiqzg09ysYp7ZJLQ8LRV # X5YLEeWatSyyEc8lG31RK5gfSaNf+BOeNbgDAtqkEy+FSu/EL3AOwdTMMxLsvUCV # 0xHK5s2zBZzIU+tS13hMUQGSgt4T8weOdLqEgJ/SpBUO6K/r94n233Hw0b6nskEz # IHXMsdXtHQcZxOsmd/KrbReTSam35sOQnMa47MzJe5pexcUkk2NvfhCLYc+YVaMk # oog28vmfvpMusgafJsAMAVYS4bKKnw4e3JiLLs/a4ok0ph8moKiueG3soYgVPMLq # 7rfYrWGlr3A2onmO3A1zwPHkLKuU7FgGOTZI1jta6CLOdA6vLPEV2tG0leis1Ult # 5a/dm2tjIF2OfjuyQ9hiOpTlzbSYszcZJBJyc6sEsAnchebUIgTvQCodLm3HadNu # twFsDeCXpxbmJouI9wNEhl9iZ0y1pzeoVdwDNoxuz202JvEOj7A9ccDhMqeC5LYy # AjIwfLWTyCH9PIjmaWP47nXJi8Kr77o6/elev7YR8b7wPcoyPm593g9+m5XEEofn # GrhO7izB36Fl6CSDySrC/blTAgMBAAGjggGtMIIBqTAOBgNVHQ8BAf8EBAMCAYYw # EwYDVR0lBAwwCgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4E # FgQUJZ3Q/FkJhmPF7POxEztXHAOSNhEwHwYDVR0jBBgwFoAUHwC/RoAK/Hg5t6W0 # Q9lWULvOljswgZMGCCsGAQUFBwEBBIGGMIGDMDkGCCsGAQUFBzABhi1odHRwOi8v # b2NzcC5nbG9iYWxzaWduLmNvbS9jb2Rlc2lnbmluZ3Jvb3RyNDUwRgYIKwYBBQUH # MAKGOmh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2NvZGVzaWdu # aW5ncm9vdHI0NS5jcnQwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2NybC5nbG9i # YWxzaWduLmNvbS9jb2Rlc2lnbmluZ3Jvb3RyNDUuY3JsMFUGA1UdIAROMEwwQQYJ # KwYBBAGgMgECMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24u # Y29tL3JlcG9zaXRvcnkvMAcGBWeBDAEDMA0GCSqGSIb3DQEBCwUAA4ICAQAldaAJ # yTm6t6E5iS8Yn6vW6x1L6JR8DQdomxyd73G2F2prAk+zP4ZFh8xlm0zjWAYCImbV # YQLFY4/UovG2XiULd5bpzXFAM4gp7O7zom28TbU+BkvJczPKCBQtPUzosLp1pnQt # pFg6bBNJ+KUVChSWhbFqaDQlQq+WVvQQ+iR98StywRbha+vmqZjHPlr00Bid/XSX # hndGKj0jfShziq7vKxuav2xTpxSePIdxwF6OyPvTKpIz6ldNXgdeysEYrIEtGiH6 # bs+XYXvfcXo6ymP31TBENzL+u0OF3Lr8psozGSt3bdvLBfB+X3Uuora/Nao2Y8nO # ZNm9/Lws80lWAMgSK8YnuzevV+/Ezx4pxPTiLc4qYc9X7fUKQOL1GNYe6ZAvytOH # X5OKSBoRHeU3hZ8uZmKaXoFOlaxVV0PcU4slfjxhD4oLuvU/pteO9wRWXiG7n9dq # cYC/lt5yA9jYIivzJxZPOOhRQAyuku++PX33gMZMNleElaeEFUgwDlInCI2Oor0i # xxnJpsoOqHo222q6YV8RJJWk4o5o7hmpSZle0LQ0vdb5QMcQlzFSOTUpEYck08T7 # qWPLd0jV+mL8JOAEek7Q5G7ezp44UCb0IXFl1wkl1MkHAHq4x/N36MXU4lXQ0x72 # f1LiSY25EXIMiEQmM2YBRN/kMw4h3mKJSAfa9TCCB9gwggXAoAMCAQICDBWogW6/ # LwshkhlS8zANBgkqhkiG9w0BAQsFADBcMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQ # R2xvYmFsU2lnbiBudi1zYTEyMDAGA1UEAxMpR2xvYmFsU2lnbiBHQ0MgUjQ1IEVW # IENvZGVTaWduaW5nIENBIDIwMjAwHhcNMjQxMjEzMTIwMTMwWhcNMjUxMjE0MTIw # MTMwWjCCAQwxHTAbBgNVBA8MFFByaXZhdGUgT3JnYW5pemF0aW9uMRUwEwYDVQQF # EwwwNDI5LjAzNy4yMzUxEzARBgsrBgEEAYI3PAIBAxMCQkUxCzAJBgNVBAYTAkJF # MRcwFQYDVQQIEw5WbGFhbXMtQnJhYmFudDEQMA4GA1UEBxMHQmVlcnNlbDEbMBkG # A1UECRMSQS4gVmF1Y2FtcHNsYWFuIDQyMRowGAYDVQQKExFJbmV0dW0gQmVsZ2l1 # bSBOVjEaMBgGA1UEAxMRSW5ldHVtIEJlbGdpdW0gTlYxMjAwBgkqhkiG9w0BCQEW # I3N0aWpuLnNvZW5zQGluZXR1bS1yZWFsZG9sbWVuLndvcmxkMIICIjANBgkqhkiG # 9w0BAQEFAAOCAg8AMIICCgKCAgEAv4j0mMO8/KNDdm0dp624UDqAcIy901BIXPcB # MaVLkl9IL/g9OBVVTLeTIvMYm425wHf+62r3I8QYf/2xXEEu4KoIPc+lzOAMQzWQ # vCxQjITxHBn5K8EJsu0ZguL3u+pEolWtDEt0BDj7jMmzDpPHiiAe2JhNZMmKW2DM # Yp8Ine0y4zjb21xfonkX8dUhOWDJ/fFlBio0Qgc1HfnonYmgUu6h/iHTlGypIa6X # MMgjDIxXgJIIK1Mrk/lxQ2G0uxdL+xHr1P0AlknrVMJFV2uQ0wC95GsMw5/5XRln # xXF3EcHZixZQTz/sIgk/uSc1fhuAw8lza1MB9+2dDDrloZnDKzvnVPzis0oXMW5Q # CaO1tarBr46dPNQ0WDWXh3Dsl+xEMy5sTnhUEBBng8+HBuLY1BuXwhO62KE+SYI9 # XWYMR+VFsvHDoQWSzt77m8dDn6IYn+loOhsoOb4etN5sHji+S2hBDB9BqGsDybCS # Pucwh6pe39cWS6GQb68kZNxs43MQVv5nJ/6LBfTFhzWFxCPjEmWs7hoK2rL4GLSL # cwr2nLtf0HQLtCfMJLt82zOMYkXZk2Kn7eFLD3OhS/GGUGo2T/V/0z8tc4QW92Rh # Uo6Rrfdx3TTP0F2LCr/HAWd7wfbxyIQFFQaAEMSALnqRsxqNe42BCi1aZPeyVjoz # FSLeiVUCAwEAAaOCAeYwggHiMA4GA1UdDwEB/wQEAwIHgDCBnwYIKwYBBQUHAQEE # gZIwgY8wTAYIKwYBBQUHMAKGQGh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20v # Y2FjZXJ0L2dzZ2NjcjQ1ZXZjb2Rlc2lnbmNhMjAyMC5jcnQwPwYIKwYBBQUHMAGG # M2h0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjQ1ZXZjb2Rlc2lnbmNh # MjAyMDBVBgNVHSAETjBMMEEGCSsGAQQBoDIBAjA0MDIGCCsGAQUFBwIBFiZodHRw # czovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAHBgVngQwBAzAJBgNV # HRMEAjAAMEcGA1UdHwRAMD4wPKA6oDiGNmh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5j # b20vZ3NnY2NyNDVldmNvZGVzaWduY2EyMDIwLmNybDAuBgNVHREEJzAlgSNzdGlq # bi5zb2Vuc0BpbmV0dW0tcmVhbGRvbG1lbi53b3JsZDATBgNVHSUEDDAKBggrBgEF # BQcDAzAfBgNVHSMEGDAWgBQlndD8WQmGY8Xs87ETO1ccA5I2ETAdBgNVHQ4EFgQU # f0jm5utH8OLv1QEC0Wk4aX/23aEwDQYJKoZIhvcNAQELBQADggIBALEDyyzBbsaf # sKEtVuqOC7qle41dIA7uid58TkqaT6XnUggf/pI4RYPKrk3ZfZ3zDWUwkFtXiSB8 # 4T9JIDTM4gF58Lg3dbwf8jUzPPUp4HLdNSME45IVDpEla+A20p5DmDjYqW73xx1z # 64AnUQgRxPJvjDITc1q2FIRPvaKOF18s95HqO0aMO5//RQKCQO8XG60QU2iEKPDx # QXzrTbFQc9nNH/zw44/2H0C+BRlyUTsQ/2j57LmT0W5nT99qk25oanaJC1C/Xji5 # uLtSL3n8iPOlQfct3XfphHBCBpS/+01WaVCVThjeonqRk3OlSjQeWTt+KXunXWVi # vForgxkzrS9YAsxEuv/O1aZNAAxlamKKUpC0KnbTu/XHxKacAHWnC6v4TG+tA6S+ # exjazpK6g29cIy46eLH1Uai0EvL7+kKXe5j5FdYJTcm4N58QWeikTrVWXZg9ZCW/ # 7VTRMjKtxTMn0uQ/K/u7a41ZIZG8TUQKPO0aA/TpCwcAKYkz/YGqeJiJWjEvTb3w # Q8jH8g5P3Cx8w/OcJec3F5d6FrS4WVh4kcl48p+u9PvtS1+zRA0/6OlPkHnFX6Or # dvAFBBaD1tqQD4cELodfU3Xh1NNxC+LuSE3wD1/bjTlFtZbyIH9xBF06mxQh9CGV # POZj8ZmsBndoJWPccWFyseMf3nBBHXzoMYIZ3TCCGdkCAQEwbDBcMQswCQYDVQQG # EwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEyMDAGA1UEAxMpR2xvYmFs # U2lnbiBHQ0MgUjQ1IEVWIENvZGVTaWduaW5nIENBIDIwMjACDBWogW6/LwshkhlS # 8zANBglghkgBZQMEAgEFAKCBhDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkG # CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEE # AYI3AgEVMC8GCSqGSIb3DQEJBDEiBCC5Dgp8W11Pg7o+F73YTi5msM8TclszHqCs # iE6UiMJ+XDANBgkqhkiG9w0BAQEFAASCAgA033qT8Z0iSGThBWT2eBC+q+FWrQ96 # QT+XtchMhmPn8/+uV3DLfmHIlnkApxL37ZwbKn66wIBdP2G+nsTUeLa8HIpgiESI # NnbOWILHlb0sR81oE4sgwDzb4ElQc4QIYywql2PIHb5n2wUhViDk+lPN5hOXEqv7 # c4bIMiaQzzJm8rgXBkCS5ZznhB6MpqPfVAT1grWMzHjktvfy4JcCQBPxAoXvwnod # +Fn7TAM3eBdUCy6SrdHTBZMpYGQwKa4gBAWjgNbhdVH8j3z5j4PMcOASGg1DYA2O # OYKAdEDJzIWOFwepYEhJnFouoyvH4VEGtZCyvSKVRL934HXpH1jCLIzwSAoIO5u2 # vwsoa2PC3ulyXaC/muOUHFSk2ijuUptG42CmEqinfECtVh1ZAP/+wScF8wPe95Ft # CoFeCxOZE2gi48pVhRp7dodB3Rf9KlzuOXcLi4FGUawCxBW7vd0mGOM1oawXUr2W # 0YNrqRfkqP5aND8fd7/thgRKQkaQCQK0tDuDNVEynRoJV4zgSdOqi6KqMS+aKnBC # oMDzq3aY7LR8eBKGZLBBMiJpnfPs7ZbiFtJhYC10kw06qIcqEuHbxsiaC3cW0bl4 # wsiZXm7bKfW4LnC1Md07SCbC+fyUhAevJZ7mKNXruh0y2srU9bPgsSbubkiFzGNq # 4anwVbNDETrT66GCFrswgha3BgorBgEEAYI3AwMBMYIWpzCCFqMGCSqGSIb3DQEH # AqCCFpQwghaQAgEDMQ0wCwYJYIZIAWUDBAIBMIHfBgsqhkiG9w0BCRABBKCBzwSB # zDCByQIBAQYLKwYBBAGgMgIDAQIwMTANBglghkgBZQMEAgEFAAQg5RgvYGVZ8KOt # 7qz00NnIO2BuoRh7I0ckRKmhP+uAqDECFFofe9pzzaN4xMqQWLz6zeDe8087GA8y # MDI1MDcwMTExMDc0NFowAwIBAaBYpFYwVDELMAkGA1UEBhMCQkUxGTAXBgNVBAoM # EEdsb2JhbFNpZ24gbnYtc2ExKjAoBgNVBAMMIUdsb2JhbHNpZ24gVFNBIGZvciBD # b2RlU2lnbjEgLSBSNqCCEkswggZjMIIES6ADAgECAhABAAsgBbOUB2LbPjZ5lJup # MA0GCSqGSIb3DQEBDAUAMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxT # aWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIFRpbWVzdGFtcGluZyBDQSAt # IFNIQTM4NCAtIEc0MB4XDTI1MDQxMTE0NDczOVoXDTM0MTIxMDAwMDAwMFowVDEL # MAkGA1UEBhMCQkUxGTAXBgNVBAoMEEdsb2JhbFNpZ24gbnYtc2ExKjAoBgNVBAMM # IUdsb2JhbHNpZ24gVFNBIGZvciBDb2RlU2lnbjEgLSBSNjCCAaIwDQYJKoZIhvcN # AQEBBQADggGPADCCAYoCggGBAKJbxKpNSeUjeD7ghevmqgo+1fKsqKdEYfeKy5mN # +wp/Hq/NEpHys3SRyZN06mvUGOFMFeoXnV30m+YJNF8nctzDRI9ahPmaJjxHIwu7 # kbRnXwfz7Z4nlic47T1VJZhD61DLKBVO8KCUnEVdVuv+nn4tgckh17IWd9FdRA2d # pSkNAyt6t2yOLCRP+Z/3UMvIi+IY02kvb9GEMuUSWPqNTVocT/x7Dbpuuzq+KxQ7 # BiBPOYYOa+INwlxboqlr5TZj2wgVoHcafzwqmNC4ntOA7imw8EXep65uQB+aCESc # hVIy7xuBztC9VF2DLieidSczuN/EQNJiUb1NmcGyOsohR2ktMd0oBWpL4RCy5+LZ # sJ4GD4/hQ19y2lh554vzBiV0cZzdKUHWCahGISlJazB/ftipZ3XM//cl2BhMsE7f # PHd8vk1Bb2ZQANATDmDDK2BUBKbZUYNg2K8ebFrV9arws5OrBAS0VTxGxNIvidNS # C5Qc0aXCbrGVEMhitkVUjhX1zwIDAQABo4IBqDCCAaQwDgYDVR0PAQH/BAQDAgeA # MBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMB0GA1UdDgQWBBSAQ0z8um0dE9J1EogJ # d2/bxk+VVDBWBgNVHSAETzBNMAgGBmeBDAEEAjBBBgkrBgEEAaAyAR4wNDAyBggr # BgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9yeS8w # DAYDVR0TAQH/BAIwADCBkAYIKwYBBQUHAQEEgYMwgYAwOQYIKwYBBQUHMAGGLWh0 # dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2NhL2dzdHNhY2FzaGEzODRnNDBDBggr # BgEFBQcwAoY3aHR0cDovL3NlY3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3N0 # c2FjYXNoYTM4NGc0LmNydDAfBgNVHSMEGDAWgBTqFsZp5+PLV0U5M6TwQL7Qw71l # ljBBBgNVHR8EOjA4MDagNKAyhjBodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2Nh # L2dzdHNhY2FzaGEzODRnNC5jcmwwDQYJKoZIhvcNAQEMBQADggIBALemx0qZdnT9 # IGInvYl8Nwc+V88LL5omIrBI26MkWYp/o6h9uiBau30DCKzeVXV/ChpeaRHttW/L # JD31HLYq6KOkEuaFhEpeJM2aMNoif6iZ++k5Ly/r9n+Jh6JRiwcMg5u+H16+vFut # 8bomEqZ23+zWD8gWhyO8yfxK0k+GwNNEwvn7T7bUvhvzITVGioN+MmifGegBDZz3 # QgfFSK7f7KnekdZPPTo8dYy9+kARD1K9nbSCJUtyou+AlNeWE7xvl8bfXMBPtBsf # 6kUL/GGxflHLHYGFOIzUWQdJE1dwbHd5ciFprfA0+EUI/S0NSCzqahvws8HfavRi # S+o0iXkqtQAuGaHFTLqnGHfw/SaSDC/QUP8JOZYCZIFxHNYEYD7A7FPc89+icpjd # fmIb8dFa+u469EH6pN1dM+v8VZhACSmn03iHw/YUHIY4hpMsNxCjYsh8jN+63Svw # bE0sdKwdzB3ahPf3R0F+TVDkAllL4ZFstdLu9csxilp2wFkOjTbqvX7XMGBU5nMq # OWGxcM35MkvmO/PjvbraoIulaBNjc1SW7nKhi2bSRScxiQ+8Xv66lC8GB3kNxz0p # zQmoG+o6gXhUp108dBm7mLpN4wOdXUDbbKIFQBlwqh7IetkFQJf4GnU33EWjKSFg # HNwj7qd8dfXQwKbKZkcjlc1wVLbIglrCMIIGWTCCBEGgAwIBAgINAewckkDe/S5A # XXxHdDANBgkqhkiG9w0BAQwFADBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3Qg # Q0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln # bjAeFw0xODA2MjAwMDAwMDBaFw0zNDEyMTAwMDAwMDBaMFsxCzAJBgNVBAYTAkJF # MRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWdu # IFRpbWVzdGFtcGluZyBDQSAtIFNIQTM4NCAtIEc0MIICIjANBgkqhkiG9w0BAQEF # AAOCAg8AMIICCgKCAgEA8ALiMCP64BvhmnSzr3WDX6lHUsdhOmN8OSN5bXT8MeR0 # EhmW+s4nYluuB4on7lejxDXtszTHrMMM64BmbdEoSsEsu7lw8nKujPeZWl12rr9E # qHxBJI6PusVP/zZBq6ct/XhOQ4j+kxkX2e4xz7yKO25qxIjw7pf23PMYoEuZHA6H # pybhiMmg5ZninvScTD9dW+y279Jlz0ULVD2xVFMHi5luuFSZiqgxkjvyen38Dljf # gWrhsGweZYIq1CHHlP5CljvxC7F/f0aYDoc9emXr0VapLr37WD21hfpTmU1bdO1y # S6INgjcZDNCr6lrB7w/Vmbk/9E818ZwP0zcTUtklNO2W7/hn6gi+j0l6/5Cx1Pcp # Fdf5DV3Wh0MedMRwKLSAe70qm7uE4Q6sbw25tfZtVv6KHQk+JA5nJsf8sg2glLCy # lMx75mf+pliy1NhBEsFV/W6RxbuxTAhLntRCBm8bGNU26mSuzv31BebiZtAOBSGs # sREGIxnk+wU0ROoIrp1JZxGLguWtWoanZv0zAwHemSX5cW7pnF0CTGA8zwKPAf1y # 7pLxpxLeQhJN7Kkm5XcCrA5XDAnRYZ4miPzIsk3bZPBFn7rBP1Sj2HYClWxqjcoi # XPYMBOMp+kuwHNM3dITZHWarNHOPHn18XpbWPRmwl+qMUJFtr1eGfhA3HWsaFN8C # AwEAAaOCASkwggElMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEA # MB0GA1UdDgQWBBTqFsZp5+PLV0U5M6TwQL7Qw71lljAfBgNVHSMEGDAWgBSubAWj # kxPioufi1xzWx/B/yGdToDA+BggrBgEFBQcBAQQyMDAwLgYIKwYBBQUHMAGGImh0 # dHA6Ly9vY3NwMi5nbG9iYWxzaWduLmNvbS9yb290cjYwNgYDVR0fBC8wLTAroCmg # J4YlaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9yb290LXI2LmNybDBHBgNVHSAE # QDA+MDwGBFUdIAAwNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2ln # bi5jb20vcmVwb3NpdG9yeS8wDQYJKoZIhvcNAQEMBQADggIBAH/iiNlXZytCX4Gn # CQu6xLsoGFbWTL/bGwdwxvsLCa0AOmAzHznGFmsZQEklCB7km/fWpA2PHpbyhqIX # 3kG/T+G8q83uwCOMxoX+SxUk+RhE7B/CpKzQss/swlZlHb1/9t6CyLefYdO1RkiY # lwJnehaVSttixtCzAsw0SEVV3ezpSp9eFO1yEHF2cNIPlvPqN1eUkRiv3I2ZOBlY # wqmhfqJuFSbqtPl/KufnSGRpL9KaoXL29yRLdFp9coY1swJXH4uc/LusTN763lNM # g/0SsbZJVU91naxvSsguarnKiMMSME6yCHOfXqHWmc7pfUuWLMwWaxjN5Fk3hgks # 4kXWss1ugnWl2o0et1sviC49ffHykTAFnM57fKDFrK9RBvARxx0wxVFWYOh8lT0i # 49UKJFMnl4D6SIknLHniPOWbHuOqhIKJPsBK9SH+YhDtHTD89szqSCd8i3VCf2vL # 86VrlR8EWDQKie2CUOTRe6jJ5r5IqitV2Y23JSAOG1Gg1GOqg+pscmFKyfpDxMZX # xZ22PLCLsLkcMe+97xTYFEBsIB3CLegLxo1tjLZx7VIh/j72n585Gq6s0i96ILH0 # rKod4i0UnfqWah3GPMrz2Ry/U02kR1l8lcRDQfkl4iwQfoH5DZSnffK1CfXYYHJA # UJUg1ENEvvqglecgWbZ4xqRqqiKbMIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/ # RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENB # IC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24w # HhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i # YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UE # AxMKR2xvYmFsU2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH # 6HPKZvnsFMp7PPcNCPG0RQssgrRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay # /xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025 # eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qj # uL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0 # pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARj # NN9rkxi+azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4u # iMVRQkQVlO6jxTiWm05OWgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQC # TXTAFO39OfuD8l4UoQSwC+n+7o/hbguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdw # gQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQU # LHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kNb7gu3Gdu # yYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB # /wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzW # x/B/yGdToDAfBgNVHSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG # 9w0BAQwFAAOCAgEAgyXt6NH9lVLNnsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8 # AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V3 # 3EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlN # IC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym # Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54 # NMMl+68KnyBr3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA # /iU3/gKbaKxCXcPu9czc8FB10jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HH # TOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsV # iVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9 # x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfL # RVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBAxggNJ # MIIDRQIBATBvMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52 # LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIFRpbWVzdGFtcGluZyBDQSAtIFNIQTM4 # NCAtIEc0AhABAAsgBbOUB2LbPjZ5lJupMAsGCWCGSAFlAwQCAaCCAS0wGgYJKoZI # hvcNAQkDMQ0GCyqGSIb3DQEJEAEEMCsGCSqGSIb3DQEJNDEeMBwwCwYJYIZIAWUD # BAIBoQ0GCSqGSIb3DQEBCwUAMC8GCSqGSIb3DQEJBDEiBCBxjKTKS+n6bfgt0B13 # PjEzGLpdjONRU5GE5PySqMHD6DCBsAYLKoZIhvcNAQkQAi8xgaAwgZ0wgZowgZcE # IHJe8n9I4W5puWPYQmiMW8oHqIxpFwZCyP9aK3evYFz9MHMwX6RdMFsxCzAJBgNV # BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9i # YWxTaWduIFRpbWVzdGFtcGluZyBDQSAtIFNIQTM4NCAtIEc0AhABAAsgBbOUB2Lb # PjZ5lJupMA0GCSqGSIb3DQEBCwUABIIBgGExQzZ2hyBmf3YjwcT4lPNeP0c0LYlD # qFIaGZMlWEL8+/2C0HssKCcA1u8uzHA4YggpD4NVZo/AzVMilx77KYIIKtS4Jc+/ # P6IFdNpi16WpHLrHwfwxWkcCsjal0kirqJ4wZoCZf3apWxtxH4O+GrJIdx9oSEfG # JZmGeSbmhbqgj8PkE4f14j7/y9t3aPzhCI1uLy/Anqmg2MDj0N2+23Y+qGdbxdiP # IRtPX5k6bK7TDJl48lQACDy/4fRd8DurRiTI2585BAVbPNawEwrnT2qhEdRRpoLn # ipjh8DZwr4nWKe3481Nt9ldr9ABpAKTTxYk4MCDWPT7GCZ8yOBwFswCQuiqsYusW # E5LLyDrcCCp765QMl6aaOhLGBhOBlUzHaLhIC6bBu1QH/MlsU6W/urm+y+BfOp8J # g7N8vGSj0vdLefeIKnnP5A8+2qgcv89JxTvHpsdpmS4eDzx8gDKZYejO1SKttTOB # t9MuGkmR0AEhAfLDkC0LjxEoWwyrVW2XdQ== # SIG # End signature block |