Microsoft.PowerApps.Administration.PowerShell.psd1

@{

# Script module or binary module file associated with this manifest.
RootModule = 'Microsoft.PowerApps.Administration.Powershell.psm1'

# Version number of this module.
ModuleVersion = '2.0.187'

# Supported PSEditions
# CompatiblePSEditions = @()

# ID used to uniquely identify this module
GUID = '1c40b0da-ee6a-4226-9a3d-e60092e1daae'

# Author of this module
Author = 'Microsoft Common Data Service Team'

# Company or vendor of this module
CompanyName = 'Microsoft'

# Copyright statement for this module
Copyright = '© 2020 Microsoft Corporation. All rights reserved'

# Description of the functionality provided by this module
Description = 'PowerShell interface for Microsoft PowerApps and Flow Administrative features'

# Minimum version of the Windows PowerShell engine required by this module
PowerShellVersion = '3.0'

# Name of the Windows PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the Windows PowerShell host required by this module
PowerShellHostVersion = '1.0'

# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
DotNetFrameworkVersion = '4.0.0.0'

# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
#RequiredModules = @(@{ModuleName = "Microsoft.PowerApps.RestClientModule"; ModuleVersion = "1.0"; Guid = "04800678-e13e-4b41-8d46-424e707ea733"})
#RequiredModules = @(@{ModuleName = "Microsoft.PowerApps.RestClientModule"; ModuleVersion = "1.0"; Guid = "04800678-e13e-4b41-8d46-424e707ea733"})

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
#NestedModules = @('Microsoft.PowerApps.AuthModule', 'Microsoft.PowerApps.RestClientModule')

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @(
    'New-AdminPowerAppCdsDatabase', `
    'Get-AdminPowerAppCdsDatabaseLanguages', `
    'Get-AdminPowerAppCdsDatabaseCurrencies', `
    'Get-AdminPowerAppEnvironmentLocations', `
    'Get-AdminPowerAppCdsDatabaseTemplates', `
    'New-AdminPowerAppEnvironment', `
    'Set-AdminPowerAppEnvironmentDisplayName', `
    'Set-AdminPowerAppEnvironmentCopilotSettings', `
    'Set-AdminPowerAppEnvironmentBackupRetentionPeriod', `
    'Set-AdminPowerAppEnvironmentRuntimeState', `
    'Set-AdminPowerAppEnvironmentGovernanceConfiguration', `
    'Get-AdminPowerAppEnvironment', `
    'Get-AdminPowerAppSoftDeletedEnvironment', `
    'Get-AdminPowerAppOperationStatus', `
    'Remove-AdminPowerAppEnvironment', `
    'Recover-AdminPowerAppEnvironment', `
    'Reset-PowerAppEnvironment', `
    'Get-AdminPowerAppEnvironmentRoleAssignment', `
    'Set-AdminPowerAppEnvironmentRoleAssignment', `
    'Remove-AdminPowerAppEnvironmentRoleAssignment', `
    'Get-AdminPowerApp', `
    'Remove-AdminPowerApp', `
    'Get-AdminPowerAppRoleAssignment', `
    'Remove-AdminPowerAppRoleAssignment', `
    'Set-AdminPowerAppRoleAssignment', `
    'Set-AdminPowerAppOwner', `
    'Get-AdminFlow', `
    'Add-PowerAppsCustomBrandingAssets', `
    'Enable-AdminFlow', `
    'Disable-AdminFlow', `
    'Remove-AdminFlow', `
    'Restore-AdminFlow', `
    'Remove-AdminFlowApprovals', `
    'Set-AdminFlowOwnerRole', `
    'Remove-AdminFlowOwnerRole', `
    'Get-AdminFlowOwnerRole', `
    'Get-AdminPowerAppConnector', `
    'Get-AdminFlowEnvironmentCmkStatus', `
    'Get-DesktopFlowModules', `
    'Add-AdminFlowsToSolution', `
    'Add-AdminFlowPowerAppContext', `
    'Remove-AdminFlowPowerAppContext', `
    'Get-AdminFlowAtRiskOfSuspension', `
    'Get-AdminPowerAppConnectorAction', `
    'Get-AdminPowerAppConnectorRoleAssignment', `
    'Set-AdminPowerAppConnectorRoleAssignment', `
    'Remove-AdminPowerAppConnectorRoleAssignment', `
    'Get-AdminGenerateDataverseEnforceReport', `
    'Remove-AdminPowerAppConnector', `
    'Get-AdminPowerAppConnection', `
    'Remove-AdminPowerAppConnection', `
    'Get-AdminPowerAppConnectionRoleAssignment', `
    'Set-AdminPowerAppConnectionRoleAssignment', `
    'Remove-AdminPowerAppConnectionRoleAssignment', `
    'Get-AdminPowerAppsUserDetails', `
    'Get-AdminFlowUserDetails', `
    'Remove-AdminFlowUserDetails', `
    'Set-AdminPowerAppAsFeatured', `
    'Clear-AdminPowerAppAsFeatured', `
    'Set-AdminPowerAppAsHero', `
    'Clear-AdminPowerAppAsHero', `
    'Set-AppAsUnquarantined', `
    'Set-AppAsQuarantined', `
    'Get-AppQuarantineState', `
    'Set-AdminPowerAppApisToBypassConsent', `
    'Clear-AdminPowerAppApisToBypassConsent', `
    'Get-AdminPowerAppConditionalAccessAuthenticationContextIds', `
    'Set-AdminPowerAppConditionalAccessAuthenticationContextIds', `
    'Remove-AdminPowerAppConditionalAccessAuthenticationContextIds', `
    'Get-AdminDlpPolicy', `
    'New-AdminDlpPolicy', `
    'Remove-AdminDlpPolicy', `
    'Set-AdminDlpPolicy', `
    'Add-ConnectorToBusinessDataGroup', `
    'Remove-ConnectorFromBusinessDataGroup', `
    'Get-AdminPowerAppConnectionReferences', `
    'Add-CustomConnectorToPolicy', `
    'Add-ConnectorsToPolicy', `
    'Remove-CustomConnectorFromPolicy', `
    'Remove-LegacyCDSDatabase', `
    'Get-AdminDeletedPowerAppsList', `
    'Get-AdminRecoverDeletedPowerApp', `
    'Add-AdminAllowedThirdPartyApps', `
    'Get-AdminAllowedThirdPartyApps', `
    'Remove-AdminAllowedThirdPartyApps', `
    'Set-PowerPlatformGenerativeAiSettings', `
    #from Rest and Auth Module Helpers
    'Select-CurrentEnvironment', `
    'Add-PowerAppsAccount', `
    'Remove-PowerAppsAccount',`
    'Test-PowerAppsAccount', `
    'Get-TenantDetailsFromGraph', `
    'Get-UsersOrGroupsFromGraph', `
    'Get-JwtToken', `
    'ReplaceMacro', `
    'Set-TenantSettings', `
    'Get-TenantSettings', `
    'Get-AdminPowerAppTenantConsumedQuota', `
    'InvokeApi', `
    'InvokeApiNoParseContent', `
    'Add-AdminPowerAppsSyncUser', `
    'Remove-AllowedConsentPlans', `
    'Add-AllowedConsentPlans', `
    'Get-AllowedConsentPlans', `
    'Get-AdminPowerAppCdsAdditionalNotificationEmails', `
    'Set-AdminPowerAppCdsAdditionalNotificationEmails', `
    'Get-AdminPowerAppLicenses', `
    'Set-AdminPowerAppDesiredLogicalName' `
    # DLP policy Version 1 APIs
    'Get-DlpPolicy', `
    'New-DlpPolicy', `
    'Remove-DlpPolicy', `
    'Set-DlpPolicy', `
    # URL patterns Version 1 APIs
    'Get-PowerAppTenantUrlPatterns', `
    'New-PowerAppTenantUrlPatterns', `
    'Remove-PowerAppTenantUrlPatterns', `
    'Get-PowerAppPolicyUrlPatterns', `
    'New-PowerAppPolicyUrlPatterns', `
    'Remove-PowerAppPolicyUrlPatterns', `
    # Dlp policy connector configurations Version 1 APIs
    'Get-PowerAppDlpPolicyConnectorConfigurations', `
    'New-PowerAppDlpPolicyConnectorConfigurations', `
    'Remove-PowerAppDlpPolicyConnectorConfigurations', `
    'Set-PowerAppDlpPolicyConnectorConfigurations', `
    # Copy/Backup/Restore APIs
    'Copy-PowerAppEnvironment', `
    'Backup-PowerAppEnvironment', `
    'Get-PowerAppEnvironmentBackups', `
    'Restore-PowerAppEnvironment', `
    'Remove-PowerAppEnvironmentBackup', `
    # Tenant To Tenant Migration APIs
    'TenantToTenant-PrepareMigration', `
    'TenantToTenant-GetStatus', `
    'TenantToTenant-MigratePowerAppEnvironment', `
    # Generate Resource Storage API
    'GenerateResourceStorage-PowerAppEnvironment', `
    # ManagementApp APIs
    'Get-PowerAppManagementApp', `
    'Get-PowerAppManagementApps', `
    'New-PowerAppManagementApp', `
    'Remove-PowerAppManagementApp', `
    # Environment Keywords
    'Get-AdminPowerAppSharepointFormEnvironment', `
    'Set-AdminPowerAppSharepointFormEnvironment', `
    'Reset-AdminPowerAppSharepointFormEnvironment', `
    # Protection key APIs
    'Get-PowerAppGenerateProtectionKey', `
    'Get-PowerAppRetrieveTenantProtectionKey', `
    'Get-PowerAppRetrieveAvailableTenantProtectionKeys', `
    'New-PowerAppImportProtectionKey', `
    'Set-PowerAppProtectionStatus', `
    'Set-PowerAppTenantProtectionKey', `
    'Set-PowerAppLockAllEnvironments', `
    'Set-PowerAppUnlockEnvironment', `
    # Tenant isolation APIs
    'Get-PowerAppTenantIsolationPolicy', `
    'Set-PowerAppTenantIsolationPolicy', `
    'Get-PowerAppTenantIsolationOperationStatus', `
    # Dlp/Governance Error Settings APIs
    'Get-PowerAppDlpErrorSettings', `
    'New-PowerAppDlpErrorSettings', `
    'Set-PowerAppDlpErrorSettings', `
    'Remove-PowerAppDlpErrorSettings', `
    'Get-GovernanceErrorSettings', `
    'New-GovernanceErrorSettings', `
    'Set-GovernanceErrorSettings', `
    'Remove-GovernanceErrorSettings', `
    # Dlp policy exempt resources Version 1 APIs
    'Get-PowerAppDlpPolicyExemptResources', `
    'New-PowerAppDlpPolicyExemptResources', `
    'Remove-PowerAppDlpPolicyExemptResources', `
    'Set-PowerAppDlpPolicyExemptResources', `
    # virtual connector Route
    'Get-AdminVirtualConnectors', `
    # Dlp Enforcement on Connections APIs
    'Start-DLPEnforcementOnConnectionsInTenant', `
    'Start-DLPEnforcementOnConnectionsInEnvironment', `
    # Dlp Connector blocking APIs
    'Get-PowerAppDlpConnectorBlockingPolicies', `
    'Get-PowerAppDlpConnectorBlockingPolicy', `
    'New-PowerAppDlpConnectorBlockingPolicy', `
    'Set-PowerAppDlpConnectorBlockingPolicy', `
    'Remove-PowerAppDlpConnectorBlockingPolicy', `
    # Admin power platform requests consumption
    'Get-AdminPowerPlatformRequestsConsumptionOfFlows'
)

# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
# CmdletsToExport = @()

# Variables to export from this module
# VariablesToExport = '*'

# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
# AliasesToExport = @()

# DSC resources to export from this module
# DscResourcesToExport = @()

# List of all modules packaged with this module
ModuleList = @("Microsoft.PowerApps.Administration.PowerShell" )

# List of all files packaged with this module
# When included they are automatically loaded which can pull the files by name from uncontrolled locations.
FileList = @(
    "Microsoft.PowerApps.Administration.PowerShell.psm1", `
    "Microsoft.PowerApps.Administration.PowerShell.psd1", `
    "Microsoft.PowerApps.AuthModule.psm1", `
    "Microsoft.PowerApps.RestClientModule.psm1"
)

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        # Tags = @()

        # A URL to the license for this module.
         LicenseUri = 'https://aka.ms/powerappspowershellterms'

        # A URL to the main website for this project.
         ProjectUri = 'https://docs.microsoft.com/en-us/powerapps/administrator/powerapps-powershell'

        # A URL to an icon representing this module.
         IconUri = 'https://connectoricons-prod.azureedge.net/powerplatformforadmins/icon_1.0.1056.1255.png'

        # ReleaseNotes of this module
        ReleaseNotes = '
 
Current Release:
2.0.187
    Add Support for Tenant To Tenant Migration and for generating resource storage.
     TenantToTenant-GetStatus
     TenantToTenant-MigratePowerAppEnvironment
     TenantToTenant-PrepareMigration
     GenerateResourceStorage-PowerAppEnvironment
 
2.0.168
    Add support for Tenant To Tenant Migration and for generating resource storage.
     TenantToTenant-GetStatus
     TenantToTenant-MigratePowerAppEnvironment
     TenantToTenant-PrepareMigration
     GenerateResourceStorage-PowerAppEnvironment
 
2.0.167
    Add support for migrating non-solution flows to solution as admin.
        Add-AdminFlowsToSolution
    Support ''CreatedBy'' filter which was removed in 2.0.166. We can support this filter now as backend API has been fixed to return the CreatedBy metadata.
 
2.0.166
    Update Get-AdminFlow to use v2 route for fetching flows. This v2 route returns less information about flows.
    Response will contain the following flow properties: Id, display name, created time, last modified time, state and workflow entity Id.
    BREAKING CHANGE: Removed support for ''CreatedBy'' filter as v2 route does not return the creator of the flow.
 
2.0.165
    Add support for setting the background operations state on an environment.
        Set-AdminPowerAppEnvironmentRuntimeState
 
2.0.163
    Fix polling support in Set-AdminPowerAppEnvironmentRuntimeState
        Set-AdminPowerAppEnvironmentRuntimeState
 
2.0.157
    Added new Apis to get environment cmk status in PowerAutomate.
        Get-AdminFlowEnvironmentCmkStatus
 
2.0.156
    Add support for setting backup retention period on an environment.
        Set-AdminPowerAppEnvironmentBackupRetentionPeriod
 
2.0.155
    Add flow at risk of suspension function.
        Get-AdminFlowAtRiskOfSuspension
 
2.0.155
    Add support for Developer environment provisioning and TemplateMetadata parameter for Dataverse provisioning.
 
2.0.154
    Update license uri link
 
2.0.153
    Add new governance error settings functions
        Get-GovernanceErrorSettings
        New-GovernanceErrorSettings
        Set-GovernanceErrorSettings
        Remove-GovernanceErrorSettingss
    PowerAppDlpErrorSettings will be deprecated in a future version.
 
2.0.150
    Remove warning from Set-AdminPowerAppEnvironmentGovernanceConfiguration'

    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
# HelpInfoURI = ''

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = 'PowerApp'

}

# SIG # Begin signature block
# MIIntAYJKoZIhvcNAQcCoIInpTCCJ6ECAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCn4pTkGSeIY1Yw
# 5fdzS3lbVQS/UrEsAarB9LLdamLbm6CCDXYwggX0MIID3KADAgECAhMzAAADrzBA
# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA
# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG
# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN
# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL
# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB
# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd
# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ
# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY
# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp
# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn
# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT
# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG
# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O
# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk
# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx
# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt
# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
# /Xmfwb1tbWrJUnMTDXpQzTGCGZQwghmQAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
# BQCggaAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEICTFj7yWvuH7JOiLiWa5M88O
# 2/TD+65GbMFm/qt4OlakMDQGCisGAQQBgjcCAQwxJjAkoBKAEABUAGUAcwB0AFMA
# aQBnAG6hDoAMaHR0cDovL3Rlc3QgMA0GCSqGSIb3DQEBAQUABIIBAAWSEl7Vgt4y
# 4vKJ/5SlyxEM+aXZI9EkuLFdulnfUi1oYkxZfUMpu98/m63C62B5kCAVfJWTxTTI
# 43+CX4QN9Zad7q5ZZvDWzxUn4c9HTUv/9mxxGYhw4hdf+thZ1DW+d9gcFUNAmFLc
# GUK9yNqTblDYCA3A3RzFJE6kRmzpe9Nzg25NT02+zSmgmJtqhsns7w9OLkWEUJ7M
# TQLulDb7V8cXVv5YnawM/a+3tqPeLzImuvt+I9GOyCJX/mE9ya3K5vQXnAyiMM+T
# Tkk/0zlIjaEegZnraDXPlFLsYb/hHBoYE9h/RU83/pETsnk04UMNw65k3RhYm+9t
# OKwvVFWwgRuhghcsMIIXKAYKKwYBBAGCNwMDATGCFxgwghcUBgkqhkiG9w0BBwKg
# ghcFMIIXAQIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBWQYLKoZIhvcNAQkQAQSgggFI
# BIIBRDCCAUACAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQgimhlWDOP
# YM6qh+dH2Vxo5eHlfYrzzEiqzr9Pg+lwg34CBmYfx/h87BgTMjAyNDA1MDEyMzE0
# NTUuNDg3WjAEgAIB9KCB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
# b3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9u
# cyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4RDQxLTRCRjctQjNC
# NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaCCEXswggcn
# MIIFD6ADAgECAhMzAAAB49+9m5ocaIMiAAEAAAHjMA0GCSqGSIb3DQEBCwUAMHwx
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p
# Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIzMTAxMjE5MDcyOVoXDTI1
# MDExMDE5MDcyOVowgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRl
# ZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046OEQ0MS00QkY3LUIzQjcxJTAjBgNV
# BAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQC+pA1oHkafn8UgVA+jf8rhCaV4IMwXjRuSgfDPQGyF
# nhKJCYDoIZTIPCZqpDbAeFpdTRF0e3C+r5TwrFhizIcqprHELt+v/Idm8ek1ODPH
# VWRHeleFPpfYKbXvlRfdZDiN+XzqienkAzMEgUOXPRJTxVIo0wO81e2OT0WK0uBS
# /aePeE4nQqQRB+TegDubvMDQP4yjveGZH44Lu7CxfElHa3NRkTRJNhfdS96cUft9
# hbLkE2YvIaraxaRDkcW8koIkAT93B+3z5XjdTcp4TEX+k+1wtS9D0cisvTGekwVq
# 7th3lor5MSLntZy0G/zv59I9kFXeNmX9AK1wf1aueIEPCSL1B9HG78ljPD6JoRYu
# qthe4XuN44a8cr59V4tacBzlbGx9umMQyk1sZdtIX0C3c8+EVU6PHBUTHUAsZSpE
# p6HD1qn1f+B+QD0j15NK/AnP3DJr2t4OBL7qReBK20jtFDZwkb+1A8ZUhosIhpJp
# 8ud5qrQGezS3j4RbcH8aegEyKI5fCV469/m50FlAgwneTmqeeHxnhmFPCsTqIZs+
# tOAYE9eHt7EVgAaVvqF2EgshUN0mUN/yzU1W8vRDbLhIdlCECllO5b+3Iawaxwg8
# NIzPlsDo2FEu2MTAIWksjmoaW7nQC70VF6UIRCxaDurTsf+uoc6oI0kzhGN6buOg
# RQIDAQABo4IBSTCCAUUwHQYDVR0OBBYEFLGuDWa+NRW3oWfGPnqdptmImKkDMB8G
# A1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1UdHwRYMFYwVKBSoFCG
# Tmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUy
# MFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEFBQcBAQRgMF4w
# XAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2Vy
# dHMvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3J0MAwG
# A1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQD
# AgeAMA0GCSqGSIb3DQEBCwUAA4ICAQC3vpsuqdTTzBFtbe9GvGNoRsY+rIg0rpRg
# LOFMZpH88TAInOI9Phkz2x8ZNfd5kNBUT2vXbW0W2ns1dBi5BLFFkxhdrT+lrA3Z
# ef5Q+MFEO+gKxTnp3AqSubLxNLDtBcoayR2cTCwjnJb3erwCDzpGQGIoQR/0V3Mc
# 24pYjgq//98O0RJ7C7jqf+75VyQLBs5iXrAT/9BEasYyrnT1rgRs/6nUZSbTpeZ7
# /TWZMi4oOA+YcvadhHNc2qLYi4h5yfZpbCRHFA4WI/D52JyY47Asb/sic2qNmlB4
# iEMzGxavjNPHPLgRH/rN+2G2UO1wBccHthFSQFMKVo5rSd2980lkzJhVrpxa9mi5
# Or1XktLtTMhHxL/tGw5Pjd45rAsGy5DPRWg4u6th7VJ98+pOwJxE3NvHQLy3/4qK
# lK1WE8Aa20R+F1RRL2iEPou3rA0InFltXQgwPyd8TqAhAlevOtdY64mo33VYPKNF
# qfhQoOQgFLbJYDhbomFC4HMZ6s5Jj9oufGRGtK5uC2cphwc7CDFNMjJrlZgJGMW3
# RA4uV6pWSLqT6apg+v3y4w+Lm9EhBLbTqYNJ6dK2vzDQn7/7VYSbc+cIIhCCl/rO
# GpGsC32PtesQweuDZtB6BrPxsvNt7pSJuBsq1HKTWcZ17xOjmTIyP1dQIEgIPFP4
# XjFrmU1lVDCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJKoZI
# hvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# MjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAy
# MDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMC
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp
# bWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
# AQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25Phdg
# M/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aORmsHFPPF
# dvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6
# GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc6XBp
# Dco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL64NF50Zu
# yjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3E
# XzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0
# lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1q
# GFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0kZSU2LlQ
# +QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PA
# PBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB3TCCAdkw
# EgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxG
# NSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwGA1UdIARV
# MFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWlj
# cm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUEDDAK
# BggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC
# AYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX
# zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20v
# cGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYI
# KwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG
# 9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4sQaTlz0x
# M7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmC
# VgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRXud2f8449
# xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wM
# nosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzskYDS
# PeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2d
# Y3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxn
# GSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFhbHP+Crvs
# QWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokL
# jzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+oDEzfbzL
# 6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggLX
# MIICQAIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMg
# TGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046OEQ0MS00QkY3LUIzQjcx
# JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUr
# DgMCGgMVAD2Il7vDkUOIbynLhOxitAjoMVp6oIGDMIGApH4wfDELMAkGA1UEBhMC
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp
# bWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDp3LltMCIYDzIwMjQw
# NTAxMjA1MTU3WhgPMjAyNDA1MDIyMDUxNTdaMHcwPQYKKwYBBAGEWQoEATEvMC0w
# CgIFAOncuW0CAQAwCgIBAAICAi0CAf8wBwIBAAICE18wCgIFAOneCu0CAQAwNgYK
# KwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQAC
# AwGGoDANBgkqhkiG9w0BAQUFAAOBgQBsNo/ed1ZJuC7eRG14OfmFFP6mMUxGsQB1
# N4CVIJGOJqbjibFORwrvBNhbaWDBtZzMkVk2NuFdhHj7ffZdXTbqWr3xlcubfqXh
# UR7whubIu780C0ewdhXtiPo5XWvXkDL25Hi1zkkXr6XyewvrSeqiEM4i/q8rNlC5
# 25ZTUC77kjGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX
# YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg
# Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy
# MDEwAhMzAAAB49+9m5ocaIMiAAEAAAHjMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkq
# hkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEINkPR64oIm9g
# 1J2uN6lhqYulKmaldrCaFRPZQcfjFTDwMIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB
# 5DCBvQQgM9Qjq+Ww/mT3RIEI1r3CFrgyXEG3YKvDXY9McjLmJiowgZgwgYCkfjB8
# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1N
# aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAePfvZuaHGiDIgABAAAB
# 4zAiBCBI4jGRkhcG2dPT+65fFk4q/0cWxmVZz5MFGzGRKmsPJzANBgkqhkiG9w0B
# AQsFAASCAgCx3aiYSSGxWC9ahV3yTeuwQB/W9QYxfVGt6dNiM3WVcR3BgLymPeHS
# jGwCfDGCSYDpQxw9azH3dsRPt4SNFfeQD/s6t0gRLWMj1lr7bqXhI7yFoh1OKWAe
# XU7V1CW5fLANpor82ZcKYu6wtBr9qvHCBWcGPIk3i6P11A87wmjAwDm0jUnSWIKQ
# K+Xx9xoG1DwZr/r++y4MQV7YxCf2ms3vjvn7bUv9ARYFssakDrsRzlFkk6Odcx6n
# NLUdsPGsbyaGqJl0DEMNsYDUhhNofj2fepk6RrS+Z+1vJDjAn5/rHc/XpuLhTaCf
# yL0bjMiggbF470/6KSLPJnqflif9RcyMqfQDr8eBJGDdC+EdsamgjgQRPB5lnG3t
# Mv+ieXjFlG7O/CQHXQBMh9NETfS4cfTO4Z3iQ2nkmLGDIALVxgXdeipixL9pyHTh
# vZEw5YpxA9xd7ahM6NCZ3CpcKmngHI/Qr6MHrYAk1sxl/uxX8Pan4H/Bv89m8Bsj
# /HIUA1ZecFS2za1ZJ8Hanj7RccUxP+RqgMiX99J/UZcs4NceEJ45180wTEkrc7Ws
# j94Cd2gLk+IkYrnkcBCx0UIH1jbFMd/OOcRFRCU0rY49gqhN4sv9aYCWRp7WeMBN
# uX6MzA/8RVQaqbw3tlpM2Hc6MRvUe8sDZhTObKUmActVM7Hyg/kSCg==
# SIG # End signature block