Devolutions.Psign.Format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <ViewDefinitions>

    <!-- Test-PsignModule result: summary list -->
    <View>
      <Name>PsignModuleValidationResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Models.PsignModuleValidationResult</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem><PropertyName>ModuleName</PropertyName></ListItem>
              <ListItem><PropertyName>ModulePath</PropertyName></ListItem>
              <ListItem><PropertyName>Policy</PropertyName></ListItem>
              <ListItem><PropertyName>Valid</PropertyName></ListItem>
              <ListItem><PropertyName>Summary</PropertyName></ListItem>
              <ListItem><Label>Passed</Label><PropertyName>PassedCount</PropertyName></ListItem>
              <ListItem><Label>Failed</Label><PropertyName>FailedCount</PropertyName></ListItem>
              <ListItem><Label>Skipped</Label><PropertyName>SkippedCount</PropertyName></ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

    <!-- Test-PsignModule per-file result table -->
    <View>
      <Name>PsignModuleFileResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Models.PsignModuleFileResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>File</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>Role</Label><Width>18</Width></TableColumnHeader>
          <TableColumnHeader><Label>Required</Label><Width>8</Width></TableColumnHeader>
          <TableColumnHeader><Label>Status</Label><Width>12</Width></TableColumnHeader>
          <TableColumnHeader><Label>Pass</Label><Width>5</Width></TableColumnHeader>
          <TableColumnHeader><Label>Signer</Label><Width>30</Width></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>RelativePath</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Role</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>RequiredByPolicy</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Status</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Passes</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SignerSubject</PropertyName></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Protect-PsignModule result -->
    <View>
      <Name>PsignModuleSigningResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Cmdlets.PsignModuleSigningResult</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem><PropertyName>ModuleName</PropertyName></ListItem>
              <ListItem><PropertyName>ModulePath</PropertyName></ListItem>
              <ListItem><Label>Total Files</Label><PropertyName>TotalFiles</PropertyName></ListItem>
              <ListItem><PropertyName>Succeeded</PropertyName></ListItem>
              <ListItem><PropertyName>Failed</PropertyName></ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

    <!-- Protect-PsignModule per-file sign result -->
    <View>
      <Name>PsignModuleFileSignResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Cmdlets.PsignModuleFileSignResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>File</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>Role</Label><Width>18</Width></TableColumnHeader>
          <TableColumnHeader><Label>Status</Label><Width>12</Width></TableColumnHeader>
          <TableColumnHeader><Label>OK</Label><Width>5</Width></TableColumnHeader>
          <TableColumnHeader><Label>Error</Label><Width>40</Width></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>RelativePath</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Role</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Status</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Success</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ErrorMessage</PropertyName></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Unprotect-PsignSignature result -->
    <View>
      <Name>PsignUnprotectResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Cmdlets.PsignUnprotectResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Path</Label><Width>50</Width></TableColumnHeader>
          <TableColumnHeader><Label>Removed</Label><Width>8</Width></TableColumnHeader>
          <TableColumnHeader><Label>Bytes</Label><Width>8</Width></TableColumnHeader>
          <TableColumnHeader><Label>Message</Label><Width>30</Width></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Path</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SignatureRemoved</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>BytesRemoved</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Message</PropertyName></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Get-PsignSignature / Set-PsignSignature table -->
    <View>
      <Name>PortableSignature_Table</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Models.PortableSignature</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Path</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>Status</Label><Width>14</Width></TableColumnHeader>
          <TableColumnHeader><Label>Type</Label><Width>14</Width></TableColumnHeader>
          <TableColumnHeader><Label>Signer</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>Timestamp</Label><Width>20</Width></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><ScriptBlock>if ($_.SourcePathOrExtension) { $_.SourcePathOrExtension } else { Split-Path $_.Path -Leaf }</ScriptBlock></TableColumnItem>
              <TableColumnItem><PropertyName>Status</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SignatureType</PropertyName></TableColumnItem>
              <TableColumnItem><ScriptBlock>if ($_.SignerCertificate) { $_.SignerCertificate.Subject -replace '^CN=','' -replace ',.*$','' } else { '' }</ScriptBlock></TableColumnItem>
              <TableColumnItem><ScriptBlock>if ($_.TimestampSigningTime) { $_.TimestampSigningTime.ToString('yyyy-MM-dd HH:mm') } else { '' }</ScriptBlock></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Get-PsignSignature / Set-PsignSignature detailed list -->
    <View>
      <Name>PortableSignature_List</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Models.PortableSignature</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem><PropertyName>Path</PropertyName></ListItem>
              <ListItem><PropertyName>Status</PropertyName></ListItem>
              <ListItem><PropertyName>StatusMessage</PropertyName></ListItem>
              <ListItem><PropertyName>SignatureType</PropertyName></ListItem>
              <ListItem><Label>Format</Label><PropertyName>Format</PropertyName></ListItem>
              <ListItem><Label>SignerCertificate</Label><ScriptBlock>if ($_.SignerCertificate) { "[Subject]`n $($_.SignerCertificate.Subject)`n[Issuer]`n $($_.SignerCertificate.Issuer)`n[Thumbprint]`n $($_.SignerCertificate.Thumbprint)`n[Not Before]`n $($_.SignerCertificate.NotBefore)`n[Not After]`n $($_.SignerCertificate.NotAfter)" }</ScriptBlock></ListItem>
              <ListItem><Label>TimeStamperCertificate</Label><ScriptBlock>if ($_.TimeStamperCertificate) { "[Subject]`n $($_.TimeStamperCertificate.Subject)" }</ScriptBlock></ListItem>
              <ListItem><PropertyName>TimestampSigningTime</PropertyName></ListItem>
              <ListItem><PropertyName>DigestAlgorithm</PropertyName></ListItem>
              <ListItem><PropertyName>SignatureCount</PropertyName></ListItem>
              <ListItem><PropertyName>EmbeddedCertificateCount</PropertyName></ListItem>
              <ListItem><Label>TrustStatus</Label><PropertyName>PortableTrustStatus</PropertyName></ListItem>
              <ListItem><PropertyName>IsOSBinary</PropertyName></ListItem>
              <ListItem><PropertyName>SubjectAlternativeName</PropertyName></ListItem>
              <ListItem><Label>Diagnostics</Label><ScriptBlock>if ($_.PortableDiagnostics.Count -gt 0) { $_.PortableDiagnostics -join "`n" }</ScriptBlock></ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

  </ViewDefinitions>
</Configuration>
 
<!-- SIG # Begin signature block -->
<!-- MIIiuAYJKoZIhvcNAQcCoIIiqTCCIqUCAQExDTALBglghkgBZQMEAgEwdwYKKwYB -->
<!-- BAGCNwIBBKBpMGcwNAYKKwYBBAGCNwIBHjAmAgMBAAAEEB/MO2BZSwhOtyTSxil+ -->
<!-- 81ECAQACAQACAQACAQACAQAwLzALBglghkgBZQMEAgEEIANSgi1t1xiExz6FmZ+b -->
<!-- gOqw7dK2OBbJp/Yiy7d5zFIyoIIHtTCCB7EwggWZoAMCAQICDHPTwzYD/4u0QiTy -->
<!-- XjANBgkqhkiG9w0BAQsFADBcMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFs -->
<!-- U2lnbiBudi1zYTEyMDAGA1UEAxMpR2xvYmFsU2lnbiBHQ0MgUjQ1IEVWIENvZGVT -->
<!-- aWduaW5nIENBIDIwMjAwHhcNMjMxMDMwMTc1MTE4WhcNMjYxMDMwMTc1MTE4WjCB -->
<!-- 8TEdMBsGA1UEDwwUUHJpdmF0ZSBPcmdhbml6YXRpb24xEzARBgNVBAUTCjExNjI1 -->
<!-- NDQ2ODkxEzARBgsrBgEEAYI3PAIBAxMCQ0ExFzAVBgsrBgEEAYI3PAIBAhMGUXVl -->
<!-- YmVjMQswCQYDVQQGEwJDQTEPMA0GA1UECBMGUXVlYmVjMRIwEAYDVQQHEwlMYXZh -->
<!-- bHRyaWUxGDAWBgNVBAoTD0Rldm9sdXRpb25zIEluYzEYMBYGA1UEAxMPRGV2b2x1 -->
<!-- dGlvbnMgSW5jMScwJQYJKoZIhvcNAQkBFhhzZWN1cml0eUBkZXZvbHV0aW9ucy5u -->
<!-- ZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCfDk6c1eCL9rTvq1D1 -->
<!-- lq1GmU08ZKyYQJQ7Eb/mRFpRXqpOFiySnf8BysYbZ4y4MnIl7M2Wjc5n1JcXR9BP -->
<!-- WmkJLnI7rFTwpq/O5xKUwW20/EYyOuF7TasRq6olljm73dcLjrt5z/a2u2gO+vMS -->
<!-- 8LVY6UXKAGZGIigMoPS92f2MkkKmdEmA5dpwbALUfvH9sy0qknUfQY6dslpI8Pbj -->
<!-- TCx9GY5xqCTMtBQcWB5sBn/I0YAlp5yuOn+2ga4vUcucAZTVseoRI/Jsn5KWWb0i -->
<!-- M9wrbv+DOCzcAtBF+Yj2Kp8wHRWfMCumu4YuYcwTY3hbIuNRoUi8j4nLptjGaz7R -->
<!-- 3UfAr4b/rH4Vg8/l9ufP61Z7bpSkZbIlnh3Gjy9UJCjw5wguQucnllSbNNg5ZBd7 -->
<!-- v3DRUKwKvzF9TYoOERwGdeY8uS4fnSYP7XuGF9b+coZ/D5guGaebiJJEodRJkGdi -->
<!-- P5P+6jLO43dzgmB4hmWbuF5wofRYXd1ihFOf4aBH2qzHnFkDvp5zeclMlgoLuxJV -->
<!-- b4mU36Z84KnJuT7fPThK9RbNEoqPPzd1BYcCcRmVaLCYHw+6AgmVXm3bgCsv4zM/ -->
<!-- DqkycfPX11sBXedYdTJ4tihtFo1eRqfQsXEivN+XYwUIJ/EdfHUmaHU+7eYhgSPV -->
<!-- ynPm9Fq1mAAC3KqH+6RtIpEmpQIDAQABo4IB2zCCAdcwDgYDVR0PAQH/BAQDAgeA -->
<!-- MIGfBggrBgEFBQcBAQSBkjCBjzBMBggrBgEFBQcwAoZAaHR0cDovL3NlY3VyZS5n -->
<!-- bG9iYWxzaWduLmNvbS9jYWNlcnQvZ3NnY2NyNDVldmNvZGVzaWduY2EyMDIwLmNy -->
<!-- dDA/BggrBgEFBQcwAYYzaHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vZ3NnY2Ny -->
<!-- NDVldmNvZGVzaWduY2EyMDIwMFUGA1UdIAROMEwwQQYJKwYBBAGgMgECMDQwMgYI -->
<!-- KwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkv -->
<!-- MAcGBWeBDAEDMAkGA1UdEwQCMAAwRwYDVR0fBEAwPjA8oDqgOIY2aHR0cDovL2Ny -->
<!-- bC5nbG9iYWxzaWduLmNvbS9nc2djY3I0NWV2Y29kZXNpZ25jYTIwMjAuY3JsMCMG -->
<!-- A1UdEQQcMBqBGHNlY3VyaXR5QGRldm9sdXRpb25zLm5ldDATBgNVHSUEDDAKBggr -->
<!-- BgEFBQcDAzAfBgNVHSMEGDAWgBQlndD8WQmGY8Xs87ETO1ccA5I2ETAdBgNVHQ4E -->
<!-- FgQU+cpn+IPqWRnE5rHeI+bO8b/X89owDQYJKoZIhvcNAQELBQADggIBABr7ukUZ -->
<!-- YHuRYKb0JdoVh9Lwngn45m/BBg90jTL5CF6ZP4xYB2kaKN366sfAbvmKThbgfcIv -->
<!-- N26NjS1/cFXad5af6s5OzGUic+mAFZOhbpX81GedsAnxl1D4BKJs2+iWh/eK2vba -->
<!-- /K3J5V2Z7S7YFgHqF0vlmDtNxnBQ8jsI30zrbcuYJowft8WLjfW4hr0SdAIk2F4X -->
<!-- 1CTGhtJVMuPcxyUuvrmknp1g2y99jc5eXA6qp0CiUbFC1R3C1kpZYT4sxiu86B3k -->
<!-- bY6JqTO2f08tjvpih36UeFCC/ByZBzb1D8FFIaKiErjlDHVMIBCY1XrEEDEJpIyM -->
<!-- RyobXsIuisyn4TpK8JqRb0C0opDzvE8BlKvqlqmHfafbOUXFH5gz/F9aiJAMfHyh -->
<!-- 4ddUg9nFcF+YKWKp8hpdaIW+5ptlsC2LSS5tztMUXRisUf/zCTeLQ2MAXc7Vl0sc -->
<!-- 8ZD9Uqb9wm+tmK3ZGvnDKCikwE8YU+y96ogFUybGcEWXUYk3QvuXKeS09/v6QOwb -->
<!-- gY3o5EkrNQyPUugI2HsyWtmLhTdDM/Pnj+O2NDNkPXvGiss2b0O8yUMVkh9C0HG4 -->
<!-- WS3L/ExoM1keN1Yd54FaFhk1zQv3KQaC7MJU8uZrmrIJLPNdEPGKiFfI8CLIV/04 -->
<!-- jAIrR+A4SDaCpDTz+XDZF7kP42KGybJiSD1qMYIaXTCCGlkCAQEwbDBcMQswCQYD -->
<!-- VQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEyMDAGA1UEAxMpR2xv -->
<!-- YmFsU2lnbiBHQ0MgUjQ1IEVWIENvZGVTaWduaW5nIENBIDIwMjACDHPTwzYD/4u0 -->
<!-- QiTyXjALBglghkgBZQMEAgGgTDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAv -->
<!-- BgkqhkiG9w0BCQQxIgQgJzMdSL6kD8v55pfy7/6JhUcwEnJU2hFrXxUt6SsgO/8w -->
<!-- DQYJKoZIhvcNAQELBQAEggIAAg1NnPic99IUiW0SwT8Vx85/pLVIrXJzbjZEYu02 -->
<!-- YB+8uGHT0IywQ7N9SAdf++/8CRNi6BflONV5nMLjyDDQEf48TO9IhBirD0cFF9LU -->
<!-- yLwnVL+kqCfdoBxf0FY9HkNcvQ434meagv6D7GGAAg/3g6vvfsd81SSATsGjNkx4 -->
<!-- 3EjHJuscT2OJa12MrKR/l2Fbm/+7WWVLWwIgSoMrV8G1bMSnD8ckde1BbGXX3+VS -->
<!-- Qu8diBfbQNUDkSV4MGfvpnBGgEnf0ZSe6DneVR8W/I1uHPr1lhnvzIQwya37st69 -->
<!-- 2lGR4bA9eJodFlIMS7yKybBEujHGtwoF1c3ljMNVSJtfaW+MVn9OhnISxQwxcYtM -->
<!-- vYoR56sfgn7ARKD52BPEZ06UYCgrvhFFdlhYDRnqfN5zF4VqCv97hg+3tOp4U3Ew -->
<!-- 0Dm1m996OPKQown/4ncr5hz/YtTdG7QiFkXc3WT2c3/ojOLyLjI9e7YNlhiIoTtK -->
<!-- HkRXFqpMwQEV/1YU60KnBYmLSAfUOEh50sogGPNYsiLLNJGYpMugCSd3l6lPaad/ -->
<!-- W0/TlV0y2vYkPMH7Vds14aRIEA7JoH+4B5T6TmPiqXaTwRk5V5PVk1mAD9ofUcFa -->
<!-- oK8ZP92KxzuDZfn6OTw+fb3mcsk4snNiQ1oBatNncdRrs3zpaKgeWiBXNzh/z5k5 -->
<!-- 4rGhghd2MIIXcgYKKwYBBAGCNwMDATGCF2IwghdeBgkqhkiG9w0BBwKgghdPMIIX -->
<!-- SwIBAzEPMA0GCWCGSAFlAwQCAQUAMHcGCyqGSIb3DQEJEAEEoGgEZjBkAgEBBglg -->
<!-- hkgBhv1sBwEwMTANBglghkgBZQMEAgEFAAQg+hRxIDya1Od3Ojt+8FRXFyIg/ByV -->
<!-- dskn6aMhKuAkzv4CEDNdZaPL0IW58gZIgXSUswgYDzIwMjYwNTI2MTU0MjEzWqCC -->
<!-- EzowggbtMIIE1aADAgECAhAKgO8YS43xBYLRxHanlXRoMA0GCSqGSIb3DQEBCwUA -->
<!-- MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UE -->
<!-- AxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5NiBTSEEy -->
<!-- NTYgMjAyNSBDQTEwHhcNMjUwNjA0MDAwMDAwWhcNMzYwOTAzMjM1OTU5WjBjMQsw -->
<!-- CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRp -->
<!-- Z2lDZXJ0IFNIQTI1NiBSU0E0MDk2IFRpbWVzdGFtcCBSZXNwb25kZXIgMjAyNSAx -->
<!-- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0EasLRLGntDqrmBWsytX -->
<!-- um9R/4ZwCgHfyjfMGUIwYzKomd8U1nH7C8Dr0cVMF3BsfAFI54um8+dnxk36+jx0 -->
<!-- Tb+k+87H9WPxNyFPJIDZHhAqlUPt281mHrBbZHqRK71Em3/hCGC5KyyneqiZ7syv -->
<!-- FXJ9A72wzHpkBaMUNg7MOLxI6E9RaUueHTQKWXymOtRwJXcrcTTPPT2V1D/+cFll -->
<!-- ESviH8YjoPFvZSjKs3SKO1QNUdFd2adw44wDcKgH+JRJE5Qg0NP3yiSyi5MxgU6c -->
<!-- ehGHr7zou1znOM8odbkqoK+lJ25LCHBSai25CFyD23DZgPfDrJJJK77epTwMP6eK -->
<!-- A0kWa3osAe8fcpK40uhktzUd/Yk0xUvhDU6lvJukx7jphx40DQt82yepyekl4i0r -->
<!-- 8OEps/FNO4ahfvAk12hE5FVs9HVVWcO5J4dVmVzix4A77p3awLbr89A90/nWGjXM -->
<!-- Gn7FQhmSlIUDy9Z2hSgctaepZTd0ILIUbWuhKuAeNIeWrzHKYueMJtItnj2Q+aTy -->
<!-- LLKLM0MheP/9w6CtjuuVHJOVoIJ/DtpJRE7Ce7vMRHoRon4CWIvuiNN1Lk9Y+xZ6 -->
<!-- 6lazs2kKFSTnnkrT3pXWETTJkhd76CIDBbTRofOsNyEhzZtCGmnQigpFHti58CSm -->
<!-- vEyJcAlDVcKacJ+A9/z7eacCAwEAAaOCAZUwggGRMAwGA1UdEwEB/wQCMAAwHQYD -->
<!-- VR0OBBYEFOQ7/PIx7f391/ORcWMZUEPPYYzoMB8GA1UdIwQYMBaAFO9vU0rp5AZ8 -->
<!-- esrikFb2L9RJ7MtOMA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAKBggrBgEF -->
<!-- BQcDCDCBlQYIKwYBBQUHAQEEgYgwgYUwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw -->
<!-- LmRpZ2ljZXJ0LmNvbTBdBggrBgEFBQcwAoZRaHR0cDovL2NhY2VydHMuZGlnaWNl -->
<!-- cnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0VGltZVN0YW1waW5nUlNBNDA5NlNIQTI1 -->
<!-- NjIwMjVDQTEuY3J0MF8GA1UdHwRYMFYwVKBSoFCGTmh0dHA6Ly9jcmwzLmRpZ2lj -->
<!-- ZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQwOTZTSEEy -->
<!-- NTYyMDI1Q0ExLmNybDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglghkgBhv1sBwEw -->
<!-- DQYJKoZIhvcNAQELBQADggIBAGUqrfEcJwS5rmBB7NEIRJ5jQHIh+OT2Ik/bNYul -->
<!-- CrVvhREafBYF0RkP2AGr181o2YWPoSHz9iZEN/FPsLSTwVQWo2H62yGBvg7ouCOD -->
<!-- wrx6ULj6hYKqdT8wv2UV+Kbz/3ImZlJ7YXwBD9R0oU62PtgxOao872bOySCILdBg -->
<!-- hQ/ZLcdC8cbUUO75ZSpbh1oipOhcUT8lD8QAGB9lctZTTOJM3pHfKBAEcxQFoHlt -->
<!-- 2s9sXoxFizTeHihsQyfFg5fxUFEp7W42fNBVN4ueLaceRf9Cq9ec1v5iQMWTFQa0 -->
<!-- xNqItH3CPFTG7aEQJmmrJTV3Qhtfparz+BW60OiMEgV5GWoBy4RVPRwqxv7Mk0Sy -->
<!-- 4QHs7v9y69NBqycz0BZwhB9WOfOu/CIJnzkQTwtSSpGGhLdjnQ4eBpjtP+XB3pQC -->
<!-- tv4E5UCSDag6+iX8MmB10nfldPF9SVD7weCC3yXZi/uuhqdwkgVxuiMFzGVFwYbQ -->
<!-- siGnoa9F5AaAyBjFBtXVLcKtapnMG3VH3EmAp/jsJ3FVF3+d1SVDTmjFjLbNFZUW -->
<!-- MXuZyvgLfgyPehwJVxwC+UpX2MSey2ueIu9THFVkT+um1vshETaWyQo8gmBto/m3 -->
<!-- acaP9QsuLj3FNwFlTxq25+T4QwX9xa6ILs84ZPvmpovq90K8eWyG2N01c4IhSOxq -->
<!-- t81nMIIGtDCCBJygAwIBAgIQDcesVwX/IZkuQEMiDDpJhjANBgkqhkiG9w0BAQsF -->
<!-- ADBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL -->
<!-- ExB3d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJv -->
<!-- b3QgRzQwHhcNMjUwNTA3MDAwMDAwWhcNMzgwMTE0MjM1OTU5WjBpMQswCQYDVQQG -->
<!-- EwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0 -->
<!-- IFRydXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0Ex -->
<!-- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtHgx0wqYQXK+PEbAHKx1 -->
<!-- 26NGaHS0URedTa2NDZS1mZaDLFTtQ2oRjzUXMmxCqvkbsDpz4aH+qbxeLho8I6jY -->
<!-- 3xL1IusLopuW2qftJYJaDNs1+JH7Z+QdSKWM06qchUP+AbdJgMQB3h2DZ0Mal5kY -->
<!-- p77jYMVQXSZH++0trj6Ao+xh/AS7sQRuQL37QXbDhAktVJMQbzIBHYJBYgzWIjk8 -->
<!-- eDrYhXDEpKk7RdoX0M980EpLtlrNyHw0Xm+nt5pnYJU3Gmq6bNMI1I7Gb5IBZK4i -->
<!-- vbVCiZv7PNBYqHEpNVWC2ZQ8BbfnFRQVESYOszFI2Wv82wnJRfN20VRS3hpLgIR4 -->
<!-- hjzL0hpoYGk81coWJ+KdPvMvaB0WkE/2qHxJ0ucS638ZxqU14lDnki7CcoKCz6eu -->
<!-- m5A19WZQHkqUJfdkDjHkccpL6uoG8pbF0LJAQQZxst7VvwDDjAmSFTUms+wV/FbW -->
<!-- Bqi7fTJnjq3hj0XbQcd8hjj/q8d6ylgxCZSKi17yVp2NL+cnT6Toy+rN+nM8M7Ln -->
<!-- LqCrO2JP3oW//1sfuZDKiDEb1AQ8es9Xr/u6bDTnYCTKIsDq1BtmXUqEG1NqzJKS -->
<!-- 4kOmxkYp2WyODi7vQTCBZtVFJfVZ3j7OgWmnhFr4yUozZtqgPrHRVHhGNKlYzyjl -->
<!-- roPxul+bgIspzOwbtmsgY1MCAwEAAaOCAV0wggFZMBIGA1UdEwEB/wQIMAYBAf8C -->
<!-- AQAwHQYDVR0OBBYEFO9vU0rp5AZ8esrikFb2L9RJ7MtOMB8GA1UdIwQYMBaAFOzX -->
<!-- 44LScV1kTN8uZz/nupiuHA9PMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggr -->
<!-- BgEFBQcDCDB3BggrBgEFBQcBAQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw -->
<!-- LmRpZ2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNl -->
<!-- cnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4oDag -->
<!-- NIYyaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RH -->
<!-- NC5jcmwwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZIAYb9bAcBMA0GCSqGSIb3 -->
<!-- DQEBCwUAA4ICAQAXzvsWgBz+Bz0RdnEwvb4LyLU0pn/N0IfFiBowf0/Dm1wGc/Do -->
<!-- 7oVMY2mhXZXjDNJQa8j00DNqhCT3t+s8G0iP5kvN2n7Jd2E4/iEIUBO41P5F448r -->
<!-- SYJ59Ib61eoalhnd6ywFLerycvZTAz40y8S4F3/a+Z1jEMK/DMm/axFSgoR8n6c3 -->
<!-- nuZB9BfBwAQYK9FHaoq2e26MHvVY9gCDA/JYsq7pGdogP8HRtrYfctSLANEBfHU1 -->
<!-- 6r3J05qX3kId+ZOczgj5kjatVB+NdADVZKON/gnZruMvNYY2o1f4MXRJDMdTSlOL -->
<!-- h0HCn2cQLwQCqjFbqrXuvTPSegOOzr4EWj7PtspIHBldNE2K9i697cvaiIo2p61E -->
<!-- d2p8xMJb82Yosn0z4y25xUbI7GIN/TpVfHIqQ6Ku/qjTY6hc3hsXMrS+U0yy+GWq -->
<!-- AXam4ToWd2UQ1KYT70kZjE4YtL8Pbzg0c1ugMZyZZd/BdHLiRu7hAWE6bTEm4XYR -->
<!-- kA6Tl4KSFLFk43esaUeqGkH/wyW4N7OigizwJWeukcyIPbAvjSabnf7+Pu0VrFgo -->
<!-- iovRDiyx3zEdmcif/sYQsfch28bZeUz2rtY/9TCA6TD8dC3JE3rYkrhLULy7Dc90 -->
<!-- G6e8BlqmyIjlgp2+VqsS9/wQD7yFylIz0scmbKvFoW2jNrbM1pD2T7m3XDCCBY0w -->
<!-- ggR1oAMCAQICEA6bGI750C3n79tQ4ghAGFowDQYJKoZIhvcNAQEMBQAwZTELMAkG -->
<!-- A1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRp -->
<!-- Z2ljZXJ0LmNvbTEkMCIGA1UEAxMbRGlnaUNlcnQgQXNzdXJlZCBJRCBSb290IENB -->
<!-- MB4XDTIyMDgwMTAwMDAwMFoXDTMxMTEwOTIzNTk1OVowYjELMAkGA1UEBhMCVVMx -->
<!-- FTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNv -->
<!-- bTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MIICIjANBgkqhkiG -->
<!-- 9w0BAQEFAAOCAg8AMIICCgKCAgEAv+aQc2jeu+RdSjwwIjBpM+zCpyUuySE98orY -->
<!-- WcLhKac9WKt2ms2uexuEDcQwH/MbpDgW61bGl20dq7J58soR0uRf1gU8Ug9SH8ae -->
<!-- FaV+vp+pVxZZVXKvaJNwwrK6dZlqczKU0RBEEC7fgvMHhOZ0O21x4i0MG+4g1ckg -->
<!-- HWMpLc7sXk7Ik/ghYZs06wXGXuxbGrzryc/NrDRAX7F6Zu53yEioZldXn1RYjgwr -->
<!-- t0+nMNlW7sp7XeOtyU9e5TXnMcvak17cjo+A2raRmECQecN4x7axxLVqGDgDEI3Y -->
<!-- 1DekLgV9iPWCPhCRcKtVgkEy19sEcypukQF8IUzUvK4bA3VdeGbZOjFEmjNAvwjX -->
<!-- WkmkwuapoGfdpCe8oU85tRFYF/ckXEaPZPfBaYh2mHY9WV1CdoeJl2l6SPDgohIb -->
<!-- Zpp0yt5LHucOY67m1O+SkjqePdwA5EUlibaaRBkrfsCUtNJhbesz2cXfSwQAzH0c -->
<!-- lcOP9yGyshG3u3/y1YxwLEFgqrFjGESVGnZifvaAsPvoZKYz0YkH4b235kOkGLim -->
<!-- dwHhD5QMIR2yVCkliWzlDlJRR3S+Jqy2QXXeeqxfjT/JvNNBERJb5RBQ6zHFynIW -->
<!-- IgnffEx1P2PsIV/EIFFrb7GrhotPwtZFX50g/KEexcCPorF+CiaZ9eRpL5gdLfXZ -->
<!-- qbId5RsCAwEAAaOCATowggE2MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOzX -->
<!-- 44LScV1kTN8uZz/nupiuHA9PMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3z -->
<!-- bcgPMA4GA1UdDwEB/wQEAwIBhjB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGG -->
<!-- GGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2Nh -->
<!-- Y2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDBF -->
<!-- BgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNl -->
<!-- cnRBc3N1cmVkSURSb290Q0EuY3JsMBEGA1UdIAQKMAgwBgYEVR0gADANBgkqhkiG -->
<!-- 9w0BAQwFAAOCAQEAcKC/Q1xV5zhfoKN0Gz22Ftf3v1cHvZqsoYcs7IVeqRq7IviH -->
<!-- GmlUIu2kiHdtvRoU9BNKei8ttzjv9P+Aufih9/Jy3iS8UgPITtAq3votVs/59Pes -->
<!-- MHqai7Je1M/RQ0SbQyHrlnKhSLSZy51PpwYDE3cnRNTnf+hZqPC/Lwum6fI0POz3 -->
<!-- A8eHqNJMQBk1RmppVLC4oVaO7KTVPeix3P0c2PR3WlxUjG/voVA9/HYJaISfb8rb -->
<!-- II01YBwCA8sgsKxYoA5AY8WYIsGyWfVVa88nq2x2zm8jLfR+cWojayL/ErhULSd+ -->
<!-- 2DrZ8LaHlv1b0VysGMNNn3O3AamfV6peKOK5lDGCA3wwggN4AgEBMH0waTELMAkG -->
<!-- A1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdp -->
<!-- Q2VydCBUcnVzdGVkIEc0IFRpbWVTdGFtcGluZyBSU0E0MDk2IFNIQTI1NiAyMDI1 -->
<!-- IENBMQIQCoDvGEuN8QWC0cR2p5V0aDANBglghkgBZQMEAgEFAKCB0TAaBgkqhkiG -->
<!-- 9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDUyNjE1NDIx -->
<!-- M1owKwYLKoZIhvcNAQkQAgwxHDAaMBgwFgQU3WIwrIYKLTBr2jixaHlSMAf7QX4w -->
<!-- LwYJKoZIhvcNAQkEMSIEILldPmIPC+01SZNGKQV+e82iZgn/hKMDe/6QqzZ1JPpR -->
<!-- MDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIEIEqgP6Is11yExVyTj4KOZ2ucrsqzP+Nt -->
<!-- JpqjNPFGEQozMA0GCSqGSIb3DQEBAQUABIICACDRoXdtO/9sPyGyL4Fub1T+h42S -->
<!-- OduxfckG5o0+s+Pyns22SuUj1D2Tytc5kK5OyJIgzbIMWsgFtFd+hgUJYQLOY2zD -->
<!-- zPREyakthGhXyw7zUGbcZdPPAtPj4CxvE1LXeS62/Toe8JNo3kDkLF7+CLaAxLOW -->
<!-- JUZbIxhvzpGKgxN8CWzMP5lJyAV1I7A20TJl1fksQcT5h/xsAQhWg1/7s/nAYSYJ -->
<!-- 6S/f6oyhl5wuXZbhF3TFnkO9+DiHIGiPVZDdFnSRDU3kIHphVaE2wXD74qQ1+CFn -->
<!-- XxMXBXztFjJxf3AjfYqw6suTOtkCNLPnC+BauZQeKe2IoWHfRNrRAWc7vHgYWjer -->
<!-- xtKogWbqla0JecNNh6aPYrG0X2o0E2c9Kpf1RxperXamj6QdUVV9F4KjN5PS+hcd -->
<!-- U1OIcNgLZ1AstgdcpphJ4U3Dm9lj6kCRNt2+JDrmJGSu/MrgTOVz3lx2bt1cJOhD -->
<!-- QNhASdyhIrswUiF3JWNMBnUmVs/ErVq2JdU2euXMZrgVoIkf9Ex4qixUnRwFsYZJ -->
<!-- i7jjzSUf9CkHGPvdeBl/2p3MWBNk/Fww7F2EsZaffbJTDyWsrak2vWEgQqy0YnFD -->
<!-- vM1VdADpI4tzAZkWgGmMelarQ/3DDKwqjYYp3Dw9/fduT/snq53vojRWcPLHa0Ly -->
<!-- FxqOWYDlufeXLKRV -->
<!-- SIG # End signature block -->