Wissen/B07_Modules.ps1

# ? TITEL PowerShell-Module
# ? DESCRIPTION Die PowerShell mittels Module erweitern
# ? TAGS Module
# ? VERSION 2019.09.20.0800

#! Module erweitern die PowerShell mit Cmdlets, PSProvider, Functions, Variables, etc.
#! Um ein Modul nutzen zu können muss es
#! 1. einmalig installiert werden und
#! 2. jedesmal vor dem Nutzen importiert (d.h. geladen) werden!

# TODO Weiterführende und Nachschlage-Informationen
Get-Help -Name about_Modules -ShowWindow
Get-Command -Noun Module -Module Microsoft.PowerShell.Core
Get-Command -Module PowerShellGet
Get-Command -Module PackageManagement
Get-ChildItem -Path .\Wissen\C10_UserModules.ps1 # ? Eigene Module erstellen und Verteilen

#region 1. SCHRITT: Modul installieren

#! Der Installationsvorgang ist abgeschlossen wenn das neue Modul in einem
#! der folgenden Modul-Basisordner kopiert wurde:
$env:PSModulePath -split ";"

# ! Das Modul steht computerweit zur Verfügung, wenn es in dem Default-Ordner liegt:
Get-ChildItem -Path C:\Windows\system32\WindowsPowerShell\v1.0\Modules
    
# ! Das Modul steht dem lokalen Benutzer zur Verfügung, wenn es in dem Default-Ordner liegt:
Get-ChildItem -Path C:\Users\Alex\Documents\WindowsPowerShell\Modules

# ? Ein Modul kann durch das Ausführen einer Installationroutine installiert werden
# ? z.B. RSAT für ADS oder andere Windows Server-Verwaltungskomponenten:
Start-Process -FilePath https://www.microsoft.com/de-de/download/details.aspx?id=45520

# ? ODER ein Modul kann installiert werden durch das manuell Kopieren
Copy-Item -Path C:\temp\AKPT `
          -Destination C:\Users\Administrator\Documents\WindowsPowerShell\Modules\AKPT\ `
          -Force -Recurse

# ? ODER über die PowerShellGallery mittels Cmdlets (Seit PS Version 5.0)
Start-Process -FilePath "https://www.powershellgallery.com/packages?q=AKPT"
Find-Module -Name AKPT
Install-Module -Name AKPT -SkipPublisherCheck -Scope CurrentUser -Force -AllowClobber

# ? Eine Übersicht aller INSTALLIERTEN Module, gruppiert nach Modul-Ordner
Get-Module -Name * -ListAvailable

# ? Ein Module dauerhaft wieder deinstallieren
Uninstall-Module -Name AKPT -AllVersions -Force
Get-Module -Name AKPT -ListAvailable

# * Interessante Module: PSCX, SqlServer

#endregion

#region 2. SCHRITT: Modul IMPORTIEREN und dadurch in der Session nutzbar machen

# ! Wird die Session geschlossen wird das Modul automatisch entfernt
# ! und muss bei der nächsten Session erneut importiert werden!

# ? Ein Modul importieren
Import-Module -Name AKPT -Verbose #-Prefix AK
Import-Module -Name .\AKPT -Verbose # ! Wenn z.B. das Modul nicht in $env:PSModulePath enthalten ist! ODER beim "Entwickeln" eigener Module

# ? Welche Module sind z.Zt. importiert
Get-Module -Name *

# ? Ein Modul manuell entladen
Remove-Module -Name AKPT -Force # TODO Für das Debugging nötig
Get-Module -Name *

# ! Seit der PowerShell 3.0 wird Import-Module automatisch ausgeführt ...
# ! ... wenn daraus ein Cmdlet benutzt wird.
Get-Hotkeys
Get-Module -Name *
Remove-Module -Name AKPT -Force

# ! ... wenn die Hilfe zu einem Cmdlet aufgerufen wird
Get-Help -Name Get-About -ShowWindow
Get-Module -Name *
Remove-Module -Name AKPT -Force

# ! ... wenn der Inhalt des Moduls angezeigt wird
Get-Command -Module AKPT
Get-Module -Name *
Remove-Module -Name AKPT -Force

# ? Warum/Wann sollte man Module manuell importieren?
# ? 1. Wenn PSProvider benutzt werden sollen.
# ? Zum Beispiel würde 'Get-ChildItem -Path SqlServer:\' einen Fehler auslösen
# ? da das Modul 'SqlServer' nicht geladen wurde!
# ? 2. In Script-Dateien im Kopfbereich als Übersicht, welche Module benötigt werden
# ? um dieses Skript korrekt ausführen zu können!
# ? 3. Um bei doppelte Cmdlet-Namen ein Prefix verwenden zu können!

#endregion

#region Ein Module von PowerShellGallery downloaden, analysieren und testhalber importieren

# ! Module von https://www.powershellgallery.com downloaden
Find-Module -Tag AttilaKrick
Find-Module -Name AKPT | Format-List -Property Name, Version, Description, Author, PublishedDate, AdditionalMetadata, ReleaseNotes # TODO Übung AdditionalMetadata lesbar machen
Save-Module -Name 'AKPT' -Path "$env:USERPROFILE\Downloads" -Force -Verbose # -AcceptLicense

# ! Ein Module vom FileSystem laden
Import-Module -Name "$env:USERPROFILE\Downloads\AKPT\*\AKPT.psd1" -Verbose
Install-Module -Name AKPT -Scope CurrentUser -Verbose
Update-Module -Name AKPT -Verbose

#endregion

#region Übungen

<# TODO ÜBUNG
    ! VERTIEFUNG: Module
    ? 1. Ist das 'ActiveDirectory' Modul installiert?
    ? 2. Wieviele Cmdlets sind im Modul 'SQLServer' enthalten?
    ? 3. Installieren Sie das PSCX-Modul
    ? 4. Welche sinnvollen Cmdlets enthält das PSCX-Modul für SIE?
    * LÖSUNG: 76492d1116743f0423413b16050a5345MgB8AGwANwArAFQANwBlAG4AMABhAGwAOQBSAEIAZwBIAFkAZABKAGQAWgBVAEEAPQA9AHwAYgAwADEAZAA2ADAAMAAyADEAYQAwADAANwBmADAAOQBhADgAYwBmAGUANQAyAGEAYQBjADMAMABhAGQAZQAwADMAZgAyADUANwA3AGQAYwA0AGIAYwBlADcANwBlAGYAOAA1ADQAZgA3AGMAYgAwADMANAA0ADkANwBhADAAMQA1AGMAZgBmAGQAMwA0ADQAYgBlAGEAZgA5AGQANAA5ADEANwAxAGUAYwA4ADEAMQBlAGQAMgAxAGEAMwAzADUAZgA0ADAAYgA3ADYAYQA2ADMANQA1AGUANAAzAGUAMwAzADMAOAA4ADEAYQA0AGIAMQAxAGYAYQA0ADQANwBlAGQAOABlADEAZgBmAGIANwA4AGQAYwAzAGEAZgAyADMAMwA4ADMAYgBhAGQANAA4ADUAZQAwADEANAAyADkANQA3ADMAYwBjAGIAMAAxAGMAZQAzAGUAMwAyAGQAYwBkAGEAOQAyADYAOABiAGYAMwAzADAAZQAwAGMAYQA2ADcANQA2ADUAMgBlAGQANwA0ADQAYQA0ADcAZABjAGYAOQBkADUAZgA1AGQAYwAyADAAYwAwADAAYQA4ADAAOQBkAGUAZgA3ADMAMQBkAGYAOQBkADYAZQBiADcAZgA1ADYAMwBjADAAOAAxADIANwA2AGUAZABjADYANQA0AGUANQBlAGYANgAzAGYANwBjADMAOQA5ADYANQBmADEAMgBkADMAYgAwADAANwBkADUAMAA4ADQAMQBkAGQANQA3ADEAOABjAGMANQA2AGMAOQA3ADQANwAxADIAMgBkADkAOQA4ADQAMQA1ADMAMgAzAGMAOAA3AGYAOQA2AGMANgBkAGUANwA1ADQANgBiADEAYwA4ADkAOAAwADEANAA0ADAAYQA2ADgAZgBkADYAYgA1AGYAZgBkAGIANwAxADIAYQA5ADIANwBjADQAOABlAGMAOAA0ADkANQA1ADAAYwA4AGEAOQAxAGMAMgA4ADYAYwA2ADkAOQBjADcAYwBlADcAZABmADUAMQBjADQAYwAxADYAYQA2AGMAOQA2ADUAZgBiAGUAOQAyAGIAZAA4ADYAYwAwADEANQAzADEAMwA2ADYAZgBiADcAOQBhAGYAZgA1AGEAZQBmAGYAZgBjADIAOQAyADIAMgBmAGYAYgBkADEAMABiADMAMQA1AGMAMABjADMAYwBmADMAMABhAGMAZQAyAGIANgBiADEAYgBjADUAZQBjADUANQA0ADIAZABjADAANAAzAGIAMQAzADUAOQA1ADgAZgA2ADkAMQA1AGQAYwAwAGEAMQA5ADIAZgBkAGUAYwA3ADYAYwA3AGUAOAAyAGMAZQA3ADAAMgA2ADQAOQAyADUAZQBhADMAYQA0ADYAMgA5ADgAMwBhADYAMABkADMANAAzADMAMAA0ADUAOABkAGYAMQAxAGMAZQAxADIAYgA3ADAAYwAxADQAOQAxADMAYQBmADYAZgA4ADIAYQAxAGUAYgBlAGEAMgA3AGQAZQAxAGIAYQBiAGMAZAA3ADIAZAAzADQANQAxADEAZgBlADIANAA0AGYAMAAwADkAOABkADMANQA2AGQAMQBmADIAOQBjAGYAYQA3ADkAOQA5ADIAZQBkAGQAOQA3AGYAMQA5ADcAMABhADEAMABjADcANQA5ADQAZgAxADIAZgA2AGQANAA2AGEAOABiADMAYQA4ADQAYQA1ADAANAA0ADUAMQBkAGIAMAAxADkAYQA5ADMAYgBiAGEAMwBhADAAZQAwADEAMgA5AGQAOQA5ADcANgA2ADgANAA2ADUAZQAzAGQAZABkADIAZgA5ADUANAAyADQAMQA5ADcAOABmAGUANwA1ADAANgAyAGMANwAzAGQAYwA5ADUAOAAxAGYAMgA4AGQAYQAxADAAZAA2AGEAYQBhAGMAMgA4ADAAZAA1ADkANgAyADgAZABhADAAMgA0ADUANgA4ADAANAA2ADQAZQBhADUAYwAyAGIAZgA4ADYAOQBmADgAZQA4AGEAYwBkADEAOQBmAGMAZgAzADgAYgA4ADgANwBiADcAYwBhAGEAZQAxADQAOQA0AGYAMABhAGEAOQA0ADQANQA4ADgANAA2AGQAOQA1ADcAMQBkAGIAZgBjADQAMgA4AGQAZgBkADQAMgA0ADEAYwAyAGUAZQA5AGUAZgBjADMAZABkAGUAYwA2ADIAMgA3ADMAMAA1ADkANwA1ADQAMwA4AGQAOQA1ADEAZQAzADUANwA5ADAAOABiADUAMwAwADAANQA1AGEAOQAzAGYANgA2ADkAMABmADYAOQA3ADQAZgA1ADUAMgA5ADUAMABhADEAMwBkAGIAYgBjAGMAOQA0ADYANQA0ADUAMwBlADMAYQBiAGQANwA3AGIAYgA5ADEANQA0AGYAYQAzADQAZQBmADgAOQA0AGYAZQBhAGQANwA0ADEANgBkAGIANgBmADQAMwBmADUAMAA0AGYANgAwADYANAA2ADEAZgA4AGMAZQBmAGIAMwBlAGQAOAAyADUAMgBlADQAOQAwAGUAOQA4ADQAYwBiADYAZgBiAGMANQA1ADYAOABkAGQAYQAxADYAYQBhADgAMgA3AGUAMwBkADgAYgBlADIAOQBjAGIAMABmADYAOAAzADMAZQA1ADMAMQA3ADYANwA3ADIAOAAxAGUANgBiAGIANQBmAGYANwBmADcAMAA0AGQANQA3ADIAZgAxAGIAMQBlAGQAOQAwADMANwBkADcAYQBkADQAMAA5ADYAMgBlAGMAMQAwAGEAMwBhADIAOQA3ADIAOAA5ADgAYwA0AGMANQA3ADMAOQA5AGYAOAA0AGEAMQA0ADIAYQBlADkAMwBkADgAZQA2ADkAMwAyAGYAMQBmADcAYgA4AGMAZABmAGMAMgBlAGQAMwA0ADEAOQA0AGIAMQBhAGEANgAyAGYAOQA2AGUANABkADUAMQA2ADgAZgA4AGMANAA5ADUAOQBhADIAOAA1ADQAYwA3ADYAMgBkADAAZgBkADcAMwBjADgAZgAwAGUAMQBjADAAOQAwADMAZAAxADcAMwBmAGIAYwBkADcANwA4ADMANAAzADMAMwA2AGMAZAA5AGUANgA1ADgAZABjADAAMgA4ADIAZQA2ADMANgAyAGEAYQAwADgAYwBhADcAZAA5AGIAYQAzADEAMwA0ADUAOAA1ADgAZgBmADcAZQBkADQANwAyADgAMwBkADEAZQAxAGIANwA3AGQANQAxAGIANQBmADAANABhADUANQBlAGMAYwA1AGIANAA1ADMAZQAyADEANABjADAAMwAzADEAZgAwADcAMQBjADcAZQA4ADYANwA0ADcANgBmADcAZQBmADQAYgBlADYAZQBkAGMAMAAzAGEAOAA2ADYAZAAzADQAZgAyADMAOQBjAGMAMwBhADAAMABhAGQAZABmADIANAAyADIAZQBhAGUANgBhAGMAMwA1AGQANwA2ADAAOQBkAGEAYwBmAGIAMgA5ADYAZgBhADAANABjADQAMQA0ADIAMQAwADUAOQBkADAAMgBhADkAMgA4ADYANQAzADAANABkADcAOQA4ADYAMAAxAGUAMgAyAGQAMQA0ADQAYgA5AGIAMwA0ADMANgA4AGIAMwBjADQAMwA5ADMAOQBiADIAMAA2ADQAMQA3ADEAMgA1AGQAMAAyADUAYgAyAGEAYgBlADgAMgAyADUANwA2ADEAMABhADUAYwAxADUAMABiAGIAMAA0AGMAZAA1ADIAOQBiADQAYQBjADMANABkADQANgBjADgAZgAzADQANgA3AGMAYgA2AGYAMgAzADMAOQAyADMAMgA4ADEANAAzADgANwBhAGIAOAA1ADcANQBiADEAYgA2ADYAYwBlAGMAZgA5ADQANAAwADMAYwBjADQAOAA0ADEANgA1ADQAZQBlADgAZQA4AGIANQAwADIAMwA4ADMAOABjADIAZgAzADUANQAxAGEANwA1AGYAMAA0ADIAMwBjADUAYgAzADMAZQAwADgAMAA1ADkANQAyADUAMABmAGIANwA2AGQAOABiAGMAZQA3AGYAYgBjADYAMQA0AGEAYgBkAGEANQAyADIAMgA0ADIAYgBhADYAZQAyADcAOABjAGEAMwAzADYANABkAGQANQA2ADUAMQAzAGIAZAAwADEAYQBiADcAOQBjADYAZgA2AGEAZgBiADUAZAA4AGQAOQAwAGMAMwA4AGUAYwA3AGIAMQBhADIAYgAwADAANgA2AGMAMQAzADkAZABkADgAOQA5ADEANgAzAGIAOQAwADQAYQBhAGIANQAxAGUAMABhAGQAOAAwADAANgAzAGMAOQA3AGEAMwA3ADUANQAzAGIAZQAyADIAYgBlADAAZgBmADEANgBiADIAMQAyAGUAYwA5ADkAYwAyAGYAMQBlADQAMgBhAGQAMAA3ADcAMAA5ADgAYgA3AGMAMwA4ADYAMgA0ADIAYwAyAGYANwA5ADQAMQA3ADMAMwAzADAAZgBiADEAYwAzAGMAYQBlADYAYQA5ADMAMQBiADQAYQBjAGMAMwA1AGUANAA5ADIAMgAyADQAOQBlADIAMgA0ADgAMABkADMANAA1AGMAZABjAGYAOAA4AGEANQA5ADEANQBmADMAOQA0AGQAZgBhADMAMQBiADAANwA3ADUANQA5ADIANAAzAGEAZgA5ADgAOAA2ADgAYwA0ADMAZgA5ADcANgA0ADUAMABmAGMANgBmADkAMwBjADYANABiADAAMwBlADMANgAyADMAMwBkAGIAMwBhADEAZAA1ADUAYQA3ADkANAA3ADIAYwA5ADMAOAA0ADgAYwA5ADgAMwA1ADkAMQBjAGQAMwA4AGMAZgA5AGQAYwBiADIAYQA0ADgAZAA0ADgAOABmADgAMgA1ADgAZQAyADAAZQAyADMAYwAwADUANgA5ADcANQBiADEAZQA1ADcAOAA5AGYANAA5AGQAMAA2ADEAMQA0ADAANQBlAGEAOQAwADUAZAA0ADYAYwBjAGEANgA4ADgAYQAyADIAOABiADUANQA5AGQAMwBlADUANwA5ADgAMgA3AGMAMwA1AGIAYgA2ADkAYgA2ADQAMQA0AGQAMQA0ADQANgA0AGIAOABjADgAMQBiAGMAZAA3ADQAOAAyADkAMABmADMAMwAwADcAYQBiAGUAYgAxAGEAZQBlAGUAYgAyADYAZAAyADcAZgAwADcAYgBiADUAMgAyAGMAYgA5AGIAOAA1ADUAZQAxAGIAZgBjAGYANABkAGYAYQBjADAAZABjADUAZgAwAGQAYwBkAGEAMwAyADkANAA0AGUAZABjADcANQAwADgAOAA4AGYAOQBjADUAZAA0AGIAOQA4AGQAMQBhADIAMAA3ADUAMQA1ADkAOABkADkAYQBiAGIAOABmADUANAA2AGMAMwA4ADkAYwAzADEAOAA2ADUAZQBlADYAZQBkADIAMQBlADEANAA0AGYAYQA0AGQAMQA2ADgANQA4ADYANAA1ADEAZAA4ADAAYQAyADMAYwA0AGEAMwAzAGUAOQA3ADIAYQBiAGQAYQA5ADIAYQAwADAANABlADgAOAA1ADEAMABmAGYANgA1ADgANgBmADYANwA3AGYAZQAyADMAZAAzADkAYgBmAGYANQA1ADgAMQAzADQAZQAxAGEANgA2AGMAZgBiAGMAMQBmADkAYgBkAGUANwBlADAAYgBlADQAMgA2AGUAYQA3ADIANAA5ADAAYgA5AGUAOQBiAGUAZQAzAGIANwBmADkAMQBjAGIANQAzADcAYwBmADMAMgBiADUAYwBhAGYAMgA3AGIAZAA1AGEAMwAyAGEAZgA1AGQAYwBhADIAYgAxADgAOAA1AGMAZQA3AGEAZABlAGQAZQAwAGUAYwA4ADkAYQBjAGQANgBjADYANwAwADcAZgA1AGIAZgA0AGYAMgA0ADEAMgBhAGYAZgBlADYAMAA0AGIANwBmAGMAMAA5AGMAMwBlADAANwAxADYAZAA4AGIAYwAzADgANwBhAGMAYQA4AGQANwA4ADYAMQA1ADcAYQBjAGUANAAyAGIAMQAyAGYAYwAxAGUAMgA5AGEANwA0ADYAMwBiADgAYwA4ADQAOQBlAGYANQBmADkAYgBkAGQANABiAGMAZABlADYANAA3ADYAMgA3ADkAZABhAGYAZQBiADcAMgA3AGEANAA1AGIAZAA4AGMAOAA4ADgANABjADAANgA3ADIANQA0ADYAMQBhADQANQBmADQANgA3ADEAMwBkAGEAYwA1ADgAMgAxAGQAMQA5ADEAZAA0AGYAYQAwADkANwA4ADYAZQBjAGQAYwBmADkAZAA0AGYAMgBkADUAZAA4ADcAMgA4ADAANwBjADUANwAyAGYAZQA0ADcAYgA2ADcANgA0AGIAYgBiAGQANwA2ADQANwBmADQANwA0ADMAMgA2ADYAZgBkAGUAYgA4ADYAZABmAGEANwAyAGMAOAA1AGIAMgA4AGMAOQBjADUAMwBlADEANAAzADMAOAAzAGUAOAA3ADQAMwBhADUANABhAGYAOQAzADgAMQBmADgAMwBhADYANQA0ADYANwAxADEAYgA0ADIAZAAwADQANQBkADQAMwAzAGYAMwBiADkAZAA1ADcAMwA1AGIAOABlAGQANQBjAGIAOAAyADYAZgBhADUAZgA5AGEAOQA0ADUAYQBhAGMAOQBlADYAYwA5ADgANAA5AGEAMwBlADkAOQA3ADgAYQAwAGYAYQAzADYAMQA5ADUAYgAzAGUANwBhADMAMgAzADkAYgA0ADIAMgAzADcAOABlADMAOQBiADgAYgA3ADAANABjADYAMgA5ADUAMQBkAGIANAAxADkAYQA4ADAANwA2ADYAOQA2AGMAMABiADQANgBiAGQAOAA2AGQANABkAGEAZgA3ADAAZQA1ADYAYgBmADQANAAxADMANgA4AGQAMwAxADkANQBkADMANQA4ADQAOAA5ADYAYgBjADMAOAA5ADAAOAA5ADUAYQA4ADMAMgA1AGEAMwA0ADMANwAzAGUAMQA0ADEANwA1ADcAOQBkADcAYwAxADYAMQBjAGQANABjAGQAYwBjAGUANwA2AGUANwBmADcAMwBiAGEAMAAwADIAMABiAGEAMAA4AGIAZgBiAGIANAA0ADUANAAzADAAMgA5ADkAYgBjADkAYQBmADUAOAAxAGMAZABhADkAYQBmADUAMwBkAGQAMgBhADgAZgBiADcAZAAwAGYANABjADYAOQBkADEAMQA4ADEANgA4ADMAYQBkAGIAYQA0ADAAZgBkADAAZQAxADMAYwBjADAAMAAxAGYAOAAyADgANwBlAGQANABiADUANQA1ADYAOAAzAGUAZAAzAGUAZgBjADEAOABkADgANgBlAGEAYwAwAGQAMAAxAGQAZAA2AGEAZgBkADcAYQAyADAANABlADEANQBmAGYANwAzAGYANwBmAGYAZgA2AGIAYQA5ADcANAAxAGIAYQBhAGEAMwA2AGIANQBhADkAYQBmADgANABhAGEAMgAxADYAMwA3ADgANQA4ADEANwA3ADUAOQBjADUAZQA2ADMAMwBhAGYAYwA2ADUAMQAxAGQAYQA0AGQAYwA0ADQAMgAxADUANAAwAGUAYQBlAGUAOQBhADUAZAA4AGUAOQA1AGUAMwA2ADUANwBhAGMAMwA4ADgANAAzAGUANgBlAGEAYwAyAGIAZAAxAGIAYwBlAGUANAA5ADIANQA3ADYAYgA5AGUAZABjADUAZABjADkAMABlAGYAYQA0ADMAZQBmAGEAYwAyAGIAZgAyADgAMABjAGUAYQBiAGMAYwAyAGMAMAAzADgANwBhAGQAZgBiAGQAMwBmADgAZABiAGMANgBhADYAZAAyADQAOAA3AGIANABjAGUANAA3AGUAMwAwAGMAOAAyADkAZABiADcAYQBkADgAOQBjADUAYwAzAGUAMAA4AGUAZABjADUAYgBlADUANwA5ADkANQBiAGQAMQAyAGUAYgA5ADgAZQA5ADIANgBkAGQAMAA1AGIAZAAxADMAMgBiADQAMwA5AGQAZgA3AGYAZgA5ADAANgBkAGMAMwBhADQAYgBlADEAMQBhADQAMwBjAGIAOQBjAGIAZABkADQAOABlADMAZQA3AGYAZQBhADAAMwA1ADgAMABiADkAMgA5AGQAYgBlADgANgAyADAAYQBmADAANQA0AGMAMAAyADMAZQBhAGMAMAAwADYAMwAwADYAYQA3ADkAOQA3AGIANgBhADYAMQA1AGUANgBjAGYAZAAxAGYAOQAxADUAYQBlADcANgA1AGUAOQBiAGYAZQBkADQAYwAxAGYANwA2AGEAOAA3ADEAYQAzADUANgBmADMANwBlADUAMABhADMAMgA1AGQAYwBhADkAYwA2AGIANgAyADMAZQBhADIAZgA2ADYANABkAGQAYgBhADAAOAA4ADgAZgAyAGUAYwAxAGIAOAAyADcAOQA5AGQAZQBkADYAOABlAGIAMgBlADkAMABhAGMANABiADgAMQBlADIAYgA2AGEAOQBkAGEAYQA2AGEAZQA0ADAAZQBlAGYAOAA3AGEAYQAxAGEAYQAwAGMAMwAxAGUANQA4ADYAOQAxAGQAZQBhAGIAMQAxADcANwAyADMANAA2AGIANwBjAGQAMwBlAGEAYgAyAGQANwBlAGMANgBjAGYAYgBhADEAMAAxADQAZgA4AGIAMAA1ADQAMgAyAGUAZAA0AGYAZQA4AGUANQBhADUANQBjADUAYwA5ADkAMgAxADgAOQA1ADgANABiADYANgA0ADMAMwA0ADcAOABiADEANwAzADEANwA1ADMAOAA4ADUANQBkADcAMQBkADMAYwBmAGUAOAAzADYAYgA5ADIAZABkAGEAOAAyAGQAYwBlAGEAOQBkADgANABmADQAZgBiADUAMgA0ADYANgAwADIAYwAyADEAZQA2AGQAYgAzADcAMgBhAGIAMgBiADQAMgA0AGIAMgA3AGYAMAA1ADMAMwAxADIAMwAwADEAYgAxADIANwA1ADEAYwBmADcAYwBhADUAZQBmADQANAAzADQAYwBhAGQAMQA2ADEAYQAyADgANQBiADQANAA5ADgAMgA5ADAAYwA1AGUAZAA3ADAAYgAyAGMAOAAzAGYAZAA2ADUANwA1AGYAMgBkADcAOQA4ADkAMwAzAGEAMABiADkAZgAyADIAMAA2AGQANQBkADIAMAAwADcAYwAxAGYANABlADAAOQA1ADQAMgA1AGYAZAAxADcANAAzADMAMwBlADEANQA4ADQAMgA1ADMANAA3ADEAMQBlAGYANwBmADQAMAA1ADkAMwA2ADMAYgBiADEAMQBjAGEAYwBjAGIAZQBjAGUAMAAzAGEAYQBkADUAYgA4AGIANgA1ADUANgBjADAANgAwADIANQA5ADYAYwA5ADAANgAzAGYAYQA2ADQAYwA4ADIAMgAyADYAMQBkADcAYQA4ADEAOQAxAGYANgBjADYAMQAxADMAMgAwADUANgBhADMAYQBkADUAYgAxADgAMgA1AGUAMQBlAGMANgBmAGMAYwBiAGYAMwBjADYANAA0AGQAMQA5ADEANQBmADAAZAAzADIANAA4ADMANQBmAGQAMAA5AGEAMABhADcAOQAzAGYANwA0AGIAYQA2ADUANwA4ADcANwA1ADMAMABmAGIANwBlAGMAZQA5AGIAZgBjADYAMwBmADkANwBmAGIANwBjAGQANAAwADEANQA2ADkAMAA4ADUAMwBhAGYAMABkADAANwA4ADcAMwBlADAAZAA0ADcANwAzADIANQAyADQAZABhADYAMwAxADgANwA1AGMAOQAyADAAZQA4AGEAMQBmADYAZABlADUAOABhAGMAYQBjADQAOQBmAGIAZAA4ADAANQAzAGEANgA4ADYANAA1AGMAOAA5AGQAZQA3AGEANAAzADQANgBmAGEANgA5AGEANABmADkANAA2ADkAYgA5AGYANQBmADkAYQA1ADQANAAyADgAYwA0ADEAOQBmADYAMgBkADUANgAzADkAYgBlADAAMgA5ADgAMQA3ADEANwBhADEAMwA1ADMAZQBjAGIAMwBiAGEAMgBkADkAMgA2ADQAOAAzAGIAYgBjAGIAYQAwADEAYwA2AGIAMQA4AGYAYgA1ADIANgBlAGUAOABhADgAMQBiADkANgA1ADAANgAxADgAZgAwADIAOQBiADgANAAwAGEAMQBlADEAOQAyADkAMwA4ADQAYgBkADkANAA0AGMAMgA5ADAANABjAGYAMwA0ADMANAAwAGEAOABmAGEAYwAyAGMAMgAyADcAZgAwAGQANQA4AGUAYgBhADgANgA2ADUAZAAwAGUAOABjAGEAOAA4ADYAZgBmADEAOQBmAGQANABiADUAOQA1AGIANABjAGMANQAwAGQAMQA5ADAAOAA2ADAAZQA0ADEANQA0ADcANAAwAGMAZAA5ADIAMgA4ADYANwAxADcAMwAzADUAMQBiAGQAMQA2ADQAZABiADEAYQBiADgAZQAxADgAZQAwADMAYQBhAGYAMQA2ADkAMAAxADIAYwBjADYAOQBlAGIAYgAzADcAMgBkAGQAOAA3AGEAOQBhADQAOQBiADEAOABmADEAMABjAGEAYgA3AGMANwA1ADcAYwA4ADAAZgA0AGMANAA0ADcANQBiADYANQBkADEAMgAxADUAZQBkAGUANQBhADAANQA2AGQAMAAyAGQAZgA4ADcAZgA3ADcAYQBiAGEAZABlAGUAZgAyADcAZABlADUAZAAwADAAZgAyAGQANgA3ADAAMgA1AGUAYgBhAGIAMABlADQAZAA3ADcAYQAxADgAZgBiADQAMgAzADQAMwA5ADAAOQAxADMANgBiADUAYwBhADgANgAxADYAYgAzADAA
#>


#endregion