diff --git a/README.md b/README.md
index 1e9e475..eddcb42 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,31 @@
-# PSDesiredStateConfiguration
\ No newline at end of file
+# How to Create PSDesiredStateConfiguration NuGet package for PoweShell Core
+- Modify psm1 file in PSDesiredStateConfiguration module.
+ -- Remove the signature from the bottom of the file.
+ -- Add your changes.
+ -- Get it signed from DSC Azure dev ops pipeline.
+ Following is the expected signing settings:
+
+
+- Other files under PSDesiredStateConfiguration module doesn’t need to be signed, you can modify them directly.
+
+- Change the version in nuget spec file.
+
+- Check-in these changes in DesiredStateConfiguration repository.
+
+- Create a NuGet package by running following command, it will generate NuGet package (PSDesiredStateConfiguration.6.2.0.nupkg). Get it published by PowerShell team.
+ nuget pack .\psdesiredstateconfiguration.nuspec
+
+# Modify PowerShell code to pick up new version of NuGet package.
+ - Sync PowerShell/PowerShell repository and change NuGet package version in following files
+ src/powershell-unix/powershell-unix.csproj
+ src/powershell-win-core/powershell-win-core.csproj
+
+```sh
+
+-
++
+
+
+```
+
+- Send PR to PowerShell team
\ No newline at end of file
diff --git a/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/BaseResource.schema.mof b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/BaseResource.schema.mof
new file mode 100644
index 0000000..0b35f58
--- /dev/null
+++ b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/BaseResource.schema.mof
@@ -0,0 +1,90 @@
+[ClassVersion("1.0.0")]
+class MSFT_Credential
+{
+ [MaxLen ( 256 )]
+ string UserName;
+ string Password;
+};
+
+[Abstract, ClassVersion("1.0.0")]
+class OMI_BaseResource
+{
+ [required] string ResourceId;
+ [write] string SourceInfo;
+ [write] string DependsOn[];
+ [required] string ModuleName;
+ [required] string ModuleVersion;
+ [write] string ConfigurationName;
+ [write, EmbeddedInstance("MSFT_Credential")] string PsDscRunAsCredential;
+};
+
+[Abstract, ClassVersion("1.0.0")]
+class MSFT_KeyValuePair
+{
+ [Key]
+ string Key;
+
+ [write]
+ string Value;
+};
+
+[Abstract, ClassVersion("1.0.0")]
+class MSFT_BaseConfigurationProviderRegistration
+{
+ [key] String ClassName;
+ String DSCEngineCompatVersion;
+ String DSCModuleVersion;
+};
+
+[ClassVersion("1.0.0")]
+class MSFT_CimConfigurationProviderRegistration : MSFT_BaseConfigurationProviderRegistration
+{
+ String Namespace;
+};
+
+[ClassVersion("1.0.0")]
+class MSFT_PSConfigurationProviderRegistration : MSFT_BaseConfigurationProviderRegistration
+{
+ String ModuleName;
+ String ProviderPath;
+ String ModulePath;
+};
+
+[ClassVersion("1.0.0")]
+class OMI_ConfigurationDocument
+{
+ String Version;
+ String Author;
+ String Copyright;
+ String HelpInfoUri;
+ String ContentType;
+ String GenerationDate;
+ String GenerationHost;
+ String Name;
+ String MinimumCompatibleVersion;
+ String CompatibleVersionAdditionalProperties[];
+ boolean UseCms;
+};
+
+[Abstract,ClassVersion("1.0.0")]
+class OMI_MetaConfigurationResource
+{
+ [required] string ResourceId;
+ [write] string SourceInfo;
+};
+
+[Abstract,ClassVersion("1.0.0")]
+class OMI_ResourceModuleManager : OMI_MetaConfigurationResource
+{
+};
+
+[Abstract,ClassVersion("1.0.0")]
+class OMI_ConfigurationDownloadManager : OMI_MetaConfigurationResource
+{
+};
+
+
+[Abstract,ClassVersion("1.0.0")]
+class OMI_ReportManager : OMI_MetaConfigurationResource
+{
+};
diff --git a/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/MSFT_DSCMetaConfiguration.mof b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/MSFT_DSCMetaConfiguration.mof
new file mode 100644
index 0000000..085d3c1
Binary files /dev/null and b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/MSFT_DSCMetaConfiguration.mof differ
diff --git a/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/MSFT_MetaConfigurationExtensionClasses.schema.mof b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/MSFT_MetaConfigurationExtensionClasses.schema.mof
new file mode 100644
index 0000000..99fdf9a
Binary files /dev/null and b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/MSFT_MetaConfigurationExtensionClasses.schema.mof differ
diff --git a/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/en-US/BaseResource.Schema.mfl b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/en-US/BaseResource.Schema.mfl
new file mode 100644
index 0000000..c75a70c
Binary files /dev/null and b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/en-US/BaseResource.Schema.mfl differ
diff --git a/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/en-US/MSFT_DSCMetaConfiguration.mfl b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/en-US/MSFT_DSCMetaConfiguration.mfl
new file mode 100644
index 0000000..16a5a66
Binary files /dev/null and b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/en-US/MSFT_DSCMetaConfiguration.mfl differ
diff --git a/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/en-US/MSFT_MetaConfigurationExtensionClasses.Schema.mfl b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/en-US/MSFT_MetaConfigurationExtensionClasses.Schema.mfl
new file mode 100644
index 0000000..821c5ce
Binary files /dev/null and b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/Configuration/BaseRegistration/en-US/MSFT_MetaConfigurationExtensionClasses.Schema.mfl differ
diff --git a/contentFiles/any/any/Modules/PSDesiredStateConfiguration/PSDesiredStateConfiguration.psd1 b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/PSDesiredStateConfiguration.psd1
new file mode 100644
index 0000000..8b1328e
Binary files /dev/null and b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/PSDesiredStateConfiguration.psd1 differ
diff --git a/PSDesiredStateConfiguration/PSDesiredStateConfiguration.psm1 b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/PSDesiredStateConfiguration.psm1
similarity index 93%
rename from PSDesiredStateConfiguration/PSDesiredStateConfiguration.psm1
rename to contentFiles/any/any/Modules/PSDesiredStateConfiguration/PSDesiredStateConfiguration.psm1
index 19a85f1..eb18c8c 100644
--- a/PSDesiredStateConfiguration/PSDesiredStateConfiguration.psm1
+++ b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/PSDesiredStateConfiguration.psm1
@@ -70,6 +70,11 @@ Set-StrictMode -Off
# In case localized resource is not available we revert back to English as defined in LocalizedData section so ignore the error instead of showing it to user.
Import-LocalizedData -BindingVariable LocalizedData -FileName PSDesiredStateConfiguration.Resource.psd1 -ErrorAction SilentlyContinue
+Import-Module $PSScriptRoot/helpers/DscResourceInfo.psm1
+
+# Set DSC HOME environment variable.
+$env:DSC_HOME = "$PSScriptRoot/Configuration"
+
$script:V1MetaConfigPropertyList = @('ConfigurationModeFrequencyMins', 'RebootNodeIfNeeded', 'ConfigurationMode', 'ActionAfterReboot', 'RefreshMode', 'CertificateID', 'ConfigurationID', 'DownloadManagerName', 'DownloadManagerCustomData', 'RefreshFrequencyMins', 'AllowModuleOverwrite', 'DebugMode', 'Credential')
$script:DirectAccessMetaConfigPropertyList = @('AllowModuleOverWrite', 'CertificateID', 'ConfigurationDownloadManagers', 'ResourceModuleManagers', 'DebugMode', 'RebootNodeIfNeeded', 'RefreshMode', 'ConfigurationAgent')
@@ -1870,7 +1875,7 @@ function Configuration
}
$Script:ExplicitlyImportedModules[ $_.Name ] = $versionToUse
}
- $moduleInfos = Get-Module -ListAvailable -FullyQualifiedName $moduleToImport | sort -Property Version -Descending
+ $moduleInfos = Get-Module -ListAvailable -FullyQualifiedName $moduleToImport | Sort-Object -Property Version -Descending
return $moduleInfos
}
@@ -2033,7 +2038,7 @@ function Configuration
foreach ($mod in $modulesInfo) {
$resourcesFound = ImportClassResourcesFromModule -Module $mod -Resources $res -functionsToDefine $functionsToDefine
- $dscResourcesPath = Join-Path -Path $mod.ModuleBase -ChildPath 'DSCResources'
+ $dscResourcesPath = Join-Path -Path $mod.ModuleBase -ChildPath 'DscResources'
if(Test-Path $dscResourcesPath)
{
foreach($requiredResource in $res)
@@ -3802,7 +3807,7 @@ function ReadEnvironmentFile
function Get-DSCResourceModules
{
- $listPSModuleFolders = $env:PSModulePath.Split(";")
+ $listPSModuleFolders = $env:PSModulePath.Split(":")
$dscModuleFolderList = [System.Collections.Generic.HashSet[System.String]]::new()
foreach ($folder in $listPSModuleFolders)
@@ -3836,7 +3841,7 @@ function Get-DSCResourceModules
if($addModule)
{
- $dscModuleFolderList.Add($moduleFolder.Name)
+ $dscModuleFolderList.Add($moduleFolder.Name)
}
}
}
@@ -3912,7 +3917,10 @@ function Get-DscResource
}
else
{
- $modules = Get-Module -ListAvailable -Name (Get-DSCResourceModules)
+ $dscResourceModules = Get-DSCResourceModules
+ if($dscResourceModules -ne $null) {
+ $modules = Get-Module -ListAvailable -Name ($dscResourceModules)
+ }
}
foreach ($mod in $modules)
@@ -3922,7 +3930,7 @@ function Get-DscResource
$null = ImportClassResourcesFromModule -Module $mod -Resources * -functionsToDefine $functionsToDefine
}
- $dscResources = Join-Path -Path $mod.ModuleBase -ChildPath 'DSCResources'
+ $dscResources = Join-Path -Path $mod.ModuleBase -ChildPath 'DscResources'
if(Test-Path $dscResources)
{
foreach ($resource in Get-ChildItem -Path $dscResources -Directory -Name)
@@ -4426,14 +4434,14 @@ function GetModule
}
# get module from parent directory.
- # Desired structure is : /DSCResources//schema.File
+ # Desired structure is : /DscResources//schema.File
$validResource = $false
$schemaDirectory = Split-Path $schemaFileName
if($schemaDirectory)
{
$subDirectory = [System.IO.Directory]::GetParent($schemaDirectory)
- if ($subDirectory -and ($subDirectory.Name -eq 'DSCResources') -and $subDirectory.Parent)
+ if ($subDirectory -and ($subDirectory.Name -eq 'DscResources') -and $subDirectory.Parent)
{
$moduleDirectory = [System.IO.Directory]::GetParent($subDirectory)
$results = $modules | Where-Object -FilterScript {
@@ -4567,7 +4575,8 @@ function IsPatternMatched
return $false
}
-Export-ModuleMember -Function Get-DscResource
+Export-ModuleMember -Function Get-DscResource, Configuration
+
###########################################################
@@ -4585,4 +4594,195 @@ New-Alias -Name 'ulcm' -Value 'Update-DscLocalConfigurationManager'
New-Alias -Name 'upcfg' -Value 'Update-DSCConfiguration'
New-Alias -Name 'gcfgs' -Value 'Get-DscConfigurationStatus'
-Export-ModuleMember -Alias * -Function *
+# SIG # Begin signature block
+# MIIjhgYJKoZIhvcNAQcCoIIjdzCCI3MCAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCOpHKvPB/kIEkH
+# j8MjD0M+i6OEjHypZn1xLUPBVqANQ6CCDYEwggX/MIID56ADAgECAhMzAAABA14l
+# HJkfox64AAAAAAEDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
+# bmcgUENBIDIwMTEwHhcNMTgwNzEyMjAwODQ4WhcNMTkwNzI2MjAwODQ4WjB0MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+# AQDRlHY25oarNv5p+UZ8i4hQy5Bwf7BVqSQdfjnnBZ8PrHuXss5zCvvUmyRcFrU5
+# 3Rt+M2wR/Dsm85iqXVNrqsPsE7jS789Xf8xly69NLjKxVitONAeJ/mkhvT5E+94S
+# nYW/fHaGfXKxdpth5opkTEbOttU6jHeTd2chnLZaBl5HhvU80QnKDT3NsumhUHjR
+# hIjiATwi/K+WCMxdmcDt66VamJL1yEBOanOv3uN0etNfRpe84mcod5mswQ4xFo8A
+# DwH+S15UD8rEZT8K46NG2/YsAzoZvmgFFpzmfzS/p4eNZTkmyWPU78XdvSX+/Sj0
+# NIZ5rCrVXzCRO+QUauuxygQjAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
+# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUR77Ay+GmP/1l1jjyA123r3f3QP8w
+# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
+# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDM3OTY1MB8GA1UdIwQYMBaAFEhu
+# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
+# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
+# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
+# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
+# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAn/XJ
+# Uw0/DSbsokTYDdGfY5YGSz8eXMUzo6TDbK8fwAG662XsnjMQD6esW9S9kGEX5zHn
+# wya0rPUn00iThoj+EjWRZCLRay07qCwVlCnSN5bmNf8MzsgGFhaeJLHiOfluDnjY
+# DBu2KWAndjQkm925l3XLATutghIWIoCJFYS7mFAgsBcmhkmvzn1FFUM0ls+BXBgs
+# 1JPyZ6vic8g9o838Mh5gHOmwGzD7LLsHLpaEk0UoVFzNlv2g24HYtjDKQ7HzSMCy
+# RhxdXnYqWJ/U7vL0+khMtWGLsIxB6aq4nZD0/2pCD7k+6Q7slPyNgLt44yOneFuy
+# bR/5WcF9ttE5yXnggxxgCto9sNHtNr9FB+kbNm7lPTsFA6fUpyUSj+Z2oxOzRVpD
+# MYLa2ISuubAfdfX2HX1RETcn6LU1hHH3V6qu+olxyZjSnlpkdr6Mw30VapHxFPTy
+# 2TUxuNty+rR1yIibar+YRcdmstf/zpKQdeTr5obSyBvbJ8BblW9Jb1hdaSreU0v4
+# 6Mp79mwV+QMZDxGFqk+av6pX3WDG9XEg9FGomsrp0es0Rz11+iLsVT9qGTlrEOla
+# P470I3gwsvKmOMs1jaqYWSRAuDpnpAdfoP7YO0kT+wzh7Qttg1DO8H8+4NkI6Iwh
+# SkHC3uuOW+4Dwx1ubuZUNWZncnwa6lL2IsRyP64wggd6MIIFYqADAgECAgphDpDS
+# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
+# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
+# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
+# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
+# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
+# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
+# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
+# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
+# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
+# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
+# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
+# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
+# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
+# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
+# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
+# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
+# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
+# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
+# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
+# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
+# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
+# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
+# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
+# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
+# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
+# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
+# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
+# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
+# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
+# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
+# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
+# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
+# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
+# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
+# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
+# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
+# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
+# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
+# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
+# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVWzCCFVcCAQEwgZUwfjELMAkG
+# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
+# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
+# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAQNeJRyZH6MeuAAAAAABAzAN
+# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
+# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgeS+xSgXs
+# 8DOI5c05vFbX5mOpzpJjPSIq28FAA1qaV50wQgYKKwYBBAGCNwIBDDE0MDKgFIAS
+# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
+# BgkqhkiG9w0BAQEFAASCAQAWn9fBPZA47iGHZVffy8v8Tjxlp7m2sRevClzwGxIo
+# LdZp/SAWqeVMaNP4V7VhvHQi+/8CbVzJeUML2ZmjizOyQj7tCndLczQ2XvzwPLZx
+# EZnufmHsmXRgH0hEP68hGdhjxQfFx2vhQ88hUyeog9rnEqRKBiGNhGoUJBF2BTbw
+# PzRVdaUkFAk/VLheWqchSxL5dAzL+wyuU0RKvvw7m+YFA/NN+496RPIhjOS2/XRO
+# 1XOhwQ75t8BKcakHuH7ee2aBeeEQtB/DU3oW1iZziwLQ75NfGzgMv+rQ83NYpAGR
+# e9qcdUl0lALlpo36hzgSXCvZ/soOmfDHbndjtgksO8hkoYIS5TCCEuEGCisGAQQB
+# gjcDAwExghLRMIISzQYJKoZIhvcNAQcCoIISvjCCEroCAQMxDzANBglghkgBZQME
+# AgEFADCCAVEGCyqGSIb3DQEJEAEEoIIBQASCATwwggE4AgEBBgorBgEEAYRZCgMB
+# MDEwDQYJYIZIAWUDBAIBBQAEII2ZrwoTpPqK/SBji6FXBeQCelWxhdY9htoI35Vy
+# Q3CJAgZcyd5D1HoYEzIwMTkwNjEwMjI0MTIwLjg1OVowBIACAfSggdCkgc0wgcox
+# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
+# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1p
+# Y3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg
+# RVNOOjdCRjEtRTNFQS1CODA4MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
+# cCBTZXJ2aWNloIIOPDCCBPEwggPZoAMCAQICEzMAAAD2rM92KnN0mtoAAAAAAPYw
+# DQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
+# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
+# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcN
+# MTgxMDI0MjExNDI3WhcNMjAwMTEwMjExNDI3WjCByjELMAkGA1UEBhMCVVMxEzAR
+# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
+# Y3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2Eg
+# T3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046N0JGMS1FM0VBLUI4
+# MDgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0G
+# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUmrVAwDHtx3rsVppuWDzC8TXEAXtm
+# AUD6639Of0V6AYaoHuLpUKSE96VNJ8lHfIV6QX0TdLD5k/Yhx7Mq9uvk9e3RK+2f
+# kGoEatgrb5cWSOyMg3NfOwTX5J5gmRPTiGQzCYXxdGmF6zEIwxRNuWb4tUQkWtir
+# kggkKajWSf1s4NLZaq18z9P5P6tUoBF5gdXdhCNClVbmvH/o76zezFAUo3vs7yT6
+# 78j+lY6dXAvgAkHhaicuJWVFIWwPxLiZNu2erW8xSL7GWlnn/j2mGLPLu+vlwRyW
+# vKANsOut8LRLU/KigOH22aXUNRhtqj8mfZ4IkUeg3Q0EfOAR5+lsbQdVAgMBAAGj
+# ggEbMIIBFzAdBgNVHQ4EFgQUHYdig5QfaIJJSNNs7plkg+wm80owHwYDVR0jBBgw
+# FoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
+# L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENB
+# XzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0
+# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAx
+# MC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDAN
+# BgkqhkiG9w0BAQsFAAOCAQEAMBX2zuIcVxbQmJHV8h7Z3bvtyG8D8Zio+fgvABOb
+# makrTpAwGqdIN1Bnow0JAz4cxyiLjnlq1KFxJyEyCIgduOGmFeP/QG1S5o9CJZuT
+# Tsn+weLs77yNB7dXe8Mew9Pf0nkuQGan+NZ2s5A02FCy1Q3wK3KIQZ6QXIjsFLoL
+# 2RhJ522sZNgUI9bk4lyfMJejDMgnyiWY4rxZHjWkxGNoP8KeuJ/OJzVpH9gfB86Z
+# 73KwZ4jLdpzF3/wl2nu/iIU31NVboafPtcngDhU0qKI6PD+VEP+Hcmauhf4CTv0s
+# Dk0kQBqqQsieIYKp1Qjfygju47ippO3YEvZVnvn228IO1jCCBnEwggRZoAMCAQIC
+# CmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRp
+# ZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcwMTIx
+# NDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
+# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
+# A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqGSIb3
+# DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUKAIKF
+# ++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCIhFRD
+# DNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5FfgVSx
+# z5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx898Fd1
+# rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg16Hgc
+# sOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHmMIIB
+# 4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8UzaFqF
+# bVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+# EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYD
+# VR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwv
+# cHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEB
+# BE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j
+# ZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSBlTCB
+# kjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1pY3Jv
+# c29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwICMDQe
+# MiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBuAHQA
+# LiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+umzPUx
+# vs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM9GAS
+# inbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84Dxf1
+# L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+tuWO
+# M7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yjojz6f32WapB4
+# pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUPei45
+# V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAeb73x
+# 4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4hQEe
+# gPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanblrKn
+# QqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLFVeNp
+# 3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLraNtvT
+# X4/edIhJEqGCAs4wggI3AgEBMIH4oYHQpIHNMIHKMQswCQYDVQQGEwJVUzETMBEG
+# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
+# cm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBP
+# cGVyYXRpb25zMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo3QkYxLUUzRUEtQjgw
+# ODElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcG
+# BSsOAwIaAxUADxdHwnvWAzfCWtOb88hbm/VWmpGggYMwgYCkfjB8MQswCQYDVQQG
+# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
+# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
+# VGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOCpGCQwIhgPMjAx
+# OTA2MTEwMTU1NDhaGA8yMDE5MDYxMjAxNTU0OFowdzA9BgorBgEEAYRZCgQBMS8w
+# LTAKAgUA4KkYJAIBADAKAgEAAgIhHQIB/zAHAgEAAgIRtzAKAgUA4KpppAIBADA2
+# BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIB
+# AAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAKgQsqGaWH4Wrw3O/kLismUOuhQo9oJB
+# MnlsZcyrBx6HgQOEpc4bnx0q4wIpaDQ2chVLRyl3WK+R/mQV6EGwgSD+z/LqDHUA
+# hWkIWSmQlgayI3rzINVr23ZoBVQ0yVMdJBC7bHZK8y7dqD/cHdshBByWRBqvE4/L
+# JHE8NbKIgDSAMYIDDTCCAwkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB
+# IDIwMTACEzMAAAD2rM92KnN0mtoAAAAAAPYwDQYJYIZIAWUDBAIBBQCgggFKMBoG
+# CSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgzoJS4v4q
+# UmroGWtmzR/S5i74oxA/ZRHdareoudCKbswwgfoGCyqGSIb3DQEJEAIvMYHqMIHn
+# MIHkMIG9BCD3h0F3arTtFwnZ0yXjPeaAEVJWm2KVFg+pkE5xL5O06jCBmDCBgKR+
+# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
+# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT
+# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAA9qzPdipzdJraAAAA
+# AAD2MCIEIJOSK7oiwOVi2UzEPIYf6MIZCy5aSqT7snnqlddnHqtTMA0GCSqGSIb3
+# DQEBCwUABIIBAEYLcQDsgyqy9BGEseaKMUTyv80zIDJ4zCESlMoENCLa+qjWbiOP
+# p/6roU4CAthZJrF2BIH+kVMoEdbFMS4vIAWcOlaGwRGfS0gY2l22BX49dtupj9T3
+# a/0HwKN9zxsLfEhv854cxiXJLdYk0sQ3hukz1ZhVf0iNaG0nuOauhhUxCPJfaNHm
+# ixO3uGn/OsDwQoYipBVGKRpV0kq25k3O46oUEMj8z0i3nuvIElMLnYYugEtB8wvL
+# gnuyJty9TykGbfYaewdEkYhB1+g+bQTWZe/nktFW6st5IL0hNeVuzFoomhsYZgUe
+# 3kTPBgLy1grMIbCNj/zqOu/E1ZuQXqXRJR4=
+# SIG # End signature block
diff --git a/contentFiles/any/any/Modules/PSDesiredStateConfiguration/helpers/DscResourceInfo.psm1 b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/helpers/DscResourceInfo.psm1
new file mode 100644
index 0000000..a061214
--- /dev/null
+++ b/contentFiles/any/any/Modules/PSDesiredStateConfiguration/helpers/DscResourceInfo.psm1
@@ -0,0 +1,371 @@
+Set-StrictMode -Version latest
+$ErrorActionPreference = 'Stop'
+
+$AddDscResourceInfoTypeScript = @"
+//-----------------------------------------------------------------------
+//
+// Copyright (C) 2013 Microsoft Corporation
+//
+//-----------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System;
+using System.Management.Automation;
+using System.IO;
+
+namespace Microsoft.PowerShell.DesiredStateConfiguration
+{
+ ///
+ /// Enumerated values for DSC resource implementation type
+ ///
+ public enum ImplementedAsType
+ {
+ ///
+ /// DSC resource implementation type not known
+ ///
+ None = 0,
+
+ ///
+ /// DSC resource is implemented using PowerShell module
+ ///
+ PowerShell = 1,
+
+ ///
+ /// DSC resource is implemented using a CIM provider
+ ///
+ Binary = 2,
+
+ ///
+ /// DSC resource is a composite and implemented using configuration keyword
+ ///
+ Composite = 3
+ }
+
+ ///
+ /// Contains a DSC resource information
+ ///
+ public sealed class DscResourceInfo
+ {
+ ///
+ /// Initializes a new instance of the DscResourceInfo class
+ ///
+ public DscResourceInfo()
+ {
+ this.Properties = new List();
+ }
+
+ ///
+ /// Gets or sets resource type name
+ ///
+ public string ResourceType { get; set; }
+
+ ///
+ /// Gets or sets Name of the resource. This name is used to access the resource
+ ///
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets friendly name defined for the resource
+ ///
+ public string FriendlyName { get; set; }
+
+ ///
+ /// Gets or sets module which implements the resource. This could point to parent module, if the DSC resource is implemented
+ /// by one of nested modules.
+ ///
+ public PSModuleInfo Module { get; set; }
+
+ ///
+ /// Gets name of the module which implements the resource.
+ ///
+ public string ModuleName
+ {
+ get
+ {
+ if (this.Module == null) return null;
+ return this.Module.Name;
+ }
+ }
+
+ ///
+ /// Gets version of the module which implements the resource.
+ ///
+ public Version Version
+ {
+ get
+ {
+ if (this.Module == null) return null;
+ return this.Module.Version;
+ }
+ }
+
+ ///
+ /// Gets or sets of the file which implements the resource. For the reosurces which are defined using
+ /// MOF file, this will be path to a module which resides in the same folder where schema.mof file is present.
+ /// For composite resources, this will be the module which implements the resource
+ ///
+ public string Path { get; set; }
+
+ ///
+ /// Gets or sets parent folder, where the resource is defined
+ /// It is the folder containing either the implementing module(=Path) or folder containing ".schema.mof".
+ /// For native providers, Path will be null and only ParentPath will be present.
+ ///
+ public string ParentPath { get; set; }
+
+ ///
+ /// Gets or sets a value which indicate how DSC resource is implemented
+ ///
+ public ImplementedAsType ImplementedAs { get; set; }
+
+ ///
+ /// Gets or sets company which owns this resource
+ ///
+ public string CompanyName { get; set; }
+
+ ///
+ /// Gets or sets properties of the resource
+ ///
+ public List Properties { get; private set; }
+
+ ///
+ /// Updates properties of the resource
+ ///
+ /// Updated properties
+ public void UpdateProperties(List properties)
+ {
+ this.Properties = properties;
+ }
+ }
+
+ ///
+ /// Contains a DSC resource property information
+ ///
+ public sealed class DscResourcePropertyInfo
+ {
+ ///
+ /// Initializes a new instance of the DscResourcePropertyInfo class
+ ///
+ public DscResourcePropertyInfo()
+ {
+ this.Values = new List();
+ }
+
+ ///
+ /// Gets or sets name of the property
+ ///
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets type of the property
+ ///
+ public string PropertyType { get; set; }
+
+ ///
+ /// Gets or sets a value indicating whether the property is mandatory or not
+ ///
+ public bool IsMandatory { get; set; }
+
+ ///
+ /// Gets Values for a resource property
+ ///
+ public List Values { get; private set; }
+ }
+}
+"@
+
+if(-not ([System.Management.Automation.PSTypeName]'Microsoft.PowerShell.DesiredStateConfiguration.DscResourceInfo').Type) {
+ Add-Type -TypeDefinition $AddDscResourceInfoTypeScript
+}
+# SIG # Begin signature block
+# MIIjhgYJKoZIhvcNAQcCoIIjdzCCI3MCAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDmRqfp5t2B3akq
+# XJV6eACLUJXmA33AXZvxDC5vo29ngaCCDYEwggX/MIID56ADAgECAhMzAAABA14l
+# HJkfox64AAAAAAEDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
+# bmcgUENBIDIwMTEwHhcNMTgwNzEyMjAwODQ4WhcNMTkwNzI2MjAwODQ4WjB0MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+# AQDRlHY25oarNv5p+UZ8i4hQy5Bwf7BVqSQdfjnnBZ8PrHuXss5zCvvUmyRcFrU5
+# 3Rt+M2wR/Dsm85iqXVNrqsPsE7jS789Xf8xly69NLjKxVitONAeJ/mkhvT5E+94S
+# nYW/fHaGfXKxdpth5opkTEbOttU6jHeTd2chnLZaBl5HhvU80QnKDT3NsumhUHjR
+# hIjiATwi/K+WCMxdmcDt66VamJL1yEBOanOv3uN0etNfRpe84mcod5mswQ4xFo8A
+# DwH+S15UD8rEZT8K46NG2/YsAzoZvmgFFpzmfzS/p4eNZTkmyWPU78XdvSX+/Sj0
+# NIZ5rCrVXzCRO+QUauuxygQjAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
+# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUR77Ay+GmP/1l1jjyA123r3f3QP8w
+# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
+# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDM3OTY1MB8GA1UdIwQYMBaAFEhu
+# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
+# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
+# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
+# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
+# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAn/XJ
+# Uw0/DSbsokTYDdGfY5YGSz8eXMUzo6TDbK8fwAG662XsnjMQD6esW9S9kGEX5zHn
+# wya0rPUn00iThoj+EjWRZCLRay07qCwVlCnSN5bmNf8MzsgGFhaeJLHiOfluDnjY
+# DBu2KWAndjQkm925l3XLATutghIWIoCJFYS7mFAgsBcmhkmvzn1FFUM0ls+BXBgs
+# 1JPyZ6vic8g9o838Mh5gHOmwGzD7LLsHLpaEk0UoVFzNlv2g24HYtjDKQ7HzSMCy
+# RhxdXnYqWJ/U7vL0+khMtWGLsIxB6aq4nZD0/2pCD7k+6Q7slPyNgLt44yOneFuy
+# bR/5WcF9ttE5yXnggxxgCto9sNHtNr9FB+kbNm7lPTsFA6fUpyUSj+Z2oxOzRVpD
+# MYLa2ISuubAfdfX2HX1RETcn6LU1hHH3V6qu+olxyZjSnlpkdr6Mw30VapHxFPTy
+# 2TUxuNty+rR1yIibar+YRcdmstf/zpKQdeTr5obSyBvbJ8BblW9Jb1hdaSreU0v4
+# 6Mp79mwV+QMZDxGFqk+av6pX3WDG9XEg9FGomsrp0es0Rz11+iLsVT9qGTlrEOla
+# P470I3gwsvKmOMs1jaqYWSRAuDpnpAdfoP7YO0kT+wzh7Qttg1DO8H8+4NkI6Iwh
+# SkHC3uuOW+4Dwx1ubuZUNWZncnwa6lL2IsRyP64wggd6MIIFYqADAgECAgphDpDS
+# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
+# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
+# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
+# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
+# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
+# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
+# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
+# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
+# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
+# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
+# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
+# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
+# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
+# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
+# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
+# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
+# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
+# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
+# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
+# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
+# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
+# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
+# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
+# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
+# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
+# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
+# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
+# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
+# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
+# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
+# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
+# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
+# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
+# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
+# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
+# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
+# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
+# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
+# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
+# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVWzCCFVcCAQEwgZUwfjELMAkG
+# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
+# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
+# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAQNeJRyZH6MeuAAAAAABAzAN
+# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
+# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQg/J5Vd2mX
+# m5O4P1lMYJVMxVt+BM9bwy4jk68aanLsAGowQgYKKwYBBAGCNwIBDDE0MDKgFIAS
+# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
+# BgkqhkiG9w0BAQEFAASCAQBROGWGY8rXbr+Ywi+ONNYWunCox8CDQ1ODordrTm7a
+# 9PSLn+zGw5DsylnhzG7Yzk8nGbPlogCemvpOPgR6fbE6E5AxLY/j3URHdf1qKKiA
+# l2B+OrG2p4u6dwVz5lnhkqOuFaKKHgBhSo0t6ZJELFvkW6wVR2T6MdcHxrMxcUIv
+# DSi+jEmj6LvOO55aJCP1Oy+j3w/uaJItsHanRCISTtDPg/jt38W8oVkojo4aY85+
+# WEjymMFl4h7JTztKimcT8s5T7oZPhzg38R6jDw2mjbrBIIHDtslVagozzZNtKEoM
+# +t3jvgeLDqumn4ovCv674hRMNszGSTrGmk3S8LcO3BrKoYIS5TCCEuEGCisGAQQB
+# gjcDAwExghLRMIISzQYJKoZIhvcNAQcCoIISvjCCEroCAQMxDzANBglghkgBZQME
+# AgEFADCCAVEGCyqGSIb3DQEJEAEEoIIBQASCATwwggE4AgEBBgorBgEEAYRZCgMB
+# MDEwDQYJYIZIAWUDBAIBBQAEINe6G3pfQW+GyL+i3Se3d5IVvFsPZHSe3QbznJZ0
+# /QsKAgZcyd9t8woYEzIwMTkwNjEwMjI0MTE5LjgwMlowBIACAfSggdCkgc0wgcox
+# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
+# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1p
+# Y3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg
+# RVNOOjNFN0EtRTM1OS1BMjVEMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
+# cCBTZXJ2aWNloIIOPDCCBPEwggPZoAMCAQICEzMAAAD3lvhX4T9pTYoAAAAAAPcw
+# DQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
+# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
+# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcN
+# MTgxMDI0MjExNDI4WhcNMjAwMTEwMjExNDI4WjCByjELMAkGA1UEBhMCVVMxEzAR
+# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
+# Y3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2Eg
+# T3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046M0U3QS1FMzU5LUEy
+# NUQxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0G
+# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1ZoXCgH5GAlKbxhDl978S9fg3tx5R
+# cUeGlK9c7ACE58MkdlDJbL5n0Kf1QpZhCCX41RhNZt8IIWBCUtMAgybvbnlO0wqo
+# rbJYCuLzLsHn8PYbrz4uVFL2tvBQGIuu1qJfO3XFHgaL9bbbcMWZpsCXfIz1Drs0
+# RIyIAKDntoGQwjGyLP5kteUsASt1Cn17kKZoapqTFRrcmFvSxgra5qDNWB3jb0Xx
+# to6Pextt+CyhviQoZZ3Z8yzFfg1bOp+13jwG3n+sM9F/8tduNseICMmmAAocN6X5
+# 5rX7NrUwVHmTwVrpTz0UwoKTg5+sEs/W45sKe2/eqqIbdLprN+7lIO5jAgMBAAGj
+# ggEbMIIBFzAdBgNVHQ4EFgQUbUu8PXnJQP7Jd2yXC0fxHFacwRcwHwYDVR0jBBgw
+# FoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
+# L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENB
+# XzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0
+# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAx
+# MC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDAN
+# BgkqhkiG9w0BAQsFAAOCAQEAbJI0Lc7+HC9PM3VPPQTU86R4hU/6rnO7Mr3JOdZK
+# ULWnvPxs6aO7VPjqJfqiBG4S9Gi3R6c2825TTlQBFBCrKRM2VoWQ8xsHr4fe1eUL
+# qlckE5cCsm7YGuYdHBrfkSmHWhoSqXwyL42MCzu+kJYKXLKVvtDivH2627uuCNaZ
+# F/2WWt86f3905mjtBH26uB/hOu5YadlVcw+iNb8b32oiZDxkrC0yE7LBg5dWtdcA
+# cm1u4nDQxGeU8TtOvzp6bcCJOoho+DEc+AqQLssATwNgeLutj16Y0446l7H61x/z
+# ZtvQBD2peSgoYzpOfNyJ+vbXeVMlOwziZbEk1oag8p3fKTCCBnEwggRZoAMCAQIC
+# CmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRp
+# ZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcwMTIx
+# NDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
+# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
+# A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqGSIb3
+# DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUKAIKF
+# ++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCIhFRD
+# DNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5FfgVSx
+# z5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx898Fd1
+# rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg16Hgc
+# sOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHmMIIB
+# 4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8UzaFqF
+# bVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+# EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYD
+# VR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwv
+# cHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEB
+# BE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j
+# ZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSBlTCB
+# kjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1pY3Jv
+# c29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwICMDQe
+# MiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBuAHQA
+# LiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+umzPUx
+# vs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM9GAS
+# inbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84Dxf1
+# L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+tuWO
+# M7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yjojz6f32WapB4
+# pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUPei45
+# V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAeb73x
+# 4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4hQEe
+# gPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanblrKn
+# QqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLFVeNp
+# 3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLraNtvT
+# X4/edIhJEqGCAs4wggI3AgEBMIH4oYHQpIHNMIHKMQswCQYDVQQGEwJVUzETMBEG
+# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
+# cm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBP
+# cGVyYXRpb25zMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjozRTdBLUUzNTktQTI1
+# RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcG
+# BSsOAwIaAxUA0NR7ojzAMhmnofbB8Kid4quyxdWggYMwgYCkfjB8MQswCQYDVQQG
+# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
+# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
+# VGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOCpGVUwIhgPMjAx
+# OTA2MTEwMjAwNTNaGA8yMDE5MDYxMjAyMDA1M1owdzA9BgorBgEEAYRZCgQBMS8w
+# LTAKAgUA4KkZVQIBADAKAgEAAgIfhAIB/zAHAgEAAgIRyjAKAgUA4Kpq1QIBADA2
+# BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIB
+# AAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAG0DHBZJHa3bXRg1TIH42rJPn27oaYVi
+# faK8EHjFdQsr78Zo08wccVaBtgGnYguEcO2XsGCTl2jY528FayNkwLddzWm7rvfv
+# V44okBJsAd2jIH9mjzNHRA5E9s0ARLbHAhs7qfGvyqLqftv23M/PUYTkvUMAvGfC
+# OKKFCttfUQ3bMYIDDTCCAwkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB
+# IDIwMTACEzMAAAD3lvhX4T9pTYoAAAAAAPcwDQYJYIZIAWUDBAIBBQCgggFKMBoG
+# CSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgrouSJITN
+# Ft2nrrBDqeTy8r+d/HEsUqkkaOP9FMzExmUwgfoGCyqGSIb3DQEJEAIvMYHqMIHn
+# MIHkMIG9BCCiSWVAEiY1Azm6zX8isOfYFG6Tkpf12ZY/YHd02Slb0jCBmDCBgKR+
+# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
+# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT
+# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAA95b4V+E/aU2KAAAA
+# AAD3MCIEIO0GfF9KaQqVemMOlaZPI0yFfRVQu60Mxa3F6zXSkFL+MA0GCSqGSIb3
+# DQEBCwUABIIBABmm67hV8XfanpYnhV6jZonajmOxB+TirR4D2ZDB2wwxmx0HtuDc
+# eTuBhQq+V8pkJIXDddJLW7QZh9o2SaDA0hWDSXOGbWZXnm/ZlQ8Ns6dOoYhP0H3A
+# mQ1d48X8Vh4m07bO6jgUzbZsViANIXMARQNAtk4otbesNIxw4gFLaPco22gUxVZO
+# k+tuBo/1nnHcxoYx3gLt7muMkywzsGj3mri8JYATcjfeTfQA0ak+En2CHoxZWxgN
+# +DxntIwKKW00pvpXWfBX5bny9/Xa0NzA3qKFnn8bNprpd/b7zTprvnC5taNsu7Vd
+# fKGCBmX+TlEDFUhxmwqczyXHiqSWH+bxtgM=
+# SIG # End signature block
diff --git a/psdesiredstateconfiguration.nuspec b/psdesiredstateconfiguration.nuspec
new file mode 100644
index 0000000..9f41afb
--- /dev/null
+++ b/psdesiredstateconfiguration.nuspec
@@ -0,0 +1,17 @@
+
+
+
+ PSDesiredStateConfiguration
+ 6.2.0
+ PSDesiredStateConfiguration
+ Microsoft
+ microsoft,powershell
+ false
+ Provides pre-built PSDesiredStateConfiguration module for PowerShell.
+
+ © Microsoft Corporation. All rights reserved.
+
+
+
+
+
\ No newline at end of file