private/Add-MBSAPIType.ps1

add-type -typedef @"
using System;
using System.Security;
 
namespace MBS.API
{
    public class License {
        public string ID;
        public long Number;
        public string ComputerName;
        public string OperatingSystem;
        public bool IsTrial;
        public bool IsTaken;
        public string LicenseType;
        public DateTime DateExpired;
        public string Transaction;
        public string User;
        public string UserID;
    }
 
    public class User {
        public string ID;
        public string Email;
        public string FirstName;
        public string LastName;
        public string[] NotificationEmails;
        public string Company;
        public bool Enabled;
        public MBS.API.UserLicensingMode LicenseManagmentMode;
        public MBS.API.UserDestination[] DestinationList;
        public long SpaceUsed;
    }
 
    public class UserDestination {
        public string ID;
        public long CurrentVolume;
        public long PackageID;
        public string AccountID;
        public string AccountDisplayName;
        public string Destination;
        public string DestinationDisplayName;
    }
 
    public class UserComputer {
        public string DestinationId;
        public string ComputerName;
    }
 
    public class Company {
        public string ID;
        public string Name;
        public long StorageLimit;
        public string LicenseSettings;
    }
 
    public class Build {
        public string Type;
        public string Version;
        public string DownloadLink;
    }
 
    public class BuildEdition {
        public MBS.API.BuildEditionType Type;
        public string Version;
    }
 
    public class Monitoring {
        public string PlanName;
        public string CompanyName;
        public string UserName;
        public string UserID;
        public string ComputerName;
        public string BuildVersion;
        public string StorageType;
        public Nullable<DateTime> LastStart;
        public Nullable<DateTime> NextStart;
        public MBS.API.MonitoringPlanStatus Status;
        public string ErrorMessage;
        public long FilesCopied;
        public long FilesFailed;
        public long DataCopied;
        public string Duration;
        public long DataToBackup;
        public long TotalData;
        public long FilesScanned;
        public long FilesToBackup;
        public string PlanId;
        public MBS.API.MonitoringPlanType PlanType;
        public string DetailedReportLink;
    }
 
    public class Administrator {
        public string AdminID;
        public string Email;
        public string FirstName;
        public string LastName;
        public bool Enabled;
        public MBS.API.AdministratorPermission PermissionsModels;
        public Nullable<DateTime> LastLogin;
        public DateTime DateCreated;
        public string[] Companies;
        public MBS.API.AccessToCompaniesMode AccessToCompaniesMode;
    }
 
    public class AdministratorPermission {
        public MBS.API.AdministratorPermissionMode Users;
        public MBS.API.AdministratorPermissionMode StorageLimit;
        public MBS.API.AdministratorPermissionMode Notification;
        public MBS.API.AdministratorPermissionMode OnlineAccess;
        public MBS.API.AdministratorPermissionMode Licenses;
        public MBS.API.AdministratorPermissionMode Billing;
        public MBS.API.AdministratorPermissionMode Monitiring;
        public MBS.API.AdministratorPermissionMode RemoteDeploy;
        public MBS.API.AdministratorPermissionMode RemoteManagment;
        public MBS.API.AdministratorPermissionMode HelpMarketing;
        public MBS.API.AdministratorPermissionMode AuditLog;
        public MBS.API.AdministratorPermissionMode PSA;
        public MBS.API.AdministratorPermissionMode Administrators;
        public MBS.API.AdministratorPermissionMode Rebranding;
        public MBS.API.AdministratorPermissionMode Storage;
        public MBS.API.AdministratorPermissionMode ADS;
        public MBS.API.AdministratorPermissionMode LicenseBuy;
        public MBS.API.AdministratorPermissionMode LicenseActivate;
        public MBS.API.AdministratorPermissionMode StorageUsage;
        public MBS.API.AdministratorPermissionMode CapacityReport;
        public MBS.API.AdministratorPermissionMode GoogleApps;
        public MBS.API.AdministratorPermissionMode Dashboard;
        public MBS.API.AdministratorPermissionMode Downloads;
        public MBS.API.AdministratorPermissionMode CloudRestore;
        public MBS.API.AdministratorPermissionMode EC2Snapshots;
        public MBS.API.AdministratorPermissionMode LicenseUsageHistory;
        public MBS.API.AdministratorPermissionMode BackupHistory;
        public MBS.API.AdministratorPermissionMode PurchaseHistory;
        public MBS.API.AdministratorPermissionMode UsersCreateEdit;
        public MBS.API.AdministratorPermissionMode UsersDelete;
        public MBS.API.AdministratorPermissionMode ManageCompanies;
    }
 
    public class Destination1 {
        public string ID;
        public int CurrentVolume;
        public int PackageID;
        public string AccountID;
        public string AccountDisplayName;
        public string Destination;
        public string DestinationDisplayName;
    }
 
    public class StorageAccount {
        public string ResellerAccountID;
        public string AccountID;
        public DateTime DateCreated;
        public string DisplayName;
        public string StorageType;
        public MBS.API.StorageAccountDestination[] Destinations;
    }
 
    public class StorageAccountDestination {
        public string DestinationID;
        public string AccountID;
        public string Destination;
        public string DestinationDisplayName;
    }
 
    public class Billing {
        public long CurrentSpaceUsed;
        public long AverageSpaceUsed;
        public long TotalRestore;
        public MBS.API.BillingStatistic[] StatisticBilling;
    }
 
    public class BillingStatistic {
        public string UserId;
        public string Email;
        public string FirstName;
        public string LastName;
        public string CompanyName;
        public long AverageSpace;
        public long TotalVolumeRestore;
        public Decimal PlanCost;
        public Decimal StorageCost;
        public Decimal RestoreCost;
        public Decimal TotalCost;
    }
 
    public class BillingDetails {
        public long TotalBackupBytes;
        public long TotalRestoreBytes;
        public string UserID;
        public MBS.API.BillingUserDetailList[] UserDetailList;
    }
 
    public class BillingUserDetailList {
        public string Computer;
        public long SizeBackup;
        public long SizeRestore;
        public string Prefix;
        public string AccountID;
        public string Destination;
    }
 
    public class StoragePackage {
        public long ID;
        public Decimal Cost;
        public string Description;
        public bool Enabled;
        public string Name;
        public Decimal StorageLimit;
        public bool isGlacierRestoreLimit;
        public Decimal RestoreLimit;
        public MBS.API.GlacierRestoreType GlacierRestoreType;
        public bool UseRestoreLimit;
    }
 
    public class StorageAccountSetting {
        public string DisplayName;
        public MBS.API.StorageAccountType Type;
        public string AccountSettings;
    }
 
    public abstract class AmazonS3Like {
        public string AccessKey;
        public string SecretKey;
    }
 
    public abstract class S3CompatibleLike : AmazonS3Like {
        public string HTTPEnpoint;
        public string HTTPSEndpoint;
        public bool IgnoreCertificate;
        public bool NotCheckCredentials;
    }
 
    public class Wasabi : AmazonS3Like{ }
 
    public class Minio : S3CompatibleLike { }
 
    public class S3Compatible : S3CompatibleLike {
        public bool UseNativeMultipartUpload;
        public MBS.API.SignatureVersion SignatureVersion;
        public bool IsGovCloud;
    }
 
    public class AmazonS3 : AmazonS3Like{
        public bool IsGovCloud;
    }
 
    public class GoogleCloudPlatform {
        public string ServiceAccountEmail;
        public string BinaryKeyAsBase64;
        public string ProjectID;
    }
 
    public class Azure {
        public string AccountName;
        public string SharedKey;
    }
 
    public class OpenStackCompatible {
        public string UserName;
        public string ApiKey;
        public string AuthService;
        public MBS.API.KeyStoneType KeyStoneVersion;
        public MBS.API.OpenStackType TenantType;
        public string Tenant;
        public bool UseInternalURLs;
        public MBS.API.OpenStackType DomainType;
        public string Domain;
        public bool UseScope;
        public MBS.API.OpenStackType ProjectType;
        public string Project;
    }
 
    public class OpenStack : OpenStackCompatible{
        public string IgnoreCertificate;
        public string NotCheckCredentials;
    }
 
    public class FS {
        public string Login;
        public string Pass;
        public string Path;
    }
 
    public enum GlacierRestoreType
    {
        Standard,
        Bulk,
        Expedited,
        No
    }
 
    public enum AdministratorPermissionMode
    {
        None,
        Access
    }
 
    public enum UserLicensingMode
    {
        Manual,
        Automatic,
        CompanySettings
    }
 
    public enum CompanyLicensingMode
    {
        CustomUsersSettings,
        GlobalLicensesPool,
        CompanyLicensesPool
    }
 
    public enum BuildEditionType
    {
        Windows,
        VirtualMachine,
        MacOS,
        LinuxDeb,
        LinuxRpm,
        DedupServer
    }
 
    public enum MonitoringPlanType
    {
        NA,
        Backup,
        Restore,
        BackupFiles,
        RestoreFiles,
        VMBackup,
        VMRestore,
        SQLBackup,
        SQLResore,
        ExchangeBackup,
        ExchangeRestore,
        BMSSBackup,
        BMSSRestore,
        ConsistencyCheck,
        EC2Backup,
        EC2Restore,
        HyperVBackup,
        HyperVRestore
    }
 
    public enum MonitoringPlanStatus
    {
        Success,
        Overdue,
        Error,
        Running,
        Unknown,
        Interrupted,
        UnexpectedlyClosed,
        Warning
    }
 
    public enum StorageAccountType
    {
        AmazonS3,
        AmazonS3China,
        Azure,
        OpenStack,
        OracleCloud,
        S3Compatible,
        Scality,
        CenturyLink,
        ArubaCloud,
        BackblazeB2,
        Cloudian,
        Connectria,
        Constant,
        DreamObjects,
        Dunkel,
        GreenQloud,
        HostEurope,
        Seeweb,
        ThinkOn,
        Tiscali,
        Walrus,
        FS,
        GoogleCloudPlatform,
        Wasabi,
        Minio
    }
 
    public enum KeyStoneType
    {
        DoNotUse,
        Two,
        Three
    }
 
    public enum OpenStackType
    {
        Name,
        ID
    }
 
    public enum SignatureVersion
    {
        Version2 = 2,
        Version4 = 4
    }
 
    public enum AccessToCompaniesMode
    {
        SpecifiedCompanies,
        AllCompanies
    }
}
"@

# SIG # Begin signature block
# MIInWgYJKoZIhvcNAQcCoIInSzCCJ0cCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCA+e+vlPRZJEHHH
# EOkNM1PG8LktquQtLRAiFBxn6Y9TXaCCEekwggVvMIIEV6ADAgECAhBI/JO0YFWU
# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM
# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy
# dmljZXMwHhcNMjEwNTI1MDAwMDAwWhcNMjgxMjMxMjM1OTU5WjBWMQswCQYDVQQG
# EwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMS0wKwYDVQQDEyRTZWN0aWdv
# IFB1YmxpYyBDb2RlIFNpZ25pbmcgUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEBAQUA
# A4ICDwAwggIKAoICAQCN55QSIgQkdC7/FiMCkoq2rjaFrEfUI5ErPtx94jGgUW+s
# hJHjUoq14pbe0IdjJImK/+8Skzt9u7aKvb0Ffyeba2XTpQxpsbxJOZrxbW6q5KCD
# J9qaDStQ6Utbs7hkNqR+Sj2pcaths3OzPAsM79szV+W+NDfjlxtd/R8SPYIDdub7
# P2bSlDFp+m2zNKzBenjcklDyZMeqLQSrw2rq4C+np9xu1+j/2iGrQL+57g2extme
# me/G3h+pDHazJyCh1rr9gOcB0u/rgimVcI3/uxXP/tEPNqIuTzKQdEZrRzUTdwUz
# T2MuuC3hv2WnBGsY2HH6zAjybYmZELGt2z4s5KoYsMYHAXVn3m3pY2MeNn9pib6q
# RT5uWl+PoVvLnTCGMOgDs0DGDQ84zWeoU4j6uDBl+m/H5x2xg3RpPqzEaDux5mcz
# mrYI4IAFSEDu9oJkRqj1c7AGlfJsZZ+/VVscnFcax3hGfHCqlBuCF6yH6bbJDoEc
# QNYWFyn8XJwYK+pF9e+91WdPKF4F7pBMeufG9ND8+s0+MkYTIDaKBOq3qgdGnA2T
# OglmmVhcKaO5DKYwODzQRjY1fJy67sPV+Qp2+n4FG0DKkjXp1XrRtX8ArqmQqsV/
# AZwQsRb8zG4Y3G9i/qZQp7h7uJ0VP/4gDHXIIloTlRmQAOka1cKG8eOO7F/05QID
# AQABo4IBEjCCAQ4wHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYD
# VR0OBBYEFDLrkpr/NZZILyhAQnAgNpFcF4XmMA4GA1UdDwEB/wQEAwIBhjAPBgNV
# HRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUFBwMDMBsGA1UdIAQUMBIwBgYE
# VR0gADAIBgZngQwBBAEwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5jb21v
# ZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNAYIKwYBBQUHAQEE
# KDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wDQYJKoZI
# hvcNAQEMBQADggEBABK/oe+LdJqYRLhpRrWrJAoMpIpnuDqBv0WKfVIHqI0fTiGF
# OaNrXi0ghr8QuK55O1PNtPvYRL4G2VxjZ9RAFodEhnIq1jIV9RKDwvnhXRFAZ/ZC
# J3LFI+ICOBpMIOLbAffNRk8monxmwFE2tokCVMf8WPtsAO7+mKYulaEMUykfb9gZ
# pk+e96wJ6l2CxouvgKe9gUhShDHaMuwV5KZMPWw5c9QLhTkg4IUaaOGnSDip0TYl
# d8GNGRbFiExmfS9jzpjoad+sPKhdnckcW67Y8y90z7h+9teDnRGWYpquRRPaf9xH
# +9/DUp/mBlXpnYzyOmJRvOwkDynUWICE5EV7WtgwggYaMIIEAqADAgECAhBiHW0M
# UgGeO5B5FSCJIRwKMA0GCSqGSIb3DQEBDAUAMFYxCzAJBgNVBAYTAkdCMRgwFgYD
# VQQKEw9TZWN0aWdvIExpbWl0ZWQxLTArBgNVBAMTJFNlY3RpZ28gUHVibGljIENv
# ZGUgU2lnbmluZyBSb290IFI0NjAeFw0yMTAzMjIwMDAwMDBaFw0zNjAzMjEyMzU5
# NTlaMFQxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxKzAp
# BgNVBAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmluZyBDQSBSMzYwggGiMA0G
# CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCbK51T+jU/jmAGQ2rAz/V/9shTUxjI
# ztNsfvxYB5UXeWUzCxEeAEZGbEN4QMgCsJLZUKhWThj/yPqy0iSZhXkZ6Pg2A2NV
# DgFigOMYzB2OKhdqfWGVoYW3haT29PSTahYkwmMv0b/83nbeECbiMXhSOtbam+/3
# 6F09fy1tsB8je/RV0mIk8XL/tfCK6cPuYHE215wzrK0h1SWHTxPbPuYkRdkP05Zw
# mRmTnAO5/arnY83jeNzhP06ShdnRqtZlV59+8yv+KIhE5ILMqgOZYAENHNX9SJDm
# +qxp4VqpB3MV/h53yl41aHU5pledi9lCBbH9JeIkNFICiVHNkRmq4TpxtwfvjsUe
# dyz8rNyfQJy/aOs5b4s+ac7IH60B+Ja7TVM+EKv1WuTGwcLmoU3FpOFMbmPj8pz4
# 4MPZ1f9+YEQIQty/NQd/2yGgW+ufflcZ/ZE9o1M7a5Jnqf2i2/uMSWymR8r2oQBM
# dlyh2n5HirY4jKnFH/9gRvd+QOfdRrJZb1sCAwEAAaOCAWQwggFgMB8GA1UdIwQY
# MBaAFDLrkpr/NZZILyhAQnAgNpFcF4XmMB0GA1UdDgQWBBQPKssghyi47G9IritU
# pimqF6TNDDAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADATBgNV
# HSUEDDAKBggrBgEFBQcDAzAbBgNVHSAEFDASMAYGBFUdIAAwCAYGZ4EMAQQBMEsG
# A1UdHwREMEIwQKA+oDyGOmh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1B1
# YmxpY0NvZGVTaWduaW5nUm9vdFI0Ni5jcmwwewYIKwYBBQUHAQEEbzBtMEYGCCsG
# AQUFBzAChjpodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3RpZ29QdWJsaWNDb2Rl
# U2lnbmluZ1Jvb3RSNDYucDdjMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0
# aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEABv+C4XdjNm57oRUgmxP/BP6YdURh
# w1aVcdGRP4Wh60BAscjW4HL9hcpkOTz5jUug2oeunbYAowbFC2AKK+cMcXIBD0Zd
# OaWTsyNyBBsMLHqafvIhrCymlaS98+QpoBCyKppP0OcxYEdU0hpsaqBBIZOtBajj
# cw5+w/KeFvPYfLF/ldYpmlG+vd0xqlqd099iChnyIMvY5HexjO2AmtsbpVn0OhNc
# WbWDRF/3sBp6fWXhz7DcML4iTAWS+MVXeNLj1lJziVKEoroGs9Mlizg0bUMbOalO
# hOfCipnx8CaLZeVme5yELg09Jlo8BMe80jO37PU8ejfkP9/uPak7VLwELKxAMcJs
# zkyeiaerlphwoKx1uHRzNyE6bxuSKcutisqmKL5OTunAvtONEoteSiabkPVSZ2z7
# 6mKnzAfZxCl/3dq3dUNw4rg3sTCggkHSRqTqlLMS7gjrhTqBmzu1L90Y1KWN/Y5J
# KdGvspbOrTfOXyXvmPL6E52z1NZJ6ctuMFBQZH3pwWvqURR8AgQdULUvrxjUYbHH
# j95Ejza63zdrEcxWLDX6xWls/GDnVNueKjWUH3fTv1Y8Wdho698YADR7TNx8X8z2
# Bev6SivBBOHY+uqiirZtg0y9ShQoPzmCcn63Syatatvx157YK9hlcPmVoa1oDE5/
# L9Uo2bC5a4CH2RwwggZUMIIEvKADAgECAhBQGj1MeADxcRs/FOU26uyrMA0GCSqG
# SIb3DQEBDAUAMFQxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
# ZWQxKzApBgNVBAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmluZyBDQSBSMzYw
# HhcNMjExMjAzMDAwMDAwWhcNMjQxMjAyMjM1OTU5WjBYMQswCQYDVQQGEwJVUzEV
# MBMGA1UECAwMUGVubnN5bHZhbmlhMRgwFgYDVQQKDA9NU1BCeXRlcywgQ29ycC4x
# GDAWBgNVBAMMD01TUEJ5dGVzLCBDb3JwLjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
# ADCCAgoCggIBAKNUOYUGihQGjTJdJ6k5Fm3+6QJGhj2wUbubiiqxJeqmW6616o5e
# ExwiGSxPOqafJzOJNq0XOigb3OQhtdIR4bG38+JghFt8rZe/DxBmPBZDR9bD1hrk
# 9vY714QhqvhIlUDXHnDUc9pnVGFfI945hRgaFHL77GQAEFyMvjNupOvT674/E8rI
# gYKMQBwY0cqiuRQwr3FnRMmNhd8/5mqrZGglDT1JizOnpfFVgNJ0x4ev7mPYIF6T
# rFGPwHsOOujzydmGgqvtGASEuz74A6arzYrhbjXv8XsEdT2tz6hHIpMwsgWMk6BD
# KDCsSIl5oEmVbQNXKrC0k62/XpbWRd+i350k07kl1bdV+nbi1K62TyS+7eVxehC1
# gFp+Knob1aqAJD9sPBLdbN3E4FOB/rvOLP1i2IxAcTGirAyRkkUriD4LUSWO6pju
# Qv2V4ZU/+K/3ZLXYCbIflzpDq6z9FmazK5csv99Coslv9s6lm9s1RRxgRBj5sn1q
# Xe/5l0VbF7tG/cgBvt8aJBD0u8knujI17lDy1TGA77r/KKj65xSsxC6nm0RA9pTw
# 0tz5OQ4ABYrH6TpdUBJz8m8cFgPipvyohN0RdE7InB3Nao11L1UHlnnL0SG1z5qQ
# YU7BhvfiSu44pSY9/uTPmAPlNIj3MO5utjfMD+MX9u86d8h/DWwrvQZzAgMBAAGj
# ggGcMIIBmDAfBgNVHSMEGDAWgBQPKssghyi47G9IritUpimqF6TNDDAdBgNVHQ4E
# FgQU7XGG9N0fpUpnonmgh6+IzR3lGj0wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB
# /wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEQYJYIZIAYb4QgEBBAQDAgQQMEoG
# A1UdIARDMEEwNQYMKwYBBAGyMQECAQMCMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8v
# c2VjdGlnby5jb20vQ1BTMAgGBmeBDAEEATBJBgNVHR8EQjBAMD6gPKA6hjhodHRw
# Oi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29QdWJsaWNDb2RlU2lnbmluZ0NBUjM2
# LmNybDB5BggrBgEFBQcBAQRtMGswRAYIKwYBBQUHMAKGOGh0dHA6Ly9jcnQuc2Vj
# dGlnby5jb20vU2VjdGlnb1B1YmxpY0NvZGVTaWduaW5nQ0FSMzYuY3J0MCMGCCsG
# AQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOC
# AYEAhLlUlrWxmB3MSCX9LcaY3p6jCnaeFR4chgRmhjdH+Gy5UyFpEq1/3X/Pv2Ih
# GGnX0uVbXsQ90D/CwFk7bXCFUUblu4ldzNqjmnf+lcTtv/WJR9FTS9t79WdiWbuN
# /YIEXVDERUGPC7v55aaJvXJbDS+4vYeJPAHl2xsvbARWui1nwBLOSVGTGk6T2Q6s
# BnlHFToFc4UFtMhYUMf8L03jypocNGM9z6yamsOANd/dXt582U5DD0g7SVS2pyHD
# Ot7UvVq6769TGZNwq9s1tFwQjm3IGz4DIO1ADMwoGLzqqalYQ1xq2JAqUq41hSlN
# YHecLTjAOTwA81wv71XbZdARR0DfmpqdzdKkTbVucWhJFWL7clDQ0WzfAx1/ZsjR
# t6X9p+XuLnJPMD3V5swX52ZCcB6LY3FyK7kgwNseH+Xqo+Ln7OtAs3Bwa/Cm9lbL
# xYs8wkDitxFnpKFstyE7EE+wtEJkyszfLqjkmUCw/hjzX6I40hahbPCxaxdlv8+3
# drczMYIUxzCCFMMCAQEwaDBUMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGln
# byBMaW1pdGVkMSswKQYDVQQDEyJTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcg
# Q0EgUjM2AhBQGj1MeADxcRs/FOU26uyrMA0GCWCGSAFlAwQCAQUAoHwwEAYKKwYB
# BAGCNwIBDDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGC
# NwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEICXMcuAcofeUKQIY
# dKAVv8W2KjHwzANvfLoKrR74ey9eMA0GCSqGSIb3DQEBAQUABIICAFvz4IJdHGLh
# 2BDORw7dfL7MK68MEcS/uOUo/UuHlW9bUsYR7W/kmkHZkRWe3PzaIkzGxRX2zX/h
# mreyPUfh4GN2QWajiMajlv85T7bAv1kkjXQCAkvpEH4rIWSrBNu+UxSVyTfX24ZJ
# Rm1zJVYLa0tVvDHHJMo4N95x4X9B6WTyjTqdzfEzwVj+s1r+J4l/jiqKaU6rcmg1
# C29PtRNaUa6q6ijZ0Hks1R6YksBNfhkgnVDOxGXX9fF2ReA/futCJhP+tsVKmJAR
# xboaT0KzvSmrXCN65f1rB5qlmGyr5CcOnKLBECmJpHc4rlYqJh6MkZXiUpgV6iha
# wg6sINJOd+oZZWPLYBb23OIoiX7/yom3RQ1KMGwVVLcKP6h6wpavVLa7k3vvHDmn
# uEEDV99XtgqpeGz+K3HEQoluPj3i+z3w+flswzQyHpEW91RzXJpWdm5epThYDBaN
# NcJoNF5dIYr5LSPOwOjL1vJENxBNXkcD1rg/AgLV2j2YPp5hwNxiRTiWcp43bK0E
# 6wB1VRUR0aQ0Qp6Lz5TLZhcpx7RYRqLEO5cSI6VKkroB44DKwx6N6lDGh7HGiUFp
# y1CRgOEaCgtKYceFLdwb3ghsFG6zSpHNWtR7SSL/VWCS/3B2kuf/xXcmbGH+d262
# E3yHtPrzWZq2fcmcgE+DGu99pXhLJE9XoYIRsjCCEa4GCisGAQQBgjcDAwExghGe
# MIIRmgYJKoZIhvcNAQcCoIIRizCCEYcCAQMxDzANBglghkgBZQMEAgEFADB3Bgsq
# hkiG9w0BCRABBKBoBGYwZAIBAQYJYIZIAYb9bAcBMDEwDQYJYIZIAWUDBAIBBQAE
# IBA77l6HQJFD5CIx1oaQnBxe9h55mqaKakvgHL8IUf+wAhA44Cb8aWbjAwMrUZ1U
# MgO8GA8yMDIyMDUyMzE5MjUzMVqggg18MIIGxjCCBK6gAwIBAgIQCnpKiJ7JmUKQ
# BmM4TYaXnTANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
# RGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNB
# NDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMB4XDTIyMDMyOTAwMDAwMFoXDTMz
# MDMxNDIzNTk1OVowTDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ
# bmMuMSQwIgYDVQQDExtEaWdpQ2VydCBUaW1lc3RhbXAgMjAyMiAtIDIwggIiMA0G
# CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC5KpYjply8X9ZJ8BWCGPQz7sxcbOPg
# JS7SMeQ8QK77q8TjeF1+XDbq9SWNQ6OB6zhj+TyIad480jBRDTEHukZu6aNLSOiJ
# QX8Nstb5hPGYPgu/CoQScWyhYiYB087DbP2sO37cKhypvTDGFtjavOuy8YPRn80J
# xblBakVCI0Fa+GDTZSw+fl69lqfw/LH09CjPQnkfO8eTB2ho5UQ0Ul8PUN7UWSxE
# dMAyRxlb4pguj9DKP//GZ888k5VOhOl2GJiZERTFKwygM9tNJIXogpThLwPuf4UC
# yYbh1RgUtwRF8+A4vaK9enGY7BXn/S7s0psAiqwdjTuAaP7QWZgmzuDtrn8oLsKe
# 4AtLyAjRMruD+iM82f/SjLv3QyPf58NaBWJ+cCzlK7I9Y+rIroEga0OJyH5fsBrd
# Gb2fdEEKr7mOCdN0oS+wVHbBkE+U7IZh/9sRL5IDMM4wt4sPXUSzQx0jUM2R1y+d
# +/zNscGnxA7E70A+GToC1DGpaaBJ+XXhm+ho5GoMj+vksSF7hmdYfn8f6CvkFLIW
# 1oGhytowkGvub3XAsDYmsgg7/72+f2wTGN/GbaR5Sa2Lf2GHBWj31HDjQpXonrub
# S7LitkE956+nGijJrWGwoEEYGU7tR5thle0+C2Fa6j56mJJRzT/JROeAiylCcvd5
# st2E6ifu/n16awIDAQABo4IBizCCAYcwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB
# /wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwIAYDVR0gBBkwFzAIBgZngQwB
# BAIwCwYJYIZIAYb9bAcBMB8GA1UdIwQYMBaAFLoW2W1NhS9zKXaaL3WMaiCPnshv
# MB0GA1UdDgQWBBSNZLeJIf5WWESEYafqbxw2j92vDTBaBgNVHR8EUzBRME+gTaBL
# hklodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRSU0E0
# MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3JsMIGQBggrBgEFBQcBAQSBgzCBgDAk
# BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMFgGCCsGAQUFBzAC
# hkxodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRS
# U0E0MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4IC
# AQANLSN0ptH1+OpLmT8B5PYM5K8WndmzjJeCKZxDbwEtqzi1cBG/hBmLP13lhk++
# kzreKjlaOU7YhFmlvBuYquhs79FIaRk4W8+JOR1wcNlO3yMibNXf9lnLocLqTHbK
# odyhK5a4m1WpGmt90fUCCU+C1qVziMSYgN/uSZW3s8zFp+4O4e8eOIqf7xHJMUpY
# tt84fMv6XPfkU79uCnx+196Y1SlliQ+inMBl9AEiZcfqXnSmWzWSUHz0F6aHZE8+
# RokWYyBry/J70DXjSnBIqbbnHWC9BCIVJXAGcqlEO2lHEdPu6cegPk8QuTA25POq
# aQmoi35komWUEftuMvH1uzitzcCTEdUyeEpLNypM81zctoXAu3AwVXjWmP5UbX9x
# qUgaeN1Gdy4besAzivhKKIwSqHPPLfnTI/KeGeANlCig69saUaCVgo4oa6TOnXbe
# qXOqSGpZQ65f6vgPBkKd3wZolv4qoHRbY2beayy4eKpNcG3wLPEHFX41tOa1DKKZ
# pdcVazUOhdbgLMzgDCS4fFILHpl878jIxYxYaa+rPeHPzH0VrhS/inHfypex2Efq
# HIXgRU4SHBQpWMxv03/LvsEOSm8gnK7ZczJZCOctkqEaEf4ymKZdK5fgi9OczG21
# Da5HYzhHF1tvE9pqEG4fSbdEW7QICodaWQR2EaGndwITHDCCBq4wggSWoAMCAQIC
# EAc2N7ckVHzYR6z9KGYqXlswDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCVVMx
# FTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNv
# bTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4XDTIyMDMyMzAw
# MDAwMFoXDTM3MDMyMjIzNTk1OVowYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRp
# Z2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJTQTQw
# OTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
# ADCCAgoCggIBAMaGNQZJs8E9cklRVcclA8TykTepl1Gh1tKD0Z5Mom2gsMyD+Vr2
# EaFEFUJfpIjzaPp985yJC3+dH54PMx9QEwsmc5Zt+FeoAn39Q7SE2hHxc7Gz7iuA
# hIoiGN/r2j3EF3+rGSs+QtxnjupRPfDWVtTnKC3r07G1decfBmWNlCnT2exp39mQ
# h0YAe9tEQYncfGpXevA3eZ9drMvohGS0UvJ2R/dhgxndX7RUCyFobjchu0CsX7Le
# Sn3O9TkSZ+8OpWNs5KbFHc02DVzV5huowWR0QKfAcsW6Th+xtVhNef7Xj3OTrCw5
# 4qVI1vCwMROpVymWJy71h6aPTnYVVSZwmCZ/oBpHIEPjQ2OAe3VuJyWQmDo4EbP2
# 9p7mO1vsgd4iFNmCKseSv6De4z6ic/rnH1pslPJSlRErWHRAKKtzQ87fSqEcazjF
# KfPKqpZzQmiftkaznTqj1QPgv/CiPMpC3BhIfxQ0z9JMq++bPf4OuGQq+nUoJEHt
# Qr8FnGZJUlD0UfM2SU2LINIsVzV5K6jzRWC8I41Y99xh3pP+OcD5sjClTNfpmEpY
# PtMDiP6zj9NeS3YSUZPJjAw7W4oiqMEmCPkUEBIDfV8ju2TjY+Cm4T72wnSyPx4J
# duyrXUZ14mCjWAkBKAAOhFTuzuldyF4wEr1GnrXTdrnSDmuZDNIztM2xAgMBAAGj
# ggFdMIIBWTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS6FtltTYUvcyl2
# mi91jGogj57IbzAfBgNVHSMEGDAWgBTs1+OC0nFdZEzfLmc/57qYrhwPTzAOBgNV
# HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwgwdwYIKwYBBQUHAQEEazBp
# MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQQYIKwYBBQUH
# MAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRS
# b290RzQuY3J0MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0
# LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3JsMCAGA1UdIAQZMBcwCAYGZ4EM
# AQQCMAsGCWCGSAGG/WwHATANBgkqhkiG9w0BAQsFAAOCAgEAfVmOwJO2b5ipRCIB
# fmbW2CFC4bAYLhBNE88wU86/GPvHUF3iSyn7cIoNqilp/GnBzx0H6T5gyNgL5Vxb
# 122H+oQgJTQxZ822EpZvxFBMYh0MCIKoFr2pVs8Vc40BIiXOlWk/R3f7cnQU1/+r
# T4osequFzUNf7WC2qk+RZp4snuCKrOX9jLxkJodskr2dfNBwCnzvqLx1T7pa96kQ
# sl3p/yhUifDVinF2ZdrM8HKjI/rAJ4JErpknG6skHibBt94q6/aesXmZgaNWhqsK
# RcnfxI2g55j7+6adcq/Ex8HBanHZxhOACcS2n82HhyS7T6NJuXdmkfFynOlLAlKn
# N36TU6w7HQhJD5TNOXrd/yVjmScsPT9rp/Fmw0HNT7ZAmyEhQNC3EyTN3B14OuSe
# reU0cZLXJmvkOHOrpgFPvT87eK1MrfvElXvtCl8zOYdBeHo46Zzh3SP9HSjTx/no
# 8Zhf+yvYfvJGnXUsHicsJttvFXseGYs2uJPU5vIXmVnKcPA3v5gA3yAWTyf7YGcW
# oWa63VXAOimGsJigK+2VQbc61RWYMbRiCQ8KvYHZE/6/pNHzV9m8BPqC3jLfBInw
# AM1dwvnQI38AC+R2AibZ8GV2QqYphwlHK+Z/GqSFD/yYlvZVVCsfgPrA8g4r5db7
# qS9EFUrnEw4d2zc4GqEr9u3WfPwxggN2MIIDcgIBATB3MGMxCzAJBgNVBAYTAlVT
# MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1
# c3RlZCBHNCBSU0E0MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAp6SoieyZlC
# kAZjOE2Gl50wDQYJYIZIAWUDBAIBBQCggdEwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3
# DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yMjA1MjMxOTI1MzFaMCsGCyqGSIb3DQEJ
# EAIMMRwwGjAYMBYEFIUI84ZRXLPTB322tLfAfxtKXkHeMC8GCSqGSIb3DQEJBDEi
# BCDhwoJE3Gi77VpQ6xJaa+OxBtXpPqB+js0Hn6J5KN7I6jA3BgsqhkiG9w0BCRAC
# LzEoMCYwJDAiBCCdppAVw0nGwYl4Rbo1gq1wyI+kKTvbar6cK9JTknnmOzANBgkq
# hkiG9w0BAQEFAASCAgBPtKbxyM1V6MJixNafd0b6/VqJNbL70nfI+IQ9PPUK5P1c
# EvkYtkFaxNCALOQDN5iFCk02f8+cx1qvwivFhneDEIeY3Glt+QREKg9pYN4lIr0m
# wCC3XeucyVqyJRq97M40T7PvYZ57InIuSSD33v7jrWYWgYGPtQHOcANniln3ewrl
# HmxLvROdoT6hYvDm3eGtwH9dTwkA6E04xXtdsdzY0+VPECcqnfXQM0+9V/9iPbTA
# A47pzc4qy2FUG5O+A7ExoGj5EESHgx4CWLUP/ilDOO6MXagQQRWM0/gV0j/95buj
# APdgmAMh/Jz9OV7/v57no6c+bAgHUYwRtzYIquXrjs9IEy3ry83VzpB5fMDF7/Wx
# un6CrBlFb/q0MI9r9zJKSP2J2eqcbCZjYi79sRksheGUestFXAm8qmoqQVQtdpTr
# EKvmggi2pAZuvqjGdaKjl34ROZKlv8atCBsymJ4DQJm6rJ8lKO+zA+uMk8ksJGuZ
# foR07Www1+kwR0gkZNkF1t4vFGNqcQRd29CUlJYZNsaPyjv03hSZd4wCSDZaKOVQ
# TJG52faEsnSdB/okQQ6VAJ6WVEvqstVO51QMiTDjqkx6ZthqlRKeJsUJ2b0bmf1d
# XiH+pPnLIWunBn3g6llL8ydbvOwYr+UUzOfJbD3NTmHgNFmlwUi/LYmaw2zIsw==
# SIG # End signature block