MilestonePSTools.psd1

@{
    RootModule             = 'MilestonePSTools.psm1'
    # Do not change. ModuleVersion is set at build time using nbgv.
    ModuleVersion          = '23.3.51'
    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-VmsCameraMotion','Get-VmsDeviceEvent','Set-VmsCameraMotion','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','Set-VmsDeviceStorage','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-VmsMetadataLiveRecord','Get-VmsMetadataRecord','Get-VmsModuleConfig','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','Set-VmsModuleConfig','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
# MIIulgYJKoZIhvcNAQcCoIIuhzCCLoMCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDSaFptpX0BXFl0
# tmQgLRc5KXyK3pG2nrWXB8s3gRUq/qCCE24wggVyMIIDWqADAgECAhB2U/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+MIIaegIBATBpMFkxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBH
# bG9iYWxTaWduIG52LXNhMS8wLQYDVQQDEyZHbG9iYWxTaWduIEdDQyBSNDUgQ29k
# ZVNpZ25pbmcgQ0EgMjAyMAIMYzNPlUbusO/pRYupMA0GCWCGSAFlAwQCAQUAoIGk
# MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgor
# BgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCDakuZeUJBjO6ua45r3RZsxVDKuSx0y
# Cde0+1sxEzzW+zA4BgorBgEEAYI3AgEMMSowKKACgAChIoAgaHR0cHM6Ly93d3cu
# bWlsZXN0b25lcHN0b29scy5jb20wDQYJKoZIhvcNAQEBBQAEggIAFHS8dvjQjraa
# wwF/sgn1gUq0fQph2NlS4gIH2ljkVWO73z7EgsGdYWuUafTRJ35sCB/vJJjOkVE8
# 9Zw2FXdTFJBvd+SEanuF6ifcFkKQyxbJHl8hb5dyyQqCu1Bzv+wCFM158GKv99k+
# w1pWqFW3gshu4w99Ol/IPowORI7pTeEaXEVzb3lM6JlwFa+Cbi/XVHuKqSQT3Upq
# cuCnZ5hh9yr3B4WYxgZeeig1Hd91IZiJgQDDHZsZP+ipddI4k2jOGuQVWEmFK+ug
# 15QNsVqcLemgNGykE+m0gBTpY7urM49D/dcsqFtQUPRLfk48nE10P+9CdFrZlbX1
# 6ERAcpSh4c7uanzl6hJVhIoc2UIyLonzxQ5k3GH913E4pUsueuBTzbZpx/anCdIm
# 0W3PkhmdM70rZ7ndQ9NajaDtqDfYMqkZMBt4XfBj9n1kvSV94I8qOiVQdP3xjj73
# iGuiagYWedqr0MddtKzOLTgwGHIl9SucNobf/qkxKnRuLSSPOC2YK7h4uZJIRXPS
# Y27dPoso5J6uhRCl31jXzLlyk5PAqdVVFvsfElAvG7Cc3Qs8K8JV97jT5J9fw4SE
# 30RsGKOOJprS9Hv8qKLoU5RBOpVvKAB5KmkmEB7OlRmcXVpq5bL7WoQc+owBOged
# JxiwABJRwR3AynExmR76GJ3mtoGUo/mhghc/MIIXOwYKKwYBBAGCNwMDATGCFysw
# ghcnBgkqhkiG9w0BBwKgghcYMIIXFAIBAzEPMA0GCWCGSAFlAwQCAQUAMHcGCyqG
# SIb3DQEJEAEEoGgEZjBkAgEBBglghkgBhv1sBwEwMTANBglghkgBZQMEAgEFAAQg
# AAuBzGj5no59DVDrjbkiwk9pyne01ZYfHujGRdnFLR4CEDbKcKQ3lnlqol8nLetE
# pBcYDzIwMjQwNjIyMDA0NzE5WqCCEwkwggbCMIIEqqADAgECAhAFRK/zlJ0IOaa/
# 2z9f5WEWMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5E
# aWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0
# MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0EwHhcNMjMwNzE0MDAwMDAwWhcNMzQx
# MDEzMjM1OTU5WjBIMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIElu
# Yy4xIDAeBgNVBAMTF0RpZ2lDZXJ0IFRpbWVzdGFtcCAyMDIzMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAo1NFhx2DjlusPlSzI+DPn9fl0uddoQ4J3C9I
# o5d6OyqcZ9xiFVjBqZMRp82qsmrdECmKHmJjadNYnDVxvzqX65RQjxwg6seaOy+W
# ZuNp52n+W8PWKyAcwZeUtKVQgfLPywemMGjKg0La/H8JJJSkghraarrYO8pd3hkY
# hftF6g1hbJ3+cV7EBpo88MUueQ8bZlLjyNY+X9pD04T10Mf2SC1eRXWWdf7dEKEb
# g8G45lKVtUfXeCk5a+B4WZfjRCtK1ZXO7wgX6oJkTf8j48qG7rSkIWRw69XloNpj
# sy7pBe6q9iT1HbybHLK3X9/w7nZ9MZllR1WdSiQvrCuXvp/k/XtzPjLuUjT71Lvr
# 1KAsNJvj3m5kGQc3AZEPHLVRzapMZoOIaGK7vEEbeBlt5NkP4FhB+9ixLOFRr7St
# FQYU6mIIE9NpHnxkTZ0P387RXoyqq1AVybPKvNfEO2hEo6U7Qv1zfe7dCv95NBB+
# plwKWEwAPoVpdceDZNZ1zY8SdlalJPrXxGshuugfNJgvOuprAbD3+yqG7HtSOKmY
# CaFxsmxxrz64b5bV4RAT/mFHCoz+8LbH1cfebCTwv0KCyqBxPZySkwS0aXAnDU+3
# tTbRyV8IpHCj7ArxES5k4MsiK8rxKBMhSVF+BmbTO77665E42FEHypS34lCh8zrT
# ioPLQHsCAwEAAaOCAYswggGHMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAA
# MBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsG
# CWCGSAGG/WwHATAfBgNVHSMEGDAWgBS6FtltTYUvcyl2mi91jGogj57IbzAdBgNV
# HQ4EFgQUpbbvE+fvzdBkodVWqWUxo97V40kwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0
# cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0UlNBNDA5NlNI
# QTI1NlRpbWVTdGFtcGluZ0NBLmNybDCBkAYIKwYBBQUHAQEEgYMwgYAwJAYIKwYB
# BQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBYBggrBgEFBQcwAoZMaHR0
# cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0UlNBNDA5
# NlNIQTI1NlRpbWVTdGFtcGluZ0NBLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAgRrW
# 3qCptZgXvHCNT4o8aJzYJf/LLOTN6l0ikuyMIgKpuM+AqNnn48XtJoKKcS8Y3U62
# 3mzX4WCcK+3tPUiOuGu6fF29wmE3aEl3o+uQqhLXJ4Xzjh6S2sJAOJ9dyKAuJXgl
# nSoFeoQpmLZXeY/bJlYrsPOnvTcM2Jh2T1a5UsK2nTipgedtQVyMadG5K8TGe8+c
# +njikxp2oml101DkRBK+IA2eqUTQ+OVJdwhaIcW0z5iVGlS6ubzBaRm6zxbygzc0
# brBBJt3eWpdPM43UjXd9dUWhpVgmagNF3tlQtVCMr1a9TMXhRsUo063nQwBw3syY
# nhmJA+rUkTfvTVLzyWAhxFZH7doRS4wyw4jmWOK22z75X7BC1o/jF5HRqsBV44a/
# rCcsQdCaM0qoNtS5cpZ+l3k4SF/Kwtw9Mt911jZnWon49qfH5U81PAC9vpwqbHkB
# 3NpE5jreODsHXjlY9HxzMVWggBHLFAx+rrz+pOt5Zapo1iLKO+uagjVXKBbLafIy
# mrLS2Dq4sUaGa7oX/cR3bBVsrquvczroSUa31X/MtjjA2Owc9bahuEMs305MfR5o
# cMB3CtQC4Fxguyj/OOVSWtasFyIjTvTs0xf7UGv/B3cfcZdEQcm4RtNsMnxYL2dH
# ZeUbc7aZ+WssBkbvQR7w8F/g29mtkIBEr4AQQYowggauMIIElqADAgECAhAHNje3
# JFR82Ees/ShmKl5bMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNVBAYTAlVTMRUwEwYD
# VQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAf
# BgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMjAzMjMwMDAwMDBa
# Fw0zNzAzMjIyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2Vy
# dCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNI
# QTI1NiBUaW1lU3RhbXBpbmcgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
# AoICAQDGhjUGSbPBPXJJUVXHJQPE8pE3qZdRodbSg9GeTKJtoLDMg/la9hGhRBVC
# X6SI82j6ffOciQt/nR+eDzMfUBMLJnOWbfhXqAJ9/UO0hNoR8XOxs+4rgISKIhjf
# 69o9xBd/qxkrPkLcZ47qUT3w1lbU5ygt69OxtXXnHwZljZQp09nsad/ZkIdGAHvb
# REGJ3HxqV3rwN3mfXazL6IRktFLydkf3YYMZ3V+0VAshaG43IbtArF+y3kp9zvU5
# EmfvDqVjbOSmxR3NNg1c1eYbqMFkdECnwHLFuk4fsbVYTXn+149zk6wsOeKlSNbw
# sDETqVcplicu9Yemj052FVUmcJgmf6AaRyBD40NjgHt1biclkJg6OBGz9vae5jtb
# 7IHeIhTZgirHkr+g3uM+onP65x9abJTyUpURK1h0QCirc0PO30qhHGs4xSnzyqqW
# c0Jon7ZGs506o9UD4L/wojzKQtwYSH8UNM/STKvvmz3+DrhkKvp1KCRB7UK/BZxm
# SVJQ9FHzNklNiyDSLFc1eSuo80VgvCONWPfcYd6T/jnA+bIwpUzX6ZhKWD7TA4j+
# s4/TXkt2ElGTyYwMO1uKIqjBJgj5FBASA31fI7tk42PgpuE+9sJ0sj8eCXbsq11G
# deJgo1gJASgADoRU7s7pXcheMBK9Rp6103a50g5rmQzSM7TNsQIDAQABo4IBXTCC
# AVkwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuhbZbU2FL3MpdpovdYxq
# II+eyG8wHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/
# BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsGAQUFBwEBBGswaTAkBggr
# BgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVo
# dHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0
# LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20v
# RGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAEGTAXMAgGBmeBDAEEAjAL
# BglghkgBhv1sBwEwDQYJKoZIhvcNAQELBQADggIBAH1ZjsCTtm+YqUQiAX5m1tgh
# QuGwGC4QTRPPMFPOvxj7x1Bd4ksp+3CKDaopafxpwc8dB+k+YMjYC+VcW9dth/qE
# ICU0MWfNthKWb8RQTGIdDAiCqBa9qVbPFXONASIlzpVpP0d3+3J0FNf/q0+KLHqr
# hc1DX+1gtqpPkWaeLJ7giqzl/Yy8ZCaHbJK9nXzQcAp876i8dU+6WvepELJd6f8o
# VInw1YpxdmXazPByoyP6wCeCRK6ZJxurJB4mwbfeKuv2nrF5mYGjVoarCkXJ38SN
# oOeY+/umnXKvxMfBwWpx2cYTgAnEtp/Nh4cku0+jSbl3ZpHxcpzpSwJSpzd+k1Os
# Ox0ISQ+UzTl63f8lY5knLD0/a6fxZsNBzU+2QJshIUDQtxMkzdwdeDrknq3lNHGS
# 1yZr5Dhzq6YBT70/O3itTK37xJV77QpfMzmHQXh6OOmc4d0j/R0o08f56PGYX/sr
# 2H7yRp11LB4nLCbbbxV7HhmLNriT1ObyF5lZynDwN7+YAN8gFk8n+2BnFqFmut1V
# wDophrCYoCvtlUG3OtUVmDG0YgkPCr2B2RP+v6TR81fZvAT6gt4y3wSJ8ADNXcL5
# 0CN/AAvkdgIm2fBldkKmKYcJRyvmfxqkhQ/8mJb2VVQrH4D6wPIOK+XW+6kvRBVK
# 5xMOHds3OBqhK/bt1nz8MIIFjTCCBHWgAwIBAgIQDpsYjvnQLefv21DiCEAYWjAN
# BgkqhkiG9w0BAQwFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQg
# SW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2Vy
# dCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMjIwODAxMDAwMDAwWhcNMzExMTA5MjM1
# OTU5WjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
# VQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVk
# IFJvb3QgRzQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN67
# 5F1KPDAiMGkz7MKnJS7JIT3yithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaX
# bR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQ
# Lt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82s
# NEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4Da
# tpGYQJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwh
# TNS8rhsDdV14Ztk6MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98Fp
# iHaYdj1ZXUJ2h4mXaXpI8OCiEhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppE
# GSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+
# 9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56
# rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8
# oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo4IBOjCCATYwDwYDVR0TAQH/
# BAUwAwEB/zAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wHwYDVR0jBBgw
# FoAUReuir/SSy4IxLVGLp6chnfNtyA8wDgYDVR0PAQH/BAQDAgGGMHkGCCsGAQUF
# BwEBBG0wazAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEMG
# CCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRB
# c3N1cmVkSURSb290Q0EuY3J0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmwz
# LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwEQYDVR0g
# BAowCDAGBgRVHSAAMA0GCSqGSIb3DQEBDAUAA4IBAQBwoL9DXFXnOF+go3QbPbYW
# 1/e/Vwe9mqyhhyzshV6pGrsi+IcaaVQi7aSId229GhT0E0p6Ly23OO/0/4C5+KH3
# 8nLeJLxSA8hO0Cre+i1Wz/n096wwepqLsl7Uz9FDRJtDIeuWcqFItJnLnU+nBgMT
# dydE1Od/6Fmo8L8vC6bp8jQ87PcDx4eo0kxAGTVGamlUsLihVo7spNU96LHc/RzY
# 9HdaXFSMb++hUD38dglohJ9vytsgjTVgHAIDyyCwrFigDkBjxZgiwbJZ9VVrzyer
# bHbObyMt9H5xaiNrIv8SuFQtJ37YOtnwtoeW/VvRXKwYw02fc7cBqZ9Xql4o4rmU
# MYIDdjCCA3ICAQEwdzBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs
# IEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5NiBTSEEy
# NTYgVGltZVN0YW1waW5nIENBAhAFRK/zlJ0IOaa/2z9f5WEWMA0GCWCGSAFlAwQC
# AQUAoIHRMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUx
# DxcNMjQwNjIyMDA0NzE5WjArBgsqhkiG9w0BCRACDDEcMBowGDAWBBRm8CsywsLJ
# D4JdzqqKycZPGZzPQDAvBgkqhkiG9w0BCQQxIgQgfM5RA+YKOokquqhIinnBDcds
# dOox1a1Bk7X4dOsPlQwwNwYLKoZIhvcNAQkQAi8xKDAmMCQwIgQg0vbkbe10IszR
# 1EBXaEE2b4KK2lWarjMWr00amtQMeCgwDQYJKoZIhvcNAQEBBQAEggIAaYUEYqqm
# PZpDsLyIEE+3RAkv9RoeqxojVVCOazZHWVWCsFurnSm1+qssBJzBoSCUdASXX8mW
# KQVe+xywXKuZxLyxYTe9YVFEAQskTa/rI9ph3w03bflZV1aNmK2gSXeDY4QwGzN3
# dQ/WpmBdA6fbkQVo7CyVnVNn4ywiy2+kLAZt0LX15bTr98F8lpEczh8fjZAwrBYt
# xg76/TRyzbq+lwm1dIdV/osSGa68D1FL8C8PFFQc+Pxl+Nobj+9mquBCRCOWAfb9
# 7GuWEFvKUeWw2zZ4PkZcmymV6F/H1XLX9Daag3NinWGko6Uj5gDVd3sZS67+0VV6
# Q4iLa3tg85Y2of2L8XbC1V1d8RDjVuY08lg9c2sHzoz8dzA2lelTTtzwdg9O3RcU
# PiFOSzuwzsYLl/HxUT/y6Nmn7rBcC3OjXTSY3xHy2wqCbKq/O/h+E6dbpfGWUUXM
# QW4cpowV3BVZT67/HM2jhUW97+YF8nhQj8klZpT5t8jevs6pzuO8rDbTlHsGAzBI
# uE0SAHWP3EIA9vZVGkWV/bXKfdBBA8RNyFKoFU8XZLzV7DlmkC1jeQD+PZZeWr1Z
# x4d1MJI+Bg+AVENAUXvxfsQLtjObBzTGJc3b25VQjzvL7Q3CfIhc2E/VtCFz27mN
# c+eIZGQXsNIBOPphfJ6D1ZvPNRq/jrfXCE8=
# SIG # End signature block