Fsutil.psm1

# Module created by Microsoft.PowerShell.Crescendo
# Version: 1.1
# Schema: https://aka.ms/PowerShell/Crescendo/Schemas/2022-06
# Generated at: 04/10/2026 01:35:00
class CrescendoNativeError : System.Exception {
    [string]$Command
    [System.Exception]$InnerException
    [int]$ExitCode
    CrescendoNativeError([string]$command, [int]$exitCode, [System.Exception]$exception) : base($exception.Message) {
        $this.Command = $command
        $this.ExitCode = $exitCode
        $this.InnerException = $exception
    }
}

# Returns available errors
# Assumes that we are being called from within a script cmdlet when EmitAsError is used.
function Push-CrescendoNativeError {
param([Parameter(ValueFromPipeline)]$obj)
    BEGIN { }
    PROCESS {
        if ($obj -is [System.Management.Automation.ErrorRecord]) {
            $__CrescendoNativeErrorQueue.Enqueue($obj.Exception.Message)
        }
        else {
            $obj
        }
    }
    END { }
}

function Pop-CrescendoNativeError {
param ([switch]$EmitAsError)
    while ($__CrescendoNativeErrorQueue.Count -gt 0) {
        if ($EmitAsError) {
            $msg = $__CrescendoNativeErrorQueue.Dequeue()
            $er = [System.Management.Automation.ErrorRecord]::new([system.invalidoperationexception]::new($msg), $PSCmdlet.Name, 'InvalidOperation', $msg)
            $PSCmdlet.WriteError($er)
        }
        else {
            $__CrescendoNativeErrorQueue.Dequeue()
        }
    }
}
# Utility to throw an error if the native command returned a non-zero exit code.
function Invoke-CrescendoNativeErrorHandler {
param (
    [string]$command,
    [int]$exitCode
    )
    if ($exitCode -ne 0 -and $__CrescendoNativeErrorQueue.Count -gt 0) {
        $errorMessage = $__CrescendoNativeErrorQueue.Dequeue()
        $exception = [CrescendoNativeError]::new($command, $exitCode, [System.Exception]::new($errorMessage))
        $errorRecord = [System.Management.Automation.ErrorRecord]::new($exception, $command, 'InvalidOperation', $command)
        $PSCmdlet.ThrowTerminatingError($errorRecord)
    }
}

function Get-FsutilObjectId
{
[CmdletBinding()]

param(
[Parameter(Mandatory=$true,Position=0)]
[string]$Path
    )

BEGIN {
    $PSNativeCommandUseErrorActionPreference = $true
    $__CrescendoNativeErrorQueue = [System.Collections.Queue]::new()
    $__PARAMETERMAP = @{
        Path = @{
            OriginalName = ''
            OriginalPosition = '0'
            Position = '2147483647'
            ParameterType = 'string'
            ApplyToExecutable = $False
            NoGap = $False
            ArgumentTransform = '$args'
            ArgumentTransformType = 'inline'
            }
    }

    $__outputHandlers = @{
        Default = @{ StreamOutput = $True; Handler = { $input } }
    }
}

PROCESS {
    $__boundParameters = $PSBoundParameters
    $__defaultValueParameters = $PSCmdlet.MyInvocation.MyCommand.Parameters.Values.Where({$_.Attributes.Where({$_.TypeId.Name -eq "PSDefaultValueAttribute"})}).Name
    $__defaultValueParameters.Where({ !$__boundParameters.ContainsKey($_) }).ForEach({$__boundParameters[$_] = get-variable -value $_})
    $__commandArgs = @()
    $MyInvocation.MyCommand.Parameters.Values.Where({$_.SwitchParameter -and $_.Name -notmatch "Debug|Coverage|Verbose|ErrorAction|WarningAction|InformationAction|ErrorVariable|WarningVariable|InformationVariable|OutVariable|OutBuffer|PipelineVariable"}).ForEach({$__boundParameters[$_.Name] = if ($__boundParameters.ContainsKey($_.Name)) { [bool]$__boundParameters[$_.Name] } else { [switch]::new($false) } })
    if ($__boundParameters["Debug"]){wait-debugger}
    foreach ($paramName in $__boundParameters.Keys |
            Where-Object {!$__PARAMETERMAP[$_].ApplyToExecutable} |
            Where-Object {!$__PARAMETERMAP[$_].ExcludeAsArgument}  |
            Sort-Object {$__PARAMETERMAP[$_].OriginalPosition}
        ) {
        $value = $__boundParameters[$paramName]
        $param = $__PARAMETERMAP[$paramName]
        if ($param) {
            if ($value -is [switch]) {
                 if ($value.IsPresent) {
                     if ($param.OriginalName) { $__commandArgs += $param.OriginalName }
                 }
                 elseif ($param.DefaultMissingValue) { $__commandArgs += $param.DefaultMissingValue }
            }
            elseif ( $param.NoGap ) {
                # if a transform is specified, use it and target the value provided
                if($param.ArgumentTransform -ne '$args') {
                    $transform = $param.ArgumentTransform
                    if($param.ArgumentTransformType -eq 'inline') {
                        $__commandArgs += & {param($args) $transform } $value
                    }
                    else {
                        $__commandArgs += & $transform $value
                    }
                }
                else {
                    $pFmt = "{0}{1}"
                    # quote the strings if they have spaces
                    if($value -match "\s") { $pFmt = "{0}""{1}""" }
                    $__commandArgs += $pFmt -f $param.OriginalName, $value
                }
            }
            else {
                if($param.OriginalName) { $__commandArgs += $param.OriginalName }
                if($param.ArgumentTransformType -eq 'inline') {
                   $transform = $param.ArgumentTransform
                   if ( $transform -ne '$args' ) {
                       $__commandArgs += & {param($args) $transform } $value
                   }
                   else {
                       $__commandArgs += $value
                   }
                }
                else {
                    $__commandArgs += & $param.ArgumentTransform $value
                }
            }
        }
    }
    $__commandArgs = $__commandArgs | Where-Object {$_ -ne $null}
    if ($__boundParameters["Debug"]){wait-debugger}
    if ( $__boundParameters["Verbose"]) {
         Write-Verbose -Verbose -Message "fsutil.exe"
         $__commandArgs | Write-Verbose -Verbose
    }
    $__handlerInfo = $__outputHandlers[$PSCmdlet.ParameterSetName]
    if (! $__handlerInfo ) {
        $__handlerInfo = $__outputHandlers["Default"] # Guaranteed to be present
    }
    $__handler = $__handlerInfo.Handler
    if ( $__handlerInfo.StreamOutput ) {
        & "fsutil.exe" objectid query $__commandArgs 2>&1| Push-CrescendoNativeError | & $__handler
    }
    else {
        $result = & "fsutil.exe" objectid query $__commandArgs 2>&1| Push-CrescendoNativeError
        & $__handler $result
    }
    # Pop-CrescendoNativeError -EmitAsError
} # end PROCESS

<#
.SYNOPSIS
Query the NTFS Object ID of a file using fsutil objectid query.
 
.DESCRIPTION
Query the NTFS Object ID of a file using fsutil objectid query.
 
.PARAMETER Path
Path to the file to query.
 
 
.EXAMPLE
PS> Get-FsutilObjectId
 
Original Command Elements: objectid,query
 
 
#>

}


function New-FsutilObjectId
{
[CmdletBinding()]

param(
[Parameter(Mandatory=$true,Position=0)]
[string]$Path
    )

BEGIN {
    $PSNativeCommandUseErrorActionPreference = $true
    $__CrescendoNativeErrorQueue = [System.Collections.Queue]::new()
    $__PARAMETERMAP = @{
        Path = @{
            OriginalName = ''
            OriginalPosition = '0'
            Position = '2147483647'
            ParameterType = 'string'
            ApplyToExecutable = $False
            NoGap = $False
            ArgumentTransform = '$args'
            ArgumentTransformType = 'inline'
            }
    }

    $__outputHandlers = @{
        Default = @{ StreamOutput = $True; Handler = { $input } }
    }
}

PROCESS {
    $__boundParameters = $PSBoundParameters
    $__defaultValueParameters = $PSCmdlet.MyInvocation.MyCommand.Parameters.Values.Where({$_.Attributes.Where({$_.TypeId.Name -eq "PSDefaultValueAttribute"})}).Name
    $__defaultValueParameters.Where({ !$__boundParameters.ContainsKey($_) }).ForEach({$__boundParameters[$_] = get-variable -value $_})
    $__commandArgs = @()
    $MyInvocation.MyCommand.Parameters.Values.Where({$_.SwitchParameter -and $_.Name -notmatch "Debug|Coverage|Verbose|ErrorAction|WarningAction|InformationAction|ErrorVariable|WarningVariable|InformationVariable|OutVariable|OutBuffer|PipelineVariable"}).ForEach({$__boundParameters[$_.Name] = if ($__boundParameters.ContainsKey($_.Name)) { [bool]$__boundParameters[$_.Name] } else { [switch]::new($false) } })
    if ($__boundParameters["Debug"]){wait-debugger}
    foreach ($paramName in $__boundParameters.Keys |
            Where-Object {!$__PARAMETERMAP[$_].ApplyToExecutable} |
            Where-Object {!$__PARAMETERMAP[$_].ExcludeAsArgument}  |
            Sort-Object {$__PARAMETERMAP[$_].OriginalPosition}
        ) {
        $value = $__boundParameters[$paramName]
        $param = $__PARAMETERMAP[$paramName]
        if ($param) {
            if ($value -is [switch]) {
                 if ($value.IsPresent) {
                     if ($param.OriginalName) { $__commandArgs += $param.OriginalName }
                 }
                 elseif ($param.DefaultMissingValue) { $__commandArgs += $param.DefaultMissingValue }
            }
            elseif ( $param.NoGap ) {
                # if a transform is specified, use it and target the value provided
                if($param.ArgumentTransform -ne '$args') {
                    $transform = $param.ArgumentTransform
                    if($param.ArgumentTransformType -eq 'inline') {
                        $__commandArgs += & {param($args) $transform } $value
                    }
                    else {
                        $__commandArgs += & $transform $value
                    }
                }
                else {
                    $pFmt = "{0}{1}"
                    # quote the strings if they have spaces
                    if($value -match "\s") { $pFmt = "{0}""{1}""" }
                    $__commandArgs += $pFmt -f $param.OriginalName, $value
                }
            }
            else {
                if($param.OriginalName) { $__commandArgs += $param.OriginalName }
                if($param.ArgumentTransformType -eq 'inline') {
                   $transform = $param.ArgumentTransform
                   if ( $transform -ne '$args' ) {
                       $__commandArgs += & {param($args) $transform } $value
                   }
                   else {
                       $__commandArgs += $value
                   }
                }
                else {
                    $__commandArgs += & $param.ArgumentTransform $value
                }
            }
        }
    }
    $__commandArgs = $__commandArgs | Where-Object {$_ -ne $null}
    if ($__boundParameters["Debug"]){wait-debugger}
    if ( $__boundParameters["Verbose"]) {
         Write-Verbose -Verbose -Message "fsutil.exe"
         $__commandArgs | Write-Verbose -Verbose
    }
    $__handlerInfo = $__outputHandlers[$PSCmdlet.ParameterSetName]
    if (! $__handlerInfo ) {
        $__handlerInfo = $__outputHandlers["Default"] # Guaranteed to be present
    }
    $__handler = $__handlerInfo.Handler
    if ( $__handlerInfo.StreamOutput ) {
        & "fsutil.exe" objectid create $__commandArgs 2>&1| Push-CrescendoNativeError | & $__handler
    }
    else {
        $result = & "fsutil.exe" objectid create $__commandArgs 2>&1| Push-CrescendoNativeError
        & $__handler $result
    }
    # Pop-CrescendoNativeError -EmitAsError
} # end PROCESS

<#
.SYNOPSIS
Create an NTFS Object ID on a file using fsutil objectid create.
 
.DESCRIPTION
Create an NTFS Object ID on a file using fsutil objectid create.
 
.PARAMETER Path
Path to the file.
 
 
.EXAMPLE
PS> New-FsutilObjectId
 
Original Command Elements: objectid,create
 
 
#>

}

Export-ModuleMember -Function Get-FsutilObjectId,New-FsutilObjectId

# SIG # Begin signature block
# MII2sgYJKoZIhvcNAQcCoII2ozCCNp8CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCD+Q8T3rwttlFT4
# j/yA4VIP79hOdG6ztm0wvrTUZLftwqCCG0YwggXMMIIDtKADAgECAhBUmNLR1FsZ
# lUgTecgRwIeZMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVu
# dGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAy
# MDAeFw0yMDA0MTYxODM2MTZaFw00NTA0MTYxODQ0NDBaMHcxCzAJBgNVBAYTAlVT
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jv
# c29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo
# b3JpdHkgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALORKgeD
# Bmf9np3gx8C3pOZCBH8Ppttf+9Va10Wg+3cL8IDzpm1aTXlT2KCGhFdFIMeiVPvH
# or+Kx24186IVxC9O40qFlkkN/76Z2BT2vCcH7kKbK/ULkgbk/WkTZaiRcvKYhOuD
# PQ7k13ESSCHLDe32R0m3m/nJxxe2hE//uKya13NnSYXjhr03QNAlhtTetcJtYmrV
# qXi8LW9J+eVsFBT9FMfTZRY33stuvF4pjf1imxUs1gXmuYkyM6Nix9fWUmcIxC70
# ViueC4fM7Ke0pqrrBc0ZV6U6CwQnHJFnni1iLS8evtrAIMsEGcoz+4m+mOJyoHI1
# vnnhnINv5G0Xb5DzPQCGdTiO0OBJmrvb0/gwytVXiGhNctO/bX9x2P29Da6SZEi3
# W295JrXNm5UhhNHvDzI9e1eM80UHTHzgXhgONXaLbZ7LNnSrBfjgc10yVpRnlyUK
# xjU9lJfnwUSLgP3B+PR0GeUw9gb7IVc+BhyLaxWGJ0l7gpPKWeh1R+g/OPTHU3mg
# trTiXFHvvV84wRPmeAyVWi7FQFkozA8kwOy6CXcjmTimthzax7ogttc32H83rwjj
# O3HbbnMbfZlysOSGM1l0tRYAe1BtxoYT2v3EOYI9JACaYNq6lMAFUSw0rFCZE4e7
# swWAsk0wAly4JoNdtGNz764jlU9gKL431VulAgMBAAGjVDBSMA4GA1UdDwEB/wQE
# AwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIftJqhSobyhmYBAcnz1AQ
# T2ioojAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQwFAAOCAgEAr2rd5hnn
# LZRDGU7L6VCVZKUDkQKL4jaAOxWiUsIWGbZqWl10QzD0m/9gdAmxIR6QFm3FJI9c
# Zohj9E/MffISTEAQiwGf2qnIrvKVG8+dBetJPnSgaFvlVixlHIJ+U9pW2UYXeZJF
# xBA2CFIpF8svpvJ+1Gkkih6PsHMNzBxKq7Kq7aeRYwFkIqgyuH4yKLNncy2RtNwx
# AQv3Rwqm8ddK7VZgxCwIo3tAsLx0J1KH1r6I3TeKiW5niB31yV2g/rarOoDXGpc8
# FzYiQR6sTdWD5jw4vU8w6VSp07YEwzJ2YbuwGMUrGLPAgNW3lbBeUU0i/OxYqujY
# lLSlLu2S3ucYfCFX3VVj979tzR/SpncocMfiWzpbCNJbTsgAlrPhgzavhgplXHT2
# 6ux6anSg8Evu75SjrFDyh+3XOjCDyft9V77l4/hByuVkrrOj7FjshZrM77nq81YY
# uVxzmq/FdxeDWds3GhhyVKVB0rYjdaNDmuV3fJZ5t0GNv+zcgKCf0Xd1WF81E+Al
# GmcLfc4l+gcK5GEh2NQc5QfGNpn0ltDGFf5Ozdeui53bFv0ExpK91IjmqaOqu/dk
# ODtfzAzQNb50GQOmxapMomE2gj4d8yu8l13bS3g7LfU772Aj6PXsCyM2la+YZr9T
# 03u4aUoqlmZpxJTG9F9urJh4iIAGXKKy7aIwggakMIIEjKADAgECAhMzAAAGhhEw
# WFLCNE3LAAAAAAaGMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ
# RCBWZXJpZmllZCBDUyBBT0MgQ0EgMDMwHhcNMjYwNDA5MjIxNjE4WhcNMjYwNDEy
# MjIxNjE4WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMIVmlyZ2luaWExFzAVBgNV
# BAcTDlZpcmdpbmlhIEJlYWNoMRQwEgYDVQQKEwtTZXRoIE1JbGxlcjEUMBIGA1UE
# AxMLU2V0aCBNSWxsZXIwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCu
# MYqOG9pjR9pkTu9an/gbNYg6kqNGm2C3z3A7o/FqIaBvMCfSJLsUVf306/a0hBG8
# alqT90KNEOGhTOd6oUW94k+Oxlw3WS9bpMCOrPWeoioJOZO/8KD4bQhvskKXnyy+
# R8Me4Z51cf1FEu85r/smmfFtcZmJbap1lAQQ6EJSnR33bLqNkpaFUtj1VHdR2R+L
# jtsW71pQuR5aypzbP08+bMELCKH1LkfDl5Hqs5lDlqF0bL7I/iIokiDi5UI0Sfyv
# gZBtap1IvPX0kDdFXt7BSW0C0AoVT3PjVaOuNPrTQuVk+4rAktwST1HJB/665M6D
# YSqBHInMhRAz9bFu0o5IBVOWHe+L8oDdgWHyh9CuirZ3570cjyHO3Twfg6lBQA/F
# RnD9P9NRphNOVl0x2g3agT4eFRyW+jPECMJ1q7sAphjLKu/zU8WTktPzwfT/42D5
# WC4I9UBlScIFUYJwVzxk9pmqKMZQ/2mCRKJoSLasPXlRXeSb1fpE67P/K4oqJfEC
# AwEAAaOCAdYwggHSMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMD0GA1Ud
# JQQ2MDQGCisGAQQBgjdhAQAGCCsGAQUFBwMDBhwrBgEEAYI3YYHR5Y4pgv7dj0iB
# laOJIoHu469rMB0GA1UdDgQWBBQbTK1jbcqiB0Iw6oONE0SCA8HxHDAfBgNVHSME
# GDAWgBSkQwx/dlqlhec+jSgPDBeiRWlwxjBnBgNVHR8EYDBeMFygWqBYhlZodHRw
# Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBJRCUy
# MFZlcmlmaWVkJTIwQ1MlMjBBT0MlMjBDQSUyMDAzLmNybDB0BggrBgEFBQcBAQRo
# MGYwZAYIKwYBBQUHMAKGWGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMv
# Y2VydHMvTWljcm9zb2Z0JTIwSUQlMjBWZXJpZmllZCUyMENTJTIwQU9DJTIwQ0El
# MjAwMy5jcnQwVAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAN
# BgkqhkiG9w0BAQwFAAOCAgEAkQtaB8tQ+ym2wpA76x7ztryQ53IGEQzB+NBsFWAe
# Ql8rfiP3/B/h+Xe9Taw+s4Km1NncWxK6V4hrup1dS8VaBlDmvQuk3RJR21vK8uPF
# 590yycl2JwVnMnQaA38LyEld29NsY6VHtChD4jNRPN+F0887O6oaQQtM82uCLBJO
# kEgITCB3Bk7nAB++qxoctsz5ABCFWJGE/Cg+BjicnVQ5iflE506MA9+0aUizl9JL
# iYIUS0SbFFFDQO835+0K+iCj68LuPp7KkbcGXVTio/QoxGlPicxMOMvRBh+NSyk9
# iaS+ctUJqcB4Z4Tu6KB1m/ExJay8Kec7oWPlEpNKBbxTftsgXOmt8foTMegoLN91
# DXye3Q8t7+EIFyckUfKw86E8XLKiV66H7fiqI03pCshv/52eGJ0l9077wYqfWVKD
# 7aW+HaigfIHhyq5wz+748VWFXM4EL8w3v2jp2WeD5DvPIGziMo2LwDiMkrlfi9Cb
# MQo3eHiFyp5Q0+SoWuGE5H3gkW30r9U2EhUveykL9DXAm8Q413B3jhsgW+oMEMqT
# Z8vsTn9p2I8RpTMeykMGKUToirbOt7NkzkVnQZxXk8zwT9i3W7NRutRIyR8GU9/T
# 3FLCPDvyuNnYzDKLtsPP4ph/OKSQPzRqGNd0Vq0NBNEp2FL4E89CnvHVO3/XxxxY
# V+YwggcoMIIFEKADAgECAhMzAAAAGA3rkVWpigCYAAAAAAAYMA0GCSqGSIb3DQEB
# DAUAMGMxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xNDAyBgNVBAMTK01pY3Jvc29mdCBJRCBWZXJpZmllZCBDb2RlIFNpZ25pbmcg
# UENBIDIwMjEwHhcNMjYwMzI2MTgxMTMyWhcNMzEwMzI2MTgxMTMyWjBaMQswCQYD
# VQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYDVQQD
# EyJNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ1MgQU9DIENBIDAzMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAyIDaYDRWoon9lVnlj+SOj5xV8Sf5Qd+3yUee
# Rgr0exi2QTJAYo24ilcIKQSN8TOZ3+POM5x/6p3Cfjgqust44J0FvkfGXe1Puy45
# a5nLJGpc0kNIITMRKZwVvPxx7NlfGSc0JOhz/kg7G77C+y3ZR/3jtpeJpJ4QwcK9
# Gf0Peuk7xLYeW/JAsY9b6oleGDbYSxkamUfbtnyv8gTFrvN6ejuLqNhHYPvoBHsO
# SC+7555yhapkof0fbzyct1hdWHGXsAFMfLF2TVJ8d2YVYOfZdi6YrT4sMxOhTKiL
# KmhL1XtzM7hXdmv7lg2R+lWw8lIkSu/JiINQ0GAPcwxMsgRXDSPp8VUs4Jby+ruz
# 0bjaoHFd7H+hC8cPPcrEDP2eEdYURVl0acjliigCrXwR05NFJzYj3MZizDGLPI3l
# IzonX1T40yK8v1FcJ8MXZZCvOXGXwRDGGfwwTTsHaJj+OfWNZ/IsypG4bGvqeJcP
# nEFcQEwRcfYIEe/R4a8k+xw5qTy75CbwWeMFuAlt9lE9kjMg3tvJyDlN5voXx5VX
# inCwUHMpuVaEQ4yHAlSO7qoBltjzTBNHH3ovMwsAsuhwrLLCVhUu3oP2GxYZwEyX
# MlnzK5DbgGzHzDfDaYPHK0uo1VaMMg9Bhuc3YIvrkFXEiv+t/JgNcRGCt6ZyKEID
# tPbrgwcCAwEAAaOCAdwwggHYMA4GA1UdDwEB/wQEAwIBhjAQBgkrBgEEAYI3FQEE
# AwIBADAdBgNVHQ4EFgQUpEMMf3ZapYXnPo0oDwwXokVpcMYwVAYDVR0gBE0wSzBJ
# BgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
# a2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi
# AEMAQTASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFNlBKbAPD2Ns72nX
# 9c0pnqRIajDmMHAGA1UdHwRpMGcwZaBjoGGGX2h0dHA6Ly93d3cubWljcm9zb2Z0
# LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMElEJTIwVmVyaWZpZWQlMjBDb2Rl
# JTIwU2lnbmluZyUyMFBDQSUyMDIwMjEuY3JsMH0GCCsGAQUFBwEBBHEwbzBtBggr
# BgEFBQcwAoZhaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9N
# aWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ29kZSUyMFNpZ25pbmclMjBQQ0El
# MjAyMDIxLmNydDANBgkqhkiG9w0BAQwFAAOCAgEAcccgVvl+poXUYksA/TzDFnBl
# AJ8ef0FMJzb2XRRhF/uA0QyK/VgoeAvO8B7cPpYNQ97sytdA7LT19CxSwRQAt71j
# GF+CJl8KC4aEdMZTfJlHaKyd24J6QiVriNed9WdawsD7lK0pAcXziBg5N6dhAm9x
# 6P8R4uT0UkfzlK1rkB8F4mlzE7l7tyES3s8FZGaRZjcGEQ+e0fTcdhf8jO7czmNB
# 4dIRgmmBCt/P+ha0tEl2nV1sg1An5+VzhgAkY1Apx8fiUFBtH+Ehw/om5aQCNIJf
# mR51ZnV18R02Xk2tAmAiIRcSj9vdtrNIOsy5nolddy1lJrbf1Be061l6TItv9FDZ
# 4mg6B+65zxkVecVV/Ll8uLGYouGrMM6jzO2O/ps3K2p6mfBI2ZOYIy4UNwNrGWqa
# 5TrvAmkZsn3CIlR+81X4AL5vNTFlxc4gH+5su0Dr58hBTxnXavDEnz7X0csP1Kt7
# h+iqaGiTSHz2B+n3HmUoud0WrdQPYKxMat0To4YUqU3HIbgSLQDDVT8aCjW1Jvok
# f1915C/vVkIIp48h3voVy3JWPLwBlxQ9aeND6jCKQGLJhCQRSlvXX+P/9TeaEA6/
# xWPSASZf6Ekve/Yua7U+zWc/Sr2K2gj0QRrNEAsvrFr4EGtHKDO9ECVS3lcJksVD
# v9KHdMPUK8u20i68RqAwggeeMIIFhqADAgECAhMzAAAAB4ejNKN7pY4cAAAAAAAH
# MA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3Nv
# ZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVudGl0eSBWZXJp
# ZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAyMDAeFw0yMTA0
# MDEyMDA1MjBaFw0zNjA0MDEyMDE1MjBaMGMxCzAJBgNVBAYTAlVTMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xNDAyBgNVBAMTK01pY3Jvc29mdCBJRCBW
# ZXJpZmllZCBDb2RlIFNpZ25pbmcgUENBIDIwMjEwggIiMA0GCSqGSIb3DQEBAQUA
# A4ICDwAwggIKAoICAQCy8MCvGYgo4t1UekxJbGkIVQm0Uv96SvjB6yUo92cXdylN
# 65Xy96q2YpWCiTas7QPTkGnK9QMKDXB2ygS27EAIQZyAd+M8X+dmw6SDtzSZXyGk
# xP8a8Hi6EO9Zcwh5A+wOALNQbNO+iLvpgOnEM7GGB/wm5dYnMEOguua1OFfTUITV
# MIK8faxkP/4fPdEPCXYyy8NJ1fmskNhW5HduNqPZB/NkWbB9xxMqowAeWvPgHtpz
# yD3PLGVOmRO4ka0WcsEZqyg6efk3JiV/TEX39uNVGjgbODZhzspHvKFNU2K5MYfm
# Hh4H1qObU4JKEjKGsqqA6RziybPqhvE74fEp4n1tiY9/ootdU0vPxRp4BGjQFq28
# nzawuvaCqUUF2PWxh+o5/TRCb/cHhcYU8Mr8fTiS15kRmwFFzdVPZ3+JV3s5MulI
# f3II5FXeghlAH9CvicPhhP+VaSFW3Da/azROdEm5sv+EUwhBrzqtxoYyE2wmuHKw
# s00x4GGIx7NTWznOm6x/niqVi7a/mxnnMvQq8EMse0vwX2CfqM7Le/smbRtsEeOt
# bnJBbtLfoAsC3TdAOnBbUkbUfG78VRclsE7YDDBUbgWt75lDk53yi7C3n0WkHFU4
# EZ83i83abd9nHWCqfnYa9qIHPqjOiuAgSOf4+FRcguEBXlD9mAInS7b6V0UaNwID
# AQABo4ICNTCCAjEwDgYDVR0PAQH/BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0G
# A1UdDgQWBBTZQSmwDw9jbO9p1/XNKZ6kSGow5jBUBgNVHSAETTBLMEkGBFUdIAAw
# QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E
# b2NzL1JlcG9zaXRvcnkuaHRtMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8G
# A1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUyH7SaoUqG8oZmAQHJ89QEE9oqKIw
# gYQGA1UdHwR9MHsweaB3oHWGc2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv
# cHMvY3JsL01pY3Jvc29mdCUyMElkZW50aXR5JTIwVmVyaWZpY2F0aW9uJTIwUm9v
# dCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAyMC5jcmwwgcMGCCsGAQUF
# BwEBBIG2MIGzMIGBBggrBgEFBQcwAoZ1aHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlv
# biUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3J0MC0G
# CCsGAQUFBzABhiFodHRwOi8vb25lb2NzcC5taWNyb3NvZnQuY29tL29jc3AwDQYJ
# KoZIhvcNAQEMBQADggIBAH8lKp7+1Kvq3WYK21cjTLpebJDjW4ZbOX3HD5ZiG84v
# jsFXT0OB+eb+1TiJ55ns0BHluC6itMI2vnwc5wDW1ywdCq3TAmx0KWy7xulAP179
# qX6VSBNQkRXzReFyjvF2BGt6FvKFR/imR4CEESMAG8hSkPYso+GjlngM8JPn/ROU
# rTaeU/BRu/1RFESFVgK2wMz7fU4VTd8NXwGZBe/mFPZG6tWwkdmA/jLbp0kNUX7e
# lxu2+HtHo0QO5gdiKF+YTYd1BGrmNG8sTURvn09jAhIUJfYNotn7OlThtfQjXqe0
# qrimgY4Vpoq2MgDW9ESUi1o4pzC1zTgIGtdJ/IvY6nqa80jFOTg5qzAiRNdsUvzV
# koYP7bi4wLCj+ks2GftUct+fGUxXMdBUv5sdr0qFPLPB0b8vq516slCfRwaktAxK
# 1S40MCvFbbAXXpAZnU20FaAoDwqq/jwzwd8Wo2J83r7O3onQbDO9TyDStgaBNlHz
# MMQgl95nHBYMelLEHkUnVVVTUsgC0Huj09duNfMaJ9ogxhPNThgq3i8w3DAGZ61A
# MeF0C1M+mU5eucj1Ijod5O2MMPeJQ3/vKBtqGZg4eTtUHt/BPjN74SsJsyHqAdXV
# S5c+ItyKWg3Eforhox9k3WgtWTpgV4gkSiS4+A09roSdOI4vrRw+p+fL4WrxSK5n
# MYIawjCCGr4CAQEwcTBaMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSswKQYDVQQDEyJNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ1Mg
# QU9DIENBIDAzAhMzAAAGhhEwWFLCNE3LAAAAAAaGMA0GCWCGSAFlAwQCAQUAoIGQ
# MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgor
# BgEEAYI3AgEVMCQGCisGAQQBgjcCAQwxFjAUoA6ADABTAEgAQQAyADUANqECgAAw
# LwYJKoZIhvcNAQkEMSIEICHrtV/Hji4a2zYTTQxn+esfJ7KYwqpDdBS+pDx1CrGE
# MA0GCSqGSIb3DQEBAQUABIIBgFumWUTBontygYif5znzVCRPFFeaXl7vHkIkBlq+
# AqTq6PHwzLjvh0FTVt5DC7e94XTyzG5O1mbU4qRoHXGC1hAAHnuXaYZFIAFOFrSW
# Ga+EsfxbU3TBrJJkOhMgPY+g2y5zEiKTGuiswTW0Ej7ASdRyEchBuJN2UwkR+C0n
# NDwHSF6ljr024UutVPPmXZeuwMMkwLIRKn76lj/S6ZdJm5sUJtLq0oYCClmFTAOF
# SvviZcnrIzF91EGE5sFzFCX6AMItvqmAJSxeFlE5Is2hc7SZ1oJs5cVxsLktgmyd
# 7lqNauAj8KgUSOsfh8ibbEa2AlYVBpiWYqIZ7KcjpTEsPH7FkPM6VmlZaWXhHsyV
# Q15xkB8yz9DNUEocuhqs5JURBTvSzthVIOi7MRn+q6Fa2rNa6I8rIbmF3fM4iys7
# QDAL9LKfAqAXpvqfslBH6t1AmlPK6wjrrg0O4wBZG7Jy/iRAChTqOHYEyOC9Jm/a
# nIsFtVRCHHl1JBXcGo+ZT1EmFqGCGA8wghgLBgorBgEEAYI3AwMBMYIX+zCCF/cG
# CSqGSIb3DQEHAqCCF+gwghfkAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFgBgsqhkiG
# 9w0BCRABBKCCAU8EggFLMIIBRwIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQC
# AQUABCAktgBqnm/waFBxjuPhqOh5vJSDL+sGy5bHTwHQz0nHkQIGacJy0ePDGBEy
# MDI2MDQxMDA4MzYwOC4xWjAEgAIB9KCB4aSB3jCB2zELMAkGA1UEBhMCVVMxEzAR
# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2Eg
# T3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjdEMDAtMDVFMC1E
# OTQ3MTUwMwYDVQQDEyxNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1lIFN0YW1waW5n
# IEF1dGhvcml0eaCCDyEwggeCMIIFaqADAgECAhMzAAAABeXPD/9mLsmHAAAAAAAF
# MA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3Nv
# ZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVudGl0eSBWZXJp
# ZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAyMDAeFw0yMDEx
# MTkyMDMyMzFaFw0zNTExMTkyMDQyMzFaMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJs
# aWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwMIICIjANBgkqhkiG9w0BAQEFAAOC
# Ag8AMIICCgKCAgEAnnznUmP94MWfBX1jtQYioxwe1+eXM9ETBb1lRkd3kcFdcG9/
# sqtDlwxKoVIcaqDb+omFio5DHC4RBcbyQHjXCwMk/l3TOYtgoBjxnG/eViS4sOx8
# y4gSq8Zg49REAf5huXhIkQRKe3Qxs8Sgp02KHAznEa/Ssah8nWo5hJM1xznkRsFP
# u6rfDHeZeG1Wa1wISvlkpOQooTULFm809Z0ZYlQ8Lp7i5F9YciFlyAKwn6yjN/kR
# 4fkquUWfGmMopNq/B8U/pdoZkZZQbxNlqJOiBGgCWpx69uKqKhTPVi3gVErnc/qi
# +dR8A2MiAz0kN0nh7SqINGbmw5OIRC0EsZ31WF3Uxp3GgZwetEKxLms73KG/Z+Mk
# euaVDQQheangOEMGJ4pQZH55ngI0Tdy1bi69INBV5Kn2HVJo9XxRYR/JPGAaM6xG
# l57Ei95HUw9NV/uC3yFjrhc087qLJQawSC3xzY/EXzsT4I7sDbxOmM2rl4uKK6eE
# purRduOQ2hTkmG1hSuWYBunFGNv21Kt4N20AKmbeuSnGnsBCd2cjRKG79+TX+sTe
# hawOoxfeOO/jR7wo3liwkGdzPJYHgnJ54UxbckF914AqHOiEV7xTnD1a69w/UTxw
# jEugpIPMIIE67SFZ2PMo27xjlLAHWW3l1CEAFjLNHd3EQ79PUr8FUXetXr0CAwEA
# AaOCAhswggIXMA4GA1UdDwEB/wQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADAdBgNV
# HQ4EFgQUa2koOjUvSGNAz3vYr0npPtk92yEwVAYDVR0gBE0wSzBJBgRVHSAAMEEw
# PwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9j
# cy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3
# FAIEDB4KAFMAdQBiAEMAQTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFMh+
# 0mqFKhvKGZgEByfPUBBPaKiiMIGEBgNVHR8EfTB7MHmgd6B1hnNodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBJZGVudGl0eSUy
# MFZlcmlmaWNhdGlvbiUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUy
# MDIwMjAuY3JsMIGUBggrBgEFBQcBAQSBhzCBhDCBgQYIKwYBBQUHMAKGdWh0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSWRl
# bnRpdHklMjBWZXJpZmljYXRpb24lMjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRo
# b3JpdHklMjAyMDIwLmNydDANBgkqhkiG9w0BAQwFAAOCAgEAX4h2x35ttVoVdedM
# eGj6TuHYRJklFaW4sTQ5r+k77iB79cSLNe+GzRjv4pVjJviceW6AF6ycWoEYR0LY
# haa0ozJLU5Yi+LCmcrdovkl53DNt4EXs87KDogYb9eGEndSpZ5ZM74LNvVzY0/nP
# ISHz0Xva71QjD4h+8z2XMOZzY7YQ0Psw+etyNZ1CesufU211rLslLKsO8F2aBs2c
# Io1k+aHOhrw9xw6JCWONNboZ497mwYW5EfN0W3zL5s3ad4Xtm7yFM7Ujrhc0aqy3
# xL7D5FR2J7x9cLWMq7eb0oYioXhqV2tgFqbKHeDick+P8tHYIFovIP7YG4ZkJWag
# 1H91KlELGWi3SLv10o4KGag42pswjybTi4toQcC/irAodDW8HNtX+cbz0sMptFJK
# +KObAnDFHEsukxD+7jFfEV9Hh/+CSxKRsmnuiovCWIOb+H7DRon9TlxydiFhvu88
# o0w35JkNbJxTk4MhF/KgaXn0GxdH8elEa2Imq45gaa8D+mTm8LWVydt4ytxYP/bq
# jN49D9NZ81coE6aQWm88TwIf4R4YZbOpMKN0CyejaPNN41LGXHeCUMYmBx3PkP8A
# DHD1J2Cr/6tjuOOCztfp+o9Nc+ZoIAkpUcA/X2gSMkgHAPUvIdtoSAHEUKiBhI6J
# QivRepyvWcl+JYbYbBh7pmgAXVswggeXMIIFf6ADAgECAhMzAAAAVdndaSYo+fji
# AAAAAABVMA0GCSqGSIb3DQEBDAUAMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMg
# UlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwMB4XDTI1MTAyMzIwNDY0OVoXDTI2MTAy
# MjIwNDY0OVowgdsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# JTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsT
# Hm5TaGllbGQgVFNTIEVTTjo3RDAwLTA1RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9z
# b2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHkwggIiMA0GCSqG
# SIb3DQEBAQUAA4ICDwAwggIKAoICAQC9uR+SHllIs/QwJRZp9rD8pmhVm72JDHyv
# knCFm92tSLzpSMIIVA42NBqesjEYX2FEYhktBnnSAessL7h+lQQl9/m3ThXAHJYL
# b9tY66To2ZpOH0mk9kNwbM1H3lCWvKN8SO2X6DGPXbM08R0AM+mVV/O3xxhFYUHH
# 8Vt9yHTyTo/2nuNfarWMU9tTFZgn7E7IYLVoqEMZjlv7zAvf2/qoLQcUjH+/fL5t
# 6n5oReigrxWh5Yr6zN9oWNejxhNy9DxQvizO70cVO5k2/q++gnsm76jlpOPnWymH
# 7T4VdbfxOUv+sMF3mJrv2OyQu054dsOORuWOKXDN6BzG/2Lj0XTlmtL/kQtkIJjV
# Vqo7sQ4spVrHF0A7mjLW9vQHHRlFVfWbEWNjNrLYQLTnWTrIYkebnzLWh7YgpFr9
# IzX4FMax7q8c2LlDZ3lmehH0A4BQMPAkgipEjitnPYxKKeHXVatdMb26sXa6jJ3l
# V77yHF6z0AF4/Y9hAqVdhMDG91p5qcNND+/Cacz7JNxbOtWbzhnfxdUXDgbun9k1
# naexy+/q6u7YB69dzJXW3yFruJaaGGBNYE0GtWK4OVzeI+87PZJU9s96qHJj81fA
# 1kICBzYfmk7O27ozBDEMiO17dcz8WQoHEeh9LZps1P/Qcb7Fm0WpQkNrGBslrqU3
# XOHuymO5DwIDAQABo4IByzCCAccwHQYDVR0OBBYEFFYEXxBt3AgD8Mi/qckWysHX
# rGW2MB8GA1UdIwQYMBaAFGtpKDo1L0hjQM972K9J6T7ZPdshMGwGA1UdHwRlMGMw
# YaBfoF2GW2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jv
# c29mdCUyMFB1YmxpYyUyMFJTQSUyMFRpbWVzdGFtcGluZyUyMENBJTIwMjAyMC5j
# cmwweQYIKwYBBQUHAQEEbTBrMGkGCCsGAQUFBzAChl1odHRwOi8vd3d3Lm1pY3Jv
# c29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUy
# MFRpbWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcnQwDAYDVR0TAQH/BAIwADAWBgNV
# HSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwZgYDVR0gBF8wXTBR
# BgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3Nv
# ZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMAgGBmeBDAEEAjANBgkq
# hkiG9w0BAQwFAAOCAgEAUh7hklR72pQpxZ5bKlyEHnx9cT9kha/YPlc/n+T+0Hss
# I30G+Y1JUpndV5yVAz3vzB8S+690xBJS/pjbRuggzwMrUrUhT1w/bUwbQTGIfFqq
# OuKR/apt+tciKngR/e/Zs1gpDELE3dJzOnVJfQfu6orYvk6F8MSJd/XmKi7mGH4Q
# 9pqqnj1zM1CkkM5H+98mCFRz+pyyUM+GgJmlnHxvY4O/LAZA1fCqVuyYJLbi4aYS
# RDdQfklR43pz3XJqxVyFLvyuIyubpH1mkCI7ml80owZTYwubUDemnT3wNxsVMBz3
# keHpC+SH//bwX9d7ZswVvoMvtLDRk73m/SC/RlPIl/FL8sLF+tp4Qgj0VIU4oAwS
# nXM0VKza57QYaMG33IQQxTC/Gr0TEXPRpnNibyK8l99+khUOdf/6tVFNhzEiRDIV
# iyUiFiVYX1KMLDmvj2pqSMxE2Hxb07tpqiiVJVmV5BmMa3QrwnMyXKnqGnaVtbpe
# pHHZw4dtvEkPGYQ3OiEZTOIjXeUjaDYF/mqJt8Lhso1Gkmj2VsTwdRtjSomITy7d
# JTx4NBrJI9c4SEmPFEJDDA696NiYEbk/sJyRA0FKeeXXb4UpEqA+iPQy/7Pk4yGP
# 3PYy2luccsCR6nSh1AKUTLIIb+5Hm0rmtbqZkfk6rnpRZLQ0jo1XUkZLsmuLqMUx
# ggdDMIIHPwIBATB4MGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQg
# Q29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVz
# dGFtcGluZyBDQSAyMDIwAhMzAAAAVdndaSYo+fjiAAAAAABVMA0GCWCGSAFlAwQC
# AQUAoIIEnDARBgsqhkiG9w0BCRACDzECBQAwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3
# DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNjA0MTAwODM2MDhaMC8GCSqGSIb3DQEJ
# BDEiBCDciInadk0ICjbIjUTJzLAch1wm398cV04Ry1E7Y4uM7jCBuQYLKoZIhvcN
# AQkQAi8xgakwgaYwgaMwgaAEINi5PJdkhmK7v33+/g9qqyZ5LMHGHSuqRiruxhhq
# +P7NMHwwZaRjMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFt
# cGluZyBDQSAyMDIwAhMzAAAAVdndaSYo+fjiAAAAAABVMIIDXgYLKoZIhvcNAQkQ
# AhIxggNNMIIDSaGCA0UwggNBMIICKQIBATCCAQmhgeGkgd4wgdsxCzAJBgNVBAYT
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBB
# bWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo3RDAw
# LTA1RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBT
# dGFtcGluZyBBdXRob3JpdHmiIwoBATAHBgUrDgMCGgMVAB07VAGCZb+24FlXkQaO
# F+xXhw3qoGcwZaRjMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQg
# Q29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVz
# dGFtcGluZyBDQSAyMDIwMA0GCSqGSIb3DQEBCwUAAgUA7YKx3TAiGA8yMDI2MDQw
# OTIzMTY0NVoYDzIwMjYwNDEwMjMxNjQ1WjB0MDoGCisGAQQBhFkKBAExLDAqMAoC
# BQDtgrHdAgEAMAcCAQACAjZ3MAcCAQACAg/ZMAoCBQDthANdAgEAMDYGCisGAQQB
# hFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAw
# DQYJKoZIhvcNAQELBQADggEBAHuNSBsvhokInhWTQp8P95whzJTKst6Zx4/nGI5S
# QIphYHBjUALXEnX3ykGHy8RzsjZLo0qau5QvPd6IEfmQcc/WG9BEaznYs5doijGB
# 4Bedw0Z3vjwwCgWc3sZ04uH4pAQEhlZ913CPysFPMWIM6worunknCZkbIXt4EzoE
# W1ou4mEP2Z5pn9DoYXG05SltkN8w+UvjoztX6W1+4M1L4SjNr+84R7bX1BEu5WTf
# 20uYf0zZ6Zft6aUFhf9WLypb62zJLuPzZDhev2owveNkFCsqJX/o08gCWr64piOf
# 6+kKzT48kaurMuvT6wKX6fIno2dbiG0dP81F7mzzRezOeOEwDQYJKoZIhvcNAQEB
# BQAEggIAmQ1Qy8hfnumgUTQNc0fckAHgzlPf74flhnTm/tDvMePve9qAlEIAlb79
# ZiIqCqxwowsf8bu0zhrqET1I9tAGBdYnB6hNaydftSzsSR1R+DjQZOb+OzgYr6AV
# dWVNNV1DkjzJCXk0yv//R6fIu/xuzRz2gLuJoQ+UpjzmgfsdONBYXDReHHP1JjAH
# wYNGDIetvRd8MGzKgFCWs96QHcOAWNKk3q+I3OqE7/izcfEqVsq0c+IcGfac9eY8
# Z0MsgY7qhtg/rLsXMHiGGA+j8xZm3J72MDDmJri7TNCjB1qZXVhEw8XGE/siBvZJ
# Ta11G06cvYb8pmmJnVd3E9tGuVLz5y6UVoo3+elcF498CQO58yzINXYZ5BrkZCd+
# 1YIXeJnRsydPdMcK8WDlnMpOubC+ybJ7WY9L8gEdw1LpqXeyr98a9n1Dotjb0ns5
# 7yvVxnPK1eX7AM6ZNU6OrNpypDwhabg8ZyGLLX+uOL4gxsjBLAfM/mBNrcH1Jbcd
# Hqgt69Ph3UNh+6iZgLkbE0wp2u5/wdH7ubAi01idEIzWM19oG9jy7FUZ7sR33RKq
# QUr27fe5LpD4ofMvHmKE2MEvKXytmrxvnzKKVjy8Pz1bO7gMCp2agyHZSoYADCEr
# kHHi8u6ILn4PJft+4JK0r4h+gMfHhf1iEtfyZ6D4HaPdCo34by0=
# SIG # End signature block