MilestonePSTools.psd1

@{
    RootModule             = 'MilestonePSTools.psm1'
    ModuleVersion          = '23.3.3'
    CompatiblePSEditions   = 'Desktop'
    GUID                   = '46909c4a-d5d8-4faf-830d-5a0df564fe7b'
    Author                 = 'Joshua Hendricks'
    CompanyName            = 'Milestone Systems, Inc.'
    Copyright              = '(c) 2019-2023 Milestone Systems. All rights reserved.'
    Description            = 'Milestone XProtect VMS configuration and automation powered by the Milestone MIP SDK.'
    PowerShellVersion      = '5.1'
    DotNetFrameworkVersion = '4.7'
    ProcessorArchitecture  = 'Amd64'
    RequiredModules        = @()
    RequiredAssemblies     = 'System.Drawing', 'System.Device', 'bin/VideoOS.Platform.dll', 'bin/VideoOS.Platform.SDK.dll', 'bin/VideoOS.ConfigurationAPI.dll', 'bin/MilestonePSTools.dll'
    FormatsToProcess       = 'MilestonePSTools.Format.ps1xml'
    FunctionsToExport      = @('Copy-VmsClientProfile','Export-VmsClientProfile','Get-VmsClientProfile','Get-VmsClientProfileAttributes','Import-VmsClientProfile','New-VmsClientProfile','Remove-VmsClientProfile','Set-VmsClientProfile','Set-VmsClientProfileAttributes','Connect-Vms','Disconnect-Vms','Get-VmsConnectionProfile','Remove-VmsConnectionProfile','Save-VmsConnectionProfile','Test-VmsConnection','Get-VmsDeviceEvent','Set-VmsDeviceEvent','Add-VmsFailoverRecorder','Get-VmsFailoverGroup','Get-VmsFailoverRecorder','New-VmsFailoverGroup','Remove-VmsFailoverGroup','Remove-VmsFailoverRecorder','Set-VmsFailoverGroup','Set-VmsFailoverRecorder','Move-VmsHardware','Assert-VmsLicensedFeature','Get-VmsSystemLicense','Test-VmsLicensedFeature','Get-LicenseDetails','Get-LicensedProducts','Get-LicenseInfo','Get-LicenseOverview','Invoke-LicenseActivation','Get-MobileServerInfo','Set-XProtectCertificate','Get-CameraRecordingStats','Get-CurrentDeviceStatus','Get-VideoDeviceStatistics','Get-VmsCameraReport','Add-VmsRoleClaim','Add-VmsRoleMember','Copy-VmsRole','Export-VmsRole','Get-VmsRole','Get-VmsRoleClaim','Get-VmsRoleMember','Get-VmsRoleOverallSecurity','Import-VmsRole','New-VmsRole','Remove-VmsRole','Remove-VmsRoleClaim','Remove-VmsRoleMember','Set-VmsRole','Set-VmsRoleOverallSecurity','Export-VmsRule','Get-VmsRule','Import-VmsRule','New-VmsRule','Remove-VmsRule','Set-VmsRule','Add-VmsArchiveStorage','Add-VmsStorage','Get-VmsArchiveStorage','Get-VmsStorage','Remove-VmsArchiveStorage','Remove-VmsStorage','ConvertFrom-ConfigurationApiProperties','ConvertFrom-GisPoint','ConvertFrom-Snapshot','ConvertTo-GisPoint','Get-BankTable','Get-ConfigurationItemProperty','Get-StreamProperties','Get-ValueDisplayName','Install-StableFPS','Invoke-ServerConfigurator','Resize-Image','Select-Camera','Select-VideoOSItem','Set-ConfigurationItemProperty','Assert-VmsRequirementsMet','Split-VmsConfigItemPath','Find-VmsVideoOSItem','Get-VmsVideoOSItem','Get-VmsWebhook','New-VmsWebhook','Remove-VmsWebhook','Set-VmsWebhook','Add-VmsDeviceGroupMember','Add-VmsHardware','Add-VmsLoginProviderClaim','Clear-VmsSiteInfo','Clear-VmsView','ConvertFrom-ConfigurationItem','Copy-VmsView','Copy-VmsViewGroup','Export-VmsHardware','Export-VmsLicenseRequest','Export-VmsViewGroup','Find-ConfigurationItem','Find-XProtectDevice','Get-ManagementServerConfig','Get-PlaybackInfo','Get-RecorderConfig','Get-VmsBasicUser','Get-VmsBasicUserClaim','Get-VmsCamera','Get-VmsCameraGeneralSetting','Get-VmsCameraStream','Get-VmsConnectionString','Get-VmsDeviceGroup','Get-VmsDeviceGroupMember','Get-VmsDeviceStatus','Get-VmsHardwareDriver','Get-VmsHardwarePassword','Get-VmsLoginProvider','Get-VmsLoginProviderClaim','Get-VmsRecordingServer','Get-VmsSiteInfo','Get-VmsStorageRetention','Get-VmsToken','Get-VmsView','Get-VmsViewGroup','Get-VmsViewGroupAcl','Import-VmsHardware','Import-VmsLicense','Import-VmsViewGroup','Invoke-VmsLicenseActivation','Join-VmsDeviceGroupPath','New-VmsBasicUser','New-VmsDeviceGroup','New-VmsLoginProvider','New-VmsView','New-VmsViewGroup','Remove-VmsBasicUser','Remove-VmsDeviceGroup','Remove-VmsDeviceGroupMember','Remove-VmsHardware','Remove-VmsLoginProvider','Remove-VmsLoginProviderClaim','Remove-VmsView','Remove-VmsViewGroup','Resolve-VmsDeviceGroupPath','Set-VmsBasicUser','Set-VmsCamera','Set-VmsCameraGeneralSetting','Set-VmsCameraStream','Set-VmsConnectionString','Set-VmsDeviceGroup','Set-VmsHardware','Set-VmsHardwareDriver','Set-VmsLicense','Set-VmsLoginProvider','Set-VmsLoginProviderClaim','Set-VmsRecordingServer','Set-VmsSiteInfo','Set-VmsView','Set-VmsViewGroup','Set-VmsViewGroupAcl','Split-VmsDeviceGroupPath','Start-VmsHardwareScan','Wait-VmsTask')
    CmdletsToExport        = @('Add-Bookmark','Add-EvidenceLock','Add-GenericEvent','Add-RegisteredService','Add-Stream','Add-UserDefinedEvent','Clear-VmsCache','Connect-ManagementServer','Copy-EvidenceLock','Disconnect-ManagementServer','Get-AlarmDefinition','Get-AlarmLine','Get-AlarmStatistics','Get-Bookmark','Get-CameraSetting','Get-ConfigurationItem','Get-DeviceAcl','Get-EventLine','Get-EvidenceLock','Get-GenericEvent','Get-GenericEventDataSource','Get-HardwareSetting','Get-IAlarmClient','Get-IConfigurationService','Get-Input','Get-InputSetting','Get-IServerCommandService','Get-ItemState','Get-Kind','Get-LoginSettings','Get-Metadata','Get-MetadataSetting','Get-MethodInfo','Get-Microphone','Get-MicrophoneSetting','Get-MipMessageIdList','Get-MipSdkEula','Get-Output','Get-OutputSetting','Get-OverallSecurity','Get-PlatformItem','Get-RecorderStatusService2','Get-RegisteredService','Get-SequenceData','Get-Snapshot','Get-Speaker','Get-SpeakerSetting','Get-Stream','Get-Translations','Get-UserDefinedEvent','Get-VideoSource','Get-VmsHardware','Get-VmsIServiceRegistrationService','Get-VmsLog','Get-VmsManagementServer','Get-VmsSite','Get-WhoIsOnline','Invoke-Method','Invoke-MipSdkEula','New-Alarm','New-AlarmCondition','New-AlarmOrder','Remove-Bookmark','Remove-EvidenceLock','Remove-GenericEvent','Remove-RegisteredService','Remove-Stream','Remove-UserDefinedEvent','Select-VmsSite','Send-Alarm','Send-GenericEvent','Send-MipMessage','Send-UserDefinedEvent','Set-CameraSetting','Set-ConfigurationItem','Set-DeviceAcl','Set-HardwareSetting','Set-InputSetting','Set-MetadataSetting','Set-MicrophoneSetting','Set-OutputSetting','Set-OverallSecurity','Set-SpeakerSetting','Set-Stream','Start-Export','Test-Playback','Trace-Events','Update-AlarmLine','Update-Bookmark','Update-EvidenceLock','Update-RegisteredService')
    AliasesToExport        = @('Add-DeviceGroup','Add-DeviceGroupMember','Add-Role','Add-User','Get-Camera','Get-ConnectionString','Get-DeviceGroup','Get-Hardware','Get-HardwareDriver','Get-HardwarePassword','Get-Log','Get-ManagementServer','Get-RecordingServer','Get-Role','Get-Site','Get-Token','Get-User','Get-Vms','Remove-DeviceGroup','Remove-Hardware','Remove-Role','Remove-User','Select-Site','Set-HardwarePassword')
    FileList               = @('assets/MIPSDK_EULA.txt', 'assets/3rd_party_software_terms_and_conditions.txt')
    PrivateData            = @{
        PSData = @{
            Tags         = 'PSEdition_Desktop', 'Windows', 'Milestone', 'ConfigApi',
            'ConfigurationApi', 'XProtect', 'MIPSDK'
            ProjectUri   = 'https://www.milestonepstools.com/'
            IconUri      = 'https://www.milestonepstools.com/assets/images/milestonelogo.png'
            ReleaseNotes = 'See the changelog at https://www.milestonepstools.com/changelog/'
        }
    }
}

# SIG # Begin signature block
# MIIulwYJKoZIhvcNAQcCoIIuiDCCLoQCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDkzWn9AkW6I8wy
# bxnBDl7o3wmsvozlizrJ9qOR6E/JOKCCE24wggVyMIIDWqADAgECAhB2U/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
# J4fGGdvGExTDOUmHTaCX4GUT9Z13Vunas1jHOvLAzYIwggbmMIIEzqADAgECAhB3
# vQ4DobcI+FSrBnIQ2QRHMA0GCSqGSIb3DQEBCwUAMFMxCzAJBgNVBAYTAkJFMRkw
# FwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSkwJwYDVQQDEyBHbG9iYWxTaWduIENv
# ZGUgU2lnbmluZyBSb290IFI0NTAeFw0yMDA3MjgwMDAwMDBaFw0zMDA3MjgwMDAw
# MDBaMFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8w
# LQYDVQQDEyZHbG9iYWxTaWduIEdDQyBSNDUgQ29kZVNpZ25pbmcgQ0EgMjAyMDCC
# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANZCTfnjT8Yj9GwdgaYw90g9
# z9DljeUgIpYHRDVdBs8PHXBg5iZU+lMjYAKoXwIC947Jbj2peAW9jvVPGSSZfM8R
# Fpsfe2vSo3toZXer2LEsP9NyBjJcW6xQZywlTVYGNvzBYkx9fYYWlZpdVLpQ0LB/
# okQZ6dZubD4Twp8R1F80W1FoMWMK+FvQ3rpZXzGviWg4QD4I6FNnTmO2IY7v3Y2F
# QVWeHLw33JWgxHGnHxulSW4KIFl+iaNYFZcAJWnf3sJqUGVOU/troZ8YHooOX1Re
# veBbz/IMBNLeCKEQJvey83ouwo6WwT/Opdr0WSiMN2WhMZYLjqR2dxVJhGaCJedD
# CndSsZlRQv+hst2c0twY2cGGqUAdQZdihryo/6LHYxcG/WZ6NpQBIIl4H5D0e6lS
# TmpPVAYqgK+ex1BC+mUK4wH0sW6sDqjjgRmoOMieAyiGpHSnR5V+cloqexVqHMRp
# 5rC+QBmZy9J9VU4inBDgoVvDsy56i8Te8UsfjCh5MEV/bBO2PSz/LUqKKuwoDy3K
# 1JyYikptWjYsL9+6y+JBSgh3GIitNWGUEvOkcuvuNp6nUSeRPPeiGsz8h+WX4VGH
# aekizIPAtw9FbAfhQ0/UjErOz2OxtaQQevkNDCiwazT+IWgnb+z4+iaEW3VCzYkm
# eVmda6tjcWKQJQ0IIPH/AgMBAAGjggGuMIIBqjAOBgNVHQ8BAf8EBAMCAYYwEwYD
# VR0lBAwwCgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU
# 2rONwCSQo2t30wygWd0hZ2R2C3gwHwYDVR0jBBgwFoAUHwC/RoAK/Hg5t6W0Q9lW
# ULvOljswgZMGCCsGAQUFBwEBBIGGMIGDMDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz
# cC5nbG9iYWxzaWduLmNvbS9jb2Rlc2lnbmluZ3Jvb3RyNDUwRgYIKwYBBQUHMAKG
# Omh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2NvZGVzaWduaW5n
# cm9vdHI0NS5jcnQwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2NybC5nbG9iYWxz
# aWduLmNvbS9jb2Rlc2lnbmluZ3Jvb3RyNDUuY3JsMFYGA1UdIARPME0wQQYJKwYB
# BAGgMgEyMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29t
# L3JlcG9zaXRvcnkvMAgGBmeBDAEEATANBgkqhkiG9w0BAQsFAAOCAgEACIhyJsav
# +qxfBsCqjJDa0LLAopf/bhMyFlT9PvQwEZ+PmPmbUt3yohbu2XiVppp8YbgEtfjr
# y/RhETP2ZSW3EUKL2Glux/+VtIFDqX6uv4LWTcwRo4NxahBeGQWn52x/VvSoXMNO
# Ca1Za7j5fqUuuPzeDsKg+7AE1BMbxyepuaotMTvPRkyd60zsvC6c8YejfzhpX0FA
# Z/ZTfepB7449+6nUEThG3zzr9s0ivRPN8OHm5TOgvjzkeNUbzCDyMHOwIhz2hNab
# XAAC4ShSS/8SS0Dq7rAaBgaehObn8NuERvtz2StCtslXNMcWwKbrIbmqDvf+28rr
# vBfLuGfr4z5P26mUhmRVyQkKwNkEcUoRS1pkw7x4eK1MRyZlB5nVzTZgoTNTs/Z7
# KtWJQDxxpav4mVn945uSS90FvQsMeAYrz1PYvRKaWyeGhT+RvuB4gHNU36cdZytq
# tq5NiYAkCFJwUPMB/0SuL5rg4UkI4eFb1zjRngqKnZQnm8qjudviNmrjb7lYYuA2
# eDYB+sGniXomU6Ncu9Ky64rLYwgv/h7zViniNZvY/+mlvW1LWSyJLC9Su7UpkNpD
# R7xy3bzZv4DB3LCrtEsdWDY3ZOub4YUXmimi/eYI0pL/oPh84emn0TCOXyZQK8ei
# 4pd3iu/YTT4m65lAYPM8Zwy2CHIpNVOBNNwwggcKMIIE8qADAgECAgxjM0+VRu6w
# 7+lFi6kwDQYJKoZIhvcNAQELBQAwWTELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEds
# b2JhbFNpZ24gbnYtc2ExLzAtBgNVBAMTJkdsb2JhbFNpZ24gR0NDIFI0NSBDb2Rl
# U2lnbmluZyBDQSAyMDIwMB4XDTI0MDEyNjE1MDcwMVoXDTI1MDEyNjE1MDcwMVow
# eDELMAkGA1UEBhMCVVMxDzANBgNVBAgTBk9yZWdvbjEUMBIGA1UEBxMLTGFrZSBP
# c3dlZ28xIDAeBgNVBAoTF01pbGVzdG9uZSBTeXN0ZW1zLCBJbmMuMSAwHgYDVQQD
# ExdNaWxlc3RvbmUgU3lzdGVtcywgSW5jLjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
# ADCCAgoCggIBANuPJQeA9USbN3zbAcb5W7/1Pc6RnmFcaei4VgjAoZ90TW2f69uY
# ELwNlwnQAKlTfr9khIMRUVVNIjVwjGeUpDi5u20RaYAwdXs0t3p9BnxvgC7kqLXC
# RP+iKvd1oiFy/WfHwSoHkgr3ZfXW22cfKMRlEBqkOnMnrTvpHNsx0BgFt4Uwt+uY
# 5uXoAw0sw28OkBJFBV8BBc+bRqQ+7cwtzmyA7HpNwcC/gFcotOT7p9APL6V0K01t
# ZO5JTKephmN1ycQz/SZK6Fbl8Myy0Gla4ZON9gThUVYmNvLEouwoVj/7CCAA0Oni
# n3pI9NHDHOu7lJz/N5YGxKQK95WCFrOmcRq5eEJHRN6XGRwzCTMOnOQ9J8MA9cfx
# WfzmbOU4jwscTGrXP9ffv3IvdcOkE63cFLBWPja07/qnrCC57mAZloGqCJYS1hvv
# cefIu1AhoAqn1xXnwKLHqW4dAOSorMXjGo6w+0AyV2RgRXkmi+zgCaOy9Xe9XG44
# 9vlJstGU3Mjvr2WrhFFE05hyE7hPPI7EcAm+JXCVBn7yzLIIqsD4GgPddMYg9omY
# QpdKe5eMiJL1jErvxr7aazgcqcgmuIabReqocH36ANVMfoBo140ePgbAfMJ5gslE
# PEoo7ArovmXoqs2t62o8SFx/071+dTGYZshlKTpYGZZ9ydpIuuMZJSJ/AgMBAAGj
# ggGxMIIBrTAOBgNVHQ8BAf8EBAMCB4AwgZsGCCsGAQUFBwEBBIGOMIGLMEoGCCsG
# AQUFBzAChj5odHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2dj
# Y3I0NWNvZGVzaWduY2EyMDIwLmNydDA9BggrBgEFBQcwAYYxaHR0cDovL29jc3Au
# Z2xvYmFsc2lnbi5jb20vZ3NnY2NyNDVjb2Rlc2lnbmNhMjAyMDBWBgNVHSAETzBN
# MEEGCSsGAQQBoDIBMjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz
# aWduLmNvbS9yZXBvc2l0b3J5LzAIBgZngQwBBAEwCQYDVR0TBAIwADBFBgNVHR8E
# PjA8MDqgOKA2hjRodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjQ1Y29k
# ZXNpZ25jYTIwMjAuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMDMB8GA1UdIwQYMBaA
# FNqzjcAkkKNrd9MMoFndIWdkdgt4MB0GA1UdDgQWBBT3z5hC3BNSWFzfQByqFmRK
# y9AYkTANBgkqhkiG9w0BAQsFAAOCAgEAFyXnmIB6a+IH36icvO/LaNa+Hbz4H6JH
# st8Lpq9Xefzt8fVMOXMPC163mXHHQjyEXl7qqz++mQgXq9j/gg89gIoqP02QE8A2
# 3MP4Zqs94lTJfQd1vGN0wts5g87foU366iCxPPGy3d91UmbARdpLIP5MfCjAZqEB
# Sm1phhOXxFF55QnGfn0rX4MBY63lPm2acgUU+A+36sOyZh1xS9EczsmveTmpx3i6
# JlGjdmKfxNh91vqHnuHgiMRXradVbkUPih4SLdSw94g3Nj9qYLKk2/tHV3fQfwml
# gPhW6MUgdUts/UWIwFKhLaVb+BID+asbFVoaOQw1a0Whk/Nd6+CVH62dExBA/ZxV
# Y6MBfZQk6tU6uWpReEQHJuYqqBr9YOdBYr070SJbyjZWFUdGzGKLXbpaeSNNxDUf
# 7oaHT2IyHIfrhEykk1mLHoGTZlnRlG3S/v+N3t1FnUhD0Oss3QjAxQKg3byHCjGe
# vbfajoXMFjLZFKb1cUD7tDctmg4/ZwKar5xdrpgKsXFC3PrCrSbq5YqIA9qQ/M6y
# 8wbKVQ/AEdHmaSGOs+Xqq6yQ8+h9jW/QbdhMhj1WWMhEV0wnAy7i7Jx6kuramAvS
# 2I8ypu5QlAx3eiAUG4gYOBPXLlGDBz5J1I+Ulggintgy4rXgbNdBwPGTPWY6QlxM
# 8XNwFnFuDh8xghp/MIIaewIBATBpMFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBH
# bG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEdDQyBSNDUgQ29k
# ZVNpZ25pbmcgQ0EgMjAyMAIMYzNPlUbusO/pRYupMA0GCWCGSAFlAwQCAQUAoIGk
# MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgor
# BgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCBTqhgs9mmXqvW2qPYSgkuThaFzXjbO
# tX6r+ranEMsN5DA4BgorBgEEAYI3AgEMMSowKKACgAChIoAgaHR0cHM6Ly93d3cu
# bWlsZXN0b25lcHN0b29scy5jb20wDQYJKoZIhvcNAQEBBQAEggIAOnQ0sGs2KeYr
# bFBgpkJDIyZAki5vTAac1sTV5bH37AIobsbOycXX/SboyP7Qq5/V60x8kmc3Uq/R
# YSNcOUs5Q1Yn0CtSjmhgXShvBpzpBMWSAAFf8vMLNAQCO84mRRnm/JRVooDTy0gZ
# Egt4pe1qXcbVl/XieaUEh68BaikWv0NxyX2QUjDwJ2GzD9HwnFkAX9MrGtYoTrPN
# sp4ot7/qolW6p2rbqW3KVw/B0p5shhcTiCsqz/VfM7cs/RY1ymaKesF29AIgbeg/
# bYcFi/sa/G06nSs1y+UI2FT2dlLvGmrBEBkVJxqP67TVu5nZA5LL4UqT++SKlwnv
# aoZODSJnabAxAc6k8iaxQ/Nn0dbtrMr9O9HBa4qhmb945o0WUUE0MT5CHB+UQuzB
# 9q0OaOUDUvFwTF++1QEPJ5rvlhGNwDvfv9mh+TkcNlRZk+OmwRGect1IOaQXgJZy
# Fap62yUNSjCoZKKAfNlr/1Cx3iV16Yoj0kIuQF5TO7XUUt+Ur0JKj81WUYLgxY/a
# svzydxGHMJzuytD2BEhaOrNnfFNMe0zqqU8UTs0kdckUYH6cgYj0av52vyyAGgqw
# UweRs0DZXpmj6kEuQTdb2KbuhzsbC+57iIAx5pqmMmkEYDgidjLtX/NZROWWvTaW
# VF3BS+5Hx6zOU0qZPNpYEO9cH3KpK9KhghdAMIIXPAYKKwYBBAGCNwMDATGCFyww
# ghcoBgkqhkiG9w0BBwKgghcZMIIXFQIBAzEPMA0GCWCGSAFlAwQCAQUAMHgGCyqG
# SIb3DQEJEAEEoGkEZzBlAgEBBglghkgBhv1sBwEwMTANBglghkgBZQMEAgEFAAQg
# JmYkiQ350chpM90yBMlCp1NqOiY/5ESY2UL5T0LkdogCEQDeO5t3zz9160FDDsVM
# cbXSGA8yMDI0MDUxODEwNTczOFqgghMJMIIGwjCCBKqgAwIBAgIQBUSv85SdCDmm
# v9s/X+VhFjANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
# RGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNB
# NDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMB4XDTIzMDcxNDAwMDAwMFoXDTM0
# MTAxMzIzNTk1OVowSDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ
# bmMuMSAwHgYDVQQDExdEaWdpQ2VydCBUaW1lc3RhbXAgMjAyMzCCAiIwDQYJKoZI
# hvcNAQEBBQADggIPADCCAgoCggIBAKNTRYcdg45brD5UsyPgz5/X5dLnXaEOCdwv
# SKOXejsqnGfcYhVYwamTEafNqrJq3RApih5iY2nTWJw1cb86l+uUUI8cIOrHmjsv
# lmbjaedp/lvD1isgHMGXlLSlUIHyz8sHpjBoyoNC2vx/CSSUpIIa2mq62DvKXd4Z
# GIX7ReoNYWyd/nFexAaaPPDFLnkPG2ZS48jWPl/aQ9OE9dDH9kgtXkV1lnX+3RCh
# G4PBuOZSlbVH13gpOWvgeFmX40QrStWVzu8IF+qCZE3/I+PKhu60pCFkcOvV5aDa
# Y7Mu6QXuqvYk9R28mxyyt1/f8O52fTGZZUdVnUokL6wrl76f5P17cz4y7lI0+9S7
# 69SgLDSb495uZBkHNwGRDxy1Uc2qTGaDiGhiu7xBG3gZbeTZD+BYQfvYsSzhUa+0
# rRUGFOpiCBPTaR58ZE2dD9/O0V6MqqtQFcmzyrzXxDtoRKOlO0L9c33u3Qr/eTQQ
# fqZcClhMAD6FaXXHg2TWdc2PEnZWpST618RrIbroHzSYLzrqawGw9/sqhux7Ujip
# mAmhcbJsca8+uG+W1eEQE/5hRwqM/vC2x9XH3mwk8L9CgsqgcT2ckpMEtGlwJw1P
# t7U20clfCKRwo+wK8REuZODLIivK8SgTIUlRfgZm0zu++uuRONhRB8qUt+JQofM6
# 04qDy0B7AgMBAAGjggGLMIIBhzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw
# ADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAgBgNVHSAEGTAXMAgGBmeBDAEEAjAL
# BglghkgBhv1sBwEwHwYDVR0jBBgwFoAUuhbZbU2FL3MpdpovdYxqII+eyG8wHQYD
# VR0OBBYEFKW27xPn783QZKHVVqllMaPe1eNJMFoGA1UdHwRTMFEwT6BNoEuGSWh0
# dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFJTQTQwOTZT
# SEEyNTZUaW1lU3RhbXBpbmdDQS5jcmwwgZAGCCsGAQUFBwEBBIGDMIGAMCQGCCsG
# AQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wWAYIKwYBBQUHMAKGTGh0
# dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFJTQTQw
# OTZTSEEyNTZUaW1lU3RhbXBpbmdDQS5jcnQwDQYJKoZIhvcNAQELBQADggIBAIEa
# 1t6gqbWYF7xwjU+KPGic2CX/yyzkzepdIpLsjCICqbjPgKjZ5+PF7SaCinEvGN1O
# tt5s1+FgnCvt7T1IjrhrunxdvcJhN2hJd6PrkKoS1yeF844ektrCQDifXcigLiV4
# JZ0qBXqEKZi2V3mP2yZWK7Dzp703DNiYdk9WuVLCtp04qYHnbUFcjGnRuSvExnvP
# nPp44pMadqJpddNQ5EQSviANnqlE0PjlSXcIWiHFtM+YlRpUurm8wWkZus8W8oM3
# NG6wQSbd3lqXTzON1I13fXVFoaVYJmoDRd7ZULVQjK9WvUzF4UbFKNOt50MAcN7M
# mJ4ZiQPq1JE3701S88lgIcRWR+3aEUuMMsOI5ljitts++V+wQtaP4xeR0arAVeOG
# v6wnLEHQmjNKqDbUuXKWfpd5OEhfysLcPTLfddY2Z1qJ+Panx+VPNTwAvb6cKmx5
# AdzaROY63jg7B145WPR8czFVoIARyxQMfq68/qTreWWqaNYiyjvrmoI1VygWy2ny
# Mpqy0tg6uLFGhmu6F/3Ed2wVbK6rr3M66ElGt9V/zLY4wNjsHPW2obhDLN9OTH0e
# aHDAdwrUAuBcYLso/zjlUlrWrBciI0707NMX+1Br/wd3H3GXREHJuEbTbDJ8WC9n
# R2XlG3O2mflrLAZG70Ee8PBf4NvZrZCARK+AEEGKMIIGrjCCBJagAwIBAgIQBzY3
# tyRUfNhHrP0oZipeWzANBgkqhkiG9w0BAQsFADBiMQswCQYDVQQGEwJVUzEVMBMG
# A1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
# HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMjIwMzIzMDAwMDAw
# WhcNMzcwMzIyMjM1OTU5WjBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNl
# cnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5NiBT
# SEEyNTYgVGltZVN0YW1waW5nIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAxoY1BkmzwT1ySVFVxyUDxPKRN6mXUaHW0oPRnkyibaCwzIP5WvYRoUQV
# Ql+kiPNo+n3znIkLf50fng8zH1ATCyZzlm34V6gCff1DtITaEfFzsbPuK4CEiiIY
# 3+vaPcQXf6sZKz5C3GeO6lE98NZW1OcoLevTsbV15x8GZY2UKdPZ7Gnf2ZCHRgB7
# 20RBidx8ald68Dd5n12sy+iEZLRS8nZH92GDGd1ftFQLIWhuNyG7QKxfst5Kfc71
# ORJn7w6lY2zkpsUdzTYNXNXmG6jBZHRAp8ByxbpOH7G1WE15/tePc5OsLDnipUjW
# 8LAxE6lXKZYnLvWHpo9OdhVVJnCYJn+gGkcgQ+NDY4B7dW4nJZCYOjgRs/b2nuY7
# W+yB3iIU2YIqx5K/oN7jPqJz+ucfWmyU8lKVEStYdEAoq3NDzt9KoRxrOMUp88qq
# lnNCaJ+2RrOdOqPVA+C/8KI8ykLcGEh/FDTP0kyr75s9/g64ZCr6dSgkQe1CvwWc
# ZklSUPRR8zZJTYsg0ixXNXkrqPNFYLwjjVj33GHek/45wPmyMKVM1+mYSlg+0wOI
# /rOP015LdhJRk8mMDDtbiiKowSYI+RQQEgN9XyO7ZONj4KbhPvbCdLI/Hgl27Ktd
# RnXiYKNYCQEoAA6EVO7O6V3IXjASvUaetdN2udIOa5kM0jO0zbECAwEAAaOCAV0w
# ggFZMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLoW2W1NhS9zKXaaL3WM
# aiCPnshvMB8GA1UdIwQYMBaAFOzX44LScV1kTN8uZz/nupiuHA9PMA4GA1UdDwEB
# /wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDCDB3BggrBgEFBQcBAQRrMGkwJAYI
# KwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1
# aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RH
# NC5jcnQwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybDMuZGlnaWNlcnQuY29t
# L0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcmwwIAYDVR0gBBkwFzAIBgZngQwBBAIw
# CwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEBCwUAA4ICAQB9WY7Ak7ZvmKlEIgF+ZtbY
# IULhsBguEE0TzzBTzr8Y+8dQXeJLKftwig2qKWn8acHPHQfpPmDI2AvlXFvXbYf6
# hCAlNDFnzbYSlm/EUExiHQwIgqgWvalWzxVzjQEiJc6VaT9Hd/tydBTX/6tPiix6
# q4XNQ1/tYLaqT5Fmniye4Iqs5f2MvGQmh2ySvZ180HAKfO+ovHVPulr3qRCyXen/
# KFSJ8NWKcXZl2szwcqMj+sAngkSumScbqyQeJsG33irr9p6xeZmBo1aGqwpFyd/E
# jaDnmPv7pp1yr8THwcFqcdnGE4AJxLafzYeHJLtPo0m5d2aR8XKc6UsCUqc3fpNT
# rDsdCEkPlM05et3/JWOZJyw9P2un8WbDQc1PtkCbISFA0LcTJM3cHXg65J6t5TRx
# ktcma+Q4c6umAU+9Pzt4rUyt+8SVe+0KXzM5h0F4ejjpnOHdI/0dKNPH+ejxmF/7
# K9h+8kaddSweJywm228Vex4Ziza4k9Tm8heZWcpw8De/mADfIBZPJ/tgZxahZrrd
# VcA6KYawmKAr7ZVBtzrVFZgxtGIJDwq9gdkT/r+k0fNX2bwE+oLeMt8EifAAzV3C
# +dAjfwAL5HYCJtnwZXZCpimHCUcr5n8apIUP/JiW9lVUKx+A+sDyDivl1vupL0QV
# SucTDh3bNzgaoSv27dZ8/DCCBY0wggR1oAMCAQICEA6bGI750C3n79tQ4ghAGFow
# DQYJKoZIhvcNAQEMBQAwZTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0
# IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEkMCIGA1UEAxMbRGlnaUNl
# cnQgQXNzdXJlZCBJRCBSb290IENBMB4XDTIyMDgwMTAwMDAwMFoXDTMxMTEwOTIz
# NTk1OVowYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcG
# A1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3Rl
# ZCBSb290IEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAv+aQc2je
# u+RdSjwwIjBpM+zCpyUuySE98orYWcLhKac9WKt2ms2uexuEDcQwH/MbpDgW61bG
# l20dq7J58soR0uRf1gU8Ug9SH8aeFaV+vp+pVxZZVXKvaJNwwrK6dZlqczKU0RBE
# EC7fgvMHhOZ0O21x4i0MG+4g1ckgHWMpLc7sXk7Ik/ghYZs06wXGXuxbGrzryc/N
# rDRAX7F6Zu53yEioZldXn1RYjgwrt0+nMNlW7sp7XeOtyU9e5TXnMcvak17cjo+A
# 2raRmECQecN4x7axxLVqGDgDEI3Y1DekLgV9iPWCPhCRcKtVgkEy19sEcypukQF8
# IUzUvK4bA3VdeGbZOjFEmjNAvwjXWkmkwuapoGfdpCe8oU85tRFYF/ckXEaPZPfB
# aYh2mHY9WV1CdoeJl2l6SPDgohIbZpp0yt5LHucOY67m1O+SkjqePdwA5EUlibaa
# RBkrfsCUtNJhbesz2cXfSwQAzH0clcOP9yGyshG3u3/y1YxwLEFgqrFjGESVGnZi
# fvaAsPvoZKYz0YkH4b235kOkGLimdwHhD5QMIR2yVCkliWzlDlJRR3S+Jqy2QXXe
# eqxfjT/JvNNBERJb5RBQ6zHFynIWIgnffEx1P2PsIV/EIFFrb7GrhotPwtZFX50g
# /KEexcCPorF+CiaZ9eRpL5gdLfXZqbId5RsCAwEAAaOCATowggE2MA8GA1UdEwEB
# /wQFMAMBAf8wHQYDVR0OBBYEFOzX44LScV1kTN8uZz/nupiuHA9PMB8GA1UdIwQY
# MBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgPMA4GA1UdDwEB/wQEAwIBhjB5BggrBgEF
# BQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBD
# BggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
# QXNzdXJlZElEUm9vdENBLmNydDBFBgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vY3Js
# My5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3JsMBEGA1Ud
# IAQKMAgwBgYEVR0gADANBgkqhkiG9w0BAQwFAAOCAQEAcKC/Q1xV5zhfoKN0Gz22
# Ftf3v1cHvZqsoYcs7IVeqRq7IviHGmlUIu2kiHdtvRoU9BNKei8ttzjv9P+Aufih
# 9/Jy3iS8UgPITtAq3votVs/59PesMHqai7Je1M/RQ0SbQyHrlnKhSLSZy51PpwYD
# E3cnRNTnf+hZqPC/Lwum6fI0POz3A8eHqNJMQBk1RmppVLC4oVaO7KTVPeix3P0c
# 2PR3WlxUjG/voVA9/HYJaISfb8rbII01YBwCA8sgsKxYoA5AY8WYIsGyWfVVa88n
# q2x2zm8jLfR+cWojayL/ErhULSd+2DrZ8LaHlv1b0VysGMNNn3O3AamfV6peKOK5
# lDGCA3YwggNyAgEBMHcwYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0
# LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJTQTQwOTYgU0hB
# MjU2IFRpbWVTdGFtcGluZyBDQQIQBUSv85SdCDmmv9s/X+VhFjANBglghkgBZQME
# AgEFAKCB0TAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkF
# MQ8XDTI0MDUxODEwNTczOFowKwYLKoZIhvcNAQkQAgwxHDAaMBgwFgQUZvArMsLC
# yQ+CXc6qisnGTxmcz0AwLwYJKoZIhvcNAQkEMSIEIFRrc1NZfXUGiYQDMC7CESzJ
# z9IC5h8gbXrp9XsNV4AIMDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIEINL25G3tdCLM
# 0dRAV2hBNm+CitpVmq4zFq9NGprUDHgoMA0GCSqGSIb3DQEBAQUABIICAGeIXtv/
# S2HawO8GKYVXqUPcjtsiZY1sYQaVcYi7pQTRh26V9jrpPfzLfYfQsONa5VT8hOz5
# +t51ms+/iwMOXoUnquDgK/kROj9sjLuHHZ56NALc2jiuHe/n3hPAfJQS2Uw1psKv
# TM/3uxsZAZltmGfnmUYIREUgq5oHYcFkD8xx2u7q0shIVVaINgGDAP2MneHJowDJ
# shv0JYkRoQokObb4Q4zcvluascgRlHsv1s+L39PHMtZmwa9Yxt72UMiJjfyhpwWk
# pcL/HdwxXbjFlUDZio66tpwvglG+1XDd7WKnfB/2yCuCK1i52QIvDEhJOaSHBwht
# Add9tqQ6dE767htxVLLRhOCwvVnm7iBBOJNQ3dboPhoRuw2E0H/CE9gy0PjPq9ol
# f91+pILbdCF55SRYFCeH4M79miCWENi3TU78uzqRVhFm9KCiIhzFYI8OHs0VSpfy
# INkRgV05ewDpZL1AxhkdZDTX3rVjliDu26yqD5vZgWn12p3SmKzz4t/O9U0k9ZlV
# 0v/BEtSgLk3sxp0LjpFAobBzHTZC0emjtPRBoprpH4Kk6DIYDpZi3tV/M9toe2uX
# 08lCOVIt9QaEPkYoPnwoxsCrCfa7mFw0HsOzrp8P9TBOqF1zL+gtNTDlZFw0GGoV
# YoAM7Nw8KLeqMW6Wj0y1E5umFpVyeMyro6HX
# SIG # End signature block