732 lines
31 KiB
PowerShell
732 lines
31 KiB
PowerShell
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
|
||
|
$ErrorActionPreference = 'Stop'
|
||
|
$InitialDatabase = '0'
|
||
|
|
||
|
$UpdatePowerShell = 'The Entity Framework Package Manager Console Tools require Windows PowerShell 3.0 or higher. ' +
|
||
|
'Install Windows Management Framework 3.0, restart Visual Studio, and try again. https://aka.ms/wmf3download'
|
||
|
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Adds or updates an Entity Framework provider entry in the project config
|
||
|
file.
|
||
|
|
||
|
.DESCRIPTION
|
||
|
Adds an entry into the 'entityFramework' section of the project config
|
||
|
file for the specified provider invariant name and provider type. If an
|
||
|
entry for the given invariant name already exists, then that entry is
|
||
|
updated with the given type name, unless the given type name already
|
||
|
matches, in which case no action is taken. The 'entityFramework'
|
||
|
section is added if it does not exist. The config file is automatically
|
||
|
saved if and only if a change was made.
|
||
|
|
||
|
This command is typically used only by Entity Framework provider NuGet
|
||
|
packages and is run from the 'install.ps1' script.
|
||
|
|
||
|
.PARAMETER Project
|
||
|
The Visual Studio project to update. When running in the NuGet install.ps1
|
||
|
script the '$project' variable provided as part of that script should be
|
||
|
used.
|
||
|
|
||
|
.PARAMETER InvariantName
|
||
|
The provider invariant name that uniquely identifies this provider. For
|
||
|
example, the Microsoft SQL Server provider is registered with the invariant
|
||
|
name 'System.Data.SqlClient'.
|
||
|
|
||
|
.PARAMETER TypeName
|
||
|
The assembly-qualified type name of the provider-specific type that
|
||
|
inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. For
|
||
|
example, for the Microsoft SQL Server provider, this type is
|
||
|
'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'.
|
||
|
#>
|
||
|
function Add-EFProvider
|
||
|
{
|
||
|
[CmdletBinding(PositionalBinding = $false)]
|
||
|
param(
|
||
|
[parameter(Position = 0, Mandatory = $true)]
|
||
|
$Project,
|
||
|
[parameter(Position = 1, Mandatory = $true)]
|
||
|
[string] $InvariantName,
|
||
|
[parameter(Position = 2, Mandatory = $true)]
|
||
|
[string] $TypeName)
|
||
|
|
||
|
$configPath = GetConfigPath($Project)
|
||
|
if (!$configPath)
|
||
|
{
|
||
|
return
|
||
|
}
|
||
|
|
||
|
[xml] $configXml = Get-Content $configPath
|
||
|
|
||
|
$providers = $configXml.configuration.entityFramework.providers
|
||
|
|
||
|
$providers.provider |
|
||
|
where invariantName -eq $InvariantName |
|
||
|
%{ $providers.RemoveChild($_) | Out-Null }
|
||
|
|
||
|
$provider = $providers.AppendChild($configXml.CreateElement('provider'))
|
||
|
$provider.SetAttribute('invariantName', $InvariantName)
|
||
|
$provider.SetAttribute('type', $TypeName)
|
||
|
|
||
|
$configXml.Save($configPath)
|
||
|
}
|
||
|
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Adds or updates an Entity Framework default connection factory in the
|
||
|
project config file.
|
||
|
|
||
|
.DESCRIPTION
|
||
|
Adds an entry into the 'entityFramework' section of the project config
|
||
|
file for the connection factory that Entity Framework will use by default
|
||
|
when creating new connections by convention. Any existing entry will be
|
||
|
overridden if it does not match. The 'entityFramework' section is added if
|
||
|
it does not exist. The config file is automatically saved if and only if
|
||
|
a change was made.
|
||
|
|
||
|
This command is typically used only by Entity Framework provider NuGet
|
||
|
packages and is run from the 'install.ps1' script.
|
||
|
|
||
|
.PARAMETER Project
|
||
|
The Visual Studio project to update. When running in the NuGet install.ps1
|
||
|
script the '$project' variable provided as part of that script should be
|
||
|
used.
|
||
|
|
||
|
.PARAMETER TypeName
|
||
|
The assembly-qualified type name of the connection factory type that
|
||
|
implements the 'System.Data.Entity.Infrastructure.IDbConnectionFactory'
|
||
|
interface. For example, for the Microsoft SQL Server Express provider
|
||
|
connection factory, this type is
|
||
|
'System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework'.
|
||
|
|
||
|
.PARAMETER ConstructorArguments
|
||
|
An optional array of strings that will be passed as arguments to the
|
||
|
connection factory type constructor.
|
||
|
#>
|
||
|
function Add-EFDefaultConnectionFactory
|
||
|
{
|
||
|
[CmdletBinding(PositionalBinding = $false)]
|
||
|
param(
|
||
|
[parameter(Position = 0, Mandatory = $true)]
|
||
|
$Project,
|
||
|
[parameter(Position = 1, Mandatory = $true)]
|
||
|
[string] $TypeName,
|
||
|
[string[]] $ConstructorArguments)
|
||
|
|
||
|
$configPath = GetConfigPath($Project)
|
||
|
if (!$configPath)
|
||
|
{
|
||
|
return
|
||
|
}
|
||
|
|
||
|
[xml] $configXml = Get-Content $configPath
|
||
|
|
||
|
$entityFramework = $configXml.configuration.entityFramework
|
||
|
$defaultConnectionFactory = $entityFramework.defaultConnectionFactory
|
||
|
if ($defaultConnectionFactory)
|
||
|
{
|
||
|
$entityFramework.RemoveChild($defaultConnectionFactory) | Out-Null
|
||
|
}
|
||
|
$defaultConnectionFactory = $entityFramework.AppendChild($configXml.CreateElement('defaultConnectionFactory'))
|
||
|
|
||
|
$defaultConnectionFactory.SetAttribute('type', $TypeName)
|
||
|
|
||
|
if ($ConstructorArguments)
|
||
|
{
|
||
|
$parameters = $defaultConnectionFactory.AppendChild($configXml.CreateElement('parameters'))
|
||
|
|
||
|
foreach ($constructorArgument in $ConstructorArguments)
|
||
|
{
|
||
|
$parameter = $parameters.AppendChild($configXml.CreateElement('parameter'))
|
||
|
$parameter.SetAttribute('value', $constructorArgument)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$configXml.Save($configPath)
|
||
|
}
|
||
|
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Enables Code First Migrations in a project.
|
||
|
|
||
|
.DESCRIPTION
|
||
|
Enables Migrations by scaffolding a migrations configuration class in the project. If the
|
||
|
target database was created by an initializer, an initial migration will be created (unless
|
||
|
automatic migrations are enabled via the EnableAutomaticMigrations parameter).
|
||
|
|
||
|
.PARAMETER ContextTypeName
|
||
|
Specifies the context to use. If omitted, migrations will attempt to locate a
|
||
|
single context type in the target project.
|
||
|
|
||
|
.PARAMETER EnableAutomaticMigrations
|
||
|
Specifies whether automatic migrations will be enabled in the scaffolded migrations configuration.
|
||
|
If omitted, automatic migrations will be disabled.
|
||
|
|
||
|
.PARAMETER MigrationsDirectory
|
||
|
Specifies the name of the directory that will contain migrations code files.
|
||
|
If omitted, the directory will be named "Migrations".
|
||
|
|
||
|
.PARAMETER ProjectName
|
||
|
Specifies the project that the scaffolded migrations configuration class will
|
||
|
be added to. If omitted, the default project selected in package manager
|
||
|
console is used.
|
||
|
|
||
|
.PARAMETER StartUpProjectName
|
||
|
Specifies the configuration file to use for named connection strings. If
|
||
|
omitted, the specified project's configuration file is used.
|
||
|
|
||
|
.PARAMETER ContextProjectName
|
||
|
Specifies the project which contains the DbContext class to use. If omitted,
|
||
|
the context is assumed to be in the same project used for migrations.
|
||
|
|
||
|
.PARAMETER ConnectionStringName
|
||
|
Specifies the name of a connection string to use from the application's
|
||
|
configuration file.
|
||
|
|
||
|
.PARAMETER ConnectionString
|
||
|
Specifies the connection string to use. If omitted, the context's
|
||
|
default connection will be used.
|
||
|
|
||
|
.PARAMETER ConnectionProviderName
|
||
|
Specifies the provider invariant name of the connection string.
|
||
|
|
||
|
.PARAMETER Force
|
||
|
Specifies that the migrations configuration be overwritten when running more
|
||
|
than once for a given project.
|
||
|
|
||
|
.PARAMETER ContextAssemblyName
|
||
|
Specifies the name of the assembly which contains the DbContext class to use. Use this
|
||
|
parameter instead of ContextProjectName when the context is contained in a referenced
|
||
|
assembly rather than in a project of the solution.
|
||
|
|
||
|
.PARAMETER AppDomainBaseDirectory
|
||
|
Specifies the directory to use for the app-domain that is used for running Migrations
|
||
|
code such that the app-domain is able to find all required assemblies. This is an
|
||
|
advanced option that should only be needed if the solution contains several projects
|
||
|
such that the assemblies needed for the context and configuration are not all
|
||
|
referenced from either the project containing the context or the project containing
|
||
|
the migrations.
|
||
|
|
||
|
.EXAMPLE
|
||
|
Enable-Migrations
|
||
|
# Scaffold a migrations configuration in a project with only one context
|
||
|
|
||
|
.EXAMPLE
|
||
|
Enable-Migrations -Auto
|
||
|
# Scaffold a migrations configuration with automatic migrations enabled for a project
|
||
|
# with only one context
|
||
|
|
||
|
.EXAMPLE
|
||
|
Enable-Migrations -ContextTypeName MyContext -MigrationsDirectory DirectoryName
|
||
|
# Scaffold a migrations configuration for a project with multiple contexts
|
||
|
# This scaffolds a migrations configuration for MyContext and will put the configuration
|
||
|
# and subsequent configurations in a new directory called "DirectoryName"
|
||
|
|
||
|
#>
|
||
|
function Enable-Migrations(
|
||
|
$ContextTypeName,
|
||
|
[alias('Auto')]
|
||
|
[switch] $EnableAutomaticMigrations,
|
||
|
$MigrationsDirectory,
|
||
|
$ProjectName,
|
||
|
$StartUpProjectName,
|
||
|
$ContextProjectName,
|
||
|
$ConnectionStringName,
|
||
|
$ConnectionString,
|
||
|
$ConnectionProviderName,
|
||
|
[switch] $Force,
|
||
|
$ContextAssemblyName,
|
||
|
$AppDomainBaseDirectory)
|
||
|
|
||
|
WarnIfOtherEFs 'Enable-Migrations'
|
||
|
throw $UpdatePowerShell
|
||
|
}
|
||
|
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Scaffolds a migration script for any pending model changes.
|
||
|
|
||
|
.DESCRIPTION
|
||
|
Scaffolds a new migration script and adds it to the project.
|
||
|
|
||
|
.PARAMETER Name
|
||
|
Specifies the name of the custom script.
|
||
|
|
||
|
.PARAMETER Force
|
||
|
Specifies that the migration user code be overwritten when re-scaffolding an
|
||
|
existing migration.
|
||
|
|
||
|
.PARAMETER ProjectName
|
||
|
Specifies the project that contains the migration configuration type to be
|
||
|
used. If omitted, the default project selected in package manager console
|
||
|
is used.
|
||
|
|
||
|
.PARAMETER StartUpProjectName
|
||
|
Specifies the configuration file to use for named connection strings. If
|
||
|
omitted, the specified project's configuration file is used.
|
||
|
|
||
|
.PARAMETER ConfigurationTypeName
|
||
|
Specifies the migrations configuration to use. If omitted, migrations will
|
||
|
attempt to locate a single migrations configuration type in the target
|
||
|
project.
|
||
|
|
||
|
.PARAMETER ConnectionStringName
|
||
|
Specifies the name of a connection string to use from the application's
|
||
|
configuration file.
|
||
|
|
||
|
.PARAMETER ConnectionString
|
||
|
Specifies the connection string to use. If omitted, the context's
|
||
|
default connection will be used.
|
||
|
|
||
|
.PARAMETER ConnectionProviderName
|
||
|
Specifies the provider invariant name of the connection string.
|
||
|
|
||
|
.PARAMETER IgnoreChanges
|
||
|
Scaffolds an empty migration ignoring any pending changes detected in the current model.
|
||
|
This can be used to create an initial, empty migration to enable Migrations for an existing
|
||
|
database. N.B. Doing this assumes that the target database schema is compatible with the
|
||
|
current model.
|
||
|
|
||
|
.PARAMETER AppDomainBaseDirectory
|
||
|
Specifies the directory to use for the app-domain that is used for running Migrations
|
||
|
code such that the app-domain is able to find all required assemblies. This is an
|
||
|
advanced option that should only be needed if the solution contains several projects
|
||
|
such that the assemblies needed for the context and configuration are not all
|
||
|
referenced from either the project containing the context or the project containing
|
||
|
the migrations.
|
||
|
|
||
|
.EXAMPLE
|
||
|
Add-Migration First
|
||
|
# Scaffold a new migration named "First"
|
||
|
|
||
|
.EXAMPLE
|
||
|
Add-Migration First -IgnoreChanges
|
||
|
# Scaffold an empty migration ignoring any pending changes detected in the current model.
|
||
|
# This can be used to create an initial, empty migration to enable Migrations for an existing
|
||
|
# database. N.B. Doing this assumes that the target database schema is compatible with the
|
||
|
# current model.
|
||
|
|
||
|
#>
|
||
|
function Add-Migration(
|
||
|
$Name,
|
||
|
[switch] $Force,
|
||
|
$ProjectName,
|
||
|
$StartUpProjectName,
|
||
|
$ConfigurationTypeName,
|
||
|
$ConnectionStringName,
|
||
|
$ConnectionString,
|
||
|
$ConnectionProviderName,
|
||
|
[switch] $IgnoreChanges,
|
||
|
$AppDomainBaseDirectory)
|
||
|
|
||
|
WarnIfOtherEFs 'Add-Migration'
|
||
|
throw $UpdatePowerShell
|
||
|
}
|
||
|
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Applies any pending migrations to the database.
|
||
|
|
||
|
.DESCRIPTION
|
||
|
Updates the database to the current model by applying pending migrations.
|
||
|
|
||
|
.PARAMETER SourceMigration
|
||
|
Only valid with -Script. Specifies the name of a particular migration to use
|
||
|
as the update's starting point. If omitted, the last applied migration in
|
||
|
the database will be used.
|
||
|
|
||
|
.PARAMETER TargetMigration
|
||
|
Specifies the name of a particular migration to update the database to. If
|
||
|
omitted, the current model will be used.
|
||
|
|
||
|
.PARAMETER Script
|
||
|
Generate a SQL script rather than executing the pending changes directly.
|
||
|
|
||
|
.PARAMETER Force
|
||
|
Specifies that data loss is acceptable during automatic migration of the
|
||
|
database.
|
||
|
|
||
|
.PARAMETER ProjectName
|
||
|
Specifies the project that contains the migration configuration type to be
|
||
|
used. If omitted, the default project selected in package manager console
|
||
|
is used.
|
||
|
|
||
|
.PARAMETER StartUpProjectName
|
||
|
Specifies the configuration file to use for named connection strings. If
|
||
|
omitted, the specified project's configuration file is used.
|
||
|
|
||
|
.PARAMETER ConfigurationTypeName
|
||
|
Specifies the migrations configuration to use. If omitted, migrations will
|
||
|
attempt to locate a single migrations configuration type in the target
|
||
|
project.
|
||
|
|
||
|
.PARAMETER ConnectionStringName
|
||
|
Specifies the name of a connection string to use from the application's
|
||
|
configuration file.
|
||
|
|
||
|
.PARAMETER ConnectionString
|
||
|
Specifies the connection string to use. If omitted, the context's
|
||
|
default connection will be used.
|
||
|
|
||
|
.PARAMETER ConnectionProviderName
|
||
|
Specifies the provider invariant name of the connection string.
|
||
|
|
||
|
.PARAMETER AppDomainBaseDirectory
|
||
|
Specifies the directory to use for the app-domain that is used for running Migrations
|
||
|
code such that the app-domain is able to find all required assemblies. This is an
|
||
|
advanced option that should only be needed if the solution contains several projects
|
||
|
such that the assemblies needed for the context and configuration are not all
|
||
|
referenced from either the project containing the context or the project containing
|
||
|
the migrations.
|
||
|
|
||
|
.EXAMPLE
|
||
|
Update-Database
|
||
|
# Update the database to the latest migration
|
||
|
|
||
|
.EXAMPLE
|
||
|
Update-Database -TargetMigration Second
|
||
|
# Update database to a migration named "Second"
|
||
|
# This will apply migrations if the target hasn't been applied or roll back migrations
|
||
|
# if it has
|
||
|
|
||
|
.EXAMPLE
|
||
|
Update-Database -Script
|
||
|
# Generate a script to update the database from its current state to the latest migration
|
||
|
|
||
|
.EXAMPLE
|
||
|
Update-Database -Script -SourceMigration Second -TargetMigration First
|
||
|
# Generate a script to migrate the database from a specified start migration
|
||
|
# named "Second" to a specified target migration named "First"
|
||
|
|
||
|
.EXAMPLE
|
||
|
Update-Database -Script -SourceMigration $InitialDatabase
|
||
|
# Generate a script that can upgrade a database currently at any version to the latest version.
|
||
|
# The generated script includes logic to check the __MigrationsHistory table and only apply changes
|
||
|
# that haven't been previously applied.
|
||
|
|
||
|
.EXAMPLE
|
||
|
Update-Database -TargetMigration $InitialDatabase
|
||
|
# Runs the Down method to roll-back any migrations that have been applied to the database
|
||
|
|
||
|
|
||
|
#>
|
||
|
function Update-Database(
|
||
|
$SourceMigration,
|
||
|
$TargetMigration,
|
||
|
[switch] $Script,
|
||
|
[switch] $Force,
|
||
|
$ProjectName,
|
||
|
$StartUpProjectName,
|
||
|
$ConfigurationTypeName,
|
||
|
$ConnectionStringName,
|
||
|
$ConnectionString,
|
||
|
$ConnectionProviderName,
|
||
|
$AppDomainBaseDirectory)
|
||
|
|
||
|
WarnIfOtherEFs 'Update-Database'
|
||
|
throw $UpdatePowerShell
|
||
|
}
|
||
|
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Displays the migrations that have been applied to the target database.
|
||
|
|
||
|
.DESCRIPTION
|
||
|
Displays the migrations that have been applied to the target database.
|
||
|
|
||
|
.PARAMETER ProjectName
|
||
|
Specifies the project that contains the migration configuration type to be
|
||
|
used. If omitted, the default project selected in package manager console
|
||
|
is used.
|
||
|
|
||
|
.PARAMETER StartUpProjectName
|
||
|
Specifies the configuration file to use for named connection strings. If
|
||
|
omitted, the specified project's configuration file is used.
|
||
|
|
||
|
.PARAMETER ConfigurationTypeName
|
||
|
Specifies the migrations configuration to use. If omitted, migrations will
|
||
|
attempt to locate a single migrations configuration type in the target
|
||
|
project.
|
||
|
|
||
|
.PARAMETER ConnectionStringName
|
||
|
Specifies the name of a connection string to use from the application's
|
||
|
configuration file.
|
||
|
|
||
|
.PARAMETER ConnectionString
|
||
|
Specifies the connection string to use. If omitted, the context's
|
||
|
default connection will be used.
|
||
|
|
||
|
.PARAMETER ConnectionProviderName
|
||
|
Specifies the provider invariant name of the connection string.
|
||
|
|
||
|
.PARAMETER AppDomainBaseDirectory
|
||
|
Specifies the directory to use for the app-domain that is used for running Migrations
|
||
|
code such that the app-domain is able to find all required assemblies. This is an
|
||
|
advanced option that should only be needed if the solution contains several projects
|
||
|
such that the assemblies needed for the context and configuration are not all
|
||
|
referenced from either the project containing the context or the project containing
|
||
|
the migrations.
|
||
|
#>
|
||
|
function Get-Migrations(
|
||
|
$ProjectName,
|
||
|
$StartUpProjectName,
|
||
|
$ConfigurationTypeName,
|
||
|
$ConnectionStringName,
|
||
|
$ConnectionString,
|
||
|
$ConnectionProviderName,
|
||
|
$AppDomainBaseDirectory)
|
||
|
|
||
|
WarnIfOtherEFs 'Get-Migrations'
|
||
|
throw $UpdatePowerShell
|
||
|
}
|
||
|
|
||
|
function GetConfigPath($project)
|
||
|
{
|
||
|
$solution = Get-VSService 'Microsoft.VisualStudio.Shell.Interop.SVsSolution' 'Microsoft.VisualStudio.Shell.Interop.IVsSolution'
|
||
|
|
||
|
$hierarchy = $null
|
||
|
$hr = $solution.GetProjectOfUniqueName($project.UniqueName, [ref] $hierarchy)
|
||
|
[Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr)
|
||
|
|
||
|
$aggregatableProject = Get-Interface $hierarchy 'Microsoft.VisualStudio.Shell.Interop.IVsAggregatableProject'
|
||
|
if (!$aggregatableProject)
|
||
|
{
|
||
|
$projectTypes = $project.Kind
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$projectTypeGuids = $null
|
||
|
$hr = $aggregatableProject.GetAggregateProjectTypeGuids([ref] $projectTypeGuids)
|
||
|
[Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr)
|
||
|
|
||
|
$projectTypes = $projectTypeGuids.Split(';')
|
||
|
}
|
||
|
|
||
|
$configFileName = 'app.config'
|
||
|
foreach ($projectType in $projectTypes)
|
||
|
{
|
||
|
if ($projectType -in '{349C5851-65DF-11DA-9384-00065B846F21}', '{E24C65DC-7377-472B-9ABA-BC803B73C61A}')
|
||
|
{
|
||
|
$configFileName = 'web.config'
|
||
|
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
|
||
|
try
|
||
|
{
|
||
|
return $project.ProjectItems.Item($configFileName).Properties.Item('FullPath').Value
|
||
|
}
|
||
|
catch
|
||
|
{
|
||
|
return $null
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function WarnIfOtherEFs($cmdlet)
|
||
|
{
|
||
|
if (Get-Module 'EntityFrameworkCore')
|
||
|
{
|
||
|
Write-Warning "Both Entity Framework 6 and Entity Framework Core are installed. The Entity Framework 6 tools are running. Use 'EntityFrameworkCore\$cmdlet' for Entity Framework Core."
|
||
|
}
|
||
|
if (Get-Module 'EntityFramework')
|
||
|
{
|
||
|
Write-Warning "A version of Entity Framework older than 6.3 is also installed. The newer tools are running. Use 'EntityFramework\$cmdlet' for the older version."
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Export-ModuleMember 'Add-EFDefaultConnectionFactory', 'Add-EFProvider', 'Add-Migration', 'Enable-Migrations', 'Get-Migrations', 'Update-Database' -Variable 'InitialDatabase'
|
||
|
|
||
|
# SIG # Begin signature block
|
||
|
# MIIjiQYJKoZIhvcNAQcCoIIjejCCI3YCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
||
|
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
||
|
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBCukGtqR95vOzB
|
||
|
# mTRxRgJFbcuurrr/NN2TQIASywaOO6CCDYUwggYDMIID66ADAgECAhMzAAABUptA
|
||
|
# n1BWmXWIAAAAAAFSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
|
||
|
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
|
||
|
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
|
||
|
# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw
|
||
|
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
|
||
|
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
|
||
|
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
||
|
# AQCxp4nT9qfu9O10iJyewYXHlN+WEh79Noor9nhM6enUNbCbhX9vS+8c/3eIVazS
|
||
|
# YnVBTqLzW7xWN1bCcItDbsEzKEE2BswSun7J9xCaLwcGHKFr+qWUlz7hh9RcmjYS
|
||
|
# kOGNybOfrgj3sm0DStoK8ljwEyUVeRfMHx9E/7Ca/OEq2cXBT3L0fVnlEkfal310
|
||
|
# EFCLDo2BrE35NGRjG+/nnZiqKqEh5lWNk33JV8/I0fIcUKrLEmUGrv0CgC7w2cjm
|
||
|
# bBhBIJ+0KzSnSWingXol/3iUdBBy4QQNH767kYGunJeY08RjHMIgjJCdAoEM+2mX
|
||
|
# v1phaV7j+M3dNzZ/cdsz3oDfAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE
|
||
|
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQU3f8Aw1sW72WcJ2bo/QSYGzVrRYcw
|
||
|
# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
|
||
|
# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzQ1NDEzNjAfBgNVHSMEGDAW
|
||
|
# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
|
||
|
# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw
|
||
|
# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov
|
||
|
# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx
|
||
|
# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB
|
||
|
# AJTwROaHvogXgixWjyjvLfiRgqI2QK8GoG23eqAgNjX7V/WdUWBbs0aIC3k49cd0
|
||
|
# zdq+JJImixcX6UOTpz2LZPFSh23l0/Mo35wG7JXUxgO0U+5drbQht5xoMl1n7/TQ
|
||
|
# 4iKcmAYSAPxTq5lFnoV2+fAeljVA7O43szjs7LR09D0wFHwzZco/iE8Hlakl23ZT
|
||
|
# 7FnB5AfU2hwfv87y3q3a5qFiugSykILpK0/vqnlEVB0KAdQVzYULQ/U4eFEjnis3
|
||
|
# Js9UrAvtIhIs26445Rj3UP6U4GgOjgQonlRA+mDlsh78wFSGbASIvK+fkONUhvj8
|
||
|
# B8ZHNn4TFfnct+a0ZueY4f6aRPxr8beNSUKn7QW/FQmn422bE7KfnqWncsH7vbNh
|
||
|
# G929prVHPsaa7J22i9wyHj7m0oATXJ+YjfyoEAtd5/NyIYaE4Uu0j1EhuYUo5VaJ
|
||
|
# JnMaTER0qX8+/YZRWrFN/heps41XNVjiAawpbAa0fUa3R9RNBjPiBnM0gvNPorM4
|
||
|
# dsV2VJ8GluIQOrJlOvuCrOYDGirGnadOmQ21wPBoGFCWpK56PxzliKsy5NNmAXcE
|
||
|
# x7Qb9vUjY1WlYtrdwOXTpxN4slzIht69BaZlLIjLVWwqIfuNrhHKNDM9K+v7vgrI
|
||
|
# bf7l5/665g0gjQCDCN6Q5sxuttTAEKtJeS/pkpI+DbZ/MIIHejCCBWKgAwIBAgIK
|
||
|
# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV
|
||
|
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
|
||
|
# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm
|
||
|
# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw
|
||
|
# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
|
||
|
# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD
|
||
|
# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG
|
||
|
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la
|
||
|
# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc
|
||
|
# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D
|
||
|
# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+
|
||
|
# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk
|
||
|
# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6
|
||
|
# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd
|
||
|
# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL
|
||
|
# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd
|
||
|
# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3
|
||
|
# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS
|
||
|
# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI
|
||
|
# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL
|
||
|
# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD
|
||
|
# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv
|
||
|
# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
|
||
|
# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3
|
||
|
# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
|
||
|
# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF
|
||
|
# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h
|
||
|
# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA
|
||
|
# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn
|
||
|
# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7
|
||
|
# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b
|
||
|
# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/
|
||
|
# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy
|
||
|
# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp
|
||
|
# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi
|
||
|
# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb
|
||
|
# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS
|
||
|
# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL
|
||
|
# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX
|
||
|
# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFVowghVWAgEBMIGVMH4x
|
||
|
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
|
||
|
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p
|
||
|
# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAFSm0CfUFaZdYgAAAAA
|
||
|
# AVIwDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
|
||
|
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIBDq
|
||
|
# wSpkVRd34HAFhUI02JbLjpJvYPxaosKl7Ya85N83MEIGCisGAQQBgjcCAQwxNDAy
|
||
|
# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
|
||
|
# b20wDQYJKoZIhvcNAQEBBQAEggEAo1kSS1wbXckEKe0kiAV5BJwC66PVMElqK8rS
|
||
|
# ZTKY35DPPW7CnSXjsSx6SnRnyOebu9iF3GShrADsgMh1C5x0GEE03pmEERNDy8aa
|
||
|
# /fQ0xYdR3rQEUaDEbDK6YWzqAnP0nugpJ60ariJpMfvvXUZpHgSJeO8wJ5RAe67N
|
||
|
# yrpic3zdE+e8YvSsiD8+rf7WAOxHEI86mWd7ZoD4OJMRlDAdfhEd8VvOzj91froW
|
||
|
# FHiShpb0mkdSIisw0dPGkk/jzn9Fd0a0JHGbn5YLI76iKOvRwcqKWX96LRezXZF4
|
||
|
# Y+jWO+p31xoZ0TUHYxQ3HaulMq7vXZ8MHJkSdsUsWEgTVCLGkKGCEuQwghLgBgor
|
||
|
# BgEEAYI3AwMBMYIS0DCCEswGCSqGSIb3DQEHAqCCEr0wghK5AgEDMQ8wDQYJYIZI
|
||
|
# AWUDBAIBBQAwggFQBgsqhkiG9w0BCRABBKCCAT8EggE7MIIBNwIBAQYKKwYBBAGE
|
||
|
# WQoDATAxMA0GCWCGSAFlAwQCAQUABCCa+i2okJFSkVB87EudNU6rFwhh43v28S+m
|
||
|
# SdpTpEuO2QIGXoIOfEnAGBIyMDIwMDQxNjIyMTM0Mi45MVowBIACAfSggdCkgc0w
|
||
|
# gcoxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDEe
|
||
|
# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3Nv
|
||
|
# ZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBU
|
||
|
# U1MgRVNOOjE3OUUtNEJCMC04MjQ2MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1T
|
||
|
# dGFtcCBTZXJ2aWNloIIOPDCCBPEwggPZoAMCAQICEzMAAAEMqnhu3MxCTMEAAAAA
|
||
|
# AQwwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
|
||
|
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
|
||
|
# b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw
|
||
|
# HhcNMTkxMDIzMjMxOTE2WhcNMjEwMTIxMjMxOTE2WjCByjELMAkGA1UEBhMCVVMx
|
||
|
# CzAJBgNVBAgTAldBMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
|
||
|
# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
|
||
|
# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MTc5RS00QkIw
|
||
|
# LTgyNDYxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEi
|
||
|
# MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrnTXX5epUmZAq2LDf2KB4Qy8I
|
||
|
# txnV+itubGwOSmcI3VKtOEoj6fY+vfOpPMlWB0kUKgqbWSzWC1Ensdovq0OSs7Dx
|
||
|
# cmZ8lrHJACW4JD57jQ0j4DjD67n0bLz0BVjmUk2uYK9rqCjN+DWTHDpptXlZav4+
|
||
|
# MSk0KyE7iHG/dSqAxwIqdPZhVJnMXUbLsA+5vV9jQ/W80S44Uqs0IQS9YgpGuqx7
|
||
|
# IEHvcbwoPbLDqN/PRUrE1JEB2ElX+CE7KsO3lr4voLebWumvyyqKh/eKiG/cA0iA
|
||
|
# 2rDp7H7j4b4Hskxsgdsak915t50vp49u4EKduAmgOffjSTRrDqKPbUa+9SeRAgMB
|
||
|
# AAGjggEbMIIBFzAdBgNVHQ4EFgQUCUI6r0MMhrQDSiqAq0zm+O5l4r4wHwYDVR0j
|
||
|
# BBgwFoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0
|
||
|
# cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3Rh
|
||
|
# UENBXzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+
|
||
|
# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0Ff
|
||
|
# MjAxMC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcD
|
||
|
# CDANBgkqhkiG9w0BAQsFAAOCAQEARPfEGD8hn3N05/BsMYrtwreopi3+pQ6VtEHO
|
||
|
# B42NvfYrzqcZ5EaQF57XR1U4QZZTDoq0F5aHUtDvRvrj+0u2Ityx/0nNoDINhvWx
|
||
|
# GYyLl+NFnvndOq5pPxXs0ntF8S5h+9mW5t9APQxVtTi3Ox1l1i7ETftXYn2k3z2P
|
||
|
# sagU20CdKcKfUxHEQ0AguC31fN5DNMQOEVhbQ3YM2mFORE9caOkObCLpa2Qnl+/S
|
||
|
# JPIHh3AQL7953SUZsUtzK0mgzB9M0x0fqByceUzOyeKiucYVlrk8+JXvxehn0V66
|
||
|
# kqjxko0aEsssHkZO2p8d7HmejeKhVKr422G+FfQj9X6JcmyimjCCBnEwggRZoAMC
|
||
|
# AQICCmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMw
|
||
|
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
|
||
|
# aWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENl
|
||
|
# cnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcw
|
||
|
# MTIxNDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
|
||
|
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm
|
||
|
# MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqG
|
||
|
# SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUK
|
||
|
# AIKF++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCI
|
||
|
# hFRDDNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5Ff
|
||
|
# gVSxz5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx89
|
||
|
# 8Fd1rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg1
|
||
|
# 6HgcsOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHm
|
||
|
# MIIB4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8Uz
|
||
|
# aFqFbVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8G
|
||
|
# A1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQw
|
||
|
# VgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9j
|
||
|
# cmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUF
|
||
|
# BwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br
|
||
|
# aS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSB
|
||
|
# lTCBkjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1p
|
||
|
# Y3Jvc29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwIC
|
||
|
# MDQeMiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBu
|
||
|
# AHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+um
|
||
|
# zPUxvs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM
|
||
|
# 9GASinbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84
|
||
|
# Dxf1L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+
|
||
|
# tuWOM7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yjojz6f32W
|
||
|
# apB4pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUP
|
||
|
# ei45V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAe
|
||
|
# b73x4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4
|
||
|
# hQEegPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanb
|
||
|
# lrKnQqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLF
|
||
|
# VeNp3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLra
|
||
|
# NtvTX4/edIhJEqGCAs4wggI3AgEBMIH4oYHQpIHNMIHKMQswCQYDVQQGEwJVUzEL
|
||
|
# MAkGA1UECBMCV0ExEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
|
||
|
# dCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0
|
||
|
# aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxNzlFLTRCQjAt
|
||
|
# ODI0NjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEB
|
||
|
# MAcGBSsOAwIaAxUAyyD0VD2mA8tcjYt3nPvENLRABn2ggYMwgYCkfjB8MQswCQYD
|
||
|
# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe
|
||
|
# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv
|
||
|
# ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOJC9iswIhgP
|
||
|
# MjAyMDA0MTYyMzIwMTFaGA8yMDIwMDQxNzIzMjAxMVowdzA9BgorBgEEAYRZCgQB
|
||
|
# MS8wLTAKAgUA4kL2KwIBADAKAgEAAgIWJAIB/zAHAgEAAgIRrDAKAgUA4kRHqwIB
|
||
|
# ADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQow
|
||
|
# CAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAEHV+nFYHL4nwG3Cv45d3muMOacd
|
||
|
# 9h01K6V7pfzXDuIePSV1D9xmGhztfVgHC0cAbauT3gNpgEaHzs2vh1JSrxouvO2+
|
||
|
# zZevWOZMtICkVCmF0uclqLw3bqefmjjgbpwymjJ7vjYWAgwoIO9iC9fpkU43TCbz
|
||
|
# Namo2O5OL4C77X8TMYIDDTCCAwkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV
|
||
|
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
|
||
|
# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
|
||
|
# UENBIDIwMTACEzMAAAEMqnhu3MxCTMEAAAAAAQwwDQYJYIZIAWUDBAIBBQCgggFK
|
||
|
# MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgi+a8
|
||
|
# w9UqRk8uHF0LSAA5zAtzOvED7T6G0K+oPz5kGkYwgfoGCyqGSIb3DQEJEAIvMYHq
|
||
|
# MIHnMIHkMIG9BCCDkBYpfszX6bb//5XuqZG+3Ur/DDky67xfMYkGrKBUKTCBmDCB
|
||
|
# gKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
|
||
|
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV
|
||
|
# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABDKp4btzMQkzB
|
||
|
# AAAAAAEMMCIEIB82fTmbi7Zy6T8ucYfCkg1b/ShiH+5DNUPaql1UKnuBMA0GCSqG
|
||
|
# SIb3DQEBCwUABIIBACQTQfKgFwgsHa87Ff0vNwkZvOIJqYCj97sZHeqLh/7kGvqH
|
||
|
# HtHPlTdQqGeKsIdgvlME0zkbcNuRACN86PE1x8w61ADvaPNIv400MAN0iKKh08z/
|
||
|
# ONuhHXzcavQm47rT0Fe2nuOFe/TuurEQMXjGGPp/dILEw+neBBHiNhNivEH0flmw
|
||
|
# UnaYpZH2lNy5ldHfV+hCc4QCDB2CHj9qPeGgEJS+n0ZcFO6Hm4D5mNvfR23qnM94
|
||
|
# Ijbqi6AGtjL/d+MdNPcqJFcUPBVHQJDEcQTyoZBFme4UqYPr/gkRSwNQ7sASCYdK
|
||
|
# hZ7F9GEj2CiayE5NqMADUnRDyyMJLUoCiACRpVg=
|
||
|
# SIG # End signature block
|