<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>211882</bug_id>
          
          <creation_ts>2020-05-13 23:11:59 -0700</creation_ts>
          <short_desc>[WebGPU] Validation for GPUDevice.createTexture()</short_desc>
          <delta_ts>2020-05-18 18:48:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>211691</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1652524</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-13 23:11:59 -0700</bug_when>
    <thetext>[WebGPU] Validation for GPUDevice.createTexture()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652525</commentid>
    <comment_count>1</comment_count>
      <attachid>399335</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-13 23:14:38 -0700</bug_when>
    <thetext>Created attachment 399335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652526</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-13 23:15:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/63215999&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652527</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-13 23:16:49 -0700</bug_when>
    <thetext>Remaining: Test usage flags, determine which of the gazillion tests are relevant / interesting (maybe all of them?), and create an -expected.txt file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652528</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-13 23:17:07 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #3)
&gt; Remaining: Test usage flags, determine which of the gazillion tests are
&gt; relevant / interesting (maybe all of them?), and create an -expected.txt
&gt; file.

And make sure all the validation in this patch is present in the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652531</commentid>
    <comment_count>5</comment_count>
      <attachid>399336</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-13 23:18:06 -0700</bug_when>
    <thetext>Created attachment 399336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652533</commentid>
    <comment_count>6</comment_count>
      <attachid>399336</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-13 23:25:12 -0700</bug_when>
    <thetext>Comment on attachment 399336
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=399336&amp;action=review

&gt; LayoutTests/webgpu/texture-creation.html:31
&gt; +                    assert_equals(error, null, &quot;Texture failed to be created&quot;);

This could use error.message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652534</commentid>
    <comment_count>7</comment_count>
      <attachid>399338</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-13 23:26:43 -0700</bug_when>
    <thetext>Created attachment 399338
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652536</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-13 23:33:34 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #4)
&gt; (In reply to Myles C. Maxfield from comment #3)
&gt; &gt; Remaining: Test usage flags, determine which of the gazillion tests are
&gt; &gt; relevant / interesting (maybe all of them?), and create an -expected.txt
&gt; &gt; file.
&gt; 
&gt; And make sure all the validation in this patch is present in the spec.

And test maximum texture sizes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652894</commentid>
    <comment_count>9</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-14 18:02:33 -0700</bug_when>
    <thetext>...And make sure the rest of the tests still pass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652897</commentid>
    <comment_count>10</comment_count>
      <attachid>399433</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-14 18:10:42 -0700</bug_when>
    <thetext>Created attachment 399433
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652949</commentid>
    <comment_count>11</comment_count>
      <attachid>399456</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-14 22:49:06 -0700</bug_when>
    <thetext>Created attachment 399456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652951</commentid>
    <comment_count>12</comment_count>
      <attachid>399456</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-14 22:56:32 -0700</bug_when>
    <thetext>Comment on attachment 399456
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=399456&amp;action=review

&gt; LayoutTests/webgpu/texture-creation.html:89
&gt; +                let texture = device.createTexture({size: {width: test.width, height: test.height, depth: test.depth}, mipLevelCount: test.mipLevelCount, sampleCount: test.sampleCount, dimension: test.dimension, format: test.format, usage: test.usage});

We can just pass in the test object instead of copying all the values out of it.

Also, we should test default values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652953</commentid>
    <comment_count>13</comment_count>
      <attachid>399456</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-14 22:56:38 -0700</bug_when>
    <thetext>Comment on attachment 399456
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=399456&amp;action=review

&gt; LayoutTests/webgpu/texture-creation.html:89
&gt; +                let texture = device.createTexture({size: {width: test.width, height: test.height, depth: test.depth}, mipLevelCount: test.mipLevelCount, sampleCount: test.sampleCount, dimension: test.dimension, format: test.format, usage: test.usage});

We can just pass in the test object instead of copying all the values out of it.

Also, we should test default values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653489</commentid>
    <comment_count>14</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-17 22:13:26 -0700</bug_when>
    <thetext>The test fails on my machine even without my patch applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653496</commentid>
    <comment_count>15</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-17 23:51:57 -0700</bug_when>
    <thetext>I can reproduce the failure in a standalone Swift Playground:

import Foundation
import Metal

let device = MTLCreateSystemDefaultDevice()!
let textureDescriptor = MTLTextureDescriptor()
textureDescriptor.textureType = .type2DArray
textureDescriptor.pixelFormat = .rgba8Unorm
textureDescriptor.width = 512
textureDescriptor.height = 512
textureDescriptor.depth = 1
textureDescriptor.mipmapLevelCount = 9
textureDescriptor.sampleCount = 1
textureDescriptor.arrayLength = 2
textureDescriptor.storageMode = .managed
textureDescriptor.usage = .shaderRead
let texture = device.makeTexture(descriptor: textureDescriptor)!

let buffer = device.makeBuffer(length: 1048576, options: .storageModeShared)!
let ptr = buffer.contents().bindMemory(to: UInt8.self, capacity: 4)
ptr[0] = 0
ptr[1] = 255
ptr[2] = 0
ptr[3] = 255

let queue = device.makeCommandQueue()!
let commandBuffer = queue.makeCommandBuffer()!
let encoder = commandBuffer.makeBlitCommandEncoder()!
encoder.copy(from: buffer, sourceOffset: 0, sourceBytesPerRow: 2048, sourceBytesPerImage: 0, sourceSize: MTLSize(width: 512, height: 512, depth: 1), to: texture, destinationSlice: 0, destinationLevel: 0, destinationOrigin: MTLOrigin(x: 0, y: 0, z: 0))
encoder.synchronize(resource: texture)
encoder.endEncoding()
commandBuffer.addCompletedHandler {(commandBuffer) in
    var bytes = Array(repeating: UInt8(), count: 4)
    texture.getBytes(&amp;bytes, bytesPerRow: 4, bytesPerImage: 4, from: MTLRegion(origin: MTLOrigin(x: 0, y: 0, z: 0), size: MTLSize(width: 1, height: 1, depth: 1)), mipmapLevel: 0, slice: 1)
    bytes[0]
    bytes[1]
    bytes[2]
    bytes[3]
}
commandBuffer.commit()

RunLoop.main.run()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653498</commentid>
    <comment_count>16</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-17 23:54:56 -0700</bug_when>
    <thetext>(The result is [0, 0, 255, 59], which is unexpected.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653499</commentid>
    <comment_count>17</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-17 23:57:09 -0700</bug_when>
    <thetext>GFX9_MtlDevice
AMD Radeon Pro Vega 56</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653503</commentid>
    <comment_count>18</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 00:08:47 -0700</bug_when>
    <thetext>Here&apos;s a better version:

import Foundation
import Metal

let device = MTLCopyAllDevices()[0]
device.name
let textureDescriptor = MTLTextureDescriptor()
textureDescriptor.textureType = .type2DArray
textureDescriptor.pixelFormat = .rgba8Unorm
textureDescriptor.width = 512
textureDescriptor.height = 512
textureDescriptor.depth = 1
textureDescriptor.mipmapLevelCount = 9
textureDescriptor.sampleCount = 1
textureDescriptor.arrayLength = 2
textureDescriptor.storageMode = .managed
textureDescriptor.usage = .shaderRead
let texture = device.makeTexture(descriptor: textureDescriptor)!

let buffer = device.makeBuffer(length: 1048576, options: .storageModeShared)!
let ptr = buffer.contents().bindMemory(to: UInt8.self, capacity: 1048576)
ptr[0] = 0
ptr[1] = 255
ptr[2] = 0
ptr[3] = 255

let queue = device.makeCommandQueue()!
let commandBuffer = queue.makeCommandBuffer()!
let encoder = commandBuffer.makeBlitCommandEncoder()!
encoder.copy(from: buffer, sourceOffset: 0, sourceBytesPerRow: 2048, sourceBytesPerImage: 1048576, sourceSize: MTLSize(width: 1, height: 1, depth: 1), to: texture, destinationSlice: 0, destinationLevel: 0, destinationOrigin: MTLOrigin(x: 0, y: 0, z: 0))
encoder.synchronize(resource: texture)
encoder.endEncoding()
commandBuffer.addCompletedHandler {(commandBuffer) in
    if commandBuffer.error != nil {
        print(&quot;\(commandBuffer.error!)&quot;)
    }
    var bytes = Array(repeating: UInt8(), count: 1048576)
    texture.getBytes(&amp;bytes, bytesPerRow: 4, bytesPerImage: 4, from: MTLRegion(origin: MTLOrigin(x: 0, y: 0, z: 0), size: MTLSize(width: 512, height: 512, depth: 1)), mipmapLevel: 0, slice: 0)
    bytes[0]
    bytes[1]
    bytes[2]
    bytes[3]
}
commandBuffer.commit()

RunLoop.main.run()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653505</commentid>
    <comment_count>19</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 00:23:30 -0700</bug_when>
    <thetext>Oh, if you switch

bytesPerRow: 4, bytesPerImage: 4

with

bytesPerRow: 2048, bytesPerImage: 1048576

Then it looks like it starts working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653507</commentid>
    <comment_count>20</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 00:32:15 -0700</bug_when>
    <thetext>Changing the test to pass in a non-zero imageHeight doesn&apos;t solve the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653511</commentid>
    <comment_count>21</comment_count>
      <attachid>399628</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 00:55:00 -0700</bug_when>
    <thetext>Created attachment 399628
???</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653513</commentid>
    <comment_count>22</comment_count>
      <attachid>399629</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 01:07:17 -0700</bug_when>
    <thetext>Created attachment 399629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653514</commentid>
    <comment_count>23</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 01:14:03 -0700</bug_when>
    <thetext>    const textureDataBufferDescriptor = {
        size: imageData.data.length,
        usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.MAP_READ
    };


Seems to fix it for some reason?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653516</commentid>
    <comment_count>24</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 01:22:48 -0700</bug_when>
    <thetext>Looks like GPUBuffer::copyStagingBufferToGPU() doesn&apos;t call -[MTLBuffer didModifyRange:]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653520</commentid>
    <comment_count>25</comment_count>
      <attachid>399631</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 01:32:41 -0700</bug_when>
    <thetext>Created attachment 399631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653521</commentid>
    <comment_count>26</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 01:37:45 -0700</bug_when>
    <thetext>Looks like the combination of no mapping flags along with createBufferMapped is busted somehow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653526</commentid>
    <comment_count>27</comment_count>
      <attachid>399632</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 02:01:48 -0700</bug_when>
    <thetext>Created attachment 399632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653527</commentid>
    <comment_count>28</comment_count>
      <attachid>399633</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 02:03:00 -0700</bug_when>
    <thetext>Created attachment 399633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653681</commentid>
    <comment_count>29</comment_count>
      <attachid>399633</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-05-18 11:16:12 -0700</bug_when>
    <thetext>Comment on attachment 399633
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=399633&amp;action=review

Remember to not commit the change to the scheme.

&gt; Source/WebCore/WebCore.xcodeproj/xcshareddata/xcschemes/WebCore.xcscheme:47
&gt; +      &lt;PathRunnable
&gt; +         runnableDebuggingMode = &quot;0&quot;
&gt; +         BundleIdentifier = &quot;org.webkit.MiniBrowser&quot;
&gt; +         FilePath = &quot;/Users/mmaxfield/Build/Products/Debug/MiniBrowser.app&quot;&gt;
&gt; +      &lt;/PathRunnable&gt;

oops

&gt; Source/WebCore/platform/graphics/gpu/GPUDevice.cpp:118
&gt; +        if (descriptor.size.width &gt; 8192 || descriptor.size.height &gt; 8192) {

Please static const this max value.

&gt; Source/WebCore/platform/graphics/gpu/GPUDevice.cpp:122
&gt; +        if (descriptor.size.depth &gt; 2048) {

And this.

&gt; Source/WebCore/platform/graphics/gpu/GPUDevice.cpp:128
&gt; +        if (descriptor.size.width &gt; 2048 || descriptor.size.height &gt; 2048 || descriptor.size.depth &gt; 2048) {

And this.

Also, should we provide the maximum values in the error?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653706</commentid>
    <comment_count>30</comment_count>
      <attachid>399633</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-18 12:06:22 -0700</bug_when>
    <thetext>Comment on attachment 399633
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=399633&amp;action=review

&gt; Source/WebCore/ChangeLog:10
&gt; +        Add lots of validation for texture creation. The logic was gathered from
&gt; +        trial and error.

&quot;by trial and error&quot;

&gt; Source/WebCore/platform/graphics/gpu/GPUDevice.cpp:83
&gt; +    for (; !(maxDimension &amp; (1 &lt;&lt; i)) &amp;&amp; i &gt;= 0; --i) {
&gt; +    }

Weird to have this empty loop; maybe a while() is clearer? Is this just finding where the high bits are?

&gt;&gt; Source/WebCore/platform/graphics/gpu/GPUDevice.cpp:128
&gt;&gt; +        if (descriptor.size.width &gt; 2048 || descriptor.size.height &gt; 2048 || descriptor.size.depth &gt; 2048) {
&gt; 
&gt; And this.
&gt; 
&gt; Also, should we provide the maximum values in the error?

Yes.

&gt; Source/WebCore/platform/graphics/gpu/GPUDevice.cpp:141
&gt; +        m_errorScopes-&gt;generatePrefixedError(&quot;Too many miplevels.&quot;);

Show the values in the error.

&gt; Source/WebCore/platform/graphics/gpu/GPUObjectBase.h:43
&gt; +    GPUErrorScopes&amp; errorScopes() const { return m_errorScopes; }

Return const GPUErrorScopes&amp;?

&gt; Source/WebCore/platform/graphics/gpu/GPUTextureUsage.h:44
&gt;          CopySource = 1 &lt;&lt; 0,
&gt;          CopyDestination = 1 &lt;&lt; 1,
&gt;          Sampled = 1 &lt;&lt; 2,
&gt;          Storage = 1 &lt;&lt; 3,
&gt;          OutputAttachment = 1 &lt;&lt; 4,
&gt; +        MaximumValue = 1 &lt;&lt; 5,

Cool kids are lining these up these days.

&gt; Source/WebCore/platform/graphics/gpu/cocoa/GPUTextureMetal.mm:163
&gt; +        errorScopes.generatePrefixedError(&quot;Device does not support this sample count.&quot;);

Error should show the value of descriptor.sampleCount.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653858</commentid>
    <comment_count>31</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-05-18 18:48:28 -0700</bug_when>
    <thetext>Committed r261843: &lt;https://trac.webkit.org/changeset/261843&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399335</attachid>
            <date>2020-05-13 23:14:38 -0700</date>
            <delta_ts>2020-05-13 23:18:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211882-20200513231437.patch</filename>
            <type>text/plain</type>
            <size>20280</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWViNGE2NjAxNDAwM2I0
NmVlMzM0NjY0YjUxNmNmMDdkZDJkYTZkZi4uNzFkMDZmYWY5NmJkYmFmZDc3ODlhOGU0N2M2ZTdl
MTc4OWQ5MjJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTA1LTEzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
VmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogd2ViZ3B1L3RleHR1cmUtY3Jl
YXRpb24uaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR1BVRGV2aWNlOjp0cnlDcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNl
OjpjcmVhdGVUZXh0dXJlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVE
ZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Om1heGltdW1NaXBMZXZlbENvdW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkdQVURldmljZTo6dHJ5Q3JlYXRlVGV4dHVyZSBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNl
OjpzZXRFcnJvclNjb3Blcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUV4
dGVudDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJhc2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW06CisgICAgICAg
IChXZWJDb3JlOjptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6Om10bFRleHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKToKKyAg
ICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OkdQVVRleHR1cmU6OnRyeUNyZWF0ZSk6CisKIDIwMjAtMDUtMTMgIEFuZHJlcyBH
b256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vz
c2FyeSBhc3NlcnQgaW4ge1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGF0dGFjaG1lbnRW
aWV3XS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVu
dDNELmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlkbApp
bmRleCA1ZGZkY2UzMWI0OTRiMDg2MTZmNzIxNDUwODk0MGU5NDEzYzAxZmRjLi4xM2ExYjQ0NzQx
NjgxMDJhM2JmZGY0MDQyNmEwNDM2M2I3Y2I5NzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCkBAIC0yNCwxMyArMjQsMTMgQEAKICAqLwogLy8g
aHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcg
dTMyOwordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJDb29y
ZGluYXRlOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1bnRp
bWU9V2ViR1BVCiBdIGRpY3Rpb25hcnkgR1BVRXh0ZW50M0QgewotICAgIHJlcXVpcmVkIHUzMiB3
aWR0aDsKLSAgICByZXF1aXJlZCB1MzIgaGVpZ2h0OwotICAgIHJlcXVpcmVkIHUzMiBkZXB0aDsK
KyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0aDsKKyAgICByZXF1aXJlZCBH
UFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQ7CisgICAgcmVxdWlyZWQgR1BVSW50ZWdlckNvb3Jk
aW5hdGUgZGVwdGg7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCmluZGV4IDQ0NTk1Mzg4ZWVlYzJhOTVjYzM4MWQw
N2Y3OGJiYjgwOTFiZGE3M2YuLjc0NzFjM2QxNzllNjk0NDQyYzZiZTY1ZDhiZDFlNDBlYWFiOWEw
MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVE
ZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0
dXJlRGVzY3JpcHRvci5pZGwKQEAgLTQwLDcgKzQwLDYgQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25n
IEdQVVRleHR1cmVVc2FnZUZsYWdzOwogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCiBdIGRp
Y3Rpb25hcnkgR1BVVGV4dHVyZURlc2NyaXB0b3IgewogICAgIHJlcXVpcmVkIEdQVUV4dGVudDNE
IHNpemU7Ci0gICAgdTMyIGFycmF5TGF5ZXJDb3VudCA9IDE7CiAgICAgdTMyIG1pcExldmVsQ291
bnQgPSAxOwogICAgIHUzMiBzYW1wbGVDb3VudCA9IDE7CiAgICAgR1BVVGV4dHVyZURpbWVuc2lv
biBkaW1lbnNpb24gPSAiMmQiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHAKaW5kZXggODBiMWU2M2M0NjA1Zjc5NDA5MzcyZjM4MTcyMDUyMzkwOWJk
MDVmMC4uYmRkYTk0ODcyYWRkOTAzMzliNWZlNzQ0OWZmNDNiNjczNDYxZjE3OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCkBAIC05Niw4ICs5
NiwxMSBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViR1BVRGV2aWNlKTsKIAogUmVm
UHRyPFdlYkdQVURldmljZT4gV2ViR1BVRGV2aWNlOjp0cnlDcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYgYWRhcHRlcikKIHsK
LSAgICBpZiAoYXV0byBkZXZpY2UgPSBHUFVEZXZpY2U6OnRyeUNyZWF0ZShhZGFwdGVyLT5vcHRp
b25zKCkpKQotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkdQVURldmljZShjb250ZXh0
LCBXVEZNb3ZlKGFkYXB0ZXIpLCBkZXZpY2UucmVsZWFzZU5vbk51bGwoKSkpOworICAgIGlmIChh
dXRvIGRldmljZSA9IEdQVURldmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMoKSkpIHsK
KyAgICAgICAgYXV0byByZXN1bHQgPSBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRleHQs
IFdURk1vdmUoYWRhcHRlciksIG1ha2VSZWYoKmRldmljZSkpKTsKKyAgICAgICAgZGV2aWNlLT5z
ZXRFcnJvclNjb3BlcyhyZXN1bHQtPm1fZXJyb3JTY29wZXMuY29weVJlZigpKTsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKQEAgLTE3OCw4
ICsxODEsMTAgQEAgVmVjdG9yPEpTQzo6SlNWYWx1ZT4gV2ViR1BVRGV2aWNlOjpjcmVhdGVCdWZm
ZXJNYXBwZWQoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWMKICAgICByZXR1cm4geyB3cmFwcGVk
V2ViQnVmZmVyLCB3cmFwcGVkQXJyYXlCdWZmZXIgfTsKIH0KIAotUmVmPFdlYkdQVVRleHR1cmU+
IFdlYkdQVURldmljZTo6Y3JlYXRlVGV4dHVyZShjb25zdCBHUFVUZXh0dXJlRGVzY3JpcHRvciYg
ZGVzY3JpcHRvcikgY29uc3QKK1B0cjxXZWJHUFVUZXh0dXJlPiBXZWJHUFVEZXZpY2U6OmNyZWF0
ZVRleHR1cmUoY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0CiB7
CisgICAgbV9lcnJvclNjb3Blcy0+c2V0RXJyb3JQcmVmaXgoIkdQVURldmljZS5jcmVhdGVUZXh0
dXJlKCk6ICIpOworCiAgICAgYXV0byB0ZXh0dXJlID0gbV9kZXZpY2UtPnRyeUNyZWF0ZVRleHR1
cmUoZGVzY3JpcHRvcik7CiAgICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6OmNyZWF0ZShXVEZNb3Zl
KHRleHR1cmUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmgKaW5kZXggY2ZhM2I5NWVhMGIzMGRkZTAzN2QzNjBhZWVkOTNmYTI3NWQyYTk0My4uZmY1
MjVhMDAxNDBiN2FhMGZiYmQ0YjhhOTZkMzhmM2E1ZmI2NmFiMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGlj
OgogCiAgICAgUmVmPFdlYkdQVUJ1ZmZlcj4gY3JlYXRlQnVmZmVyKGNvbnN0IEdQVUJ1ZmZlckRl
c2NyaXB0b3ImKSBjb25zdDsKICAgICBWZWN0b3I8SlNDOjpKU1ZhbHVlPiBjcmVhdGVCdWZmZXJN
YXBwZWQoSlNDOjpKU0dsb2JhbE9iamVjdCYsIGNvbnN0IEdQVUJ1ZmZlckRlc2NyaXB0b3ImKSBj
b25zdDsKLSAgICBSZWY8V2ViR1BVVGV4dHVyZT4gY3JlYXRlVGV4dHVyZShjb25zdCBHUFVUZXh0
dXJlRGVzY3JpcHRvciYpIGNvbnN0OworICAgIFB0cjxXZWJHUFVUZXh0dXJlPiBjcmVhdGVUZXh0
dXJlKGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJikgY29uc3Q7CiAgICAgUmVmPFdlYkdQVVNh
bXBsZXI+IGNyZWF0ZVNhbXBsZXIoY29uc3QgR1BVU2FtcGxlckRlc2NyaXB0b3ImKSBjb25zdDsK
IAogICAgIFJlZjxXZWJHUFVCaW5kR3JvdXBMYXlvdXQ+IGNyZWF0ZUJpbmRHcm91cExheW91dChj
b25zdCBHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yJikgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCmluZGV4IGY1ZTQz
Y2VlZDk1ZmU1NzczZTM1MDgxYWRhNDhjYzRhNjkzNjgyMzMuLmI3MjhhNzQ5YTk5ZjkzZmU1ZTIy
MWUxNDAwNWQ1Zjg1NzIyM2E4NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCkBAIC02MCw5ICs2MCw5NSBAQCBSZWZQdHI8R1BV
QnVmZmVyPiBHUFVEZXZpY2U6OnRyeUNyZWF0ZUJ1ZmZlcihjb25zdCBHUFVCdWZmZXJEZXNjcmlw
dG9yJiBkZXNjcmlwdAogICAgIHJldHVybiBHUFVCdWZmZXI6OnRyeUNyZWF0ZSgqdGhpcywgZGVz
Y3JpcHRvciwgaXNNYXBwZWQsIGVycm9yU2NvcGVzKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIG1h
eGltdW1NaXBMZXZlbENvdW50KEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uLCBHUFVFeHRl
bnQzRCBzaXplKQoreworICAgIHVuc2lnbmVkIHdpZHRoID0gc2l6ZS53aWR0aDsKKyAgICB1bnNp
Z25lZCBoZWlnaHQgPSAxOworICAgIHVuc2lnbmVkIGRlcHRoID0gMTsKKyAgICBzd2l0Y2ggKGRp
bWVuc2lvbikgeworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgorICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZDoKKyAgICAgICAgaGVpZ2h0
ID0gc2l6ZS5oZWlnaHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVu
c2lvbjo6XzNkOgorICAgICAgICBoZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICAgICAgZGVwdGgg
PSBzaXplLmRlcHRoOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBhdXRvIG1heERpbWVu
c2lvbiA9IHN0ZDo6bWF4KHN0ZDo6bWF4KHdpZHRoLCBoZWlnaHQpLCBkZXB0aCk7CisgICAgaW50
IGkgPSBzaXplb2YoR1BVRXh0ZW50M0Q6OklubmVyVHlwZSkgKiA4IC0gMTsKKyAgICBmb3IgKDsg
IShtYXhEaW1lbnNpb24gJiAoMSA8PCBpKSkgJiYgaSA+PSAwOyAtLWkpIHsKKyAgICB9CisgICAg
QVNTRVJUKGkgPj0gMCk7CisgICAgcmV0dXJuIGkgKyAxOworfQorCiBSZWZQdHI8R1BVVGV4dHVy
ZT4gR1BVRGV2aWNlOjp0cnlDcmVhdGVUZXh0dXJlKGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9y
JiBkZXNjcmlwdG9yKSBjb25zdAogewotICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUo
KnRoaXMsIGRlc2NyaXB0b3IpOworICAgIGlmICghZGVzY3JpcHRvci5zaXplLndpZHRoIHx8ICFk
ZXNjcmlwdG9yLnNpemUuaGVpZ2h0IHx8ICFkZXNjcmlwdG9yLnNpemUuZGVwdGgpIHsKKyAgICAg
ICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlcyBjYW4ndCBo
YXZlIDAgZGltZW5zaW9ucy4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBp
ZiAoIWRlc2NyaXB0b3IubWlwTGV2ZWxDb3VudCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5n
ZW5lcmF0ZVByZWZpeGVkRXJyb3IoIlRleHR1cmVzIGNhbid0IGhhdmUgMCBtaXBsZXZlbHMuIik7
CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgaWYgKCFkZXNjcmlwdG9yLnNhbXBs
ZUNvdW50KSB7CisgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigi
VGV4dHVyZXMgY2FuJ3QgaGF2ZSAwIHNhbXBsZXMuIik7CisgICAgICAgIHJldHVybiB7IH07Cisg
ICAgfQorCisgICAgLy8gRklYTUU6IFZhbGlkYXRlIG1heGltdW0gc2l6ZXMKKworICAgIGlmIChk
ZXNjcmlwdG9yLmRpbWVuc2lvbiA9PSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQgJiYgZGVzY3Jp
cHRvci5taXBMZXZlbENvdW50ICE9IDEpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJh
dGVQcmVmaXhlZEVycm9yKCIxRCB0ZXh0dXJlcyBjYW4ndCBoYXZlIG1pcG1hcHMuIik7CisgICAg
ICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgaWYgKGRlc2NyaXB0b3IubWlwTGV2ZWxDb3Vu
dCA+IG1heGltdW1NaXBMZXZlbENvdW50KGRlc2NyaXB0b3IuZGltZW5zaW9uLCBkZXNjcmlwdG9y
LnNpemUpKSB7CisgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigi
VG9vIG1hbnkgbWlwbGV2ZWxzLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAg
IGlmIChkZXNjcmlwdG9yLnNhbXBsZUNvdW50ICE9IDEpIHsKKyAgICAgICAgaWYgKGRlc2NyaXB0
b3IuZGltZW5zaW9uICE9IEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZCkgeworICAgICAgICAgICAg
bV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlIGRpbWVuc2lvbiBp
bmNvbXBhdGlibGUgd2l0aCBtdWx0aXNhbXBsaW5nLiIpOworICAgICAgICAgICAgcmV0dXJuIHsg
fTsKKyAgICAgICAgfQorICAgICAgICBpZiAoZGVzY3JpcHRvci5taXBMZXZlbENvdW50ICE9IDEp
IHsKKyAgICAgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiTXVs
dGlzYW1wbGVkIHRleHR1cmVzIGNhbid0IGhhdmUgbWlwbWFwcy4iKTsKKyAgICAgICAgICAgIHJl
dHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgLy8gRklYTUU6IE9ubHkgc29tZSBwaXhlbCBm
b3JtYXRzIGFyZSBjYXBhYmxlIG9mIE1TQUEuIEZpbHRlciB0aG9zZSBoZXJlLgorICAgIH0KKwor
ICAgIGlmIChkZXNjcmlwdG9yLnNpemUuaGVpZ2h0ICE9IDEgJiYgZGVzY3JpcHRvci5kaW1lbnNp
b24gPT0gR1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkKSB7CisgICAgICAgIG1fZXJyb3JTY29wZXMt
PmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiMUQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBoZWlnaHQgIT0g
MS4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICAvLyBUaGUgaGVpZ2h0IGNv
bXBvbmVudCBmb3IgMWQgdGV4dHVyZXMgaXMgdGhlIGFycmF5IGxlbmd0aC4KKyAgICAvLyBUaGUg
ZGVwdGggY29tcG9uZW50IGZvciAyZCB0ZXh0dXJlcyBpcyB0aGUgYXJyYXkgbGVuZ3RoLgorICAg
IGlmIChkZXNjcmlwdG9yLmRpbWVuc2lvbiA9PSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQgJiYg
ZGVzY3JpcHRvci5zaXplLmRlcHRoICE9IDEpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2Vu
ZXJhdGVQcmVmaXhlZEVycm9yKCIxRCB0ZXh0dXJlcyBjYW4ndCBoYXZlIGhlaWdodCBvciBkZXB0
aCAhPSAxLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIGlmIChkZXNjcmlw
dG9yLmZvcm1hdCA9PSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsOCAmJiBk
ZXNjcmlwdG9yLmRpbWVuc2lvbiAhPSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMmQpIHsKKyAgICAg
ICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJEZXB0aC9zdGVuY2lsIHRl
eHR1cmVzIG11c3QgYmUgMmQuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAg
aWYgKGRlc2NyaXB0b3IuZm9ybWF0ID09IEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMzJmbG9hdFN0
ZW5jaWw4ICYmIGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgeworICAgICAgICBtX2Vycm9y
U2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRlcHRoL3N0ZW5jaWwgdGV4dHVyZXMgY2Fu
J3QgYmUgbXVsdGlzYW1wbGVkLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAg
IHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKnRoaXMsIGRlc2NyaXB0b3IsIG1ha2VSZWYo
Km1fZXJyb3JTY29wZXMpKTsKIH0KIAogUmVmUHRyPEdQVVNhbXBsZXI+IEdQVURldmljZTo6dHJ5
Q3JlYXRlU2FtcGxlcihjb25zdCBHUFVTYW1wbGVyRGVzY3JpcHRvciYgZGVzY3JpcHRvcikgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
ZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2Uu
aAppbmRleCA1OGIxMjAwMzFkZjAxZDcwZjdiOGY3YTVjZjZkM2ZmMmUzZDcxMjAwLi5mNTQ5NmNj
NjdkODQzZTBiOWE1YWU2ZGIyY2UwZDhkNTU2OGE5ZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAj
aWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUgIkdQVUJpbmRHcm91cEFsbG9jYXRvci5oIgor
I2luY2x1ZGUgIkdQVUVycm9yU2NvcGVzLmgiCiAjaW5jbHVkZSAiR1BVUXVldWUuaCIKICNpbmNs
dWRlICJHUFVTd2FwQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KQEAgLTk1LDYg
Kzk2LDggQEAgcHVibGljOgogICAgIEdQVVN3YXBDaGFpbiogc3dhcENoYWluKCkgY29uc3QgeyBy
ZXR1cm4gbV9zd2FwQ2hhaW4uZ2V0KCk7IH0KICAgICB2b2lkIHNldFN3YXBDaGFpbihSZWZQdHI8
R1BVU3dhcENoYWluPiYmKTsKIAorICAgIHZvaWQgc2V0RXJyb3JTY29wZXMoUmVmPEdQVUVycm9y
U2NvcGVzPiYmIGVycm9yU2NvcGVzKSB7IG1fZXJyb3JTY29wZXMgPSBXVEZNb3ZlKGVycm9yU2Nv
cGVzKTsgfQorCiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIHVzZVdITFNMID0gdHJ1ZTsKIAog
cHJpdmF0ZToKQEAgLTEwNCw2ICsxMDcsNyBAQCBwcml2YXRlOgogICAgIG11dGFibGUgUmVmUHRy
PEdQVVF1ZXVlPiBtX3F1ZXVlOwogICAgIFJlZlB0cjxHUFVTd2FwQ2hhaW4+IG1fc3dhcENoYWlu
OwogICAgIG11dGFibGUgUmVmUHRyPEdQVUJpbmRHcm91cEFsbG9jYXRvcj4gbV9iaW5kR3JvdXBB
bGxvY2F0b3I7CisgICAgUmVmUHRyPEdQVUVycm9yU2NvcGVzPiBtX2Vycm9yU2NvcGVzOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUV4dGVudDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaAppbmRleCAzMTk1ZDE3Mzk0NmM0ZDBjOTZlMjJk
YjZjZTU0MGQzMTVhMzAxOWYzLi41NDQ4MjY1MjBjYzVlN2UwY2M5ZmY0M2ZkMTQyODBmNTA0NGI3
ZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RXh0ZW50M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RXh0ZW50M0QuaApAQCAtMzAsOSArMzAsMTAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAK
IHN0cnVjdCBHUFVFeHRlbnQzRCB7Ci0gICAgdW5zaWduZWQgd2lkdGg7Ci0gICAgdW5zaWduZWQg
aGVpZ2h0OwotICAgIHVuc2lnbmVkIGRlcHRoOworICAgIHVzaW5nIElubmVyVHlwZSA9IHVuc2ln
bmVkOworICAgIElubmVyVHlwZSB3aWR0aDsKKyAgICBJbm5lclR5cGUgaGVpZ2h0OworICAgIElu
bmVyVHlwZSBkZXB0aDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPYmplY3RCYXNlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVT2JqZWN0QmFzZS5oCmluZGV4
IDk0YzFmNTI3OTQ0ZjIzMzMwOWE0NTVjNjkwYzdjYWI5MmRlZDVmNDcuLjY3YjJkOTE4YzJlNTQ1
MTdjYjM3ZmZmZWE2YjI2MmQ0NWY4MmZhOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPYmplY3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJhc2UuaApAQCAtNDAsNyArNDAsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgR1BVT2JqZWN0QmFzZShSZWY8R1BVRXJyb3JTY29wZXM+JiYgcmVwb3J0
ZXIpCiAgICAgICAgIDogbV9lcnJvclNjb3BlcyhXVEZNb3ZlKHJlcG9ydGVyKSkgeyB9CiAKLSAg
ICBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMoKSB7IHJldHVybiBtX2Vycm9yU2NvcGVzOyB9
CisgICAgR1BVRXJyb3JTY29wZXMmIGVycm9yU2NvcGVzKCkgY29uc3QgeyByZXR1cm4gbV9lcnJv
clNjb3BlczsgfQogCiBwcml2YXRlOgogICAgIFJlZjxHUFVFcnJvclNjb3Blcz4gbV9lcnJvclNj
b3BlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4
dHVyZS5oCmluZGV4IGZmN2FhYjA5NjViNjJkYmQxZTNkYjM3NTkyYTU3ZDM0YWNhOWE5YzIuLmIy
YWRlMmNlY2NkNTg3Zjk1NDljOGEzYWI2ZDU1ZTM5ZDg3M2M0ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuaApAQCAtNDYsNyArNDYs
NyBAQCB1c2luZyBQbGF0Zm9ybVRleHR1cmVTbWFydFB0ciA9IFJldGFpblB0cjxNVExUZXh0dXJl
PjsKIAogY2xhc3MgR1BVVGV4dHVyZSA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVVRleHR1cmU+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPEdQVVRleHR1cmU+IHRyeUNyZWF0ZShjb25zdCBH
UFVEZXZpY2UmLCBjb25zdCBHUFVUZXh0dXJlRGVzY3JpcHRvciYpOworICAgIHN0YXRpYyBSZWZQ
dHI8R1BVVGV4dHVyZT4gdHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYsIGNvbnN0IEdQVVRleHR1
cmVEZXNjcmlwdG9yJiwgR1BVRXJyb3JTY29wZXMmKTsKICAgICBzdGF0aWMgUmVmPEdQVVRleHR1
cmU+IGNyZWF0ZShQbGF0Zm9ybVRleHR1cmVTbWFydFB0ciYmLCBPcHRpb25TZXQ8R1BVVGV4dHVy
ZVVzYWdlOjpGbGFncz4pOwogCiAgICAgUGxhdGZvcm1UZXh0dXJlICpwbGF0Zm9ybVRleHR1cmUo
KSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtVGV4dHVyZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2Ny
aXB0b3IuaAppbmRleCA2NmUxYzE3YmQ4YmRkNjE3ZjdlOTQ1ZGRkMWJmZDk3OWY1NWZlMTgwLi5i
MmE2ODVhMjE5ZjMyOWI2MDcwNGQzZTY1NjIzYjVhNmFiN2VkZTIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2Ny
aXB0b3IuaApAQCAtNDEsNyArNDEsNiBAQCBlbnVtIGNsYXNzIEdQVVRleHR1cmVEaW1lbnNpb24g
ewogICAgIAogc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yIHsKICAgICBHUFVFeHRlbnQzRCBz
aXplOwotICAgIHVuc2lnbmVkIGFycmF5TGF5ZXJDb3VudDsKICAgICB1bnNpZ25lZCBtaXBMZXZl
bENvdW50OwogICAgIHVuc2lnbmVkIHNhbXBsZUNvdW50OwogICAgIEdQVVRleHR1cmVEaW1lbnNp
b24gZGltZW5zaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L2NvY29hL0dQVVRleHR1cmVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW0KaW5kZXggNWRiMWRhYTQ1NTY5
N2Y1MzA1M2M4NGFmNTBkZGVkODE1NTQ3N2U3ZC4uZTdkMTBkNDYxZjBmNjg1OGZkNTAwZTQ4ZmQz
ZDk3YzQyYTkxZGEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L2NvY29hL0dQVVRleHR1cmVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1tCkBAIC00MiwxMiArNDIs
MTEgQEAgc3RhdGljIE1UTFRleHR1cmVUeXBlIG10bFRleHR1cmVUeXBlRm9yR1BVVGV4dHVyZURl
c2NyaXB0b3IoY29uc3QgR1BVVGV4dHVyZURlc2MKIHsKICAgICBzd2l0Y2ggKGRlc2NyaXB0b3Iu
ZGltZW5zaW9uKSB7CiAgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6Ci0gICAgICAg
IHJldHVybiAoZGVzY3JpcHRvci5hcnJheUxheWVyQ291bnQgPT0gMSkgPyBNVExUZXh0dXJlVHlw
ZTFEIDogTVRMVGV4dHVyZVR5cGUxREFycmF5OworICAgICAgICByZXR1cm4gKGRlc2NyaXB0b3Iu
c2l6ZS5oZWlnaHQgPT0gMSkgPyBNVExUZXh0dXJlVHlwZTFEIDogTVRMVGV4dHVyZVR5cGUxREFy
cmF5OwogICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkOiB7Ci0gICAgICAgIGlmIChk
ZXNjcmlwdG9yLmFycmF5TGF5ZXJDb3VudCA9PSAxKQorICAgICAgICBpZiAoZGVzY3JpcHRvci5z
aXplLmRlcHRoID09IDEpCiAgICAgICAgICAgICByZXR1cm4gKGRlc2NyaXB0b3Iuc2FtcGxlQ291
bnQgPT0gMSkgPyBNVExUZXh0dXJlVHlwZTJEIDogTVRMVGV4dHVyZVR5cGUyRE11bHRpc2FtcGxl
OwotCi0gICAgICAgIHJldHVybiBNVExUZXh0dXJlVHlwZTJEQXJyYXk7CisgICAgICAgIHJldHVy
biAoZGVzY3JpcHRvci5zYW1wbGVDb3VudCA9PSAxKSA/IE1UTFRleHR1cmVUeXBlMkRBcnJheSA6
IE1UTFRleHR1cmVUeXBlMkRNdWx0aXNhbXBsZUFycmF5OwogICAgIH0KICAgICBjYXNlIEdQVVRl
eHR1cmVEaW1lbnNpb246Ol8zZDoKICAgICAgICAgcmV0dXJuIE1UTFRleHR1cmVUeXBlM0Q7CkBA
IC02NSw3ICs2NCw3IEBAIHN0YXRpYyBPcHRpb25hbDxNVExUZXh0dXJlVXNhZ2U+IG10bFRleHR1
cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKE9wdGlvblNlCiAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CiAgICAgfQogCi0gICAgTVRMVGV4dHVyZVVzYWdlIHJlc3VsdCA9IE1UTFRl
eHR1cmVVc2FnZVBpeGVsRm9ybWF0VmlldzsKKyAgICBNVExUZXh0dXJlVXNhZ2UgcmVzdWx0ID0g
MDsKICAgICBpZiAoZmxhZ3MuY29udGFpbnMoR1BVVGV4dHVyZVVzYWdlOjpGbGFnczo6T3V0cHV0
QXR0YWNobWVudCkpCiAgICAgICAgIHJlc3VsdCB8PSBNVExUZXh0dXJlVXNhZ2VSZW5kZXJUYXJn
ZXQ7CiAgICAgaWYgKGZsYWdzLmNvbnRhaW5zQW55KHsgR1BVVGV4dHVyZVVzYWdlOjpGbGFnczo6
U3RvcmFnZSwgR1BVVGV4dHVyZVVzYWdlOjpGbGFnczo6U2FtcGxlZCB9KSkKQEAgLTEwMiw3ICsx
MDEsMjQgQEAgc3RhdGljIFJldGFpblB0cjxNVExUZXh0dXJlRGVzY3JpcHRvcj4gdHJ5Q3JlYXRl
TXRsVGV4dHVyZURlc2NyaXB0b3IoY29uc3QgY2hhcioKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgfQogCi0gICAgLy8gRklYTUU6IEFkZCBtb3JlIHZhbGlkYXRpb24gYXMgY29uc3RyYWlu
dHMgYXJlIGFkZGVkIHRvIHNwZWMuCisgICAgdW5zaWduZWQgd2lkdGggPSBkZXNjcmlwdG9yLnNp
emUud2lkdGg7CisgICAgdW5zaWduZWQgaGVpZ2h0ID0gMTsKKyAgICB1bnNpZ25lZCBkZXB0aCA9
IDE7CisgICAgdW5zaWduZWQgYXJyYXlMZW5ndGggPSAxOworICAgIHN3aXRjaCAoZGVzY3JpcHRv
ci5kaW1lbnNpb24pIHsKKyAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8xZDoKKyAgICAg
ICAgYXJyYXlMZW5ndGggPSBkZXNjcmlwdG9yLnNpemUuaGVpZ2h0OworICAgICAgICBicmVhazsK
KyAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZDoKKyAgICAgICAgaGVpZ2h0ID0gZGVz
Y3JpcHRvci5zaXplLmhlaWdodDsKKyAgICAgICAgYXJyYXlMZW5ndGggPSBkZXNjcmlwdG9yLnNp
emUuZGVwdGg7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6
XzNkOgorICAgICAgICBoZWlnaHQgPSBkZXNjcmlwdG9yLnNpemUuaGVpZ2h0OworICAgICAgICBk
ZXB0aCA9IGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCiAg
ICAgYXV0byBwaXhlbEZvcm1hdCA9IHN0YXRpY19jYXN0PE1UTFBpeGVsRm9ybWF0PihwbGF0Zm9y
bVRleHR1cmVGb3JtYXRGb3JHUFVUZXh0dXJlRm9ybWF0KGRlc2NyaXB0b3IuZm9ybWF0KSk7CiAK
ICAgICBhdXRvIG10bFVzYWdlID0gbXRsVGV4dHVyZVVzYWdlRm9yR1BVVGV4dHVyZVVzYWdlRmxh
Z3ModXNhZ2UsIGZ1bmN0aW9uTmFtZSk7CkBAIC0xMTcsMTAgKzEzMywxMCBAQCBzdGF0aWMgUmV0
YWluUHRyPE1UTFRleHR1cmVEZXNjcmlwdG9yPiB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRv
cihjb25zdCBjaGFyKgogCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogCi0gICAg
W210bERlc2NyaXB0b3Igc2V0V2lkdGg6ZGVzY3JpcHRvci5zaXplLndpZHRoXTsKLSAgICBbbXRs
RGVzY3JpcHRvciBzZXRIZWlnaHQ6ZGVzY3JpcHRvci5zaXplLmhlaWdodF07Ci0gICAgW210bERl
c2NyaXB0b3Igc2V0RGVwdGg6ZGVzY3JpcHRvci5zaXplLmRlcHRoXTsKLSAgICBbbXRsRGVzY3Jp
cHRvciBzZXRBcnJheUxlbmd0aDpkZXNjcmlwdG9yLmFycmF5TGF5ZXJDb3VudF07CisgICAgW210
bERlc2NyaXB0b3Igc2V0V2lkdGg6d2lkdGhdOworICAgIFttdGxEZXNjcmlwdG9yIHNldEhlaWdo
dDpoZWlnaHRdOworICAgIFttdGxEZXNjcmlwdG9yIHNldERlcHRoOmRlcHRoXTsKKyAgICBbbXRs
RGVzY3JpcHRvciBzZXRBcnJheUxlbmd0aDphcnJheUxlbmd0aF07CiAgICAgW210bERlc2NyaXB0
b3Igc2V0TWlwbWFwTGV2ZWxDb3VudDpkZXNjcmlwdG9yLm1pcExldmVsQ291bnRdOwogICAgIFtt
dGxEZXNjcmlwdG9yIHNldFNhbXBsZUNvdW50OmRlc2NyaXB0b3Iuc2FtcGxlQ291bnRdOwogICAg
IFttdGxEZXNjcmlwdG9yIHNldFRleHR1cmVUeXBlOm10bFRleHR1cmVUeXBlRm9yR1BVVGV4dHVy
ZURlc2NyaXB0b3IoZGVzY3JpcHRvcildOwpAQCAtMTM0LDcgKzE1MCw3IEBAIHN0YXRpYyBSZXRh
aW5QdHI8TVRMVGV4dHVyZURlc2NyaXB0b3I+IHRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9y
KGNvbnN0IGNoYXIqCiAgICAgcmV0dXJuIG10bERlc2NyaXB0b3I7CiB9CiAKLVJlZlB0cjxHUFVU
ZXh0dXJlPiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNv
bnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQorUmVmUHRyPEdQVVRleHR1cmU+
IEdQVVRleHR1cmU6OnRyeUNyZWF0ZShjb25zdCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3QgR1BV
VGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIEdQVUVycm9yU2NvcGVzJiBlcnJvclNjb3Bl
cykKIHsKICAgICBjb25zdCBjaGFyKiBjb25zdCBmdW5jdGlvbk5hbWUgPSAiR1BVVGV4dHVyZTo6
dHJ5Q3JlYXRlKCkiOwogCkBAIC0xNDMsNiArMTU5LDExIEBAIFJlZlB0cjxHUFVUZXh0dXJlPiBH
UFVUZXh0dXJlOjp0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRl
eHR1CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAorICAgIGlmICghW2RldmljZS5w
bGF0Zm9ybURldmljZSgpIHN1cHBvcnRzVGV4dHVyZVNhbXBsZUNvdW50OmRlc2NyaXB0b3Iuc2Ft
cGxlQ291bnRdKSB7CisgICAgICAgIGVycm9yU2NvcGVzLmdlbmVyYXRlUHJlZml4ZWRFcnJvcigi
RGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBzYW1wbGUgY291bnQuIik7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorCiAgICAgYXV0byB1c2FnZSA9IE9wdGlvblNldDxHUFVUZXh0dXJl
VXNhZ2U6OkZsYWdzPjo6ZnJvbVJhdyhkZXNjcmlwdG9yLnVzYWdlKTsKICAgICBhdXRvIG10bERl
c2NyaXB0b3IgPSB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihmdW5jdGlvbk5hbWUsIGRl
c2NyaXB0b3IsIHVzYWdlKTsKICAgICBpZiAoIW10bERlc2NyaXB0b3IpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWI1YmQy
OGUyYTkzYTQ0ZmIzNWQ5ZWY1OTY2Y2MyNjc1ZWFmNWQyMy4uOWIyYmZkYjE3ZjQ3NjU1MTAxYjYz
OTZiZGJlYmYxMTk2ZDhhYTAxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA1LTEzICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQ
VV0gVmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJncHUvdGV4dHVyZS1jcmVh
dGlvbi5odG1sOiBBZGRlZC4KKwogMjAyMC0wNS0xMyAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBFbmFibGUgd2ViZ2xfY2FudmFzLyB0ZXN0cwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3RleHR1cmUtY3JlYXRpb24uaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU1YjAzZWE1N2Jm
MDhlMDk5OTNiYTU0NTc2MmM1MmU4ZTU2MWQ4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciBjcmVhdGlu
ZyB0ZXh0dXJlIHZpZXdzLjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJs
b25nIj4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+Cithc3luYyBmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICBsZXQgd2lkdGgg
PSAxOworICAgIGxldCBoZWlnaHQgPSAxOworICAgIGxldCBkZXB0aCA9IDI7CisgICAgbGV0IG1p
cExldmVsQ291bnQgPSAyOworICAgIGxldCBzYW1wbGVDb3VudCA9IDE7CisgICAgbGV0IGRpbWVu
c2lvbiA9ICIzZCI7CisgICAgbGV0IGZvcm1hdCA9ICJyZ2JhOHVub3JtIjsKKyAgICBmb3IgKGxl
dCB3aWR0aCA9IC0xOyB3aWR0aCA8PSA0OyArK3dpZHRoKSB7CisgICAgZm9yIChsZXQgaGVpZ2h0
ID0gLTE7IGhlaWdodCA8PSA0OyArK2hlaWdodCkgeworICAgIGZvciAobGV0IGRlcHRoID0gLTE7
IGRlcHRoIDw9IDQ7ICsrZGVwdGgpIHsKKyAgICBmb3IgKGxldCBtaXBMZXZlbENvdW50ID0gLTE7
IG1pcExldmVsQ291bnQgPD0gNDsgKyttaXBMZXZlbENvdW50KSB7CisgICAgZm9yIChsZXQgc2Ft
cGxlQ291bnQgPSAtMTsgc2FtcGxlQ291bnQgPD0gNDsgKytzYW1wbGVDb3VudCkgeworICAgIGZv
ciAobGV0IGRpbWVuc2lvbiBvZiBbIjFkIiwgIjJkIiwgIjNkIl0pIHsKKyAgICBmb3IgKGxldCBm
b3JtYXQgb2YgWyJyZ2JhOHVub3JtIiwgInJnYmE4dWludCIsICJiZ3JhOHVub3JtIiwgImRlcHRo
MzJmbG9hdC1zdGVuY2lsOCIsICJiZ3JhOHVub3JtLXNyZ2IiLCAicmdiYTE2ZmxvYXQiXSkgewor
ICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIGdldEJhc2lj
RGV2aWNlKCkudGhlbihhc3luYyBmdW5jdGlvbihkZXZpY2UpIHsKKyAgICAgICAgICAgICAgICBk
ZXZpY2UucHVzaEVycm9yU2NvcGUoInZhbGlkYXRpb24iKTsKKyAgICAgICAgICAgICAgICBsZXQg
dGV4dHVyZSA9IGRldmljZS5jcmVhdGVUZXh0dXJlKHtzaXplOiB7d2lkdGgsIGhlaWdodCwgZGVw
dGh9LCBtaXBMZXZlbENvdW50LCBzYW1wbGVDb3VudCwgZGltZW5zaW9uLCBmb3JtYXQsIHVzYWdl
OiAwfSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUodGV4dHVyZSBpbnN0YW5jZW9mIEdQ
VVRleHR1cmUsICJDYW5ub3QgY3JlYXRlIHRleHR1cmUuIik7CisgICAgICAgICAgICAgICAgYXdh
aXQgZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAg
ICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXJyb3IsIG51bGwsICJUZXh0dXJlIGZhaWxlZCB0
byBiZSBjcmVhdGVkIik7CisgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiZGV2aWNlIGxvc3QiKTsKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIH0p
OworICAgICAgICB9LCBgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoICR7d2lkdGh9IGhlaWdo
dCAke2hlaWdodH0gZGVwdGggJHtkZXB0aH0gbWlwTGV2ZWxDb3VudCAke21pcExldmVsQ291bnR9
IHNhbXBsZUNvdW50ICR7c2FtcGxlQ291bnR9IGRpbWVuc2lvbiAke2RpbWVuc2lvbn0gZm9ybWF0
ICR7Zm9ybWF0fS5gKTsKKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0K
KyAgICB9Cit9CisKK3J1blRlc3RzKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399336</attachid>
            <date>2020-05-13 23:18:06 -0700</date>
            <delta_ts>2020-05-13 23:26:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211882-20200513231805.patch</filename>
            <type>text/plain</type>
            <size>19372</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWViNGE2NjAxNDAwM2I0
NmVlMzM0NjY0YjUxNmNmMDdkZDJkYTZkZi4uNjUzNmE5NDg1NjczZWYxZmExMDQxNjBhNjBjOTlj
ZTkyZDc5MzE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA1LTEzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
VmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82MzIxNTk5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiB3ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6OnRyeUNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6OmNyZWF0ZVRleHR1cmUgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bWF4
aW11bU1pcExldmVsQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjp0cnlDcmVh
dGVUZXh0dXJlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnNldEVycm9yU2NvcGVzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVT2JqZWN0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6
R1BVT2JqZWN0QmFzZTo6ZXJyb3JTY29wZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BV
T2JqZWN0QmFzZTo6ZXJyb3JTY29wZXMpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVRleHR1cmVEZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2NvY29hL0dQVVRleHR1cmVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6Om10bFRleHR1cmVU
eXBlRm9yR1BVVGV4dHVyZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6bXRsVGV4dHVy
ZVVzYWdlRm9yR1BVVGV4dHVyZVVzYWdlRmxhZ3MpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5Q3Jl
YXRlTXRsVGV4dHVyZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6R1BVVGV4dHVyZTo6
dHJ5Q3JlYXRlKToKKwogMjAyMC0wNS0xMyAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGFzc2VydCBpbiB7V2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYXR0YWNobWVudFZpZXddLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCmluZGV4IDVkZmRjZTMxYjQ5NGIwODYx
NmY3MjE0NTA4OTQwZTk0MTNjMDFmZGMuLjEzYTFiNDQ3NDE2ODEwMmEzYmZkZjQwNDI2YTA0MzYz
YjdjYjk3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4
dGVudDNELmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQz
RC5pZGwKQEAgLTI0LDEzICsyNCwxMyBAQAogICovCiAvLyBodHRwczovL2dwdXdlYi5naXRodWIu
aW8vZ3B1d2ViCiAKLXR5cGVkZWYgdW5zaWduZWQgbG9uZyB1MzI7Cit0eXBlZGVmIFtFbmZvcmNl
UmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVSW50ZWdlckNvb3JkaW5hdGU7CiAKIFsKICAgICBDb25k
aXRpb25hbD1XRUJHUFUsCiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKIF0gZGljdGlvbmFy
eSBHUFVFeHRlbnQzRCB7Ci0gICAgcmVxdWlyZWQgdTMyIHdpZHRoOwotICAgIHJlcXVpcmVkIHUz
MiBoZWlnaHQ7Ci0gICAgcmVxdWlyZWQgdTMyIGRlcHRoOworICAgIHJlcXVpcmVkIEdQVUludGVn
ZXJDb29yZGluYXRlIHdpZHRoOworICAgIHJlcXVpcmVkIEdQVUludGVnZXJDb29yZGluYXRlIGhl
aWdodDsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBkZXB0aDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRv
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRv
ci5pZGwKaW5kZXggNDQ1OTUzODhlZWVjMmE5NWNjMzgxZDA3Zjc4YmJiODA5MWJkYTczZi4uNzQ3
MWMzZDE3OWU2OTQ0NDJjNmJlNjVkOGJkMWU0MGVhYWI5YTAwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbApAQCAt
NDAsNyArNDAsNiBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3M7
CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKIF0gZGljdGlvbmFyeSBHUFVUZXh0dXJlRGVz
Y3JpcHRvciB7CiAgICAgcmVxdWlyZWQgR1BVRXh0ZW50M0Qgc2l6ZTsKLSAgICB1MzIgYXJyYXlM
YXllckNvdW50ID0gMTsKICAgICB1MzIgbWlwTGV2ZWxDb3VudCA9IDE7CiAgICAgdTMyIHNhbXBs
ZUNvdW50ID0gMTsKICAgICBHUFVUZXh0dXJlRGltZW5zaW9uIGRpbWVuc2lvbiA9ICIyZCI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAppbmRleCA4
MGIxZTYzYzQ2MDVmNzk0MDkzNzJmMzgxNzIwNTIzOTA5YmQwNWYwLi5jYTAxYjEwMTVhZDYxY2Nj
MzlhZDMzOWI5YWRiN2JlNDY5ZjFiMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTk2LDggKzk2LDExIEBAIFdURl9NQUtFX0lTT19B
TExPQ0FURURfSU1QTChXZWJHUFVEZXZpY2UpOwogCiBSZWZQdHI8V2ViR1BVRGV2aWNlPiBXZWJH
UFVEZXZpY2U6OnRyeUNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8
Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiBhZGFwdGVyKQogewotICAgIGlmIChhdXRvIGRldmljZSA9
IEdQVURldmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMoKSkpCi0gICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRleHQsIFdURk1vdmUoYWRhcHRlciksIGRl
dmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CisgICAgaWYgKGF1dG8gZGV2aWNlID0gR1BVRGV2aWNl
Ojp0cnlDcmVhdGUoYWRhcHRlci0+b3B0aW9ucygpKSkgeworICAgICAgICBhdXRvIHJlc3VsdCA9
IGFkb3B0UmVmKG5ldyBXZWJHUFVEZXZpY2UoY29udGV4dCwgV1RGTW92ZShhZGFwdGVyKSwgbWFr
ZVJlZigqZGV2aWNlKSkpOworICAgICAgICBkZXZpY2UtPnNldEVycm9yU2NvcGVzKHJlc3VsdC0+
bV9lcnJvclNjb3Blcy5jb3B5UmVmKCkpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
ICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAtMTgwLDYgKzE4Myw4IEBAIFZlY3RvcjxKU0M6
OkpTVmFsdWU+IFdlYkdQVURldmljZTo6Y3JlYXRlQnVmZmVyTWFwcGVkKEpTQzo6SlNHbG9iYWxP
YmplY3QmIGxleGljCiAKIFJlZjxXZWJHUFVUZXh0dXJlPiBXZWJHUFVEZXZpY2U6OmNyZWF0ZVRl
eHR1cmUoY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0CiB7Cisg
ICAgbV9lcnJvclNjb3Blcy0+c2V0RXJyb3JQcmVmaXgoIkdQVURldmljZS5jcmVhdGVUZXh0dXJl
KCk6ICIpOworCiAgICAgYXV0byB0ZXh0dXJlID0gbV9kZXZpY2UtPnRyeUNyZWF0ZVRleHR1cmUo
ZGVzY3JpcHRvcik7CiAgICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6OmNyZWF0ZShXVEZNb3ZlKHRl
eHR1cmUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVURldmljZS5jcHAKaW5kZXggZjVlNDNjZWVkOTVmZTU3NzNlMzUwODFhZGE0OGNjNGE2OTM2
ODIzMy4uYjcyOGE3NDlhOTlmOTNmZTVlMjIxZTE0MDA1ZDVmODU3MjIzYTg0ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKQEAg
LTYwLDkgKzYwLDk1IEBAIFJlZlB0cjxHUFVCdWZmZXI+IEdQVURldmljZTo6dHJ5Q3JlYXRlQnVm
ZmVyKGNvbnN0IEdQVUJ1ZmZlckRlc2NyaXB0b3ImIGRlc2NyaXB0CiAgICAgcmV0dXJuIEdQVUJ1
ZmZlcjo6dHJ5Q3JlYXRlKCp0aGlzLCBkZXNjcmlwdG9yLCBpc01hcHBlZCwgZXJyb3JTY29wZXMp
OwogfQogCitzdGF0aWMgdW5zaWduZWQgbWF4aW11bU1pcExldmVsQ291bnQoR1BVVGV4dHVyZURp
bWVuc2lvbiBkaW1lbnNpb24sIEdQVUV4dGVudDNEIHNpemUpCit7CisgICAgdW5zaWduZWQgd2lk
dGggPSBzaXplLndpZHRoOworICAgIHVuc2lnbmVkIGhlaWdodCA9IDE7CisgICAgdW5zaWduZWQg
ZGVwdGggPSAxOworICAgIHN3aXRjaCAoZGltZW5zaW9uKSB7CisgICAgY2FzZSBHUFVUZXh0dXJl
RGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVu
c2lvbjo6XzJkOgorICAgICAgICBoZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfM2Q6CisgICAgICAgIGhlaWdodCA9IHNp
emUuaGVpZ2h0OworICAgICAgICBkZXB0aCA9IHNpemUuZGVwdGg7CisgICAgICAgIGJyZWFrOwor
ICAgIH0KKworICAgIGF1dG8gbWF4RGltZW5zaW9uID0gc3RkOjptYXgoc3RkOjptYXgod2lkdGgs
IGhlaWdodCksIGRlcHRoKTsKKyAgICBpbnQgaSA9IHNpemVvZihHUFVFeHRlbnQzRDo6SW5uZXJU
eXBlKSAqIDggLSAxOworICAgIGZvciAoOyAhKG1heERpbWVuc2lvbiAmICgxIDw8IGkpKSAmJiBp
ID49IDA7IC0taSkgeworICAgIH0KKyAgICBBU1NFUlQoaSA+PSAwKTsKKyAgICByZXR1cm4gaSAr
IDE7Cit9CisKIFJlZlB0cjxHUFVUZXh0dXJlPiBHUFVEZXZpY2U6OnRyeUNyZWF0ZVRleHR1cmUo
Y29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIEdQVVRleHR1cmU6OnRyeUNyZWF0ZSgqdGhpcywgZGVzY3JpcHRvcik7CisgICAgaWYgKCFk
ZXNjcmlwdG9yLnNpemUud2lkdGggfHwgIWRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHQgfHwgIWRlc2Ny
aXB0b3Iuc2l6ZS5kZXB0aCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZp
eGVkRXJyb3IoIlRleHR1cmVzIGNhbid0IGhhdmUgMCBkaW1lbnNpb25zLiIpOworICAgICAgICBy
ZXR1cm4geyB9OworICAgIH0KKworICAgIGlmICghZGVzY3JpcHRvci5taXBMZXZlbENvdW50KSB7
CisgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiVGV4dHVyZXMg
Y2FuJ3QgaGF2ZSAwIG1pcGxldmVscy4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisK
KyAgICBpZiAoIWRlc2NyaXB0b3Iuc2FtcGxlQ291bnQpIHsKKyAgICAgICAgbV9lcnJvclNjb3Bl
cy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlcyBjYW4ndCBoYXZlIDAgc2FtcGxlcy4i
KTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogVmFsaWRhdGUg
bWF4aW11bSBzaXplcworCisgICAgaWYgKGRlc2NyaXB0b3IuZGltZW5zaW9uID09IEdQVVRleHR1
cmVEaW1lbnNpb246Ol8xZCAmJiBkZXNjcmlwdG9yLm1pcExldmVsQ291bnQgIT0gMSkgeworICAg
ICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVzIGNh
bid0IGhhdmUgbWlwbWFwcy4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBp
ZiAoZGVzY3JpcHRvci5taXBMZXZlbENvdW50ID4gbWF4aW11bU1pcExldmVsQ291bnQoZGVzY3Jp
cHRvci5kaW1lbnNpb24sIGRlc2NyaXB0b3Iuc2l6ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Bl
cy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUb28gbWFueSBtaXBsZXZlbHMuIik7CisgICAgICAg
IHJldHVybiB7IH07CisgICAgfQorCisgICAgaWYgKGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0g
MSkgeworICAgICAgICBpZiAoZGVzY3JpcHRvci5kaW1lbnNpb24gIT0gR1BVVGV4dHVyZURpbWVu
c2lvbjo6XzJkKSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVk
RXJyb3IoIlRleHR1cmUgZGltZW5zaW9uIGluY29tcGF0aWJsZSB3aXRoIG11bHRpc2FtcGxpbmcu
Iik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisgICAgICAgIGlmIChkZXNj
cmlwdG9yLm1pcExldmVsQ291bnQgIT0gMSkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+
Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJNdWx0aXNhbXBsZWQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBt
aXBtYXBzLiIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICAv
LyBGSVhNRTogT25seSBzb21lIHBpeGVsIGZvcm1hdHMgYXJlIGNhcGFibGUgb2YgTVNBQS4gRmls
dGVyIHRob3NlIGhlcmUuCisgICAgfQorCisgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHQg
IT0gMSAmJiBkZXNjcmlwdG9yLmRpbWVuc2lvbiA9PSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQp
IHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCIxRCB0ZXh0
dXJlcyBjYW4ndCBoYXZlIGhlaWdodCAhPSAxLiIpOworICAgICAgICByZXR1cm4geyB9OworICAg
IH0KKworICAgIC8vIFRoZSBoZWlnaHQgY29tcG9uZW50IGZvciAxZCB0ZXh0dXJlcyBpcyB0aGUg
YXJyYXkgbGVuZ3RoLgorICAgIC8vIFRoZSBkZXB0aCBjb21wb25lbnQgZm9yIDJkIHRleHR1cmVz
IGlzIHRoZSBhcnJheSBsZW5ndGguCisgICAgaWYgKGRlc2NyaXB0b3IuZGltZW5zaW9uID09IEdQ
VVRleHR1cmVEaW1lbnNpb246Ol8xZCAmJiBkZXNjcmlwdG9yLnNpemUuZGVwdGggIT0gMSkgewor
ICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVz
IGNhbid0IGhhdmUgaGVpZ2h0IG9yIGRlcHRoICE9IDEuIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorCisgICAgaWYgKGRlc2NyaXB0b3IuZm9ybWF0ID09IEdQVVRleHR1cmVGb3JtYXQ6
OkRlcHRoMzJmbG9hdFN0ZW5jaWw4ICYmIGRlc2NyaXB0b3IuZGltZW5zaW9uICE9IEdQVVRleHR1
cmVEaW1lbnNpb246Ol8yZCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZp
eGVkRXJyb3IoIkRlcHRoL3N0ZW5jaWwgdGV4dHVyZXMgbXVzdCBiZSAyZC4iKTsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoZGVzY3JpcHRvci5mb3JtYXQgPT0gR1BVVGV4
dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDggJiYgZGVzY3JpcHRvci5zYW1wbGVDb3Vu
dCAhPSAxKSB7CisgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigi
RGVwdGgvc3RlbmNpbCB0ZXh0dXJlcyBjYW4ndCBiZSBtdWx0aXNhbXBsZWQuIik7CisgICAgICAg
IHJldHVybiB7IH07CisgICAgfQorCisgICAgcmV0dXJuIEdQVVRleHR1cmU6OnRyeUNyZWF0ZSgq
dGhpcywgZGVzY3JpcHRvciwgbWFrZVJlZigqbV9lcnJvclNjb3BlcykpOwogfQogCiBSZWZQdHI8
R1BVU2FtcGxlcj4gR1BVRGV2aWNlOjp0cnlDcmVhdGVTYW1wbGVyKGNvbnN0IEdQVVNhbXBsZXJE
ZXNjcmlwdG9yJiBkZXNjcmlwdG9yKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCmluZGV4IDU4YjEyMDAzMWRmMDFkNzBmN2I4Zjdh
NWNmNmQzZmYyZTNkNzEyMDAuLmY1NDk2Y2M2N2Q4NDNlMGI5YTVhZTZkYjJjZTBkOGQ1NTY4YTll
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
ZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoV0VCR1BVKQogCiAjaW5jbHVkZSAi
R1BVQmluZEdyb3VwQWxsb2NhdG9yLmgiCisjaW5jbHVkZSAiR1BVRXJyb3JTY29wZXMuaCIKICNp
bmNsdWRlICJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIkdQVVN3YXBDaGFpbi5oIgogI2luY2x1ZGUg
PHd0Zi9GdW5jdGlvbi5oPgpAQCAtOTUsNiArOTYsOCBAQCBwdWJsaWM6CiAgICAgR1BVU3dhcENo
YWluKiBzd2FwQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX3N3YXBDaGFpbi5nZXQoKTsgfQogICAg
IHZvaWQgc2V0U3dhcENoYWluKFJlZlB0cjxHUFVTd2FwQ2hhaW4+JiYpOwogCisgICAgdm9pZCBz
ZXRFcnJvclNjb3BlcyhSZWY8R1BVRXJyb3JTY29wZXM+JiYgZXJyb3JTY29wZXMpIHsgbV9lcnJv
clNjb3BlcyA9IFdURk1vdmUoZXJyb3JTY29wZXMpOyB9CisKICAgICBzdGF0aWMgY29uc3RleHBy
IGJvb2wgdXNlV0hMU0wgPSB0cnVlOwogCiBwcml2YXRlOgpAQCAtMTA0LDYgKzEwNyw3IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVUXVldWU+IG1fcXVldWU7CiAgICAgUmVmUHRy
PEdQVVN3YXBDaGFpbj4gbV9zd2FwQ2hhaW47CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVQmluZEdy
b3VwQWxsb2NhdG9yPiBtX2JpbmRHcm91cEFsbG9jYXRvcjsKKyAgICBSZWZQdHI8R1BVRXJyb3JT
Y29wZXM+IG1fZXJyb3JTY29wZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRlbnQzRC5oCmlu
ZGV4IDMxOTVkMTczOTQ2YzRkMGM5NmUyMmRiNmNlNTQwZDMxNWEzMDE5ZjMuLjU0NDgyNjUyMGNj
NWU3ZTBjYzlmZjQzZmQxNDI4MGY1MDQ0YjdlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRlbnQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRlbnQzRC5oCkBAIC0zMCw5ICszMCwxMCBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogc3RydWN0IEdQVUV4dGVudDNEIHsKLSAgICB1bnNp
Z25lZCB3aWR0aDsKLSAgICB1bnNpZ25lZCBoZWlnaHQ7Ci0gICAgdW5zaWduZWQgZGVwdGg7Cisg
ICAgdXNpbmcgSW5uZXJUeXBlID0gdW5zaWduZWQ7CisgICAgSW5uZXJUeXBlIHdpZHRoOworICAg
IElubmVyVHlwZSBoZWlnaHQ7CisgICAgSW5uZXJUeXBlIGRlcHRoOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVU9iamVjdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVPYmplY3RCYXNlLmgKaW5kZXggOTRjMWY1Mjc5NDRmMjMzMzA5YTQ1NWM2OTBjN2Nh
YjkyZGVkNWY0Ny4uNjdiMmQ5MThjMmU1NDUxN2NiMzdmZmZlYTZiMjYyZDQ1ZjgyZmE5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJh
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVT2JqZWN0
QmFzZS5oCkBAIC00MCw3ICs0MCw3IEBAIHByb3RlY3RlZDoKICAgICBHUFVPYmplY3RCYXNlKFJl
ZjxHUFVFcnJvclNjb3Blcz4mJiByZXBvcnRlcikKICAgICAgICAgOiBtX2Vycm9yU2NvcGVzKFdU
Rk1vdmUocmVwb3J0ZXIpKSB7IH0KIAotICAgIEdQVUVycm9yU2NvcGVzJiBlcnJvclNjb3Blcygp
IHsgcmV0dXJuIG1fZXJyb3JTY29wZXM7IH0KKyAgICBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29w
ZXMoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yU2NvcGVzOyB9CiAKIHByaXZhdGU6CiAgICAgUmVm
PEdQVUVycm9yU2NvcGVzPiBtX2Vycm9yU2NvcGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmgKaW5kZXggZmY3YWFiMDk2NWI2MmRiZDFl
M2RiMzc1OTJhNTdkMzRhY2E5YTljMi4uYjJhZGUyY2VjY2Q1ODdmOTU0OWM4YTNhYjZkNTVlMzlk
ODczYzRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVRleHR1cmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVVGV4dHVyZS5oCkBAIC00Niw3ICs0Niw3IEBAIHVzaW5nIFBsYXRmb3JtVGV4dHVyZVNtYXJ0
UHRyID0gUmV0YWluUHRyPE1UTFRleHR1cmU+OwogCiBjbGFzcyBHUFVUZXh0dXJlIDogcHVibGlj
IFJlZkNvdW50ZWQ8R1BVVGV4dHVyZT4gewogcHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8R1BV
VGV4dHVyZT4gdHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYsIGNvbnN0IEdQVVRleHR1cmVEZXNj
cmlwdG9yJik7CisgICAgc3RhdGljIFJlZlB0cjxHUFVUZXh0dXJlPiB0cnlDcmVhdGUoY29uc3Qg
R1BVRGV2aWNlJiwgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImLCBHUFVFcnJvclNjb3BlcyYp
OwogICAgIHN0YXRpYyBSZWY8R1BVVGV4dHVyZT4gY3JlYXRlKFBsYXRmb3JtVGV4dHVyZVNtYXJ0
UHRyJiYsIE9wdGlvblNldDxHUFVUZXh0dXJlVXNhZ2U6OkZsYWdzPik7CiAKICAgICBQbGF0Zm9y
bVRleHR1cmUgKnBsYXRmb3JtVGV4dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1UZXh0
dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCmluZGV4IDY2ZTFjMTdiZDhiZGQ2MTdm
N2U5NDVkZGQxYmZkOTc5ZjU1ZmUxODAuLmIyYTY4NWEyMTlmMzI5YjYwNzA0ZDNlNjU2MjNiNWE2
YWI3ZWRlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCkBAIC00MSw3ICs0MSw2IEBAIGVudW0g
Y2xhc3MgR1BVVGV4dHVyZURpbWVuc2lvbiB7CiAgICAgCiBzdHJ1Y3QgR1BVVGV4dHVyZURlc2Ny
aXB0b3IgewogICAgIEdQVUV4dGVudDNEIHNpemU7Ci0gICAgdW5zaWduZWQgYXJyYXlMYXllckNv
dW50OwogICAgIHVuc2lnbmVkIG1pcExldmVsQ291bnQ7CiAgICAgdW5zaWduZWQgc2FtcGxlQ291
bnQ7CiAgICAgR1BVVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRleHR1cmVN
ZXRhbC5tbQppbmRleCA1ZGIxZGFhNDU1Njk3ZjUzMDUzYzg0YWY1MGRkZWQ4MTU1NDc3ZTdkLi5l
N2QxMGQ0NjFmMGY2ODU4ZmQ1MDBlNDhmZDNkOTdjNDJhOTFkYTBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0
dXJlTWV0YWwubW0KQEAgLTQyLDEyICs0MiwxMSBAQCBzdGF0aWMgTVRMVGV4dHVyZVR5cGUgbXRs
VGV4dHVyZVR5cGVGb3JHUFVUZXh0dXJlRGVzY3JpcHRvcihjb25zdCBHUFVUZXh0dXJlRGVzYwog
ewogICAgIHN3aXRjaCAoZGVzY3JpcHRvci5kaW1lbnNpb24pIHsKICAgICBjYXNlIEdQVVRleHR1
cmVEaW1lbnNpb246Ol8xZDoKLSAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLmFycmF5TGF5ZXJD
b3VudCA9PSAxKSA/IE1UTFRleHR1cmVUeXBlMUQgOiBNVExUZXh0dXJlVHlwZTFEQXJyYXk7Cisg
ICAgICAgIHJldHVybiAoZGVzY3JpcHRvci5zaXplLmhlaWdodCA9PSAxKSA/IE1UTFRleHR1cmVU
eXBlMUQgOiBNVExUZXh0dXJlVHlwZTFEQXJyYXk7CiAgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5z
aW9uOjpfMmQ6IHsKLSAgICAgICAgaWYgKGRlc2NyaXB0b3IuYXJyYXlMYXllckNvdW50ID09IDEp
CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUuZGVwdGggPT0gMSkKICAgICAgICAgICAgIHJl
dHVybiAoZGVzY3JpcHRvci5zYW1wbGVDb3VudCA9PSAxKSA/IE1UTFRleHR1cmVUeXBlMkQgOiBN
VExUZXh0dXJlVHlwZTJETXVsdGlzYW1wbGU7Ci0KLSAgICAgICAgcmV0dXJuIE1UTFRleHR1cmVU
eXBlMkRBcnJheTsKKyAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLnNhbXBsZUNvdW50ID09IDEp
ID8gTVRMVGV4dHVyZVR5cGUyREFycmF5IDogTVRMVGV4dHVyZVR5cGUyRE11bHRpc2FtcGxlQXJy
YXk7CiAgICAgfQogICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzNkOgogICAgICAgICBy
ZXR1cm4gTVRMVGV4dHVyZVR5cGUzRDsKQEAgLTY1LDcgKzY0LDcgQEAgc3RhdGljIE9wdGlvbmFs
PE1UTFRleHR1cmVVc2FnZT4gbXRsVGV4dHVyZVVzYWdlRm9yR1BVVGV4dHVyZVVzYWdlRmxhZ3Mo
T3B0aW9uU2UKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICB9CiAKLSAgICBNVExU
ZXh0dXJlVXNhZ2UgcmVzdWx0ID0gTVRMVGV4dHVyZVVzYWdlUGl4ZWxGb3JtYXRWaWV3OworICAg
IE1UTFRleHR1cmVVc2FnZSByZXN1bHQgPSAwOwogICAgIGlmIChmbGFncy5jb250YWlucyhHUFVU
ZXh0dXJlVXNhZ2U6OkZsYWdzOjpPdXRwdXRBdHRhY2htZW50KSkKICAgICAgICAgcmVzdWx0IHw9
IE1UTFRleHR1cmVVc2FnZVJlbmRlclRhcmdldDsKICAgICBpZiAoZmxhZ3MuY29udGFpbnNBbnko
eyBHUFVUZXh0dXJlVXNhZ2U6OkZsYWdzOjpTdG9yYWdlLCBHUFVUZXh0dXJlVXNhZ2U6OkZsYWdz
OjpTYW1wbGVkIH0pKQpAQCAtMTAyLDcgKzEwMSwyNCBAQCBzdGF0aWMgUmV0YWluUHRyPE1UTFRl
eHR1cmVEZXNjcmlwdG9yPiB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihjb25zdCBjaGFy
KgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogQWRkIG1v
cmUgdmFsaWRhdGlvbiBhcyBjb25zdHJhaW50cyBhcmUgYWRkZWQgdG8gc3BlYy4KKyAgICB1bnNp
Z25lZCB3aWR0aCA9IGRlc2NyaXB0b3Iuc2l6ZS53aWR0aDsKKyAgICB1bnNpZ25lZCBoZWlnaHQg
PSAxOworICAgIHVuc2lnbmVkIGRlcHRoID0gMTsKKyAgICB1bnNpZ25lZCBhcnJheUxlbmd0aCA9
IDE7CisgICAgc3dpdGNoIChkZXNjcmlwdG9yLmRpbWVuc2lvbikgeworICAgIGNhc2UgR1BVVGV4
dHVyZURpbWVuc2lvbjo6XzFkOgorICAgICAgICBhcnJheUxlbmd0aCA9IGRlc2NyaXB0b3Iuc2l6
ZS5oZWlnaHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6
XzJkOgorICAgICAgICBoZWlnaHQgPSBkZXNjcmlwdG9yLnNpemUuaGVpZ2h0OworICAgICAgICBh
cnJheUxlbmd0aCA9IGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aDsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfM2Q6CisgICAgICAgIGhlaWdodCA9IGRlc2NyaXB0
b3Iuc2l6ZS5oZWlnaHQ7CisgICAgICAgIGRlcHRoID0gZGVzY3JpcHRvci5zaXplLmRlcHRoOwor
ICAgICAgICBicmVhazsKKyAgICB9CisKICAgICBhdXRvIHBpeGVsRm9ybWF0ID0gc3RhdGljX2Nh
c3Q8TVRMUGl4ZWxGb3JtYXQ+KHBsYXRmb3JtVGV4dHVyZUZvcm1hdEZvckdQVVRleHR1cmVGb3Jt
YXQoZGVzY3JpcHRvci5mb3JtYXQpKTsKIAogICAgIGF1dG8gbXRsVXNhZ2UgPSBtdGxUZXh0dXJl
VXNhZ2VGb3JHUFVUZXh0dXJlVXNhZ2VGbGFncyh1c2FnZSwgZnVuY3Rpb25OYW1lKTsKQEAgLTEx
NywxMCArMTMzLDEwIEBAIHN0YXRpYyBSZXRhaW5QdHI8TVRMVGV4dHVyZURlc2NyaXB0b3I+IHRy
eUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKGNvbnN0IGNoYXIqCiAKICAgICBCRUdJTl9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7CiAKLSAgICBbbXRsRGVzY3JpcHRvciBzZXRXaWR0aDpkZXNjcmlw
dG9yLnNpemUud2lkdGhdOwotICAgIFttdGxEZXNjcmlwdG9yIHNldEhlaWdodDpkZXNjcmlwdG9y
LnNpemUuaGVpZ2h0XTsKLSAgICBbbXRsRGVzY3JpcHRvciBzZXREZXB0aDpkZXNjcmlwdG9yLnNp
emUuZGVwdGhdOwotICAgIFttdGxEZXNjcmlwdG9yIHNldEFycmF5TGVuZ3RoOmRlc2NyaXB0b3Iu
YXJyYXlMYXllckNvdW50XTsKKyAgICBbbXRsRGVzY3JpcHRvciBzZXRXaWR0aDp3aWR0aF07Cisg
ICAgW210bERlc2NyaXB0b3Igc2V0SGVpZ2h0OmhlaWdodF07CisgICAgW210bERlc2NyaXB0b3Ig
c2V0RGVwdGg6ZGVwdGhdOworICAgIFttdGxEZXNjcmlwdG9yIHNldEFycmF5TGVuZ3RoOmFycmF5
TGVuZ3RoXTsKICAgICBbbXRsRGVzY3JpcHRvciBzZXRNaXBtYXBMZXZlbENvdW50OmRlc2NyaXB0
b3IubWlwTGV2ZWxDb3VudF07CiAgICAgW210bERlc2NyaXB0b3Igc2V0U2FtcGxlQ291bnQ6ZGVz
Y3JpcHRvci5zYW1wbGVDb3VudF07CiAgICAgW210bERlc2NyaXB0b3Igc2V0VGV4dHVyZVR5cGU6
bXRsVGV4dHVyZVR5cGVGb3JHUFVUZXh0dXJlRGVzY3JpcHRvcihkZXNjcmlwdG9yKV07CkBAIC0x
MzQsNyArMTUwLDcgQEAgc3RhdGljIFJldGFpblB0cjxNVExUZXh0dXJlRGVzY3JpcHRvcj4gdHJ5
Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3IoY29uc3QgY2hhcioKICAgICByZXR1cm4gbXRsRGVz
Y3JpcHRvcjsKIH0KIAotUmVmUHRyPEdQVVRleHR1cmU+IEdQVVRleHR1cmU6OnRyeUNyZWF0ZShj
b25zdCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IpCitSZWZQdHI8R1BVVGV4dHVyZT4gR1BVVGV4dHVyZTo6dHJ5Q3JlYXRlKGNvbnN0IEdQ
VURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0dXJlRGVzY3JpcHRvciYgZGVzY3JpcHRvciwg
R1BVRXJyb3JTY29wZXMmIGVycm9yU2NvcGVzKQogewogICAgIGNvbnN0IGNoYXIqIGNvbnN0IGZ1
bmN0aW9uTmFtZSA9ICJHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKSI7CiAKQEAgLTE0Myw2ICsxNTks
MTEgQEAgUmVmUHRyPEdQVVRleHR1cmU+IEdQVVRleHR1cmU6OnRyeUNyZWF0ZShjb25zdCBHUFVE
ZXZpY2UmIGRldmljZSwgY29uc3QgR1BVVGV4dHUKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgfQogCisgICAgaWYgKCFbZGV2aWNlLnBsYXRmb3JtRGV2aWNlKCkgc3VwcG9ydHNUZXh0dXJl
U2FtcGxlQ291bnQ6ZGVzY3JpcHRvci5zYW1wbGVDb3VudF0pIHsKKyAgICAgICAgZXJyb3JTY29w
ZXMuZ2VuZXJhdGVQcmVmaXhlZEVycm9yKCJEZXZpY2UgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIHNh
bXBsZSBjb3VudC4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKICAgICBhdXRvIHVz
YWdlID0gT3B0aW9uU2V0PEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M+Ojpmcm9tUmF3KGRlc2NyaXB0
b3IudXNhZ2UpOwogICAgIGF1dG8gbXRsRGVzY3JpcHRvciA9IHRyeUNyZWF0ZU10bFRleHR1cmVE
ZXNjcmlwdG9yKGZ1bmN0aW9uTmFtZSwgZGVzY3JpcHRvciwgdXNhZ2UpOwogICAgIGlmICghbXRs
RGVzY3JpcHRvcikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBlYjViZDI4ZTJhOTNhNDRmYjM1ZDllZjU5NjZjYzI2NzVlYWY1
ZDIzLi45ZWMzMTUzMzFiZTQzMjE4MDE0OTY5MWMzYjFiODk3YzZjMjI5ODk3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMjAtMDUtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBWYWxpZGF0aW9uIGZvciBHUFVEZXZpY2UuY3Jl
YXRlVGV4dHVyZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTE4ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzMjE1OTk5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViZ3B1L3RleHR1cmUt
Y3JlYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMjAtMDUtMTMgIEtlbm5ldGggUnVzc2VsbCAgPGti
ckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRW5hYmxlIHdlYmdsX2NhbnZhcy8gdGVzdHMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1NWIwM2Vh
NTdiZjA4ZTA5OTkzYmE1NDU3NjJjNTJlOGU1NjFkOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0cyBmb3IgY3Jl
YXRpbmcgdGV4dHVyZSB2aWV3cy48L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVu
dD0ibG9uZyI+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorYXN5bmMgZnVuY3Rpb24gcnVuVGVzdHMoKSB7CisgICAgbGV0IHdp
ZHRoID0gMTsKKyAgICBsZXQgaGVpZ2h0ID0gMTsKKyAgICBsZXQgZGVwdGggPSAyOworICAgIGxl
dCBtaXBMZXZlbENvdW50ID0gMjsKKyAgICBsZXQgc2FtcGxlQ291bnQgPSAxOworICAgIGxldCBk
aW1lbnNpb24gPSAiM2QiOworICAgIGxldCBmb3JtYXQgPSAicmdiYTh1bm9ybSI7CisgICAgZm9y
IChsZXQgd2lkdGggPSAtMTsgd2lkdGggPD0gNDsgKyt3aWR0aCkgeworICAgIGZvciAobGV0IGhl
aWdodCA9IC0xOyBoZWlnaHQgPD0gNDsgKytoZWlnaHQpIHsKKyAgICBmb3IgKGxldCBkZXB0aCA9
IC0xOyBkZXB0aCA8PSA0OyArK2RlcHRoKSB7CisgICAgZm9yIChsZXQgbWlwTGV2ZWxDb3VudCA9
IC0xOyBtaXBMZXZlbENvdW50IDw9IDQ7ICsrbWlwTGV2ZWxDb3VudCkgeworICAgIGZvciAobGV0
IHNhbXBsZUNvdW50ID0gLTE7IHNhbXBsZUNvdW50IDw9IDQ7ICsrc2FtcGxlQ291bnQpIHsKKyAg
ICBmb3IgKGxldCBkaW1lbnNpb24gb2YgWyIxZCIsICIyZCIsICIzZCJdKSB7CisgICAgZm9yIChs
ZXQgZm9ybWF0IG9mIFsicmdiYTh1bm9ybSIsICJyZ2JhOHVpbnQiLCAiYmdyYTh1bm9ybSIsICJk
ZXB0aDMyZmxvYXQtc3RlbmNpbDgiLCAiYmdyYTh1bm9ybS1zcmdiIiwgInJnYmExNmZsb2F0Il0p
IHsKKyAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBnZXRC
YXNpY0RldmljZSgpLnRoZW4oYXN5bmMgZnVuY3Rpb24oZGV2aWNlKSB7CisgICAgICAgICAgICAg
ICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJ2YWxpZGF0aW9uIik7CisgICAgICAgICAgICAgICAg
bGV0IHRleHR1cmUgPSBkZXZpY2UuY3JlYXRlVGV4dHVyZSh7c2l6ZToge3dpZHRoLCBoZWlnaHQs
IGRlcHRofSwgbWlwTGV2ZWxDb3VudCwgc2FtcGxlQ291bnQsIGRpbWVuc2lvbiwgZm9ybWF0LCB1
c2FnZTogMH0pOworICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKHRleHR1cmUgaW5zdGFuY2Vv
ZiBHUFVUZXh0dXJlLCAiQ2Fubm90IGNyZWF0ZSB0ZXh0dXJlLiIpOworICAgICAgICAgICAgICAg
IGF3YWl0IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbihmdW5jdGlvbihlcnJvcikgeworICAg
ICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGVycm9yLCBudWxsLCAiVGV4dHVyZSBmYWls
ZWQgdG8gYmUgY3JlYXRlZCIpOworICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgImRldmljZSBsb3N0Iik7CisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCBmdW5jdGlvbihlKSB7CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgfSwgYENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAke3dpZHRofSBo
ZWlnaHQgJHtoZWlnaHR9IGRlcHRoICR7ZGVwdGh9IG1pcExldmVsQ291bnQgJHttaXBMZXZlbENv
dW50fSBzYW1wbGVDb3VudCAke3NhbXBsZUNvdW50fSBkaW1lbnNpb24gJHtkaW1lbnNpb259IGZv
cm1hdCAke2Zvcm1hdH0uYCk7CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAg
ICB9CisgICAgfQorfQorCitydW5UZXN0cygpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399338</attachid>
            <date>2020-05-13 23:26:43 -0700</date>
            <delta_ts>2020-05-14 18:10:40 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-211882-20200513232642.patch</filename>
            <type>text/plain</type>
            <size>19498</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWViNGE2NjAxNDAwM2I0
NmVlMzM0NjY0YjUxNmNmMDdkZDJkYTZkZi4uNjUzNmE5NDg1NjczZWYxZmExMDQxNjBhNjBjOTlj
ZTkyZDc5MzE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA1LTEzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
VmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82MzIxNTk5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiB3ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6OnRyeUNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6OmNyZWF0ZVRleHR1cmUgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bWF4
aW11bU1pcExldmVsQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjp0cnlDcmVh
dGVUZXh0dXJlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnNldEVycm9yU2NvcGVzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVT2JqZWN0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6
R1BVT2JqZWN0QmFzZTo6ZXJyb3JTY29wZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BV
T2JqZWN0QmFzZTo6ZXJyb3JTY29wZXMpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVRleHR1cmVEZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2NvY29hL0dQVVRleHR1cmVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6Om10bFRleHR1cmVU
eXBlRm9yR1BVVGV4dHVyZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6bXRsVGV4dHVy
ZVVzYWdlRm9yR1BVVGV4dHVyZVVzYWdlRmxhZ3MpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5Q3Jl
YXRlTXRsVGV4dHVyZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6R1BVVGV4dHVyZTo6
dHJ5Q3JlYXRlKToKKwogMjAyMC0wNS0xMyAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGFzc2VydCBpbiB7V2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYXR0YWNobWVudFZpZXddLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCmluZGV4IDVkZmRjZTMxYjQ5NGIwODYx
NmY3MjE0NTA4OTQwZTk0MTNjMDFmZGMuLjEzYTFiNDQ3NDE2ODEwMmEzYmZkZjQwNDI2YTA0MzYz
YjdjYjk3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4
dGVudDNELmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQz
RC5pZGwKQEAgLTI0LDEzICsyNCwxMyBAQAogICovCiAvLyBodHRwczovL2dwdXdlYi5naXRodWIu
aW8vZ3B1d2ViCiAKLXR5cGVkZWYgdW5zaWduZWQgbG9uZyB1MzI7Cit0eXBlZGVmIFtFbmZvcmNl
UmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVSW50ZWdlckNvb3JkaW5hdGU7CiAKIFsKICAgICBDb25k
aXRpb25hbD1XRUJHUFUsCiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKIF0gZGljdGlvbmFy
eSBHUFVFeHRlbnQzRCB7Ci0gICAgcmVxdWlyZWQgdTMyIHdpZHRoOwotICAgIHJlcXVpcmVkIHUz
MiBoZWlnaHQ7Ci0gICAgcmVxdWlyZWQgdTMyIGRlcHRoOworICAgIHJlcXVpcmVkIEdQVUludGVn
ZXJDb29yZGluYXRlIHdpZHRoOworICAgIHJlcXVpcmVkIEdQVUludGVnZXJDb29yZGluYXRlIGhl
aWdodDsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBkZXB0aDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRv
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRv
ci5pZGwKaW5kZXggNDQ1OTUzODhlZWVjMmE5NWNjMzgxZDA3Zjc4YmJiODA5MWJkYTczZi4uNzQ3
MWMzZDE3OWU2OTQ0NDJjNmJlNjVkOGJkMWU0MGVhYWI5YTAwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbApAQCAt
NDAsNyArNDAsNiBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3M7
CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKIF0gZGljdGlvbmFyeSBHUFVUZXh0dXJlRGVz
Y3JpcHRvciB7CiAgICAgcmVxdWlyZWQgR1BVRXh0ZW50M0Qgc2l6ZTsKLSAgICB1MzIgYXJyYXlM
YXllckNvdW50ID0gMTsKICAgICB1MzIgbWlwTGV2ZWxDb3VudCA9IDE7CiAgICAgdTMyIHNhbXBs
ZUNvdW50ID0gMTsKICAgICBHUFVUZXh0dXJlRGltZW5zaW9uIGRpbWVuc2lvbiA9ICIyZCI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAppbmRleCA4
MGIxZTYzYzQ2MDVmNzk0MDkzNzJmMzgxNzIwNTIzOTA5YmQwNWYwLi5jYTAxYjEwMTVhZDYxY2Nj
MzlhZDMzOWI5YWRiN2JlNDY5ZjFiMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTk2LDggKzk2LDExIEBAIFdURl9NQUtFX0lTT19B
TExPQ0FURURfSU1QTChXZWJHUFVEZXZpY2UpOwogCiBSZWZQdHI8V2ViR1BVRGV2aWNlPiBXZWJH
UFVEZXZpY2U6OnRyeUNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8
Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiBhZGFwdGVyKQogewotICAgIGlmIChhdXRvIGRldmljZSA9
IEdQVURldmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMoKSkpCi0gICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRleHQsIFdURk1vdmUoYWRhcHRlciksIGRl
dmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CisgICAgaWYgKGF1dG8gZGV2aWNlID0gR1BVRGV2aWNl
Ojp0cnlDcmVhdGUoYWRhcHRlci0+b3B0aW9ucygpKSkgeworICAgICAgICBhdXRvIHJlc3VsdCA9
IGFkb3B0UmVmKG5ldyBXZWJHUFVEZXZpY2UoY29udGV4dCwgV1RGTW92ZShhZGFwdGVyKSwgbWFr
ZVJlZigqZGV2aWNlKSkpOworICAgICAgICBkZXZpY2UtPnNldEVycm9yU2NvcGVzKHJlc3VsdC0+
bV9lcnJvclNjb3Blcy5jb3B5UmVmKCkpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
ICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAtMTgwLDYgKzE4Myw4IEBAIFZlY3RvcjxKU0M6
OkpTVmFsdWU+IFdlYkdQVURldmljZTo6Y3JlYXRlQnVmZmVyTWFwcGVkKEpTQzo6SlNHbG9iYWxP
YmplY3QmIGxleGljCiAKIFJlZjxXZWJHUFVUZXh0dXJlPiBXZWJHUFVEZXZpY2U6OmNyZWF0ZVRl
eHR1cmUoY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0CiB7Cisg
ICAgbV9lcnJvclNjb3Blcy0+c2V0RXJyb3JQcmVmaXgoIkdQVURldmljZS5jcmVhdGVUZXh0dXJl
KCk6ICIpOworCiAgICAgYXV0byB0ZXh0dXJlID0gbV9kZXZpY2UtPnRyeUNyZWF0ZVRleHR1cmUo
ZGVzY3JpcHRvcik7CiAgICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6OmNyZWF0ZShXVEZNb3ZlKHRl
eHR1cmUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVURldmljZS5jcHAKaW5kZXggZjVlNDNjZWVkOTVmZTU3NzNlMzUwODFhZGE0OGNjNGE2OTM2
ODIzMy4uYjcyOGE3NDlhOTlmOTNmZTVlMjIxZTE0MDA1ZDVmODU3MjIzYTg0ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKQEAg
LTYwLDkgKzYwLDk1IEBAIFJlZlB0cjxHUFVCdWZmZXI+IEdQVURldmljZTo6dHJ5Q3JlYXRlQnVm
ZmVyKGNvbnN0IEdQVUJ1ZmZlckRlc2NyaXB0b3ImIGRlc2NyaXB0CiAgICAgcmV0dXJuIEdQVUJ1
ZmZlcjo6dHJ5Q3JlYXRlKCp0aGlzLCBkZXNjcmlwdG9yLCBpc01hcHBlZCwgZXJyb3JTY29wZXMp
OwogfQogCitzdGF0aWMgdW5zaWduZWQgbWF4aW11bU1pcExldmVsQ291bnQoR1BVVGV4dHVyZURp
bWVuc2lvbiBkaW1lbnNpb24sIEdQVUV4dGVudDNEIHNpemUpCit7CisgICAgdW5zaWduZWQgd2lk
dGggPSBzaXplLndpZHRoOworICAgIHVuc2lnbmVkIGhlaWdodCA9IDE7CisgICAgdW5zaWduZWQg
ZGVwdGggPSAxOworICAgIHN3aXRjaCAoZGltZW5zaW9uKSB7CisgICAgY2FzZSBHUFVUZXh0dXJl
RGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVu
c2lvbjo6XzJkOgorICAgICAgICBoZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfM2Q6CisgICAgICAgIGhlaWdodCA9IHNp
emUuaGVpZ2h0OworICAgICAgICBkZXB0aCA9IHNpemUuZGVwdGg7CisgICAgICAgIGJyZWFrOwor
ICAgIH0KKworICAgIGF1dG8gbWF4RGltZW5zaW9uID0gc3RkOjptYXgoc3RkOjptYXgod2lkdGgs
IGhlaWdodCksIGRlcHRoKTsKKyAgICBpbnQgaSA9IHNpemVvZihHUFVFeHRlbnQzRDo6SW5uZXJU
eXBlKSAqIDggLSAxOworICAgIGZvciAoOyAhKG1heERpbWVuc2lvbiAmICgxIDw8IGkpKSAmJiBp
ID49IDA7IC0taSkgeworICAgIH0KKyAgICBBU1NFUlQoaSA+PSAwKTsKKyAgICByZXR1cm4gaSAr
IDE7Cit9CisKIFJlZlB0cjxHUFVUZXh0dXJlPiBHUFVEZXZpY2U6OnRyeUNyZWF0ZVRleHR1cmUo
Y29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIEdQVVRleHR1cmU6OnRyeUNyZWF0ZSgqdGhpcywgZGVzY3JpcHRvcik7CisgICAgaWYgKCFk
ZXNjcmlwdG9yLnNpemUud2lkdGggfHwgIWRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHQgfHwgIWRlc2Ny
aXB0b3Iuc2l6ZS5kZXB0aCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZp
eGVkRXJyb3IoIlRleHR1cmVzIGNhbid0IGhhdmUgMCBkaW1lbnNpb25zLiIpOworICAgICAgICBy
ZXR1cm4geyB9OworICAgIH0KKworICAgIGlmICghZGVzY3JpcHRvci5taXBMZXZlbENvdW50KSB7
CisgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiVGV4dHVyZXMg
Y2FuJ3QgaGF2ZSAwIG1pcGxldmVscy4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisK
KyAgICBpZiAoIWRlc2NyaXB0b3Iuc2FtcGxlQ291bnQpIHsKKyAgICAgICAgbV9lcnJvclNjb3Bl
cy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlcyBjYW4ndCBoYXZlIDAgc2FtcGxlcy4i
KTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogVmFsaWRhdGUg
bWF4aW11bSBzaXplcworCisgICAgaWYgKGRlc2NyaXB0b3IuZGltZW5zaW9uID09IEdQVVRleHR1
cmVEaW1lbnNpb246Ol8xZCAmJiBkZXNjcmlwdG9yLm1pcExldmVsQ291bnQgIT0gMSkgeworICAg
ICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVzIGNh
bid0IGhhdmUgbWlwbWFwcy4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBp
ZiAoZGVzY3JpcHRvci5taXBMZXZlbENvdW50ID4gbWF4aW11bU1pcExldmVsQ291bnQoZGVzY3Jp
cHRvci5kaW1lbnNpb24sIGRlc2NyaXB0b3Iuc2l6ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Bl
cy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUb28gbWFueSBtaXBsZXZlbHMuIik7CisgICAgICAg
IHJldHVybiB7IH07CisgICAgfQorCisgICAgaWYgKGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0g
MSkgeworICAgICAgICBpZiAoZGVzY3JpcHRvci5kaW1lbnNpb24gIT0gR1BVVGV4dHVyZURpbWVu
c2lvbjo6XzJkKSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVk
RXJyb3IoIlRleHR1cmUgZGltZW5zaW9uIGluY29tcGF0aWJsZSB3aXRoIG11bHRpc2FtcGxpbmcu
Iik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisgICAgICAgIGlmIChkZXNj
cmlwdG9yLm1pcExldmVsQ291bnQgIT0gMSkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+
Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJNdWx0aXNhbXBsZWQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBt
aXBtYXBzLiIpOworICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICAv
LyBGSVhNRTogT25seSBzb21lIHBpeGVsIGZvcm1hdHMgYXJlIGNhcGFibGUgb2YgTVNBQS4gRmls
dGVyIHRob3NlIGhlcmUuCisgICAgfQorCisgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHQg
IT0gMSAmJiBkZXNjcmlwdG9yLmRpbWVuc2lvbiA9PSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQp
IHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCIxRCB0ZXh0
dXJlcyBjYW4ndCBoYXZlIGhlaWdodCAhPSAxLiIpOworICAgICAgICByZXR1cm4geyB9OworICAg
IH0KKworICAgIC8vIFRoZSBoZWlnaHQgY29tcG9uZW50IGZvciAxZCB0ZXh0dXJlcyBpcyB0aGUg
YXJyYXkgbGVuZ3RoLgorICAgIC8vIFRoZSBkZXB0aCBjb21wb25lbnQgZm9yIDJkIHRleHR1cmVz
IGlzIHRoZSBhcnJheSBsZW5ndGguCisgICAgaWYgKGRlc2NyaXB0b3IuZGltZW5zaW9uID09IEdQ
VVRleHR1cmVEaW1lbnNpb246Ol8xZCAmJiBkZXNjcmlwdG9yLnNpemUuZGVwdGggIT0gMSkgewor
ICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVz
IGNhbid0IGhhdmUgaGVpZ2h0IG9yIGRlcHRoICE9IDEuIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorCisgICAgaWYgKGRlc2NyaXB0b3IuZm9ybWF0ID09IEdQVVRleHR1cmVGb3JtYXQ6
OkRlcHRoMzJmbG9hdFN0ZW5jaWw4ICYmIGRlc2NyaXB0b3IuZGltZW5zaW9uICE9IEdQVVRleHR1
cmVEaW1lbnNpb246Ol8yZCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZp
eGVkRXJyb3IoIkRlcHRoL3N0ZW5jaWwgdGV4dHVyZXMgbXVzdCBiZSAyZC4iKTsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoZGVzY3JpcHRvci5mb3JtYXQgPT0gR1BVVGV4
dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDggJiYgZGVzY3JpcHRvci5zYW1wbGVDb3Vu
dCAhPSAxKSB7CisgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigi
RGVwdGgvc3RlbmNpbCB0ZXh0dXJlcyBjYW4ndCBiZSBtdWx0aXNhbXBsZWQuIik7CisgICAgICAg
IHJldHVybiB7IH07CisgICAgfQorCisgICAgcmV0dXJuIEdQVVRleHR1cmU6OnRyeUNyZWF0ZSgq
dGhpcywgZGVzY3JpcHRvciwgbWFrZVJlZigqbV9lcnJvclNjb3BlcykpOwogfQogCiBSZWZQdHI8
R1BVU2FtcGxlcj4gR1BVRGV2aWNlOjp0cnlDcmVhdGVTYW1wbGVyKGNvbnN0IEdQVVNhbXBsZXJE
ZXNjcmlwdG9yJiBkZXNjcmlwdG9yKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCmluZGV4IDU4YjEyMDAzMWRmMDFkNzBmN2I4Zjdh
NWNmNmQzZmYyZTNkNzEyMDAuLmY1NDk2Y2M2N2Q4NDNlMGI5YTVhZTZkYjJjZTBkOGQ1NTY4YTll
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
ZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoV0VCR1BVKQogCiAjaW5jbHVkZSAi
R1BVQmluZEdyb3VwQWxsb2NhdG9yLmgiCisjaW5jbHVkZSAiR1BVRXJyb3JTY29wZXMuaCIKICNp
bmNsdWRlICJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIkdQVVN3YXBDaGFpbi5oIgogI2luY2x1ZGUg
PHd0Zi9GdW5jdGlvbi5oPgpAQCAtOTUsNiArOTYsOCBAQCBwdWJsaWM6CiAgICAgR1BVU3dhcENo
YWluKiBzd2FwQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX3N3YXBDaGFpbi5nZXQoKTsgfQogICAg
IHZvaWQgc2V0U3dhcENoYWluKFJlZlB0cjxHUFVTd2FwQ2hhaW4+JiYpOwogCisgICAgdm9pZCBz
ZXRFcnJvclNjb3BlcyhSZWY8R1BVRXJyb3JTY29wZXM+JiYgZXJyb3JTY29wZXMpIHsgbV9lcnJv
clNjb3BlcyA9IFdURk1vdmUoZXJyb3JTY29wZXMpOyB9CisKICAgICBzdGF0aWMgY29uc3RleHBy
IGJvb2wgdXNlV0hMU0wgPSB0cnVlOwogCiBwcml2YXRlOgpAQCAtMTA0LDYgKzEwNyw3IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVUXVldWU+IG1fcXVldWU7CiAgICAgUmVmUHRy
PEdQVVN3YXBDaGFpbj4gbV9zd2FwQ2hhaW47CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVQmluZEdy
b3VwQWxsb2NhdG9yPiBtX2JpbmRHcm91cEFsbG9jYXRvcjsKKyAgICBSZWZQdHI8R1BVRXJyb3JT
Y29wZXM+IG1fZXJyb3JTY29wZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRlbnQzRC5oCmlu
ZGV4IDMxOTVkMTczOTQ2YzRkMGM5NmUyMmRiNmNlNTQwZDMxNWEzMDE5ZjMuLjU0NDgyNjUyMGNj
NWU3ZTBjYzlmZjQzZmQxNDI4MGY1MDQ0YjdlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRlbnQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRlbnQzRC5oCkBAIC0zMCw5ICszMCwxMCBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogc3RydWN0IEdQVUV4dGVudDNEIHsKLSAgICB1bnNp
Z25lZCB3aWR0aDsKLSAgICB1bnNpZ25lZCBoZWlnaHQ7Ci0gICAgdW5zaWduZWQgZGVwdGg7Cisg
ICAgdXNpbmcgSW5uZXJUeXBlID0gdW5zaWduZWQ7CisgICAgSW5uZXJUeXBlIHdpZHRoOworICAg
IElubmVyVHlwZSBoZWlnaHQ7CisgICAgSW5uZXJUeXBlIGRlcHRoOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVU9iamVjdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVPYmplY3RCYXNlLmgKaW5kZXggOTRjMWY1Mjc5NDRmMjMzMzA5YTQ1NWM2OTBjN2Nh
YjkyZGVkNWY0Ny4uNjdiMmQ5MThjMmU1NDUxN2NiMzdmZmZlYTZiMjYyZDQ1ZjgyZmE5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJh
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVT2JqZWN0
QmFzZS5oCkBAIC00MCw3ICs0MCw3IEBAIHByb3RlY3RlZDoKICAgICBHUFVPYmplY3RCYXNlKFJl
ZjxHUFVFcnJvclNjb3Blcz4mJiByZXBvcnRlcikKICAgICAgICAgOiBtX2Vycm9yU2NvcGVzKFdU
Rk1vdmUocmVwb3J0ZXIpKSB7IH0KIAotICAgIEdQVUVycm9yU2NvcGVzJiBlcnJvclNjb3Blcygp
IHsgcmV0dXJuIG1fZXJyb3JTY29wZXM7IH0KKyAgICBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29w
ZXMoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yU2NvcGVzOyB9CiAKIHByaXZhdGU6CiAgICAgUmVm
PEdQVUVycm9yU2NvcGVzPiBtX2Vycm9yU2NvcGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmgKaW5kZXggZmY3YWFiMDk2NWI2MmRiZDFl
M2RiMzc1OTJhNTdkMzRhY2E5YTljMi4uYTNiNDI2YjA1ODBlMTIyOGNlMmZhZmRlZTlmMDkwNGU3
ZDE4M2M0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVRleHR1cmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVVGV4dHVyZS5oCkBAIC0zOCw2ICszOCw3IEBAIE9CSkNfUFJPVE9DT0woTVRMVGV4dHVyZSk7
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdQVURldmljZTsKK2NsYXNzIEdQVUVycm9y
U2NvcGVzOwogCiBzdHJ1Y3QgR1BVVGV4dHVyZURlc2NyaXB0b3I7CiAKQEAgLTQ2LDcgKzQ3LDcg
QEAgdXNpbmcgUGxhdGZvcm1UZXh0dXJlU21hcnRQdHIgPSBSZXRhaW5QdHI8TVRMVGV4dHVyZT47
CiAKIGNsYXNzIEdQVVRleHR1cmUgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVUZXh0dXJlPiB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxHUFVUZXh0dXJlPiB0cnlDcmVhdGUoY29uc3QgR1BV
RGV2aWNlJiwgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImKTsKKyAgICBzdGF0aWMgUmVmUHRy
PEdQVVRleHR1cmU+IHRyeUNyZWF0ZShjb25zdCBHUFVEZXZpY2UmLCBjb25zdCBHUFVUZXh0dXJl
RGVzY3JpcHRvciYsIEdQVUVycm9yU2NvcGVzJik7CiAgICAgc3RhdGljIFJlZjxHUFVUZXh0dXJl
PiBjcmVhdGUoUGxhdGZvcm1UZXh0dXJlU21hcnRQdHImJiwgT3B0aW9uU2V0PEdQVVRleHR1cmVV
c2FnZTo6RmxhZ3M+KTsKIAogICAgIFBsYXRmb3JtVGV4dHVyZSAqcGxhdGZvcm1UZXh0dXJlKCkg
Y29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybVRleHR1cmUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlw
dG9yLmgKaW5kZXggNjZlMWMxN2JkOGJkZDYxN2Y3ZTk0NWRkZDFiZmQ5NzlmNTVmZTE4MC4uYjJh
Njg1YTIxOWYzMjliNjA3MDRkM2U2NTYyM2I1YTZhYjdlZGUyMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlw
dG9yLmgKQEAgLTQxLDcgKzQxLDYgQEAgZW51bSBjbGFzcyBHUFVUZXh0dXJlRGltZW5zaW9uIHsK
ICAgICAKIHN0cnVjdCBHUFVUZXh0dXJlRGVzY3JpcHRvciB7CiAgICAgR1BVRXh0ZW50M0Qgc2l6
ZTsKLSAgICB1bnNpZ25lZCBhcnJheUxheWVyQ291bnQ7CiAgICAgdW5zaWduZWQgbWlwTGV2ZWxD
b3VudDsKICAgICB1bnNpZ25lZCBzYW1wbGVDb3VudDsKICAgICBHUFVUZXh0dXJlRGltZW5zaW9u
IGRpbWVuc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1tCmluZGV4IDVkYjFkYWE0NTU2OTdm
NTMwNTNjODRhZjUwZGRlZDgxNTU0NzdlN2QuLmU3ZDEwZDQ2MWYwZjY4NThmZDUwMGU0OGZkM2Q5
N2M0MmE5MWRhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRleHR1cmVNZXRhbC5tbQpAQCAtNDIsMTIgKzQyLDEx
IEBAIHN0YXRpYyBNVExUZXh0dXJlVHlwZSBtdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNj
cmlwdG9yKGNvbnN0IEdQVVRleHR1cmVEZXNjCiB7CiAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmRp
bWVuc2lvbikgewogICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgotICAgICAgICBy
ZXR1cm4gKGRlc2NyaXB0b3IuYXJyYXlMYXllckNvdW50ID09IDEpID8gTVRMVGV4dHVyZVR5cGUx
RCA6IE1UTFRleHR1cmVUeXBlMURBcnJheTsKKyAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLnNp
emUuaGVpZ2h0ID09IDEpID8gTVRMVGV4dHVyZVR5cGUxRCA6IE1UTFRleHR1cmVUeXBlMURBcnJh
eTsKICAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZDogewotICAgICAgICBpZiAoZGVz
Y3JpcHRvci5hcnJheUxheWVyQ291bnQgPT0gMSkKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6
ZS5kZXB0aCA9PSAxKQogICAgICAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLnNhbXBsZUNvdW50
ID09IDEpID8gTVRMVGV4dHVyZVR5cGUyRCA6IE1UTFRleHR1cmVUeXBlMkRNdWx0aXNhbXBsZTsK
LQotICAgICAgICByZXR1cm4gTVRMVGV4dHVyZVR5cGUyREFycmF5OworICAgICAgICByZXR1cm4g
KGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgPT0gMSkgPyBNVExUZXh0dXJlVHlwZTJEQXJyYXkgOiBN
VExUZXh0dXJlVHlwZTJETXVsdGlzYW1wbGVBcnJheTsKICAgICB9CiAgICAgY2FzZSBHUFVUZXh0
dXJlRGltZW5zaW9uOjpfM2Q6CiAgICAgICAgIHJldHVybiBNVExUZXh0dXJlVHlwZTNEOwpAQCAt
NjUsNyArNjQsNyBAQCBzdGF0aWMgT3B0aW9uYWw8TVRMVGV4dHVyZVVzYWdlPiBtdGxUZXh0dXJl
VXNhZ2VGb3JHUFVUZXh0dXJlVXNhZ2VGbGFncyhPcHRpb25TZQogICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogICAgIH0KIAotICAgIE1UTFRleHR1cmVVc2FnZSByZXN1bHQgPSBNVExUZXh0
dXJlVXNhZ2VQaXhlbEZvcm1hdFZpZXc7CisgICAgTVRMVGV4dHVyZVVzYWdlIHJlc3VsdCA9IDA7
CiAgICAgaWYgKGZsYWdzLmNvbnRhaW5zKEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6Ok91dHB1dEF0
dGFjaG1lbnQpKQogICAgICAgICByZXN1bHQgfD0gTVRMVGV4dHVyZVVzYWdlUmVuZGVyVGFyZ2V0
OwogICAgIGlmIChmbGFncy5jb250YWluc0FueSh7IEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6OlN0
b3JhZ2UsIEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6OlNhbXBsZWQgfSkpCkBAIC0xMDIsNyArMTAx
LDI0IEBAIHN0YXRpYyBSZXRhaW5QdHI8TVRMVGV4dHVyZURlc2NyaXB0b3I+IHRyeUNyZWF0ZU10
bFRleHR1cmVEZXNjcmlwdG9yKGNvbnN0IGNoYXIqCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIH0KIAotICAgIC8vIEZJWE1FOiBBZGQgbW9yZSB2YWxpZGF0aW9uIGFzIGNvbnN0cmFpbnRz
IGFyZSBhZGRlZCB0byBzcGVjLgorICAgIHVuc2lnbmVkIHdpZHRoID0gZGVzY3JpcHRvci5zaXpl
LndpZHRoOworICAgIHVuc2lnbmVkIGhlaWdodCA9IDE7CisgICAgdW5zaWduZWQgZGVwdGggPSAx
OworICAgIHVuc2lnbmVkIGFycmF5TGVuZ3RoID0gMTsKKyAgICBzd2l0Y2ggKGRlc2NyaXB0b3Iu
ZGltZW5zaW9uKSB7CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6CisgICAgICAg
IGFycmF5TGVuZ3RoID0gZGVzY3JpcHRvci5zaXplLmhlaWdodDsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMmQ6CisgICAgICAgIGhlaWdodCA9IGRlc2Ny
aXB0b3Iuc2l6ZS5oZWlnaHQ7CisgICAgICAgIGFycmF5TGVuZ3RoID0gZGVzY3JpcHRvci5zaXpl
LmRlcHRoOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8z
ZDoKKyAgICAgICAgaGVpZ2h0ID0gZGVzY3JpcHRvci5zaXplLmhlaWdodDsKKyAgICAgICAgZGVw
dGggPSBkZXNjcmlwdG9yLnNpemUuZGVwdGg7CisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAg
IGF1dG8gcGl4ZWxGb3JtYXQgPSBzdGF0aWNfY2FzdDxNVExQaXhlbEZvcm1hdD4ocGxhdGZvcm1U
ZXh0dXJlRm9ybWF0Rm9yR1BVVGV4dHVyZUZvcm1hdChkZXNjcmlwdG9yLmZvcm1hdCkpOwogCiAg
ICAgYXV0byBtdGxVc2FnZSA9IG10bFRleHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdz
KHVzYWdlLCBmdW5jdGlvbk5hbWUpOwpAQCAtMTE3LDEwICsxMzMsMTAgQEAgc3RhdGljIFJldGFp
blB0cjxNVExUZXh0dXJlRGVzY3JpcHRvcj4gdHJ5Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3Io
Y29uc3QgY2hhcioKIAogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAotICAgIFtt
dGxEZXNjcmlwdG9yIHNldFdpZHRoOmRlc2NyaXB0b3Iuc2l6ZS53aWR0aF07Ci0gICAgW210bERl
c2NyaXB0b3Igc2V0SGVpZ2h0OmRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHRdOwotICAgIFttdGxEZXNj
cmlwdG9yIHNldERlcHRoOmRlc2NyaXB0b3Iuc2l6ZS5kZXB0aF07Ci0gICAgW210bERlc2NyaXB0
b3Igc2V0QXJyYXlMZW5ndGg6ZGVzY3JpcHRvci5hcnJheUxheWVyQ291bnRdOworICAgIFttdGxE
ZXNjcmlwdG9yIHNldFdpZHRoOndpZHRoXTsKKyAgICBbbXRsRGVzY3JpcHRvciBzZXRIZWlnaHQ6
aGVpZ2h0XTsKKyAgICBbbXRsRGVzY3JpcHRvciBzZXREZXB0aDpkZXB0aF07CisgICAgW210bERl
c2NyaXB0b3Igc2V0QXJyYXlMZW5ndGg6YXJyYXlMZW5ndGhdOwogICAgIFttdGxEZXNjcmlwdG9y
IHNldE1pcG1hcExldmVsQ291bnQ6ZGVzY3JpcHRvci5taXBMZXZlbENvdW50XTsKICAgICBbbXRs
RGVzY3JpcHRvciBzZXRTYW1wbGVDb3VudDpkZXNjcmlwdG9yLnNhbXBsZUNvdW50XTsKICAgICBb
bXRsRGVzY3JpcHRvciBzZXRUZXh0dXJlVHlwZTptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVE
ZXNjcmlwdG9yKGRlc2NyaXB0b3IpXTsKQEAgLTEzNCw3ICsxNTAsNyBAQCBzdGF0aWMgUmV0YWlu
UHRyPE1UTFRleHR1cmVEZXNjcmlwdG9yPiB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihj
b25zdCBjaGFyKgogICAgIHJldHVybiBtdGxEZXNjcmlwdG9yOwogfQogCi1SZWZQdHI8R1BVVGV4
dHVyZT4gR1BVVGV4dHVyZTo6dHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25z
dCBHUFVUZXh0dXJlRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKK1JlZlB0cjxHUFVUZXh0dXJlPiBH
UFVUZXh0dXJlOjp0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRl
eHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMp
CiB7CiAgICAgY29uc3QgY2hhciogY29uc3QgZnVuY3Rpb25OYW1lID0gIkdQVVRleHR1cmU6OnRy
eUNyZWF0ZSgpIjsKIApAQCAtMTQzLDYgKzE1OSwxMSBAQCBSZWZQdHI8R1BVVGV4dHVyZT4gR1BV
VGV4dHVyZTo6dHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0
dQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKKyAgICBpZiAoIVtkZXZpY2UucGxh
dGZvcm1EZXZpY2UoKSBzdXBwb3J0c1RleHR1cmVTYW1wbGVDb3VudDpkZXNjcmlwdG9yLnNhbXBs
ZUNvdW50XSkgeworICAgICAgICBlcnJvclNjb3Blcy5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRl
dmljZSBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgc2FtcGxlIGNvdW50LiIpOworICAgICAgICByZXR1
cm4geyB9OworICAgIH0KKwogICAgIGF1dG8gdXNhZ2UgPSBPcHRpb25TZXQ8R1BVVGV4dHVyZVVz
YWdlOjpGbGFncz46OmZyb21SYXcoZGVzY3JpcHRvci51c2FnZSk7CiAgICAgYXV0byBtdGxEZXNj
cmlwdG9yID0gdHJ5Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3IoZnVuY3Rpb25OYW1lLCBkZXNj
cmlwdG9yLCB1c2FnZSk7CiAgICAgaWYgKCFtdGxEZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGViNWJkMjhl
MmE5M2E0NGZiMzVkOWVmNTk2NmNjMjY3NWVhZjVkMjMuLjllYzMxNTMzMWJlNDMyMTgwMTQ5Njkx
YzNiMWI4OTdjNmMyMjk4OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNS0xMyAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IFZhbGlkYXRpb24gZm9yIEdQVURldmljZS5jcmVhdGVUZXh0dXJlKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTg4MgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjMyMTU5OTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sOiBBZGRlZC4KKwogMjAy
MC0wNS0xMyAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBF
bmFibGUgd2ViZ2xfY2FudmFzLyB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1
L3RleHR1cmUtY3JlYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMmZiNTdmMWQ0MGRjZjRmZjg1MTVmZmEzYWEzNTY5MTNiNDI5
NzM1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0
aW9uLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciBjcmVhdGluZyB0ZXh0dXJlIHZpZXdzLjwvdGl0bGU+
Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cithc3luYyBmdW5j
dGlvbiBydW5UZXN0cygpIHsKKyAgICBsZXQgd2lkdGggPSAxOworICAgIGxldCBoZWlnaHQgPSAx
OworICAgIGxldCBkZXB0aCA9IDI7CisgICAgbGV0IG1pcExldmVsQ291bnQgPSAyOworICAgIGxl
dCBzYW1wbGVDb3VudCA9IDE7CisgICAgbGV0IGRpbWVuc2lvbiA9ICIzZCI7CisgICAgbGV0IGZv
cm1hdCA9ICJyZ2JhOHVub3JtIjsKKyAgICBmb3IgKGxldCB3aWR0aCA9IC0xOyB3aWR0aCA8PSA0
OyArK3dpZHRoKSB7CisgICAgZm9yIChsZXQgaGVpZ2h0ID0gLTE7IGhlaWdodCA8PSA0OyArK2hl
aWdodCkgeworICAgIGZvciAobGV0IGRlcHRoID0gLTE7IGRlcHRoIDw9IDQ7ICsrZGVwdGgpIHsK
KyAgICBmb3IgKGxldCBtaXBMZXZlbENvdW50ID0gLTE7IG1pcExldmVsQ291bnQgPD0gNDsgKytt
aXBMZXZlbENvdW50KSB7CisgICAgZm9yIChsZXQgc2FtcGxlQ291bnQgPSAtMTsgc2FtcGxlQ291
bnQgPD0gNDsgKytzYW1wbGVDb3VudCkgeworICAgIGZvciAobGV0IGRpbWVuc2lvbiBvZiBbIjFk
IiwgIjJkIiwgIjNkIl0pIHsKKyAgICBmb3IgKGxldCBmb3JtYXQgb2YgWyJyZ2JhOHVub3JtIiwg
InJnYmE4dWludCIsICJiZ3JhOHVub3JtIiwgImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIsICJiZ3Jh
OHVub3JtLXNyZ2IiLCAicmdiYTE2ZmxvYXQiXSkgeworICAgICAgICBwcm9taXNlX3Rlc3QoKCkg
PT4geworICAgICAgICAgICAgcmV0dXJuIGdldEJhc2ljRGV2aWNlKCkudGhlbihhc3luYyBmdW5j
dGlvbihkZXZpY2UpIHsKKyAgICAgICAgICAgICAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZh
bGlkYXRpb24iKTsKKyAgICAgICAgICAgICAgICBsZXQgdGV4dHVyZSA9IGRldmljZS5jcmVhdGVU
ZXh0dXJlKHtzaXplOiB7d2lkdGgsIGhlaWdodCwgZGVwdGh9LCBtaXBMZXZlbENvdW50LCBzYW1w
bGVDb3VudCwgZGltZW5zaW9uLCBmb3JtYXQsIHVzYWdlOiAwfSk7CisgICAgICAgICAgICAgICAg
YXNzZXJ0X3RydWUodGV4dHVyZSBpbnN0YW5jZW9mIEdQVVRleHR1cmUsICJDYW5ub3QgY3JlYXRl
IHRleHR1cmUuIik7CisgICAgICAgICAgICAgICAgYXdhaXQgZGV2aWNlLnBvcEVycm9yU2NvcGUo
KS50aGVuKGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoZXJyb3IsIG51bGwsIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgICAgIH0sIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgImRldmljZSBs
b3N0Iik7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCBmdW5jdGlvbihlKSB7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgYENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0
aCAke3dpZHRofSBoZWlnaHQgJHtoZWlnaHR9IGRlcHRoICR7ZGVwdGh9IG1pcExldmVsQ291bnQg
JHttaXBMZXZlbENvdW50fSBzYW1wbGVDb3VudCAke3NhbXBsZUNvdW50fSBkaW1lbnNpb24gJHtk
aW1lbnNpb259IGZvcm1hdCAke2Zvcm1hdH0uYCk7CisgICAgfQorICAgIH0KKyAgICB9CisgICAg
fQorICAgIH0KKyAgICB9CisgICAgfQorfQorCitydW5UZXN0cygpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399433</attachid>
            <date>2020-05-14 18:10:42 -0700</date>
            <delta_ts>2020-05-14 22:49:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211882-20200514181041.patch</filename>
            <type>text/plain</type>
            <size>27772</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWViNGE2NjAxNDAwM2I0
NmVlMzM0NjY0YjUxNmNmMDdkZDJkYTZkZi4uNjUzNmE5NDg1NjczZWYxZmExMDQxNjBhNjBjOTlj
ZTkyZDc5MzE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA1LTEzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
VmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82MzIxNTk5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiB3ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6OnRyeUNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVEZXZpY2U6OmNyZWF0ZVRleHR1cmUgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bWF4
aW11bU1pcExldmVsQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjp0cnlDcmVh
dGVUZXh0dXJlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnNldEVycm9yU2NvcGVzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVT2JqZWN0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6
R1BVT2JqZWN0QmFzZTo6ZXJyb3JTY29wZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R1BV
T2JqZWN0QmFzZTo6ZXJyb3JTY29wZXMpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVRleHR1cmVEZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2NvY29hL0dQVVRleHR1cmVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6Om10bFRleHR1cmVU
eXBlRm9yR1BVVGV4dHVyZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6bXRsVGV4dHVy
ZVVzYWdlRm9yR1BVVGV4dHVyZVVzYWdlRmxhZ3MpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5Q3Jl
YXRlTXRsVGV4dHVyZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6R1BVVGV4dHVyZTo6
dHJ5Q3JlYXRlKToKKwogMjAyMC0wNS0xMyAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGFzc2VydCBpbiB7V2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYXR0YWNobWVudFZpZXddLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi9XVEYueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV1RGLnhjc2NoZW1l
IGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV1RGLnhj
c2NoZW1lCmluZGV4IGJjNDdlNTE5YzFhOTY2YmU1NWZmZTcxYjA0MWFhNTBjZTE2M2I5NGYuLmU1
ODU5MmU0NmUwZjJkMTFiMDJiMTJlYWM5NTM5YWI1MmMwYjk1YTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dURi54Y3NjaGVtZQor
KysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XVEYu
eGNzY2hlbWUKQEAgLTQwLDYgKzQwLDExIEBACiAgICAgICBkZWJ1Z0RvY3VtZW50VmVyc2lvbmlu
ZyA9ICJZRVMiCiAgICAgICBkZWJ1Z1NlcnZpY2VFeHRlbnNpb24gPSAiaW50ZXJuYWwiCiAgICAg
ICBhbGxvd0xvY2F0aW9uU2ltdWxhdGlvbiA9ICJZRVMiPgorICAgICAgPFBhdGhSdW5uYWJsZQor
ICAgICAgICAgcnVubmFibGVEZWJ1Z2dpbmdNb2RlID0gIjAiCisgICAgICAgICBCdW5kbGVJZGVu
dGlmaWVyID0gIm9yZy53ZWJraXQuTWluaUJyb3dzZXIiCisgICAgICAgICBGaWxlUGF0aCA9ICIv
VXNlcnMvbW1heGZpZWxkL0J1aWxkL1Byb2R1Y3RzL0RlYnVnL01pbmlCcm93c2VyLmFwcCI+Cisg
ICAgICA8L1BhdGhSdW5uYWJsZT4KICAgIDwvTGF1bmNoQWN0aW9uPgogICAgPFByb2ZpbGVBY3Rp
b24KICAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxlYXNlIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcCBiL1NvdXJjZS9XVEYvd3RmL01l
bW9yeVByZXNzdXJlSGFuZGxlci5jcHAKaW5kZXggZDVlNTRlNjVkNjI4ZjE0NWNiNjNlNDllNDQx
OGYyZDMxOGFiMDgzYy4uYzI2MmI1ZGE5NTZkMjViM2RkZmUzYzRhNWVkODA5NGI5ZWRkNWQ0NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCkBAIC05NCw3ICs5NCw5
IEBAIHN0YXRpYyBjb25zdCBjaGFyKiB0b1N0cmluZyhNZW1vcnlVc2FnZVBvbGljeSBwb2xpY3kp
CiAKIHN0YXRpYyBzaXplX3QgdGhyZXNob2xkRm9yTWVtb3J5S2lsbFdpdGhQcm9jZXNzU3RhdGUo
V2Vic2FtUHJvY2Vzc1N0YXRlIHByb2Nlc3NTdGF0ZSwgdW5zaWduZWQgdGFiQ291bnQpCiB7Ci0g
ICAgc2l6ZV90IGJhc2VUaHJlc2hvbGQgPSAyICogR0I7CisgICAgVU5VU0VEX1BBUkFNKHByb2Nl
c3NTdGF0ZSk7CisgICAgVU5VU0VEX1BBUkFNKHRhYkNvdW50KTsKKyAgICAvKnNpemVfdCBiYXNl
VGhyZXNob2xkID0gMiAqIEdCOwogI2lmIENQVShYODZfNjQpIHx8IENQVShBUk02NCkKICAgICBp
ZiAocHJvY2Vzc1N0YXRlID09IFdlYnNhbVByb2Nlc3NTdGF0ZTo6QWN0aXZlKQogICAgICAgICBi
YXNlVGhyZXNob2xkID0gNCAqIEdCOwpAQCAtMTAzLDggKzEwNSw4IEBAIHN0YXRpYyBzaXplX3Qg
dGhyZXNob2xkRm9yTWVtb3J5S2lsbFdpdGhQcm9jZXNzU3RhdGUoV2Vic2FtUHJvY2Vzc1N0YXRl
IHByb2Nlc3NTCiAjZWxzZQogICAgIGlmICgodGFiQ291bnQgPiAxKSB8fCAocHJvY2Vzc1N0YXRl
ID09IFdlYnNhbVByb2Nlc3NTdGF0ZTo6QWN0aXZlKSkKICAgICAgICAgYmFzZVRocmVzaG9sZCA9
IDMgKiBHQjsKLSNlbmRpZgotICAgIHJldHVybiBzdGQ6Om1pbihiYXNlVGhyZXNob2xkLCBzdGF0
aWNfY2FzdDxzaXplX3Q+KHJhbVNpemUoKSAqIDAuOSkpOworI2VuZGlmKi8KKyAgICByZXR1cm4g
cmFtU2l6ZSgpOwogfQogCiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2V0UGFnZUNvdW50
KHVuc2lnbmVkIHBhZ2VDb3VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L0dQVUV4dGVudDNELmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQ
VUV4dGVudDNELmlkbAppbmRleCA1ZGZkY2UzMWI0OTRiMDg2MTZmNzIxNDUwODk0MGU5NDEzYzAx
ZmRjLi4xM2ExYjQ0NzQxNjgxMDJhM2JmZGY0MDQyNmEwNDM2M2I3Y2I5NzMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCkBAIC0yNCwxMyArMjQs
MTMgQEAKICAqLwogLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVm
IHVuc2lnbmVkIGxvbmcgdTMyOwordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25n
IEdQVUludGVnZXJDb29yZGluYXRlOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCiBdIGRpY3Rpb25hcnkgR1BVRXh0ZW50M0QgewotICAg
IHJlcXVpcmVkIHUzMiB3aWR0aDsKLSAgICByZXF1aXJlZCB1MzIgaGVpZ2h0OwotICAgIHJlcXVp
cmVkIHUzMiBkZXB0aDsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0aDsK
KyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQ7CisgICAgcmVxdWlyZWQg
R1BVSW50ZWdlckNvb3JkaW5hdGUgZGVwdGg7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCmluZGV4IDQ0NTk1Mzg4
ZWVlYzJhOTVjYzM4MWQwN2Y3OGJiYjgwOTFiZGE3M2YuLjc0NzFjM2QxNzllNjk0NDQyYzZiZTY1
ZDhiZDFlNDBlYWFiOWEwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwKQEAgLTQwLDcgKzQwLDYgQEAgdHlwZWRl
ZiB1bnNpZ25lZCBsb25nIEdQVVRleHR1cmVVc2FnZUZsYWdzOwogICAgIEVuYWJsZWRBdFJ1bnRp
bWU9V2ViR1BVCiBdIGRpY3Rpb25hcnkgR1BVVGV4dHVyZURlc2NyaXB0b3IgewogICAgIHJlcXVp
cmVkIEdQVUV4dGVudDNEIHNpemU7Ci0gICAgdTMyIGFycmF5TGF5ZXJDb3VudCA9IDE7CiAgICAg
dTMyIG1pcExldmVsQ291bnQgPSAxOwogICAgIHUzMiBzYW1wbGVDb3VudCA9IDE7CiAgICAgR1BV
VGV4dHVyZURpbWVuc2lvbiBkaW1lbnNpb24gPSAiMmQiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZVVzYWdlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKaW5kZXggMDJlODkwY2E1ZGJiY2Uz
MTk4OWNkNzNiNDgzZDgwN2Q3ZGJmY2QxMi4uNmIzMGJiMGUzZjAxNmJiNzc4MThhMDhhODQwNTM3
Yjg0MjFmYTk4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BV
VGV4dHVyZVVzYWdlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlVXNhZ2UuaWRsCkBAIC0zMiw3ICszMiw2IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB1
MzI7CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCiAgICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZQogXSBpbnRlcmZhY2UgR1BVVGV4dHVyZVVzYWdlIHsKLSAgICBjb25zdCB1MzIgTk9O
RSA9IDA7CiAgICAgY29uc3QgdTMyIENPUFlfU1JDID0gMTsKICAgICBjb25zdCB1MzIgQ09QWV9E
U1QgPSAyOwogICAgIGNvbnN0IHUzMiBTQU1QTEVEID0gNDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IDgwYjFlNjNjNDYwNWY3OTQwOTM3
MmYzODE3MjA1MjM5MDliZDA1ZjAuLmNhMDFiMTAxNWFkNjFjY2MzOWFkMzM5YjlhZGI3YmU0Njlm
MWIxYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNl
LmNwcApAQCAtOTYsOCArOTYsMTEgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYkdQ
VURldmljZSk7CiAKIFJlZlB0cjxXZWJHUFVEZXZpY2U+IFdlYkdQVURldmljZTo6dHJ5Q3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxjb25zdCBXZWJHUFVBZGFwdGVy
PiYmIGFkYXB0ZXIpCiB7Ci0gICAgaWYgKGF1dG8gZGV2aWNlID0gR1BVRGV2aWNlOjp0cnlDcmVh
dGUoYWRhcHRlci0+b3B0aW9ucygpKSkKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJH
UFVEZXZpY2UoY29udGV4dCwgV1RGTW92ZShhZGFwdGVyKSwgZGV2aWNlLnJlbGVhc2VOb25OdWxs
KCkpKTsKKyAgICBpZiAoYXV0byBkZXZpY2UgPSBHUFVEZXZpY2U6OnRyeUNyZWF0ZShhZGFwdGVy
LT5vcHRpb25zKCkpKSB7CisgICAgICAgIGF1dG8gcmVzdWx0ID0gYWRvcHRSZWYobmV3IFdlYkdQ
VURldmljZShjb250ZXh0LCBXVEZNb3ZlKGFkYXB0ZXIpLCBtYWtlUmVmKCpkZXZpY2UpKSk7Cisg
ICAgICAgIGRldmljZS0+c2V0RXJyb3JTY29wZXMocmVzdWx0LT5tX2Vycm9yU2NvcGVzLmNvcHlS
ZWYoKSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQogICAgIHJldHVybiBudWxscHRy
OwogfQogCkBAIC0xODAsNiArMTgzLDggQEAgVmVjdG9yPEpTQzo6SlNWYWx1ZT4gV2ViR1BVRGV2
aWNlOjpjcmVhdGVCdWZmZXJNYXBwZWQoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWMKIAogUmVm
PFdlYkdQVVRleHR1cmU+IFdlYkdQVURldmljZTo6Y3JlYXRlVGV4dHVyZShjb25zdCBHUFVUZXh0
dXJlRGVzY3JpcHRvciYgZGVzY3JpcHRvcikgY29uc3QKIHsKKyAgICBtX2Vycm9yU2NvcGVzLT5z
ZXRFcnJvclByZWZpeCgiR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKTogIik7CisKICAgICBhdXRv
IHRleHR1cmUgPSBtX2RldmljZS0+dHJ5Q3JlYXRlVGV4dHVyZShkZXNjcmlwdG9yKTsKICAgICBy
ZXR1cm4gV2ViR1BVVGV4dHVyZTo6Y3JlYXRlKFdURk1vdmUodGV4dHVyZSkpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2No
ZW1lcy9XZWJDb3JlLnhjc2NoZW1lIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
eGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCmluZGV4IDE1ODJlMWEzYzU2
ZGY5ZTc4MjAwZDk5YTk5ODY4MDU5MWI0Y2RmMGIuLjkzMzM1ZjUxMWMwNmFiZjMxN2RmZTc4M2Q5
OGUxMjE5OGViMjM1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dlYkNvcmUu
eGNzY2hlbWUKQEAgLTMxLDcgKzMxLDcgQEAKICAgICAgIDwvVGVzdGFibGVzPgogICAgPC9UZXN0
QWN0aW9uPgogICAgPExhdW5jaEFjdGlvbgotICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIkRl
YnVnIgorICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIlJlbGVhc2UiCiAgICAgICBzZWxlY3Rl
ZERlYnVnZ2VySWRlbnRpZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5kYXRpb24uRGVidWdnZXIu
TExEQiIKICAgICAgIHNlbGVjdGVkTGF1bmNoZXJJZGVudGlmaWVyID0gIlhjb2RlLkRlYnVnZ2Vy
Rm91bmRhdGlvbi5MYXVuY2hlci5MTERCIgogICAgICAgbGF1bmNoU3R5bGUgPSAiMCIKQEAgLTQw
LDYgKzQwLDExIEBACiAgICAgICBkZWJ1Z0RvY3VtZW50VmVyc2lvbmluZyA9ICJZRVMiCiAgICAg
ICBkZWJ1Z1NlcnZpY2VFeHRlbnNpb24gPSAiaW50ZXJuYWwiCiAgICAgICBhbGxvd0xvY2F0aW9u
U2ltdWxhdGlvbiA9ICJZRVMiPgorICAgICAgPFBhdGhSdW5uYWJsZQorICAgICAgICAgcnVubmFi
bGVEZWJ1Z2dpbmdNb2RlID0gIjAiCisgICAgICAgICBCdW5kbGVJZGVudGlmaWVyID0gIm9yZy53
ZWJraXQuTWluaUJyb3dzZXIiCisgICAgICAgICBGaWxlUGF0aCA9ICIvVXNlcnMvbW1heGZpZWxk
L0J1aWxkL1Byb2R1Y3RzL0RlYnVnL01pbmlCcm93c2VyLmFwcCI+CisgICAgICA8L1BhdGhSdW5u
YWJsZT4KICAgIDwvTGF1bmNoQWN0aW9uPgogICAgPFByb2ZpbGVBY3Rpb24KICAgICAgIGJ1aWxk
Q29uZmlndXJhdGlvbiA9ICJSZWxlYXNlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcAppbmRleCBmNWU0M2NlZWQ5NWZlNTc3M2UzNTA4
MWFkYTQ4Y2M0YTY5MzY4MjMzLi44ZjYzNWI1YTEzZWViZDgyZDZmYjdkMzRmYmY5ZjU2NThhZDlk
NmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGV2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGV2aWNlLmNwcApAQCAtNjAsOSArNjAsMTIzIEBAIFJlZlB0cjxHUFVCdWZmZXI+IEdQVURldmlj
ZTo6dHJ5Q3JlYXRlQnVmZmVyKGNvbnN0IEdQVUJ1ZmZlckRlc2NyaXB0b3ImIGRlc2NyaXB0CiAg
ICAgcmV0dXJuIEdQVUJ1ZmZlcjo6dHJ5Q3JlYXRlKCp0aGlzLCBkZXNjcmlwdG9yLCBpc01hcHBl
ZCwgZXJyb3JTY29wZXMpOwogfQogCitzdGF0aWMgdW5zaWduZWQgbWF4aW11bU1pcExldmVsQ291
bnQoR1BVVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNpb24sIEdQVUV4dGVudDNEIHNpemUpCit7Cisg
ICAgdW5zaWduZWQgd2lkdGggPSBzaXplLndpZHRoOworICAgIHVuc2lnbmVkIGhlaWdodCA9IDE7
CisgICAgdW5zaWduZWQgZGVwdGggPSAxOworICAgIHN3aXRjaCAoZGltZW5zaW9uKSB7CisgICAg
Y2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
R1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkOgorICAgICAgICBoZWlnaHQgPSBzaXplLmhlaWdodDsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfM2Q6CisgICAg
ICAgIGhlaWdodCA9IHNpemUuaGVpZ2h0OworICAgICAgICBkZXB0aCA9IHNpemUuZGVwdGg7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGF1dG8gbWF4RGltZW5zaW9uID0gc3RkOjptYXgo
c3RkOjptYXgod2lkdGgsIGhlaWdodCksIGRlcHRoKTsKKyAgICBpbnQgaSA9IHNpemVvZihHUFVF
eHRlbnQzRDo6SW5uZXJUeXBlKSAqIDggLSAxOworICAgIGZvciAoOyAhKG1heERpbWVuc2lvbiAm
ICgxIDw8IGkpKSAmJiBpID49IDA7IC0taSkgeworICAgIH0KKyAgICBBU1NFUlQoaSA+PSAwKTsK
KyAgICByZXR1cm4gaSArIDE7Cit9CisKIFJlZlB0cjxHUFVUZXh0dXJlPiBHUFVEZXZpY2U6OnRy
eUNyZWF0ZVRleHR1cmUoY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIEdQVVRleHR1cmU6OnRyeUNyZWF0ZSgqdGhpcywgZGVzY3JpcHRv
cik7CisgICAgaWYgKCFkZXNjcmlwdG9yLnNpemUud2lkdGggfHwgIWRlc2NyaXB0b3Iuc2l6ZS5o
ZWlnaHQgfHwgIWRlc2NyaXB0b3Iuc2l6ZS5kZXB0aCkgeworICAgICAgICBtX2Vycm9yU2NvcGVz
LT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIlRleHR1cmVzIGNhbid0IGhhdmUgMCBkaW1lbnNpb25z
LiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIGlmICghZGVzY3JpcHRvci5t
aXBMZXZlbENvdW50KSB7CisgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRF
cnJvcigiVGV4dHVyZXMgY2FuJ3QgaGF2ZSAwIG1pcGxldmVscy4iKTsKKyAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICB9CisKKyAgICBpZiAoIWRlc2NyaXB0b3Iuc2FtcGxlQ291bnQpIHsKKyAgICAg
ICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlcyBjYW4ndCBo
YXZlIDAgc2FtcGxlcy4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICAvLyBo
dHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbWV0YWwvTWV0YWwtRmVhdHVyZS1TZXQtVGFibGVz
LnBkZgorICAgIHN3aXRjaCAoZGVzY3JpcHRvci5kaW1lbnNpb24pIHsKKyAgICBjYXNlIEdQVVRl
eHR1cmVEaW1lbnNpb246Ol8xZDoKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS53aWR0aCA+
IDgxOTIpIHsKKyAgICAgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJv
cigiMUQgdGV4dHVyZSBpcyB0b28gd2lkZS4iKTsKKyAgICAgICAgICAgIHJldHVybiB7IH07Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHQgPiAyMDQ4KSB7Cisg
ICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFEIHRleHR1
cmUgYXJyYXkgaGFzIHRvbyBtYW55IGxheWVycy4iKTsKKyAgICAgICAgICAgIHJldHVybiB7IH07
CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9u
OjpfMmQ6CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUud2lkdGggPiA4MTkyIHx8IGRlc2Ny
aXB0b3Iuc2l6ZS5oZWlnaHQgPiA4MTkyKSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5n
ZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjJEIHRleHR1cmUgaXMgdG9vIGxhcmdlLiIpOworICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXpl
LmRlcHRoID4gMjA0OCkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVm
aXhlZEVycm9yKCIyRCB0ZXh0dXJlIGFycmF5IGhhcyB0b28gbWFueSBsYXllcnMuIik7CisgICAg
ICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
R1BVVGV4dHVyZURpbWVuc2lvbjo6XzNkOgorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLndp
ZHRoID4gMjA0OCB8fCBkZXNjcmlwdG9yLnNpemUuaGVpZ2h0ID4gMjA0OCB8fCBkZXNjcmlwdG9y
LnNpemUuZGVwdGggPiAyMDQ4KSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0
ZVByZWZpeGVkRXJyb3IoIjNEIHRleHR1cmUgaXMgdG9vIGxhcmdlLiIpOworICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAo
ZGVzY3JpcHRvci5kaW1lbnNpb24gPT0gR1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkICYmIGRlc2Ny
aXB0b3IubWlwTGV2ZWxDb3VudCAhPSAxKSB7CisgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVy
YXRlUHJlZml4ZWRFcnJvcigiMUQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBtaXBtYXBzLiIpOworICAg
ICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIGlmIChkZXNjcmlwdG9yLm1pcExldmVsQ291
bnQgPiBtYXhpbXVtTWlwTGV2ZWxDb3VudChkZXNjcmlwdG9yLmRpbWVuc2lvbiwgZGVzY3JpcHRv
ci5zaXplKSkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3Io
IlRvbyBtYW55IG1pcGxldmVscy4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAg
ICBpZiAoZGVzY3JpcHRvci5zYW1wbGVDb3VudCAhPSAxKSB7CisgICAgICAgIGlmIChkZXNjcmlw
dG9yLmRpbWVuc2lvbiAhPSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMmQpIHsKKyAgICAgICAgICAg
IG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiVGV4dHVyZSBkaW1lbnNpb24g
aW5jb21wYXRpYmxlIHdpdGggbXVsdGlzYW1wbGluZy4iKTsKKyAgICAgICAgICAgIHJldHVybiB7
IH07CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRlc2NyaXB0b3IubWlwTGV2ZWxDb3VudCAhPSAx
KSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIk11
bHRpc2FtcGxlZCB0ZXh0dXJlcyBjYW4ndCBoYXZlIG1pcG1hcHMuIik7CisgICAgICAgICAgICBy
ZXR1cm4geyB9OworICAgICAgICB9CisgICAgICAgIC8vIEZJWE1FOiBPbmx5IHNvbWUgcGl4ZWwg
Zm9ybWF0cyBhcmUgY2FwYWJsZSBvZiBNU0FBLiBGaWx0ZXIgdGhvc2UgaGVyZS4KKyAgICB9CisK
KyAgICBpZiAoZGVzY3JpcHRvci5zaXplLmhlaWdodCAhPSAxICYmIGRlc2NyaXB0b3IuZGltZW5z
aW9uID09IEdQVVRleHR1cmVEaW1lbnNpb246Ol8xZCkgeworICAgICAgICBtX2Vycm9yU2NvcGVz
LT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVzIGNhbid0IGhhdmUgaGVpZ2h0ICE9
IDEuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgLy8gVGhlIGhlaWdodCBj
b21wb25lbnQgZm9yIDFkIHRleHR1cmVzIGlzIHRoZSBhcnJheSBsZW5ndGguCisgICAgLy8gVGhl
IGRlcHRoIGNvbXBvbmVudCBmb3IgMmQgdGV4dHVyZXMgaXMgdGhlIGFycmF5IGxlbmd0aC4KKyAg
ICBpZiAoZGVzY3JpcHRvci5kaW1lbnNpb24gPT0gR1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkICYm
IGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aCAhPSAxKSB7CisgICAgICAgIG1fZXJyb3JTY29wZXMtPmdl
bmVyYXRlUHJlZml4ZWRFcnJvcigiMUQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBoZWlnaHQgb3IgZGVw
dGggIT0gMS4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoZGVzY3Jp
cHRvci5mb3JtYXQgPT0gR1BVVGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDggJiYg
ZGVzY3JpcHRvci5kaW1lbnNpb24gIT0gR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkKSB7CisgICAg
ICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiRGVwdGgvc3RlbmNpbCB0
ZXh0dXJlcyBtdXN0IGJlIDJkLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAg
IGlmIChkZXNjcmlwdG9yLmZvcm1hdCA9PSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRT
dGVuY2lsOCAmJiBkZXNjcmlwdG9yLnNhbXBsZUNvdW50ICE9IDEpIHsKKyAgICAgICAgbV9lcnJv
clNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJEZXB0aC9zdGVuY2lsIHRleHR1cmVzIGNh
bid0IGJlIG11bHRpc2FtcGxlZC4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAg
ICByZXR1cm4gR1BVVGV4dHVyZTo6dHJ5Q3JlYXRlKCp0aGlzLCBkZXNjcmlwdG9yLCBtYWtlUmVm
KCptX2Vycm9yU2NvcGVzKSk7CiB9CiAKIFJlZlB0cjxHUFVTYW1wbGVyPiBHUFVEZXZpY2U6OnRy
eUNyZWF0ZVNhbXBsZXIoY29uc3QgR1BVU2FtcGxlckRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNl
LmgKaW5kZXggNThiMTIwMDMxZGYwMWQ3MGY3YjhmN2E1Y2Y2ZDNmZjJlM2Q3MTIwMC4uZjU0OTZj
YzY3ZDg0M2UwYjlhNWFlNmRiMmNlMGQ4ZDU1NjhhOWUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsNyBAQAog
I2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVCaW5kR3JvdXBBbGxvY2F0b3IuaCIK
KyNpbmNsdWRlICJHUFVFcnJvclNjb3Blcy5oIgogI2luY2x1ZGUgIkdQVVF1ZXVlLmgiCiAjaW5j
bHVkZSAiR1BVU3dhcENoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CkBAIC05NSw2
ICs5Niw4IEBAIHB1YmxpYzoKICAgICBHUFVTd2FwQ2hhaW4qIHN3YXBDaGFpbigpIGNvbnN0IHsg
cmV0dXJuIG1fc3dhcENoYWluLmdldCgpOyB9CiAgICAgdm9pZCBzZXRTd2FwQ2hhaW4oUmVmUHRy
PEdQVVN3YXBDaGFpbj4mJik7CiAKKyAgICB2b2lkIHNldEVycm9yU2NvcGVzKFJlZjxHUFVFcnJv
clNjb3Blcz4mJiBlcnJvclNjb3BlcykgeyBtX2Vycm9yU2NvcGVzID0gV1RGTW92ZShlcnJvclNj
b3Blcyk7IH0KKwogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCB1c2VXSExTTCA9IHRydWU7CiAK
IHByaXZhdGU6CkBAIC0xMDQsNiArMTA3LDcgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0
cjxHUFVRdWV1ZT4gbV9xdWV1ZTsKICAgICBSZWZQdHI8R1BVU3dhcENoYWluPiBtX3N3YXBDaGFp
bjsKICAgICBtdXRhYmxlIFJlZlB0cjxHUFVCaW5kR3JvdXBBbGxvY2F0b3I+IG1fYmluZEdyb3Vw
QWxsb2NhdG9yOworICAgIFJlZlB0cjxHUFVFcnJvclNjb3Blcz4gbV9lcnJvclNjb3BlczsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRlbnQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUV4dGVudDNELmgKaW5kZXggMzE5NWQxNzM5NDZjNGQwYzk2ZTIy
ZGI2Y2U1NDBkMzE1YTMwMTlmMy4uNTQ0ODI2NTIwY2M1ZTdlMGNjOWZmNDNmZDE0MjgwZjUwNDRi
N2ViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUV4dGVudDNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUV4dGVudDNELmgKQEAgLTMwLDkgKzMwLDEwIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
CiBzdHJ1Y3QgR1BVRXh0ZW50M0QgewotICAgIHVuc2lnbmVkIHdpZHRoOwotICAgIHVuc2lnbmVk
IGhlaWdodDsKLSAgICB1bnNpZ25lZCBkZXB0aDsKKyAgICB1c2luZyBJbm5lclR5cGUgPSB1bnNp
Z25lZDsKKyAgICBJbm5lclR5cGUgd2lkdGg7CisgICAgSW5uZXJUeXBlIGhlaWdodDsKKyAgICBJ
bm5lclR5cGUgZGVwdGg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVT2JqZWN0QmFzZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJhc2UuaAppbmRl
eCA5NGMxZjUyNzk0NGYyMzMzMDlhNDU1YzY5MGM3Y2FiOTJkZWQ1ZjQ3Li42N2IyZDkxOGMyZTU0
NTE3Y2IzN2ZmZmVhNmIyNjJkNDVmODJmYTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVT2JqZWN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPYmplY3RCYXNlLmgKQEAgLTQwLDcgKzQwLDcgQEAg
cHJvdGVjdGVkOgogICAgIEdQVU9iamVjdEJhc2UoUmVmPEdQVUVycm9yU2NvcGVzPiYmIHJlcG9y
dGVyKQogICAgICAgICA6IG1fZXJyb3JTY29wZXMoV1RGTW92ZShyZXBvcnRlcikpIHsgfQogCi0g
ICAgR1BVRXJyb3JTY29wZXMmIGVycm9yU2NvcGVzKCkgeyByZXR1cm4gbV9lcnJvclNjb3Blczsg
fQorICAgIEdQVUVycm9yU2NvcGVzJiBlcnJvclNjb3BlcygpIGNvbnN0IHsgcmV0dXJuIG1fZXJy
b3JTY29wZXM7IH0KIAogcHJpdmF0ZToKICAgICBSZWY8R1BVRXJyb3JTY29wZXM+IG1fZXJyb3JT
Y29wZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVVGV4dHVyZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRl
eHR1cmUuaAppbmRleCBmZjdhYWIwOTY1YjYyZGJkMWUzZGIzNzU5MmE1N2QzNGFjYTlhOWMyLi5h
M2I0MjZiMDU4MGUxMjI4Y2UyZmFmZGVlOWYwOTA0ZTdkMTgzYzQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmgKQEAgLTM4LDYgKzM4
LDcgQEAgT0JKQ19QUk9UT0NPTChNVExUZXh0dXJlKTsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgR1BVRGV2aWNlOworY2xhc3MgR1BVRXJyb3JTY29wZXM7CiAKIHN0cnVjdCBHUFVUZXh0
dXJlRGVzY3JpcHRvcjsKIApAQCAtNDYsNyArNDcsNyBAQCB1c2luZyBQbGF0Zm9ybVRleHR1cmVT
bWFydFB0ciA9IFJldGFpblB0cjxNVExUZXh0dXJlPjsKIAogY2xhc3MgR1BVVGV4dHVyZSA6IHB1
YmxpYyBSZWZDb3VudGVkPEdQVVRleHR1cmU+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRy
PEdQVVRleHR1cmU+IHRyeUNyZWF0ZShjb25zdCBHUFVEZXZpY2UmLCBjb25zdCBHUFVUZXh0dXJl
RGVzY3JpcHRvciYpOworICAgIHN0YXRpYyBSZWZQdHI8R1BVVGV4dHVyZT4gdHJ5Q3JlYXRlKGNv
bnN0IEdQVURldmljZSYsIGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiwgR1BVRXJyb3JTY29w
ZXMmKTsKICAgICBzdGF0aWMgUmVmPEdQVVRleHR1cmU+IGNyZWF0ZShQbGF0Zm9ybVRleHR1cmVT
bWFydFB0ciYmLCBPcHRpb25TZXQ8R1BVVGV4dHVyZVVzYWdlOjpGbGFncz4pOwogCiAgICAgUGxh
dGZvcm1UZXh0dXJlICpwbGF0Zm9ybVRleHR1cmUoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3Jt
VGV4dHVyZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaAppbmRleCA2NmUxYzE3YmQ4YmRk
NjE3ZjdlOTQ1ZGRkMWJmZDk3OWY1NWZlMTgwLi5iMmE2ODVhMjE5ZjMyOWI2MDcwNGQzZTY1NjIz
YjVhNmFiN2VkZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaApAQCAtNDEsNyArNDEsNiBAQCBl
bnVtIGNsYXNzIEdQVVRleHR1cmVEaW1lbnNpb24gewogICAgIAogc3RydWN0IEdQVVRleHR1cmVE
ZXNjcmlwdG9yIHsKICAgICBHUFVFeHRlbnQzRCBzaXplOwotICAgIHVuc2lnbmVkIGFycmF5TGF5
ZXJDb3VudDsKICAgICB1bnNpZ25lZCBtaXBMZXZlbENvdW50OwogICAgIHVuc2lnbmVkIHNhbXBs
ZUNvdW50OwogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVVc2FnZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVVc2FnZS5oCmlu
ZGV4IDVjMGNlNjEwNGFhMGMyYjMzZjQyZDJmYmQyNDRmMmUxMGVjOWMwOTcuLjU5ZjNlNzk5NTlh
ZjJmOGNjYjhmODhmNmI4MmUzNzI3YTJkNzQyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlVXNhZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZVVzYWdlLmgKQEAgLTM2LDcgKzM2
LDYgQEAgdXNpbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3MgPSB1bnNpZ25lZDsKIGNsYXNzIEdQVVRl
eHR1cmVVc2FnZSA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVVRleHR1cmVVc2FnZT4gewogcHVibGlj
OgogICAgIGVudW0gY2xhc3MgRmxhZ3MgOiBHUFVUZXh0dXJlVXNhZ2VGbGFncyB7Ci0gICAgICAg
IE5vbmUgPSAwLAogICAgICAgICBDb3B5U291cmNlID0gMSA8PCAwLAogICAgICAgICBDb3B5RGVz
dGluYXRpb24gPSAxIDw8IDEsCiAgICAgICAgIFNhbXBsZWQgPSAxIDw8IDIsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1l
dGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRl
eHR1cmVNZXRhbC5tbQppbmRleCA1ZGIxZGFhNDU1Njk3ZjUzMDUzYzg0YWY1MGRkZWQ4MTU1NDc3
ZTdkLi5lN2QxMGQ0NjFmMGY2ODU4ZmQ1MDBlNDhmZDNkOTdjNDJhOTFkYTBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1l
dGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9H
UFVUZXh0dXJlTWV0YWwubW0KQEAgLTQyLDEyICs0MiwxMSBAQCBzdGF0aWMgTVRMVGV4dHVyZVR5
cGUgbXRsVGV4dHVyZVR5cGVGb3JHUFVUZXh0dXJlRGVzY3JpcHRvcihjb25zdCBHUFVUZXh0dXJl
RGVzYwogewogICAgIHN3aXRjaCAoZGVzY3JpcHRvci5kaW1lbnNpb24pIHsKICAgICBjYXNlIEdQ
VVRleHR1cmVEaW1lbnNpb246Ol8xZDoKLSAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLmFycmF5
TGF5ZXJDb3VudCA9PSAxKSA/IE1UTFRleHR1cmVUeXBlMUQgOiBNVExUZXh0dXJlVHlwZTFEQXJy
YXk7CisgICAgICAgIHJldHVybiAoZGVzY3JpcHRvci5zaXplLmhlaWdodCA9PSAxKSA/IE1UTFRl
eHR1cmVUeXBlMUQgOiBNVExUZXh0dXJlVHlwZTFEQXJyYXk7CiAgICAgY2FzZSBHUFVUZXh0dXJl
RGltZW5zaW9uOjpfMmQ6IHsKLSAgICAgICAgaWYgKGRlc2NyaXB0b3IuYXJyYXlMYXllckNvdW50
ID09IDEpCisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUuZGVwdGggPT0gMSkKICAgICAgICAg
ICAgIHJldHVybiAoZGVzY3JpcHRvci5zYW1wbGVDb3VudCA9PSAxKSA/IE1UTFRleHR1cmVUeXBl
MkQgOiBNVExUZXh0dXJlVHlwZTJETXVsdGlzYW1wbGU7Ci0KLSAgICAgICAgcmV0dXJuIE1UTFRl
eHR1cmVUeXBlMkRBcnJheTsKKyAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLnNhbXBsZUNvdW50
ID09IDEpID8gTVRMVGV4dHVyZVR5cGUyREFycmF5IDogTVRMVGV4dHVyZVR5cGUyRE11bHRpc2Ft
cGxlQXJyYXk7CiAgICAgfQogICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzNkOgogICAg
ICAgICByZXR1cm4gTVRMVGV4dHVyZVR5cGUzRDsKQEAgLTY1LDcgKzY0LDcgQEAgc3RhdGljIE9w
dGlvbmFsPE1UTFRleHR1cmVVc2FnZT4gbXRsVGV4dHVyZVVzYWdlRm9yR1BVVGV4dHVyZVVzYWdl
RmxhZ3MoT3B0aW9uU2UKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICB9CiAKLSAg
ICBNVExUZXh0dXJlVXNhZ2UgcmVzdWx0ID0gTVRMVGV4dHVyZVVzYWdlUGl4ZWxGb3JtYXRWaWV3
OworICAgIE1UTFRleHR1cmVVc2FnZSByZXN1bHQgPSAwOwogICAgIGlmIChmbGFncy5jb250YWlu
cyhHUFVUZXh0dXJlVXNhZ2U6OkZsYWdzOjpPdXRwdXRBdHRhY2htZW50KSkKICAgICAgICAgcmVz
dWx0IHw9IE1UTFRleHR1cmVVc2FnZVJlbmRlclRhcmdldDsKICAgICBpZiAoZmxhZ3MuY29udGFp
bnNBbnkoeyBHUFVUZXh0dXJlVXNhZ2U6OkZsYWdzOjpTdG9yYWdlLCBHUFVUZXh0dXJlVXNhZ2U6
OkZsYWdzOjpTYW1wbGVkIH0pKQpAQCAtMTAyLDcgKzEwMSwyNCBAQCBzdGF0aWMgUmV0YWluUHRy
PE1UTFRleHR1cmVEZXNjcmlwdG9yPiB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihjb25z
dCBjaGFyKgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICAvLyBGSVhNRTog
QWRkIG1vcmUgdmFsaWRhdGlvbiBhcyBjb25zdHJhaW50cyBhcmUgYWRkZWQgdG8gc3BlYy4KKyAg
ICB1bnNpZ25lZCB3aWR0aCA9IGRlc2NyaXB0b3Iuc2l6ZS53aWR0aDsKKyAgICB1bnNpZ25lZCBo
ZWlnaHQgPSAxOworICAgIHVuc2lnbmVkIGRlcHRoID0gMTsKKyAgICB1bnNpZ25lZCBhcnJheUxl
bmd0aCA9IDE7CisgICAgc3dpdGNoIChkZXNjcmlwdG9yLmRpbWVuc2lvbikgeworICAgIGNhc2Ug
R1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgorICAgICAgICBhcnJheUxlbmd0aCA9IGRlc2NyaXB0
b3Iuc2l6ZS5oZWlnaHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVu
c2lvbjo6XzJkOgorICAgICAgICBoZWlnaHQgPSBkZXNjcmlwdG9yLnNpemUuaGVpZ2h0OworICAg
ICAgICBhcnJheUxlbmd0aCA9IGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aDsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfM2Q6CisgICAgICAgIGhlaWdodCA9IGRl
c2NyaXB0b3Iuc2l6ZS5oZWlnaHQ7CisgICAgICAgIGRlcHRoID0gZGVzY3JpcHRvci5zaXplLmRl
cHRoOworICAgICAgICBicmVhazsKKyAgICB9CisKICAgICBhdXRvIHBpeGVsRm9ybWF0ID0gc3Rh
dGljX2Nhc3Q8TVRMUGl4ZWxGb3JtYXQ+KHBsYXRmb3JtVGV4dHVyZUZvcm1hdEZvckdQVVRleHR1
cmVGb3JtYXQoZGVzY3JpcHRvci5mb3JtYXQpKTsKIAogICAgIGF1dG8gbXRsVXNhZ2UgPSBtdGxU
ZXh0dXJlVXNhZ2VGb3JHUFVUZXh0dXJlVXNhZ2VGbGFncyh1c2FnZSwgZnVuY3Rpb25OYW1lKTsK
QEAgLTExNywxMCArMTMzLDEwIEBAIHN0YXRpYyBSZXRhaW5QdHI8TVRMVGV4dHVyZURlc2NyaXB0
b3I+IHRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKGNvbnN0IGNoYXIqCiAKICAgICBCRUdJ
Tl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAKLSAgICBbbXRsRGVzY3JpcHRvciBzZXRXaWR0aDpk
ZXNjcmlwdG9yLnNpemUud2lkdGhdOwotICAgIFttdGxEZXNjcmlwdG9yIHNldEhlaWdodDpkZXNj
cmlwdG9yLnNpemUuaGVpZ2h0XTsKLSAgICBbbXRsRGVzY3JpcHRvciBzZXREZXB0aDpkZXNjcmlw
dG9yLnNpemUuZGVwdGhdOwotICAgIFttdGxEZXNjcmlwdG9yIHNldEFycmF5TGVuZ3RoOmRlc2Ny
aXB0b3IuYXJyYXlMYXllckNvdW50XTsKKyAgICBbbXRsRGVzY3JpcHRvciBzZXRXaWR0aDp3aWR0
aF07CisgICAgW210bERlc2NyaXB0b3Igc2V0SGVpZ2h0OmhlaWdodF07CisgICAgW210bERlc2Ny
aXB0b3Igc2V0RGVwdGg6ZGVwdGhdOworICAgIFttdGxEZXNjcmlwdG9yIHNldEFycmF5TGVuZ3Ro
OmFycmF5TGVuZ3RoXTsKICAgICBbbXRsRGVzY3JpcHRvciBzZXRNaXBtYXBMZXZlbENvdW50OmRl
c2NyaXB0b3IubWlwTGV2ZWxDb3VudF07CiAgICAgW210bERlc2NyaXB0b3Igc2V0U2FtcGxlQ291
bnQ6ZGVzY3JpcHRvci5zYW1wbGVDb3VudF07CiAgICAgW210bERlc2NyaXB0b3Igc2V0VGV4dHVy
ZVR5cGU6bXRsVGV4dHVyZVR5cGVGb3JHUFVUZXh0dXJlRGVzY3JpcHRvcihkZXNjcmlwdG9yKV07
CkBAIC0xMzQsNyArMTUwLDcgQEAgc3RhdGljIFJldGFpblB0cjxNVExUZXh0dXJlRGVzY3JpcHRv
cj4gdHJ5Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3IoY29uc3QgY2hhcioKICAgICByZXR1cm4g
bXRsRGVzY3JpcHRvcjsKIH0KIAotUmVmUHRyPEdQVVRleHR1cmU+IEdQVVRleHR1cmU6OnRyeUNy
ZWF0ZShjb25zdCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3Im
IGRlc2NyaXB0b3IpCitSZWZQdHI8R1BVVGV4dHVyZT4gR1BVVGV4dHVyZTo6dHJ5Q3JlYXRlKGNv
bnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0dXJlRGVzY3JpcHRvciYgZGVzY3Jp
cHRvciwgR1BVRXJyb3JTY29wZXMmIGVycm9yU2NvcGVzKQogewogICAgIGNvbnN0IGNoYXIqIGNv
bnN0IGZ1bmN0aW9uTmFtZSA9ICJHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKSI7CiAKQEAgLTE0Myw2
ICsxNTksMTEgQEAgUmVmUHRyPEdQVVRleHR1cmU+IEdQVVRleHR1cmU6OnRyeUNyZWF0ZShjb25z
dCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3QgR1BVVGV4dHUKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQogCisgICAgaWYgKCFbZGV2aWNlLnBsYXRmb3JtRGV2aWNlKCkgc3VwcG9ydHNU
ZXh0dXJlU2FtcGxlQ291bnQ6ZGVzY3JpcHRvci5zYW1wbGVDb3VudF0pIHsKKyAgICAgICAgZXJy
b3JTY29wZXMuZ2VuZXJhdGVQcmVmaXhlZEVycm9yKCJEZXZpY2UgZG9lcyBub3Qgc3VwcG9ydCB0
aGlzIHNhbXBsZSBjb3VudC4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKICAgICBh
dXRvIHVzYWdlID0gT3B0aW9uU2V0PEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M+Ojpmcm9tUmF3KGRl
c2NyaXB0b3IudXNhZ2UpOwogICAgIGF1dG8gbXRsRGVzY3JpcHRvciA9IHRyeUNyZWF0ZU10bFRl
eHR1cmVEZXNjcmlwdG9yKGZ1bmN0aW9uTmFtZSwgZGVzY3JpcHRvciwgdXNhZ2UpOwogICAgIGlm
ICghbXRsRGVzY3JpcHRvcikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYjViZDI4ZTJhOTNhNDRmYjM1ZDllZjU5NjZjYzI2
NzVlYWY1ZDIzLi45ZWMzMTUzMzFiZTQzMjE4MDE0OTY5MWMzYjFiODk3YzZjMjI5ODk3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDUtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBWYWxpZGF0aW9uIGZvciBHUFVEZXZp
Y2UuY3JlYXRlVGV4dHVyZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTE4ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzMjE1OTk5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViZ3B1L3Rl
eHR1cmUtY3JlYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMjAtMDUtMTMgIEtlbm5ldGggUnVzc2Vs
bCAgPGtickBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRW5hYmxlIHdlYmdsX2NhbnZhcy8gdGVz
dHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyBiL0xh
eW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwppbmRleCAxNTU5MTA0MmFhNGNiMGZk
ZDc1ZmUzYmY1NmI5YmRmYjYzZmQxNjFkLi5lZmJjNmZkYzc3MTQ4NzlkMjUwZDdmNWNiMGE4MDRj
Y2U4ZTcyY2E4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMKKysrIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzCkBAIC0yMSw3ICsy
MSw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICBvdXRw
dXQ6dHJ1ZSwKICAgICAgICAgaGFybmVzc190aW1lb3V0OnsKICAgICAgICAgICAgICJub3JtYWwi
OjEwMDAwLAotICAgICAgICAgICAgImxvbmciOjYwMDAwCisgICAgICAgICAgICAibG9uZyI6NjAw
MDAwMAogICAgICAgICB9LAogICAgICAgICB0ZXN0X3RpbWVvdXQ6bnVsbCwKICAgICAgICAgbWVz
c2FnZV9ldmVudHM6IFsic3RhcnQiLCAidGVzdF9zdGF0ZSIsICJyZXN1bHQiLCAiY29tcGxldGlv
biJdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvYmxpdC1jb21tYW5kcy10ZXh0dXJl
LXRvLXRleHR1cmUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9ibGl0LWNvbW1hbmRzLXRleHR1
cmUtdG8tdGV4dHVyZS5odG1sCmluZGV4IDQ4MWZmMTMxZjc0MmFlOWRmN2E0Mjk1NjUyOTk1ZjVk
OGEyMzIzYmQuLjhiZmNhNzg2MmQwOTBmZjEzODg3NGQyN2I3MTc2YTI2NTUyZmI0YWQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9ibGl0LWNvbW1hbmRzLXRleHR1cmUtdG8tdGV4dHVy
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9ibGl0LWNvbW1hbmRzLXRleHR1cmUtdG8t
dGV4dHVyZS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNh
bnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKICAgICBjb25zdCB0ZXh0dXJlU2l6ZSA9IHsKICAg
ICAgICAgd2lkdGg6ICBjYW52YXMyZC53aWR0aCwKICAgICAgICAgaGVpZ2h0OiBjYW52YXMyZC5o
ZWlnaHQsCi0gICAgICAgIGRlcHRoOiAgMQorICAgICAgICBkZXB0aDogIDIKICAgICB9OwogCiAg
ICAgLy8gTWlwbWFwIGNvdW50CkBAIC0yNSw3ICsyNSw2IEBAIGZ1bmN0aW9uIGxvYWRUZXh0dXJl
RnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKIAogICAgIGNvbnN0IHRleHR1cmVEZXNj
cmlwdG9yID0gewogICAgICAgICBzaXplOiB0ZXh0dXJlU2l6ZSwKLSAgICAgICAgYXJyYXlMYXll
ckNvdW50OiAyLAogICAgICAgICBtaXBMZXZlbENvdW50OiBtaXBMZXZlbENvdW50LAogICAgICAg
ICBzYW1wbGVDb3VudDogMSwKICAgICAgICAgZGltZW5zaW9uOiAiMmQiLApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ3B1L2J1ZmZlci1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdw
dS9idWZmZXItZXJyb3JzLmh0bWwKaW5kZXggZDc3N2MwNzQ0ZGEyZDE3MTZkMTM4MDcwNzViOTY3
N2IwOWY4MmZmMC4uMGZhMTQ1ODM5ZmYzMzBiNTBjMzg3M2IwMDQ2MTRhMjIzZjk1OWZiNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2J1ZmZlci1lcnJvcnMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJncHUvYnVmZmVyLWVycm9ycy5odG1sCkBAIC0xNTUsNCArMTU1LDQgQEAgY29u
c3QgYXNzZXJ0QWxsQnVmZmVyTWV0aG9kc0ZhaWwgPSBhc3luYyAoZGV2aWNlLCBidWZmZXIpID0+
IHsKIAogcnVuVGVzdHNXaXRoRGV2aWNlKHRlc3RzKTsKIDwvc2NyaXB0PgotPC9ib2R5PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9y
LXNjb3Blcy10ZXN0Lmh0bWwKaW5kZXggODU2YWZhOGVkYzFhMWU3MjQwMmM2NjY2ZTRlMzhmOGYz
MzU4ZmE2NC4uNDNlYjEzOTcyODYwZjBlOTJkYjBlMzkyMWVlYjc2MGMzNWQ0MGQzNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWwKQEAgLTk3LDQgKzk3LDQgQEAg
Y29uc3QgY2F1c2VWYWxpZGF0aW9uRXJyb3IgPSBkZXZpY2UgPT4gZGV2aWNlLmNyZWF0ZUJ1ZmZl
cih7IHNpemU6IDQsIHVzYWdlOiBHUFUKIGNvbnN0IGNhdXNlTWVtb3J5RXJyb3IgPSBkZXZpY2Ug
PT4gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih7IHNpemU6IDk5OTk5OTk5OTk5LCB1c2FnZTogR1BVQnVm
ZmVyVXNhZ2UuTk9ORSB9KTsKIAogPC9zY3JpcHQ+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3RleHR1
cmUtY3JlYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjJhMWE3ODUxYTM1MWUyODhjZWE4ZjdmOTc4OTdhMGJiOGY3MDYwZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLmh0
bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04
PgorPHRpdGxlPlRlc3RzIGZvciBjcmVhdGluZyB0ZXh0dXJlIHZpZXdzLjwvdGl0bGU+Cis8bWV0
YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJqcy93
ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cithc3luYyBmdW5jdGlvbiBy
dW5UZXN0cygpIHsKKyAgICBsZXQgd2lkdGggPSAxOworICAgIGxldCBoZWlnaHQgPSAxOworICAg
IGxldCBkZXB0aCA9IDE7CisgICAgbGV0IG1pcExldmVsQ291bnQgPSAxOworICAgIGxldCBzYW1w
bGVDb3VudCA9IDE7CisgICAgbGV0IGRpbWVuc2lvbiA9ICIyZCI7CisgICAgbGV0IGZvcm1hdCA9
ICJyZ2JhOHVub3JtIjsKKyAgICBsZXQgdXNhZ2UgPSAwOworICAgIGZvciAobGV0IHdpZHRoID0g
LTE7IHdpZHRoIDw9IDQ7ICsrd2lkdGgpIHsKKyAgICBmb3IgKGxldCBoZWlnaHQgPSAtMTsgaGVp
Z2h0IDw9IDQ7ICsraGVpZ2h0KSB7CisgICAgZm9yIChsZXQgZGVwdGggPSAtMTsgZGVwdGggPD0g
NDsgKytkZXB0aCkgeworICAgIGZvciAobGV0IG1pcExldmVsQ291bnQgPSAtMTsgbWlwTGV2ZWxD
b3VudCA8PSA0OyArK21pcExldmVsQ291bnQpIHsKKyAgICBmb3IgKGxldCBzYW1wbGVDb3VudCA9
IC0xOyBzYW1wbGVDb3VudCA8PSA0OyArK3NhbXBsZUNvdW50KSB7CisgICAgZm9yIChsZXQgZGlt
ZW5zaW9uIG9mIFsiMWQiLCAiMmQiLCAiM2QiXSkgeworICAgIGZvciAobGV0IGZvcm1hdCBvZiBb
InJnYmE4dW5vcm0iLCAicmdiYTh1aW50IiwgImJncmE4dW5vcm0iLCAiZGVwdGgzMmZsb2F0LXN0
ZW5jaWw4IiwgImJncmE4dW5vcm0tc3JnYiIsICJyZ2JhMTZmbG9hdCJdKSB7CisgICAgbGV0IG1h
eGltdW1Vc2FnZSA9IEdQVVRleHR1cmVVc2FnZS5DT1BZX1NSQyB8IEdQVVRleHR1cmVVc2FnZS5D
T1BZX0RTVCB8IEdQVVRleHR1cmVVc2FnZS5TQU1QTEVEIHwgR1BVVGV4dHVyZVVzYWdlLlNUT1JB
R0UgfCBHUFVUZXh0dXJlVXNhZ2UuT1VUUFVUX0FUVEFDSE1FTlQ7CisgICAgZm9yIChsZXQgdXNh
Z2UgPSAwOyB1c2FnZSA8PSBtYXhpbXVtVXNhZ2U7ICsrdXNhZ2UpIHsKKyAgICAgICAgcHJvbWlz
ZV90ZXN0KCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBnZXRCYXNpY0RldmljZSgpLnRoZW4o
YXN5bmMgZnVuY3Rpb24oZGV2aWNlKSB7CisgICAgICAgICAgICAgICAgZGV2aWNlLnB1c2hFcnJv
clNjb3BlKCJ2YWxpZGF0aW9uIik7CisgICAgICAgICAgICAgICAgbGV0IHRleHR1cmUgPSBkZXZp
Y2UuY3JlYXRlVGV4dHVyZSh7c2l6ZToge3dpZHRoLCBoZWlnaHQsIGRlcHRofSwgbWlwTGV2ZWxD
b3VudCwgc2FtcGxlQ291bnQsIGRpbWVuc2lvbiwgZm9ybWF0LCB1c2FnZX0pOworICAgICAgICAg
ICAgICAgIGFzc2VydF90cnVlKHRleHR1cmUgaW5zdGFuY2VvZiBHUFVUZXh0dXJlLCAiQ2Fubm90
IGNyZWF0ZSB0ZXh0dXJlLiIpOworICAgICAgICAgICAgICAgIGF3YWl0IGRldmljZS5wb3BFcnJv
clNjb3BlKCkudGhlbihmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgICAgICAgICBsZXQg
bWVzc2FnZSA9ICJUZXh0dXJlIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5IjsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSArPSAiOiAi
ICsgZXJyb3IubWVzc2FnZTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlcnJv
ciwgbnVsbCwgbWVzc2FnZSk7CisgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiZGV2aWNlIGxvc3QiKTsKKyAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAg
IH0pOworICAgICAgICB9LCBgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoICR7d2lkdGh9IGhl
aWdodCAke2hlaWdodH0gZGVwdGggJHtkZXB0aH0gbWlwTGV2ZWxDb3VudCAke21pcExldmVsQ291
bnR9IHNhbXBsZUNvdW50ICR7c2FtcGxlQ291bnR9IGRpbWVuc2lvbiAke2RpbWVuc2lvbn0gZm9y
bWF0ICR7Zm9ybWF0fSB1c2FnZSAke3VzYWdlfS5gKTsKKyAgICB9CisgICAgfQorICAgIH0KKyAg
ICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorfQorCitydW5UZXN0cygpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399456</attachid>
            <date>2020-05-14 22:49:06 -0700</date>
            <delta_ts>2020-05-18 01:07:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211882-20200514224905.patch</filename>
            <type>text/plain</type>
            <size>40213</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWViNGE2NjAxNDAwM2I0
NmVlMzM0NjY0YjUxNmNmMDdkZDJkYTZkZi4uNTdjYWY3Y2E3MjAyMjJlZGUwMzE3Njk3MmFkMGRk
NTIzNzMwZGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIwLTA1LTEzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
VmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82MzIxNTk5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgbG90cyBvZiB2YWxpZGF0aW9uIGZvciB0ZXh0dXJlIGNyZWF0aW9uLiBU
aGUgbG9naWMgd2FzIGdhdGhlcmVkIGZyb20KKyAgICAgICAgdHJpYWwgYW5kIGVycm9yLgorCisg
ICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCB3ZSBkaWRuJ3QgaGF2ZSBhbnkgdmFsaWRhdGlvbi4g
VGhpcyBpcyBhIGZpcnN0IHBhc3MsIGFzCisgICAgICAgIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIGlz
bid0IHNwZWxsZWQgb3V0IGluIHRoZSBzcGVjLiBOZXh0LCBJIHdpbGwgbWFrZSBhIHB1bGwKKyAg
ICAgICAgcmVxdWVzdCB0byB0aGUgc3BlYyB0byBtYXRjaCB0aGlzIHBhdGNoLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWxzbyB1cGRhdGVzIHRocmVlIHBpZWNlcyBvZiBvdXIgSURMIGZpbGVzIHRv
IG1hdGNoIHRoZSBzcGVjIGZvcgorICAgICAgICBXZWJHUFU6IE9uZSB0byByZW1vdmUgR1BVVGV4
dHVyZVVzYWdlLk5PTkUgd2hpY2ggd2FzIHJlcGxhY2VkIHdpdGgganVzdCAwLAorICAgICAgICBv
bmUgdG8gcmVtb3ZlIEdQVVRleHR1cmVEZXNjcmlwdG9yLmFycmF5TGF5ZXJDb3VudCwgd2hpY2gg
d2FzIGRlbGV0ZWQgaW4KKyAgICAgICAgZmF2b3Igb2YgdXNpbmcgcmVndWxhciBkaW1lbnNpb24g
ZmllbGRzLCBhbmQgb25lIHRvIGFkZCBbRW5mb3JjZVJhbmdlXSB0bworICAgICAgICB2YXJpb3Vz
IHZhbHVlcy4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gdXBkYXRlcyBHUFVEZXZpY2UgdG8g
aGF2ZSBhIEdQVUVycm9yU2NvcGVzIG9iamVjdCwgd2hpY2ggaXMKKyAgICAgICAgcmVxdWlyZWQg
Zm9yIGdvb2QgZXJyb3IgbWVzc2FnZXMuCisKKyAgICAgICAgVGVzdDogd2ViZ3B1L3RleHR1cmUt
Y3JlYXRpb24uaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR1BVRGV2aWNlOjp0cnlDcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2
aWNlOjpjcmVhdGVUZXh0dXJlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Om1heGltdW1NaXBMZXZlbENvdW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkdQVURldmljZTo6dHJ5Q3JlYXRlVGV4dHVyZSBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2
aWNlOjpzZXRFcnJvclNjb3Blcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUV4dGVudDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJh
c2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW06CisgICAg
ICAgIChXZWJDb3JlOjptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6Om10bFRleHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKToK
KyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVRleHR1cmU6OnRyeUNyZWF0ZSk6CisKIDIwMjAtMDUtMTMgIEFuZHJl
cyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5l
Y2Vzc2FyeSBhc3NlcnQgaW4ge1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGF0dGFjaG1l
bnRWaWV3XS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4
dGVudDNELmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlk
bAppbmRleCA1ZGZkY2UzMWI0OTRiMDg2MTZmNzIxNDUwODk0MGU5NDEzYzAxZmRjLi4xM2ExYjQ0
NzQxNjgxMDJhM2JmZGY0MDQyNmEwNDM2M2I3Y2I5NzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCkBAIC0yNCwxMyArMjQsMTMgQEAKICAqLwog
Ly8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxv
bmcgdTMyOwordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJD
b29yZGluYXRlOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVCiBdIGRpY3Rpb25hcnkgR1BVRXh0ZW50M0QgewotICAgIHJlcXVpcmVkIHUz
MiB3aWR0aDsKLSAgICByZXF1aXJlZCB1MzIgaGVpZ2h0OwotICAgIHJlcXVpcmVkIHUzMiBkZXB0
aDsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0aDsKKyAgICByZXF1aXJl
ZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQ7CisgICAgcmVxdWlyZWQgR1BVSW50ZWdlckNv
b3JkaW5hdGUgZGVwdGg7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCmluZGV4IDQ0NTk1Mzg4ZWVlYzJhOTVjYzM4
MWQwN2Y3OGJiYjgwOTFiZGE3M2YuLjVkNjE4OGY5OTdhN2E3ZjM5OTBmZjIyOGY3MzlmMjVhMjZj
MDliZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1
cmVEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlRGVzY3JpcHRvci5pZGwKQEAgLTI0LDggKzI0LDkgQEAKICAqLwogLy8gaHR0cHM6Ly9n
cHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwotdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIEdQVVRleHR1cmVVc2FnZUZsYWdzOwordHlwZWRlZiBbRW5mb3Jj
ZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJDb29yZGluYXRlOwordHlwZWRlZiBbRW5m
b3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5n
ZV0gdW5zaWduZWQgbG9uZyBHUFVUZXh0dXJlVXNhZ2VGbGFnczsKIAogWwogICAgIEltcGxlbWVu
dGVkQXM9R1BVVGV4dHVyZURpbWVuc2lvbgpAQCAtNDAsOSArNDEsOCBAQCB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3M7CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJH
UFUKIF0gZGljdGlvbmFyeSBHUFVUZXh0dXJlRGVzY3JpcHRvciB7CiAgICAgcmVxdWlyZWQgR1BV
RXh0ZW50M0Qgc2l6ZTsKLSAgICB1MzIgYXJyYXlMYXllckNvdW50ID0gMTsKLSAgICB1MzIgbWlw
TGV2ZWxDb3VudCA9IDE7Ci0gICAgdTMyIHNhbXBsZUNvdW50ID0gMTsKKyAgICBHUFVJbnRlZ2Vy
Q29vcmRpbmF0ZSBtaXBMZXZlbENvdW50ID0gMTsKKyAgICBHUFVTaXplMzIgc2FtcGxlQ291bnQg
PSAxOwogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uID0gIjJkIjsKICAgICByZXF1
aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlVXNh
Z2VGbGFncyB1c2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L0dQVVRleHR1cmVVc2FnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlVXNhZ2UuaWRsCmluZGV4IDAyZTg5MGNhNWRiYmNlMzE5ODljZDczYjQ4M2Q4MDdkN2Ri
ZmNkMTIuLjZiMzBiYjBlM2YwMTZiYjc3ODE4YTA4YTg0MDUzN2I4NDIxZmE5ODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZVVzYWdlLmlkbApAQCAt
MzIsNyArMzIsNiBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNl
IEdQVVRleHR1cmVVc2FnZSB7Ci0gICAgY29uc3QgdTMyIE5PTkUgPSAwOwogICAgIGNvbnN0IHUz
MiBDT1BZX1NSQyA9IDE7CiAgICAgY29uc3QgdTMyIENPUFlfRFNUID0gMjsKICAgICBjb25zdCB1
MzIgU0FNUExFRCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcAppbmRleCA4MGIxZTYzYzQ2MDVmNzk0MDkzNzJmMzgxNzIwNTIzOTA5YmQwNWYw
Li5jYTAxYjEwMTVhZDYxY2NjMzlhZDMzOWI5YWRiN2JlNDY5ZjFiMWM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTk2LDggKzk2LDEx
IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXZWJHUFVEZXZpY2UpOwogCiBSZWZQdHI8
V2ViR1BVRGV2aWNlPiBXZWJHUFVEZXZpY2U6OnRyeUNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiBhZGFwdGVyKQogewotICAg
IGlmIChhdXRvIGRldmljZSA9IEdQVURldmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMo
KSkpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRleHQsIFdU
Rk1vdmUoYWRhcHRlciksIGRldmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CisgICAgaWYgKGF1dG8g
ZGV2aWNlID0gR1BVRGV2aWNlOjp0cnlDcmVhdGUoYWRhcHRlci0+b3B0aW9ucygpKSkgeworICAg
ICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0UmVmKG5ldyBXZWJHUFVEZXZpY2UoY29udGV4dCwgV1RG
TW92ZShhZGFwdGVyKSwgbWFrZVJlZigqZGV2aWNlKSkpOworICAgICAgICBkZXZpY2UtPnNldEVy
cm9yU2NvcGVzKHJlc3VsdC0+bV9lcnJvclNjb3Blcy5jb3B5UmVmKCkpOworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAtMTgwLDYgKzE4
Myw4IEBAIFZlY3RvcjxKU0M6OkpTVmFsdWU+IFdlYkdQVURldmljZTo6Y3JlYXRlQnVmZmVyTWFw
cGVkKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljCiAKIFJlZjxXZWJHUFVUZXh0dXJlPiBXZWJH
UFVEZXZpY2U6OmNyZWF0ZVRleHR1cmUoY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IpIGNvbnN0CiB7CisgICAgbV9lcnJvclNjb3Blcy0+c2V0RXJyb3JQcmVmaXgoIkdQVURl
dmljZS5jcmVhdGVUZXh0dXJlKCk6ICIpOworCiAgICAgYXV0byB0ZXh0dXJlID0gbV9kZXZpY2Ut
PnRyeUNyZWF0ZVRleHR1cmUoZGVzY3JpcHRvcik7CiAgICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6
OmNyZWF0ZShXVEZNb3ZlKHRleHR1cmUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKaW5kZXggZjVlNDNjZWVkOTVmZTU3NzNl
MzUwODFhZGE0OGNjNGE2OTM2ODIzMy4uNzBjOGQ1MDVhNmZiNmI3MDE4MzJhMWI3YzQ0OGU2MDJh
YjVlMDcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVURldmljZS5jcHAKQEAgLTYwLDkgKzYwLDEyMyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBHUFVE
ZXZpY2U6OnRyeUNyZWF0ZUJ1ZmZlcihjb25zdCBHUFVCdWZmZXJEZXNjcmlwdG9yJiBkZXNjcmlw
dAogICAgIHJldHVybiBHUFVCdWZmZXI6OnRyeUNyZWF0ZSgqdGhpcywgZGVzY3JpcHRvciwgaXNN
YXBwZWQsIGVycm9yU2NvcGVzKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIG1heGltdW1NaXBMZXZl
bENvdW50KEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uLCBHUFVFeHRlbnQzRCBzaXplKQor
eworICAgIHVuc2lnbmVkIHdpZHRoID0gc2l6ZS53aWR0aDsKKyAgICB1bnNpZ25lZCBoZWlnaHQg
PSAxOworICAgIHVuc2lnbmVkIGRlcHRoID0gMTsKKyAgICBzd2l0Y2ggKGRpbWVuc2lvbikgewor
ICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgorICAgICAgICBicmVhazsKKyAgICBj
YXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZDoKKyAgICAgICAgaGVpZ2h0ID0gc2l6ZS5oZWln
aHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzNkOgor
ICAgICAgICBoZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICAgICAgZGVwdGggPSBzaXplLmRlcHRo
OworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBhdXRvIG1heERpbWVuc2lvbiA9IHN0ZDo6
bWF4KHN0ZDo6bWF4KHdpZHRoLCBoZWlnaHQpLCBkZXB0aCk7CisgICAgaW50IGkgPSBzaXplb2Yo
R1BVRXh0ZW50M0Q6OklubmVyVHlwZSkgKiA4IC0gMTsKKyAgICBmb3IgKDsgIShtYXhEaW1lbnNp
b24gJiAoMSA8PCBpKSkgJiYgaSA+PSAwOyAtLWkpIHsKKyAgICB9CisgICAgQVNTRVJUKGkgPj0g
MCk7CisgICAgcmV0dXJuIGkgKyAxOworfQorCiBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVRGV2aWNl
Ojp0cnlDcmVhdGVUZXh0dXJlKGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9y
KSBjb25zdAogewotICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKnRoaXMsIGRlc2Ny
aXB0b3IpOworICAgIGlmICghZGVzY3JpcHRvci5zaXplLndpZHRoIHx8ICFkZXNjcmlwdG9yLnNp
emUuaGVpZ2h0IHx8ICFkZXNjcmlwdG9yLnNpemUuZGVwdGgpIHsKKyAgICAgICAgbV9lcnJvclNj
b3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlcyBjYW4ndCBoYXZlIDAgZGltZW5z
aW9ucy4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoIWRlc2NyaXB0
b3IubWlwTGV2ZWxDb3VudCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZp
eGVkRXJyb3IoIlRleHR1cmVzIGNhbid0IGhhdmUgMCBtaXBsZXZlbHMuIik7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorCisgICAgaWYgKCFkZXNjcmlwdG9yLnNhbXBsZUNvdW50KSB7Cisg
ICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiVGV4dHVyZXMgY2Fu
J3QgaGF2ZSAwIHNhbXBsZXMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAg
Ly8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL21ldGFsL01ldGFsLUZlYXR1cmUtU2V0LVRh
Ymxlcy5wZGYKKyAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9uKSB7CisgICAgY2FzZSBH
UFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUud2lk
dGggPiA4MTkyKSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVk
RXJyb3IoIjFEIHRleHR1cmUgaXMgdG9vIHdpZGUuIik7CisgICAgICAgICAgICByZXR1cm4geyB9
OworICAgICAgICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUuaGVpZ2h0ID4gMjA0OCkg
eworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCIxRCB0
ZXh0dXJlIGFycmF5IGhhcyB0b28gbWFueSBsYXllcnMuIik7CisgICAgICAgICAgICByZXR1cm4g
eyB9OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVu
c2lvbjo6XzJkOgorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLndpZHRoID4gODE5MiB8fCBk
ZXNjcmlwdG9yLnNpemUuaGVpZ2h0ID4gODE5MikgeworICAgICAgICAgICAgbV9lcnJvclNjb3Bl
cy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCIyRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAg
ICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iu
c2l6ZS5kZXB0aCA+IDIwNDgpIHsKKyAgICAgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRl
UHJlZml4ZWRFcnJvcigiMkQgdGV4dHVyZSBhcnJheSBoYXMgdG9vIG1hbnkgbGF5ZXJzLiIpOwor
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBj
YXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8zZDoKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6
ZS53aWR0aCA+IDIwNDggfHwgZGVzY3JpcHRvci5zaXplLmhlaWdodCA+IDIwNDggfHwgZGVzY3Jp
cHRvci5zaXplLmRlcHRoID4gMjA0OCkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2Vu
ZXJhdGVQcmVmaXhlZEVycm9yKCIzRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAgICAgICAg
ICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAg
aWYgKGRlc2NyaXB0b3IuZGltZW5zaW9uID09IEdQVVRleHR1cmVEaW1lbnNpb246Ol8xZCAmJiBk
ZXNjcmlwdG9yLm1pcExldmVsQ291bnQgIT0gMSkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5n
ZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVzIGNhbid0IGhhdmUgbWlwbWFwcy4iKTsK
KyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoZGVzY3JpcHRvci5taXBMZXZl
bENvdW50ID4gbWF4aW11bU1pcExldmVsQ291bnQoZGVzY3JpcHRvci5kaW1lbnNpb24sIGRlc2Ny
aXB0b3Iuc2l6ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVy
cm9yKCJUb28gbWFueSBtaXBsZXZlbHMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQor
CisgICAgaWYgKGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgeworICAgICAgICBpZiAoZGVz
Y3JpcHRvci5kaW1lbnNpb24gIT0gR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkKSB7CisgICAgICAg
ICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIlRleHR1cmUgZGltZW5z
aW9uIGluY29tcGF0aWJsZSB3aXRoIG11bHRpc2FtcGxpbmcuIik7CisgICAgICAgICAgICByZXR1
cm4geyB9OworICAgICAgICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLm1pcExldmVsQ291bnQg
IT0gMSkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9y
KCJNdWx0aXNhbXBsZWQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBtaXBtYXBzLiIpOworICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogT25seSBzb21lIHBp
eGVsIGZvcm1hdHMgYXJlIGNhcGFibGUgb2YgTVNBQS4gV2hlbiB3ZSBhZGQgdGhvc2UgbmV3IHBp
eGVsIGZvcm1hdHMsIHdlJ2xsIGhhdmUgdG8gYWRkIGZpbHRlcmluZyBjb2RlIGhlcmUuCisgICAg
fQorCisgICAgLy8gVGhlIGhlaWdodCBjb21wb25lbnQgZm9yIDFkIHRleHR1cmVzIGlzIHRoZSBh
cnJheSBsZW5ndGguCisgICAgLy8gVGhlIGRlcHRoIGNvbXBvbmVudCBmb3IgMmQgdGV4dHVyZXMg
aXMgdGhlIGFycmF5IGxlbmd0aC4KKyAgICBpZiAoZGVzY3JpcHRvci5kaW1lbnNpb24gPT0gR1BV
VGV4dHVyZURpbWVuc2lvbjo6XzFkICYmIGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aCAhPSAxKSB7Cisg
ICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiMUQgdGV4dHVyZXMg
Y2FuJ3QgaGF2ZSBkZXB0aCAhPSAxLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKwor
ICAgIGlmIChkZXNjcmlwdG9yLmZvcm1hdCA9PSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxv
YXRTdGVuY2lsOCAmJiBkZXNjcmlwdG9yLmRpbWVuc2lvbiAhPSBHUFVUZXh0dXJlRGltZW5zaW9u
OjpfMmQpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJE
ZXB0aC9zdGVuY2lsIHRleHR1cmVzIG11c3QgYmUgMmQuIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorCisgICAgaWYgKGRlc2NyaXB0b3IuZm9ybWF0ID09IEdQVVRleHR1cmVGb3JtYXQ6
OkRlcHRoMzJmbG9hdFN0ZW5jaWw4ICYmIGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgewor
ICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRlcHRoL3N0ZW5j
aWwgdGV4dHVyZXMgY2FuJ3QgYmUgbXVsdGlzYW1wbGVkLiIpOworICAgICAgICByZXR1cm4geyB9
OworICAgIH0KKworICAgIGlmIChzdGF0aWNfY2FzdDxHUFVUZXh0dXJlVXNhZ2VGbGFncz4oZGVz
Y3JpcHRvci51c2FnZSkgPj0gc3RhdGljX2Nhc3Q8R1BVVGV4dHVyZVVzYWdlRmxhZ3M+KEdQVVRl
eHR1cmVVc2FnZTo6RmxhZ3M6Ok1heGltdW1WYWx1ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Bl
cy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJJbnZhbGlkIHVzYWdlIGZsYWdzLiIpOworICAgICAg
ICByZXR1cm4geyB9OworICAgIH0KKworICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUo
KnRoaXMsIGRlc2NyaXB0b3IsIG1ha2VSZWYoKm1fZXJyb3JTY29wZXMpKTsKIH0KIAogUmVmUHRy
PEdQVVNhbXBsZXI+IEdQVURldmljZTo6dHJ5Q3JlYXRlU2FtcGxlcihjb25zdCBHUFVTYW1wbGVy
RGVzY3JpcHRvciYgZGVzY3JpcHRvcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCA1OGIxMjAwMzFkZjAxZDcwZjdiOGY3
YTVjZjZkM2ZmMmUzZDcxMjAwLi5mNTQ5NmNjNjdkODQzZTBiOWE1YWU2ZGIyY2UwZDhkNTU2OGE5
ZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURl
dmljZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUg
IkdQVUJpbmRHcm91cEFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkdQVUVycm9yU2NvcGVzLmgiCiAj
aW5jbHVkZSAiR1BVUXVldWUuaCIKICNpbmNsdWRlICJHUFVTd2FwQ2hhaW4uaCIKICNpbmNsdWRl
IDx3dGYvRnVuY3Rpb24uaD4KQEAgLTk1LDYgKzk2LDggQEAgcHVibGljOgogICAgIEdQVVN3YXBD
aGFpbiogc3dhcENoYWluKCkgY29uc3QgeyByZXR1cm4gbV9zd2FwQ2hhaW4uZ2V0KCk7IH0KICAg
ICB2b2lkIHNldFN3YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmKTsKIAorICAgIHZvaWQg
c2V0RXJyb3JTY29wZXMoUmVmPEdQVUVycm9yU2NvcGVzPiYmIGVycm9yU2NvcGVzKSB7IG1fZXJy
b3JTY29wZXMgPSBXVEZNb3ZlKGVycm9yU2NvcGVzKTsgfQorCiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBib29sIHVzZVdITFNMID0gdHJ1ZTsKIAogcHJpdmF0ZToKQEAgLTEwNCw2ICsxMDcsNyBAQCBw
cml2YXRlOgogICAgIG11dGFibGUgUmVmUHRyPEdQVVF1ZXVlPiBtX3F1ZXVlOwogICAgIFJlZlB0
cjxHUFVTd2FwQ2hhaW4+IG1fc3dhcENoYWluOwogICAgIG11dGFibGUgUmVmUHRyPEdQVUJpbmRH
cm91cEFsbG9jYXRvcj4gbV9iaW5kR3JvdXBBbGxvY2F0b3I7CisgICAgUmVmUHRyPEdQVUVycm9y
U2NvcGVzPiBtX2Vycm9yU2NvcGVzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUV4dGVudDNE
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaApp
bmRleCAzMTk1ZDE3Mzk0NmM0ZDBjOTZlMjJkYjZjZTU0MGQzMTVhMzAxOWYzLi41NDQ4MjY1MjBj
YzVlN2UwY2M5ZmY0M2ZkMTQyODBmNTA0NGI3ZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaApAQCAtMzAsOSArMzAsMTAgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIHN0cnVjdCBHUFVFeHRlbnQzRCB7Ci0gICAgdW5z
aWduZWQgd2lkdGg7Ci0gICAgdW5zaWduZWQgaGVpZ2h0OwotICAgIHVuc2lnbmVkIGRlcHRoOwor
ICAgIHVzaW5nIElubmVyVHlwZSA9IHVuc2lnbmVkOworICAgIElubmVyVHlwZSB3aWR0aDsKKyAg
ICBJbm5lclR5cGUgaGVpZ2h0OworICAgIElubmVyVHlwZSBkZXB0aDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVPYmplY3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVT2JqZWN0QmFzZS5oCmluZGV4IDk0YzFmNTI3OTQ0ZjIzMzMwOWE0NTVjNjkwYzdj
YWI5MmRlZDVmNDcuLjY3YjJkOTE4YzJlNTQ1MTdjYjM3ZmZmZWE2YjI2MmQ0NWY4MmZhOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPYmplY3RC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVj
dEJhc2UuaApAQCAtNDAsNyArNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgR1BVT2JqZWN0QmFzZShS
ZWY8R1BVRXJyb3JTY29wZXM+JiYgcmVwb3J0ZXIpCiAgICAgICAgIDogbV9lcnJvclNjb3BlcyhX
VEZNb3ZlKHJlcG9ydGVyKSkgeyB9CiAKLSAgICBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMo
KSB7IHJldHVybiBtX2Vycm9yU2NvcGVzOyB9CisgICAgR1BVRXJyb3JTY29wZXMmIGVycm9yU2Nv
cGVzKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvclNjb3BlczsgfQogCiBwcml2YXRlOgogICAgIFJl
ZjxHUFVFcnJvclNjb3Blcz4gbV9lcnJvclNjb3BlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oCmluZGV4IGZmN2FhYjA5NjViNjJkYmQx
ZTNkYjM3NTkyYTU3ZDM0YWNhOWE5YzIuLmEzYjQyNmIwNTgwZTEyMjhjZTJmYWZkZWU5ZjA5MDRl
N2QxODNjNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVRleHR1cmUuaApAQCAtMzgsNiArMzgsNyBAQCBPQkpDX1BST1RPQ09MKE1UTFRleHR1cmUp
OwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBHUFVEZXZpY2U7CitjbGFzcyBHUFVFcnJv
clNjb3BlczsKIAogc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yOwogCkBAIC00Niw3ICs0Nyw3
IEBAIHVzaW5nIFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyID0gUmV0YWluUHRyPE1UTFRleHR1cmU+
OwogCiBjbGFzcyBHUFVUZXh0dXJlIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVGV4dHVyZT4gewog
cHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8R1BVVGV4dHVyZT4gdHJ5Q3JlYXRlKGNvbnN0IEdQ
VURldmljZSYsIGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJik7CisgICAgc3RhdGljIFJlZlB0
cjxHUFVUZXh0dXJlPiB0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiwgY29uc3QgR1BVVGV4dHVy
ZURlc2NyaXB0b3ImLCBHUFVFcnJvclNjb3BlcyYpOwogICAgIHN0YXRpYyBSZWY8R1BVVGV4dHVy
ZT4gY3JlYXRlKFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyJiYsIE9wdGlvblNldDxHUFVUZXh0dXJl
VXNhZ2U6OkZsYWdzPik7CiAKICAgICBQbGF0Zm9ybVRleHR1cmUgKnBsYXRmb3JtVGV4dHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1UZXh0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3Jp
cHRvci5oCmluZGV4IDY2ZTFjMTdiZDhiZGQ2MTdmN2U5NDVkZGQxYmZkOTc5ZjU1ZmUxODAuLmIy
YTY4NWEyMTlmMzI5YjYwNzA0ZDNlNjU2MjNiNWE2YWI3ZWRlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3Jp
cHRvci5oCkBAIC00MSw3ICs0MSw2IEBAIGVudW0gY2xhc3MgR1BVVGV4dHVyZURpbWVuc2lvbiB7
CiAgICAgCiBzdHJ1Y3QgR1BVVGV4dHVyZURlc2NyaXB0b3IgewogICAgIEdQVUV4dGVudDNEIHNp
emU7Ci0gICAgdW5zaWduZWQgYXJyYXlMYXllckNvdW50OwogICAgIHVuc2lnbmVkIG1pcExldmVs
Q291bnQ7CiAgICAgdW5zaWduZWQgc2FtcGxlQ291bnQ7CiAgICAgR1BVVGV4dHVyZURpbWVuc2lv
biBkaW1lbnNpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVGV4dHVyZVVzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVGV4dHVyZVVzYWdlLmgKaW5kZXggNWMwY2U2MTA0YWEwYzJiMzNmNDJkMmZiZDI0
NGYyZTEwZWM5YzA5Ny4uYzMyODdkODM3NGU0NTVjZjM0MDliYmFlMDlhZjZjMzA4MTYxNjFiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1
cmVVc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVU
ZXh0dXJlVXNhZ2UuaApAQCAtMzYsMTIgKzM2LDEyIEBAIHVzaW5nIEdQVVRleHR1cmVVc2FnZUZs
YWdzID0gdW5zaWduZWQ7CiBjbGFzcyBHUFVUZXh0dXJlVXNhZ2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxHUFVUZXh0dXJlVXNhZ2U+IHsKIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIEZsYWdzIDogR1BV
VGV4dHVyZVVzYWdlRmxhZ3MgewotICAgICAgICBOb25lID0gMCwKICAgICAgICAgQ29weVNvdXJj
ZSA9IDEgPDwgMCwKICAgICAgICAgQ29weURlc3RpbmF0aW9uID0gMSA8PCAxLAogICAgICAgICBT
YW1wbGVkID0gMSA8PCAyLAogICAgICAgICBTdG9yYWdlID0gMSA8PCAzLAogICAgICAgICBPdXRw
dXRBdHRhY2htZW50ID0gMSA8PCA0LAorICAgICAgICBNYXhpbXVtVmFsdWUgPSAxIDw8IDUsCiAg
ICAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1tCmluZGV4IDVkYjFkYWE0NTU2OTdm
NTMwNTNjODRhZjUwZGRlZDgxNTU0NzdlN2QuLmU3ZDEwZDQ2MWYwZjY4NThmZDUwMGU0OGZkM2Q5
N2M0MmE5MWRhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRleHR1cmVNZXRhbC5tbQpAQCAtNDIsMTIgKzQyLDEx
IEBAIHN0YXRpYyBNVExUZXh0dXJlVHlwZSBtdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNj
cmlwdG9yKGNvbnN0IEdQVVRleHR1cmVEZXNjCiB7CiAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmRp
bWVuc2lvbikgewogICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgotICAgICAgICBy
ZXR1cm4gKGRlc2NyaXB0b3IuYXJyYXlMYXllckNvdW50ID09IDEpID8gTVRMVGV4dHVyZVR5cGUx
RCA6IE1UTFRleHR1cmVUeXBlMURBcnJheTsKKyAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLnNp
emUuaGVpZ2h0ID09IDEpID8gTVRMVGV4dHVyZVR5cGUxRCA6IE1UTFRleHR1cmVUeXBlMURBcnJh
eTsKICAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZDogewotICAgICAgICBpZiAoZGVz
Y3JpcHRvci5hcnJheUxheWVyQ291bnQgPT0gMSkKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6
ZS5kZXB0aCA9PSAxKQogICAgICAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLnNhbXBsZUNvdW50
ID09IDEpID8gTVRMVGV4dHVyZVR5cGUyRCA6IE1UTFRleHR1cmVUeXBlMkRNdWx0aXNhbXBsZTsK
LQotICAgICAgICByZXR1cm4gTVRMVGV4dHVyZVR5cGUyREFycmF5OworICAgICAgICByZXR1cm4g
KGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgPT0gMSkgPyBNVExUZXh0dXJlVHlwZTJEQXJyYXkgOiBN
VExUZXh0dXJlVHlwZTJETXVsdGlzYW1wbGVBcnJheTsKICAgICB9CiAgICAgY2FzZSBHUFVUZXh0
dXJlRGltZW5zaW9uOjpfM2Q6CiAgICAgICAgIHJldHVybiBNVExUZXh0dXJlVHlwZTNEOwpAQCAt
NjUsNyArNjQsNyBAQCBzdGF0aWMgT3B0aW9uYWw8TVRMVGV4dHVyZVVzYWdlPiBtdGxUZXh0dXJl
VXNhZ2VGb3JHUFVUZXh0dXJlVXNhZ2VGbGFncyhPcHRpb25TZQogICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogICAgIH0KIAotICAgIE1UTFRleHR1cmVVc2FnZSByZXN1bHQgPSBNVExUZXh0
dXJlVXNhZ2VQaXhlbEZvcm1hdFZpZXc7CisgICAgTVRMVGV4dHVyZVVzYWdlIHJlc3VsdCA9IDA7
CiAgICAgaWYgKGZsYWdzLmNvbnRhaW5zKEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6Ok91dHB1dEF0
dGFjaG1lbnQpKQogICAgICAgICByZXN1bHQgfD0gTVRMVGV4dHVyZVVzYWdlUmVuZGVyVGFyZ2V0
OwogICAgIGlmIChmbGFncy5jb250YWluc0FueSh7IEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6OlN0
b3JhZ2UsIEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6OlNhbXBsZWQgfSkpCkBAIC0xMDIsNyArMTAx
LDI0IEBAIHN0YXRpYyBSZXRhaW5QdHI8TVRMVGV4dHVyZURlc2NyaXB0b3I+IHRyeUNyZWF0ZU10
bFRleHR1cmVEZXNjcmlwdG9yKGNvbnN0IGNoYXIqCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIH0KIAotICAgIC8vIEZJWE1FOiBBZGQgbW9yZSB2YWxpZGF0aW9uIGFzIGNvbnN0cmFpbnRz
IGFyZSBhZGRlZCB0byBzcGVjLgorICAgIHVuc2lnbmVkIHdpZHRoID0gZGVzY3JpcHRvci5zaXpl
LndpZHRoOworICAgIHVuc2lnbmVkIGhlaWdodCA9IDE7CisgICAgdW5zaWduZWQgZGVwdGggPSAx
OworICAgIHVuc2lnbmVkIGFycmF5TGVuZ3RoID0gMTsKKyAgICBzd2l0Y2ggKGRlc2NyaXB0b3Iu
ZGltZW5zaW9uKSB7CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6CisgICAgICAg
IGFycmF5TGVuZ3RoID0gZGVzY3JpcHRvci5zaXplLmhlaWdodDsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMmQ6CisgICAgICAgIGhlaWdodCA9IGRlc2Ny
aXB0b3Iuc2l6ZS5oZWlnaHQ7CisgICAgICAgIGFycmF5TGVuZ3RoID0gZGVzY3JpcHRvci5zaXpl
LmRlcHRoOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8z
ZDoKKyAgICAgICAgaGVpZ2h0ID0gZGVzY3JpcHRvci5zaXplLmhlaWdodDsKKyAgICAgICAgZGVw
dGggPSBkZXNjcmlwdG9yLnNpemUuZGVwdGg7CisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAg
IGF1dG8gcGl4ZWxGb3JtYXQgPSBzdGF0aWNfY2FzdDxNVExQaXhlbEZvcm1hdD4ocGxhdGZvcm1U
ZXh0dXJlRm9ybWF0Rm9yR1BVVGV4dHVyZUZvcm1hdChkZXNjcmlwdG9yLmZvcm1hdCkpOwogCiAg
ICAgYXV0byBtdGxVc2FnZSA9IG10bFRleHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdz
KHVzYWdlLCBmdW5jdGlvbk5hbWUpOwpAQCAtMTE3LDEwICsxMzMsMTAgQEAgc3RhdGljIFJldGFp
blB0cjxNVExUZXh0dXJlRGVzY3JpcHRvcj4gdHJ5Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3Io
Y29uc3QgY2hhcioKIAogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAotICAgIFtt
dGxEZXNjcmlwdG9yIHNldFdpZHRoOmRlc2NyaXB0b3Iuc2l6ZS53aWR0aF07Ci0gICAgW210bERl
c2NyaXB0b3Igc2V0SGVpZ2h0OmRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHRdOwotICAgIFttdGxEZXNj
cmlwdG9yIHNldERlcHRoOmRlc2NyaXB0b3Iuc2l6ZS5kZXB0aF07Ci0gICAgW210bERlc2NyaXB0
b3Igc2V0QXJyYXlMZW5ndGg6ZGVzY3JpcHRvci5hcnJheUxheWVyQ291bnRdOworICAgIFttdGxE
ZXNjcmlwdG9yIHNldFdpZHRoOndpZHRoXTsKKyAgICBbbXRsRGVzY3JpcHRvciBzZXRIZWlnaHQ6
aGVpZ2h0XTsKKyAgICBbbXRsRGVzY3JpcHRvciBzZXREZXB0aDpkZXB0aF07CisgICAgW210bERl
c2NyaXB0b3Igc2V0QXJyYXlMZW5ndGg6YXJyYXlMZW5ndGhdOwogICAgIFttdGxEZXNjcmlwdG9y
IHNldE1pcG1hcExldmVsQ291bnQ6ZGVzY3JpcHRvci5taXBMZXZlbENvdW50XTsKICAgICBbbXRs
RGVzY3JpcHRvciBzZXRTYW1wbGVDb3VudDpkZXNjcmlwdG9yLnNhbXBsZUNvdW50XTsKICAgICBb
bXRsRGVzY3JpcHRvciBzZXRUZXh0dXJlVHlwZTptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVE
ZXNjcmlwdG9yKGRlc2NyaXB0b3IpXTsKQEAgLTEzNCw3ICsxNTAsNyBAQCBzdGF0aWMgUmV0YWlu
UHRyPE1UTFRleHR1cmVEZXNjcmlwdG9yPiB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihj
b25zdCBjaGFyKgogICAgIHJldHVybiBtdGxEZXNjcmlwdG9yOwogfQogCi1SZWZQdHI8R1BVVGV4
dHVyZT4gR1BVVGV4dHVyZTo6dHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25z
dCBHUFVUZXh0dXJlRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKK1JlZlB0cjxHUFVUZXh0dXJlPiBH
UFVUZXh0dXJlOjp0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRl
eHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMp
CiB7CiAgICAgY29uc3QgY2hhciogY29uc3QgZnVuY3Rpb25OYW1lID0gIkdQVVRleHR1cmU6OnRy
eUNyZWF0ZSgpIjsKIApAQCAtMTQzLDYgKzE1OSwxMSBAQCBSZWZQdHI8R1BVVGV4dHVyZT4gR1BV
VGV4dHVyZTo6dHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0
dQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKKyAgICBpZiAoIVtkZXZpY2UucGxh
dGZvcm1EZXZpY2UoKSBzdXBwb3J0c1RleHR1cmVTYW1wbGVDb3VudDpkZXNjcmlwdG9yLnNhbXBs
ZUNvdW50XSkgeworICAgICAgICBlcnJvclNjb3Blcy5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRl
dmljZSBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgc2FtcGxlIGNvdW50LiIpOworICAgICAgICByZXR1
cm4geyB9OworICAgIH0KKwogICAgIGF1dG8gdXNhZ2UgPSBPcHRpb25TZXQ8R1BVVGV4dHVyZVVz
YWdlOjpGbGFncz46OmZyb21SYXcoZGVzY3JpcHRvci51c2FnZSk7CiAgICAgYXV0byBtdGxEZXNj
cmlwdG9yID0gdHJ5Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3IoZnVuY3Rpb25OYW1lLCBkZXNj
cmlwdG9yLCB1c2FnZSk7CiAgICAgaWYgKCFtdGxEZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGViNWJkMjhl
MmE5M2E0NGZiMzVkOWVmNTk2NmNjMjY3NWVhZjVkMjMuLmFjOTU0YjEyNGRiMmE4MTNjYmIwNGYx
MzIzMzE5NmVkOWI0N2VkYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNS0xMyAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IFZhbGlkYXRpb24gZm9yIEdQVURldmljZS5jcmVhdGVUZXh0dXJlKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTg4MgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjMyMTU5OTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDIw
LTA1LTEzICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVu
YWJsZSB3ZWJnbF9jYW52YXMvIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUv
YmxpdC1jb21tYW5kcy10ZXh0dXJlLXRvLXRleHR1cmUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdw
dS9ibGl0LWNvbW1hbmRzLXRleHR1cmUtdG8tdGV4dHVyZS5odG1sCmluZGV4IDQ4MWZmMTMxZjc0
MmFlOWRmN2E0Mjk1NjUyOTk1ZjVkOGEyMzIzYmQuLjhiZmNhNzg2MmQwOTBmZjEzODg3NGQyN2I3
MTc2YTI2NTUyZmI0YWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9ibGl0LWNvbW1h
bmRzLXRleHR1cmUtdG8tdGV4dHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9ibGl0
LWNvbW1hbmRzLXRleHR1cmUtdG8tdGV4dHVyZS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0
aW9uIGxvYWRUZXh0dXJlRnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKICAgICBjb25z
dCB0ZXh0dXJlU2l6ZSA9IHsKICAgICAgICAgd2lkdGg6ICBjYW52YXMyZC53aWR0aCwKICAgICAg
ICAgaGVpZ2h0OiBjYW52YXMyZC5oZWlnaHQsCi0gICAgICAgIGRlcHRoOiAgMQorICAgICAgICBk
ZXB0aDogIDIKICAgICB9OwogCiAgICAgLy8gTWlwbWFwIGNvdW50CkBAIC0yNSw3ICsyNSw2IEBA
IGZ1bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKIAog
ICAgIGNvbnN0IHRleHR1cmVEZXNjcmlwdG9yID0gewogICAgICAgICBzaXplOiB0ZXh0dXJlU2l6
ZSwKLSAgICAgICAgYXJyYXlMYXllckNvdW50OiAyLAogICAgICAgICBtaXBMZXZlbENvdW50OiBt
aXBMZXZlbENvdW50LAogICAgICAgICBzYW1wbGVDb3VudDogMSwKICAgICAgICAgZGltZW5zaW9u
OiAiMmQiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2J1ZmZlci1lcnJvcnMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdwdS9idWZmZXItZXJyb3JzLmh0bWwKaW5kZXggZDc3N2MwNzQ0
ZGEyZDE3MTZkMTM4MDcwNzViOTY3N2IwOWY4MmZmMC4uMGZhMTQ1ODM5ZmYzMzBiNTBjMzg3M2Iw
MDQ2MTRhMjIzZjk1OWZiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2J1ZmZlci1l
cnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvYnVmZmVyLWVycm9ycy5odG1sCkBA
IC0xNTUsNCArMTU1LDQgQEAgY29uc3QgYXNzZXJ0QWxsQnVmZmVyTWV0aG9kc0ZhaWwgPSBhc3lu
YyAoZGV2aWNlLCBidWZmZXIpID0+IHsKIAogcnVuVGVzdHNXaXRoRGV2aWNlKHRlc3RzKTsKIDwv
c2NyaXB0PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWwKaW5kZXggODU2YWZhOGVkYzFh
MWU3MjQwMmM2NjY2ZTRlMzhmOGYzMzU4ZmE2NC4uNDNlYjEzOTcyODYwZjBlOTJkYjBlMzkyMWVl
Yjc2MGMzNWQ0MGQzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Bl
cy10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0
bWwKQEAgLTk3LDQgKzk3LDQgQEAgY29uc3QgY2F1c2VWYWxpZGF0aW9uRXJyb3IgPSBkZXZpY2Ug
PT4gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih7IHNpemU6IDQsIHVzYWdlOiBHUFUKIGNvbnN0IGNhdXNl
TWVtb3J5RXJyb3IgPSBkZXZpY2UgPT4gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih7IHNpemU6IDk5OTk5
OTk5OTk5LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuTk9ORSB9KTsKIAogPC9zY3JpcHQ+Ci08L2Jv
ZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ3B1L3RleHR1cmUtY3JlYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ3B1L3RleHR1cmUtY3JlYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMTkx
YWMzODg3NGZkZGUwOTkzYWJjNGE4ZTNhYzQ1OWJjNjhlMGYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1NCBAQAorCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRl
cHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDFkIGZvcm1hdCBy
Z2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBo
ZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAy
ZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9m
IHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBk
aW1lbnNpb24gM2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEg
dGV4dHVyZSBvZiB3aWR0aCAtMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1w
bGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1Mg
Q3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IC0xIGRlcHRoIDEgbWlwTGV2ZWxD
b3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdl
IDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAt
MSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4
dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdo
dCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAtMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBm
b3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgLTEgZGlt
ZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRl
eHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVD
b3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAtMS4gCitQQVNTIENy
ZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAwIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3Vu
dCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAu
IAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMCBkZXB0aCAxIG1p
cExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9y
bSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEg
ZGVwdGggMCBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0
IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAx
IGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAwIHNhbXBsZUNvdW50IDEgZGltZW5zaW9u
IDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUg
b2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAw
IGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcg
YSB0ZXh0dXJlIG9mIHdpZHRoIDEwMDAwIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAx
IHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDFkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAor
UEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMzAwMCBkZXB0aCAxIG1p
cExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9y
bSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEwMDAwIGhlaWdo
dCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZv
cm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lk
dGggMSBoZWlnaHQgMTAwMDAgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBk
aW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEg
dGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDMwMDAgbWlwTGV2ZWxDb3VudCAxIHNh
bXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFT
UyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMzAwMCBoZWlnaHQgMSBkZXB0aCAxIG1pcExl
dmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAzZCBmb3JtYXQgcmdiYTh1bm9ybSB1
c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDMwMDAg
ZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gM2QgZm9ybWF0
IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAx
IGhlaWdodCAxIGRlcHRoIDMwMDAgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5z
aW9uIDNkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1
cmUgb2Ygd2lkdGggMiBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMiBzYW1wbGVDb3Vu
dCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRp
bmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMSBtaXBMZXZlbENvdW50IDIg
c2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQ
QVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2
ZWxDb3VudCAyIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVz
YWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMiBkZXB0
aCAyIG1pcExldmVsQ291bnQgMiBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAzZCBmb3JtYXQgcmdi
YTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVp
Z2h0IDIgZGVwdGggMSBtaXBMZXZlbENvdW50IDMgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQg
Zm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3
aWR0aCAyIGhlaWdodCAyIGRlcHRoIDIgbWlwTGV2ZWxDb3VudCAzIHNhbXBsZUNvdW50IDEgZGlt
ZW5zaW9uIDNkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRl
eHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVD
b3VudCAyIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3Jl
YXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50
IDEgc2FtcGxlQ291bnQgMiBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4g
CitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRoIDEgbWlw
TGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDIgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMiBk
ZXB0aCAxIG1pcExldmVsQ291bnQgMiBzYW1wbGVDb3VudCAyIGRpbWVuc2lvbiAyZCBmb3JtYXQg
cmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEg
aGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMiBkaW1lbnNpb24g
M2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBv
ZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDMg
ZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBh
IHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMiBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1w
bGVDb3VudCAzMDAgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFT
UyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVs
Q291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2Fn
ZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDIgZGVwdGgg
MSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMWQgZm9ybWF0IHJnYmE4
dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdo
dCAxIGRlcHRoIDIgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDFkIGZv
cm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lk
dGggMiBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVu
c2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0
dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDIgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291
bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0
aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDIgbWlwTGV2ZWxDb3VudCAx
IHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAor
UEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExl
dmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgZGVwdGgzMmZsb2F0
LXN0ZW5jaWw4IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBo
ZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAy
ZCBmb3JtYXQgZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBh
IHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1w
bGVDb3VudCAyIGRpbWVuc2lvbiAyZCBmb3JtYXQgZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IHVzYWdl
IDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAx
IG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiBnYXJiYWdlIGZvcm1hdCBy
Z2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBo
ZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAy
ZCBmb3JtYXQgZ2FyYmFnZSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1l
bnNpb24gMmQgZm9ybWF0IHJnYmE4dWludCB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0
dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291
bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IGJncmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0
aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAx
IHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCBiZ3JhOHVub3JtLXNyZ2IgdXNhZ2Ug
MC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEg
bWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhMTZm
bG9hdCB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0
IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9y
bWF0IHJnYmE4dW5vcm0gdXNhZ2UgMTAwMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3
aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGlt
ZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDMxLiAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ3B1L3RleHR1cmUtY3JlYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdw
dS90ZXh0dXJlLWNyZWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZjMGFlMDcwOGZmOGM4NjQ2NWYz
NmZkYzlkODRkMmU1MDVmMmU2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdw
dS90ZXh0dXJlLWNyZWF0aW9uLmh0bWwKQEAgLTAsMCArMSwxMTggQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0cyBmb3IgY3JlYXRpbmcgdGV4dHVy
ZSB2aWV3cy48L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorYXN5bmMgZnVuY3Rpb24gcnVuVGVzdHMoKSB7CisgICAgbGV0IHRlc3RzID0gWworICAg
ICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNh
bXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2Fn
ZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0
aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAg
e3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVD
b3VudDogMSwgZGltZW5zaW9uOiAiM2QiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAs
IHN1Y2Nlc3M6IHRydWV9LAorCisgICAgICAgIC8vIFRlc3QgbmVnYXRpdmUgdmFsdWVzCisgICAg
ICAgIHt3aWR0aDogLTEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNh
bXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2Fn
ZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogLTEsIGRl
cHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQi
LCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAg
ICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAtMSwgbWlwTGV2ZWxDb3VudDogMSwgc2Ft
cGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdl
OiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0
aDogMSwgbWlwTGV2ZWxDb3VudDogLTEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIs
IGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBs
ZUNvdW50OiAtMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6
IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRo
OiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBm
b3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IC0xLCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAg
ICAgLy8gVGVzdCB6ZXJvIHZhbHVlcworICAgICAgICB7d2lkdGg6IDAsIGhlaWdodDogMSwgZGVw
dGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIs
IGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMCwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBs
ZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTog
MCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6
IDAsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZv
cm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7
d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDAsIHNhbXBsZUNv
dW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwg
c3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEs
IG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAwLCBkaW1lbnNpb246ICIyZCIsIGZvcm1h
dDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorCisgICAgICAgIC8v
IFRlc3QgbWF4aW11bSBzaXplcworICAgICAgICB7d2lkdGg6IDEwMDAwLCBoZWlnaHQ6IDEsIGRl
cHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMWQi
LCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAg
ICAge3dpZHRoOiAxLCBoZWlnaHQ6IDMwMDAsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBz
YW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMWQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNh
Z2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxMDAwMCwgaGVpZ2h0OiAx
LCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjog
IjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisg
ICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxMDAwMCwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6
IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0i
LCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDog
MSwgZGVwdGg6IDMwMDAsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNp
b246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9
LAorICAgICAgICB7d2lkdGg6IDMwMDAsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291
bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4dW5v
cm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdo
dDogMzAwMCwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1l
bnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFs
c2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDMwMDAsIG1pcExldmVs
Q291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4
dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorCisgICAgICAgIC8vIFRlc3QgbWlw
bWFwcGVkIHRleHR1cmVzCisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAxLCBkZXB0aDogMSwg
bWlwTGV2ZWxDb3VudDogMiwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0
OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0
aDogMiwgaGVpZ2h0OiAyLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMiwgc2FtcGxlQ291bnQ6
IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNj
ZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBM
ZXZlbENvdW50OiAyLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJy
Z2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDIs
IGhlaWdodDogMiwgZGVwdGg6IDIsIG1pcExldmVsQ291bnQ6IDIsIHNhbXBsZUNvdW50OiAxLCBk
aW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2Vzczog
dHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBkZXB0aDogMSwgbWlwTGV2ZWxD
b3VudDogMywgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1
bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMiwgaGVp
Z2h0OiAyLCBkZXB0aDogMiwgbWlwTGV2ZWxDb3VudDogMywgc2FtcGxlQ291bnQ6IDEsIGRpbWVu
c2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxz
ZX0sCisKKyAgICAgICAgLy8gVGVzdCBtdWx0aXNhbXBsaW5nCisgICAgICAgIHt3aWR0aDogMSwg
aGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDIsIGRp
bWVuc2lvbjogIjFkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBm
YWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxD
b3VudDogMSwgc2FtcGxlQ291bnQ6IDIsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1
bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWln
aHQ6IDIsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMiwgZGltZW5z
aW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9
LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6
IDIsIHNhbXBsZUNvdW50OiAyLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0i
LCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDog
MSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAyLCBkaW1lbnNpb246
ICIzZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAor
ICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEs
IHNhbXBsZUNvdW50OiAzLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1
c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMiwg
ZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAzMDAsIGRpbWVuc2lvbjog
IjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisK
KyAgICAgICAgLy8gVGVzdCBkaW1lbnNpb24KKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDEs
IGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAi
MWQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAg
ICAgICB7d2lkdGg6IDEsIGhlaWdodDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNh
bXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2Fn
ZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0
aDogMiwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAg
IHt3aWR0aDogMiwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxl
Q291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAw
LCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDIsIGRlcHRoOiAx
LCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3Jt
YXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lk
dGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDIsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50
OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3Vj
Y2VzczogdHJ1ZX0sCisKKyAgICAgICAgLy8gVGVzdCBkZXB0aCB0ZXh0dXJlcworICAgICAgICB7
d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNv
dW50OiAxLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIs
IHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAx
LCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjog
IjJkIiwgZm9ybWF0OiAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6
IHRydWV9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVs
Q291bnQ6IDEsIHNhbXBsZUNvdW50OiAyLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogImRlcHRo
MzJmbG9hdC1zdGVuY2lsOCIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAgICAg
Ly8gVGVzdCBlbnVtcworICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1p
cExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICJnYXJiYWdlIiwgZm9y
bWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3
aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291
bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAiZ2FyYmFnZSIsIHVzYWdlOiAwLCBzdWNj
ZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlw
TGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAi
cmdiYTh1aW50IiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDEs
IGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBk
aW1lbnNpb246ICIyZCIsIGZvcm1hdDogImJncmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2Vzczog
dHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxD
b3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAiYmdyYTh1
bm9ybS1zcmdiIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDEs
IGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBk
aW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmExNmZsb2F0IiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6
IHRydWV9LAorCisgICAgICAgIC8vIFRlc3QgdXNhZ2UKKyAgICAgICAge3dpZHRoOiAxLCBoZWln
aHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5z
aW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDEwMDAsIHN1Y2Nlc3M6IGZh
bHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENv
dW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgdXNhZ2U6IEdQVVRleHR1cmVVc2FnZS5DT1BZX1NSQyB8IEdQVVRleHR1cmVVc2FnZS5D
T1BZX0RTVCB8IEdQVVRleHR1cmVVc2FnZS5TQU1QTEVEIHwgR1BVVGV4dHVyZVVzYWdlLlNUT1JB
R0UgfCBHUFVUZXh0dXJlVXNhZ2UuT1VUUFVUX0FUVEFDSE1FTlQsIHN1Y2Nlc3M6IHRydWV9LAor
ICAgIF07CisgICAgZm9yIChsZXQgdGVzdCBvZiB0ZXN0cykgeworICAgICAgICBwcm9taXNlX3Rl
c3QoKCkgPT4geworICAgICAgICByZXR1cm4gZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGFzeW5jIGZ1
bmN0aW9uKGRldmljZSkgeworICAgICAgICAgICAgbGV0IGNhdWdodCA9IGZhbHNlOworICAgICAg
ICAgICAgZGV2aWNlLnB1c2hFcnJvclNjb3BlKCJ2YWxpZGF0aW9uIik7CisgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgIGxldCB0ZXh0dXJlID0gZGV2aWNlLmNyZWF0ZVRleHR1cmUo
e3NpemU6IHt3aWR0aDogdGVzdC53aWR0aCwgaGVpZ2h0OiB0ZXN0LmhlaWdodCwgZGVwdGg6IHRl
c3QuZGVwdGh9LCBtaXBMZXZlbENvdW50OiB0ZXN0Lm1pcExldmVsQ291bnQsIHNhbXBsZUNvdW50
OiB0ZXN0LnNhbXBsZUNvdW50LCBkaW1lbnNpb246IHRlc3QuZGltZW5zaW9uLCBmb3JtYXQ6IHRl
c3QuZm9ybWF0LCB1c2FnZTogdGVzdC51c2FnZX0pOworICAgICAgICAgICAgICAgIGFzc2VydF90
cnVlKHRleHR1cmUgaW5zdGFuY2VvZiBHUFVUZXh0dXJlLCAiQ2Fubm90IGNyZWF0ZSB0ZXh0dXJl
LiIpOworICAgICAgICAgICAgfSBjYXRjaCB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUo
IXRlc3Quc3VjY2VzcywgIkNyZWF0aW5nIHRleHR1cmUgc2hvdWxkICIgKyAodGVzdC5zdWNjZXNz
ID8gIm5vdCAiIDogIiIpICsgImZhaWwuIik7CisgICAgICAgICAgICAgICAgY2F1Z2h0ID0gdHJ1
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGF3YWl0IGRldmljZS5wb3BFcnJvclNjb3Bl
KCkudGhlbihmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgICAgIGlmICh0ZXN0LnN1Y2Nl
c3MpIHsKKyAgICAgICAgICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAiQ291bGQgbm90IGNyZWF0
ZSB0ZXh0dXJlOiAiOworICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgJiYgZXJyb3IubWVz
c2FnZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gZXJyb3IubWVzc2FnZTsK
KyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlcnJvciwgbnVsbCwgIkNvdWxkIG5v
dCBjcmVhdGUgdGV4dHVyZTogIiArIG1lc3NhZ2UpOworICAgICAgICAgICAgICAgIH0gZWxzZSBp
ZiAoIWNhdWdodCkgeworICAgICAgICAgICAgICAgICAgICBsZXQgbWVzc2FnZSA9ICJDcmVhdGVk
IHRleHR1cmU6ICI7CisgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciAmJiBlcnJvci5tZXNz
YWdlKQorICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSArPSBlcnJvci5tZXNzYWdlOwor
ICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSghIShjYXVnaHQgfHwgZXJyb3IpLCAiQ3Jl
YXRlZCB0ZXh0dXJlIHdoZW4gc2hvdWxkbid0IGhhdmU6ICIgKyBtZXNzYWdlKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBh
c3NlcnRfdHJ1ZShmYWxzZSwgImRldmljZSBsb3N0Iik7CisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgfSwgZnVuY3Rpb24oZSkgeworICAgICAgICB9KTsKKyAgICB9LCBgQ3JlYXRpbmcgYSB0ZXh0
dXJlIG9mIHdpZHRoICR7dGVzdC53aWR0aH0gaGVpZ2h0ICR7dGVzdC5oZWlnaHR9IGRlcHRoICR7
dGVzdC5kZXB0aH0gbWlwTGV2ZWxDb3VudCAke3Rlc3QubWlwTGV2ZWxDb3VudH0gc2FtcGxlQ291
bnQgJHt0ZXN0LnNhbXBsZUNvdW50fSBkaW1lbnNpb24gJHt0ZXN0LmRpbWVuc2lvbn0gZm9ybWF0
ICR7dGVzdC5mb3JtYXR9IHVzYWdlICR7dGVzdC51c2FnZX0uYCk7CisgICAgfQorfQorCitydW5U
ZXN0cygpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>399628</attachid>
            <date>2020-05-18 00:55:00 -0700</date>
            <delta_ts>2020-05-18 00:55:00 -0700</delta_ts>
            <desc>???</desc>
            <filename>file.txt</filename>
            <type>text/plain</type>
            <size>4530</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IGY1YjM5OTNkN2JjYWVlYTg3NjJkYWRiZDUwNTkwNmY1N2QwNjMxMGIKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBNb24gTWF5IDE4
IDAwOjUzOjE1IDIwMjAgLTA3MDAKCiAgICBXSVAKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJncHUvYmxpdC1jb21tYW5kcy10ZXh0dXJlLXRvLXRleHR1cmUuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdwdS9ibGl0LWNvbW1hbmRzLXRleHR1cmUtdG8tdGV4dHVyZS5odG1sCmluZGV4IDhiZmNh
Nzg2MmQwLi41MTgzOGIzYmUzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2JsaXQt
Y29tbWFuZHMtdGV4dHVyZS10by10ZXh0dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1
L2JsaXQtY29tbWFuZHMtdGV4dHVyZS10by10ZXh0dXJlLmh0bWwKQEAgLTM0LDYgKzM0LDcgQEAg
ZnVuY3Rpb24gbG9hZFRleHR1cmVGcm9tQ2FudmFzMmQoZGV2aWNlLCBjYW52YXMyZCkgewogCiAg
ICAgLy8gQ3JlYXRlIHRleHR1cmUgYW5kIGFsc28gYWRkIHRoZSBkZXNjcmlwdG9yCiAgICAgY29u
c3QgdGV4dHVyZSA9IGRldmljZS5jcmVhdGVUZXh0dXJlKHRleHR1cmVEZXNjcmlwdG9yKTsKKyAg
ICB0ZXh0dXJlU2l6ZS5kZXB0aCA9IDE7CiAgICAgdGV4dHVyZS5kZXNjcmlwdG9yID0gdGV4dHVy
ZURlc2NyaXB0b3I7CiAKICAgICAvLyBUZXh0dXJlIGRhdGEgCkBAIC00Miw3ICs0Myw3IEBAIGZ1
bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKIAogICAg
IGNvbnN0IHRleHR1cmVEYXRhQnVmZmVyRGVzY3JpcHRvciA9IHsKICAgICAgICAgc2l6ZTogaW1h
Z2VEYXRhLmRhdGEubGVuZ3RoLAotICAgICAgICB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuQ09QWV9T
UkMKKyAgICAgICAgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLkNPUFlfU1JDIHwgR1BVQnVmZmVyVXNh
Z2UuQ09QWV9EU1QgfCBHUFVCdWZmZXJVc2FnZS5NQVBfUkVBRAogICAgIH07CiAgICAgY29uc3Qg
W3RleHR1cmVEYXRhQnVmZmVyLCB0ZXh0dXJlQXJyYXlCdWZmZXJdID0gZGV2aWNlLmNyZWF0ZUJ1
ZmZlck1hcHBlZCh0ZXh0dXJlRGF0YUJ1ZmZlckRlc2NyaXB0b3IpOwogICAgIApAQCAtNTQsNyAr
NTUsNyBAQCBmdW5jdGlvbiBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2UsIGNhbnZhczJk
KSB7CiAgICAgICAgIGJ1ZmZlcjogdGV4dHVyZURhdGFCdWZmZXIsCiAgICAgICAgIG9mZnNldDog
MCwKICAgICAgICAgcm93UGl0Y2g6IGNhbnZhczJkLndpZHRoICogNCwKLSAgICAgICAgaW1hZ2VI
ZWlnaHQ6IDAKKyAgICAgICAgaW1hZ2VIZWlnaHQ6IDEwNDg1NzYKICAgICB9OwogICAgIGNvbnN0
IHRleHR1cmVDb3B5VmlldyA9IHsKICAgICAgICAgdGV4dHVyZTogdGV4dHVyZSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVRdWV1ZU1l
dGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVF1
ZXVlTWV0YWwubW0KaW5kZXggMTc0ZDg2NGRlNDAuLmYwYTVjZjJmMDI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVUXVldWVNZXRhbC5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVUXVl
dWVNZXRhbC5tbQpAQCAtNzUsNiArNzUsNyBAQCB2b2lkIEdQVVF1ZXVlOjpzdWJtaXQoVmVjdG9y
PFJlZjxHUFVDb21tYW5kQnVmZmVyPj4mJiBjb21tYW5kQnVmZmVycykKIHsKICAgICBmb3IgKGF1
dG8mIGNvbW1hbmRCdWZmZXIgOiBjb21tYW5kQnVmZmVycykgewogICAgICAgICAvLyBWYWxpZGF0
ZSByZXNvdXJjZSBpbnRlZ3JpdHkuCisgICAgICAgIGNvbW1hbmRCdWZmZXItPmVuZEJsaXRFbmNv
ZGluZygpOwogICAgICAgICBmb3IgKGF1dG8mIGJ1ZmZlciA6IGNvbW1hbmRCdWZmZXItPnVzZWRC
dWZmZXJzKCkpIHsKICAgICAgICAgICAgIGlmIChidWZmZXItPnN0YXRlKCkgIT0gR1BVQnVmZmVy
OjpTdGF0ZTo6VW5tYXBwZWQpIHsKICAgICAgICAgICAgICAgICBMT0coV2ViR1BVLCAiR1BVUXVl
dWU6OnN1Ym1pdCgpOiBJbnZhbGlkIEdQVUJ1ZmZlciBzZXQgb24gYSBHUFVDb21tYW5kQnVmZmVy
ISIpOwpAQCAtODIsMTIgKzgzLDI2IEBAIHZvaWQgR1BVUXVldWU6OnN1Ym1pdChWZWN0b3I8UmVm
PEdQVUNvbW1hbmRCdWZmZXI+PiYmIGNvbW1hbmRCdWZmZXJzKQogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgICAgIGZvciAoYXV0byYgdGV4dHVyZSA6IGNvbW1hbmRCdWZmZXItPnVzZWRU
ZXh0dXJlcygpKSB7CisgICAgICAgICAgICBNVExUZXh0dXJlICp0ZXggPSB0ZXh0dXJlLT5wbGF0
Zm9ybVRleHR1cmUoKTsKKyAgICAgICAgICAgIC8vdW5zaWduZWQgaW50KiBiID0gKHVuc2lnbmVk
IGludCopbWFsbG9jKDEwNDg1NzYpOworICAgICAgICAgICAgLy9bdGV4IGdldEJ5dGVzOmIgYnl0
ZXNQZXJSb3c6MjA0OCBieXRlc1BlckltYWdlOjEwNDg1NzYgZnJvbVJlZ2lvbjpNVExSZWdpb25N
YWtlMkQoMCwgMCwgNTEyLCA1MTIpIG1pcG1hcExldmVsOjAgc2xpY2U6MF07CisgICAgICAgICAg
ICAvL1dURkxvZ0Fsd2F5cygiJXgiLCBiWzBdKTsKKyAgICAgICAgICAgIC8vZnJlZShiKTsKKyAg
ICAgICAgICAgIE1UTEJsaXRDb21tYW5kRW5jb2RlciAqZHVtbXkgPSBbY29tbWFuZEJ1ZmZlci0+
cGxhdGZvcm1Db21tYW5kQnVmZmVyKCkgYmxpdENvbW1hbmRFbmNvZGVyXTsKKyAgICAgICAgICAg
IFtkdW1teSBzeW5jaHJvbml6ZVJlc291cmNlOnRleHR1cmUtPnBsYXRmb3JtVGV4dHVyZSgpXTsK
KyAgICAgICAgICAgIFtkdW1teSBlbmRFbmNvZGluZ107CisgICAgICAgICAgICBbY29tbWFuZEJ1
ZmZlci0+cGxhdGZvcm1Db21tYW5kQnVmZmVyKCkgYWRkQ29tcGxldGVkSGFuZGxlcjpeKGlkPE1U
TENvbW1hbmRCdWZmZXI+IGNvbW1hbmRCdWZmZXIpIHsKKyAgICAgICAgICAgICAgICBXVEZMb2dB
bHdheXMoIkNvbXBsZXRlZC4gJXAiLCBbY29tbWFuZEJ1ZmZlciBlcnJvcl0pOworICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogYiA9ICh1bnNpZ25lZCBpbnQqKW1hbGxvYygxMDQ4NTc2KTsK
KyAgICAgICAgICAgICAgICBbdGV4IGdldEJ5dGVzOmIgYnl0ZXNQZXJSb3c6MjA0OCBieXRlc1Bl
ckltYWdlOjEwNDg1NzYgZnJvbVJlZ2lvbjpNVExSZWdpb25NYWtlMkQoMCwgMCwgNTEyLCA1MTIp
IG1pcG1hcExldmVsOjAgc2xpY2U6MF07CisgICAgICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCIl
eCIsIGJbMF0pOworICAgICAgICAgICAgICAgIGZyZWUoYik7CisgICAgICAgICAgICB9XTsKICAg
ICAgICAgICAgIGlmICghdGV4dHVyZS0+cGxhdGZvcm1UZXh0dXJlKCkpIHsKICAgICAgICAgICAg
ICAgICBMT0coV2ViR1BVLCAiR1BVUXVldWU6OnN1Ym1pdCgpOiBJbnZhbGlkIEdQVVRleHR1cmUg
c2V0IG9uIGEgR1BVQ29tbWFuZEJ1ZmZlciEiKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgY29tbWFuZEJ1ZmZlci0+ZW5kQmxpdEVu
Y29kaW5nKCk7CiAgICAgICAgIC8vIE9rYXkgdG8gY29tbWl0OyBwcmV2ZW50IGFueSBidWZmZXIg
bWFwcGluZyBjYWxsYmFja3MgZnJvbSBleGVjdXRpbmcgdW50aWwgY29tbWFuZCBidWZmZXIgaXMg
Y29tcGxldGUuCiAgICAgICAgIGZvciAoYXV0byYgYnVmZmVyIDogY29tbWFuZEJ1ZmZlci0+dXNl
ZEJ1ZmZlcnMoKSkKICAgICAgICAgICAgIGJ1ZmZlci0+Y29tbWFuZEJ1ZmZlckNvbW1pdHRlZChj
b21tYW5kQnVmZmVyLT5wbGF0Zm9ybUNvbW1hbmRCdWZmZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRleHR1cmVN
ZXRhbC5tbQppbmRleCBlN2QxMGQ0NjFmMC4uMjY1ZWMxZjYzMGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRleHR1
cmVNZXRhbC5tbQpAQCAtMTI2LDcgKzEyNiw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TVRMVGV4dHVy
ZURlc2NyaXB0b3I+IHRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKGNvbnN0IGNoYXIqCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIGF1dG8gc3Rv
cmFnZU1vZGUgPSBNVExTdG9yYWdlTW9kZVByaXZhdGU7CisgICAgYXV0byBzdG9yYWdlTW9kZSA9
IE1UTFN0b3JhZ2VNb2RlTWFuYWdlZDsKICNlbHNlCiAgICAgYXV0byBzdG9yYWdlTW9kZSA9IHN0
b3JhZ2VNb2RlRm9yUGl4ZWxGb3JtYXRBbmRTYW1wbGVDb3VudChwaXhlbEZvcm1hdCwgZGVzY3Jp
cHRvci5zYW1wbGVDb3VudCk7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399629</attachid>
            <date>2020-05-18 01:07:17 -0700</date>
            <delta_ts>2020-05-18 01:32:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211882-20200518010716.patch</filename>
            <type>text/plain</type>
            <size>41951</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWViNGE2NjAxNDAwM2I0
NmVlMzM0NjY0YjUxNmNmMDdkZDJkYTZkZi4uNTdjYWY3Y2E3MjAyMjJlZGUwMzE3Njk3MmFkMGRk
NTIzNzMwZGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIwLTA1LTEzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
VmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82MzIxNTk5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgbG90cyBvZiB2YWxpZGF0aW9uIGZvciB0ZXh0dXJlIGNyZWF0aW9uLiBU
aGUgbG9naWMgd2FzIGdhdGhlcmVkIGZyb20KKyAgICAgICAgdHJpYWwgYW5kIGVycm9yLgorCisg
ICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCB3ZSBkaWRuJ3QgaGF2ZSBhbnkgdmFsaWRhdGlvbi4g
VGhpcyBpcyBhIGZpcnN0IHBhc3MsIGFzCisgICAgICAgIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIGlz
bid0IHNwZWxsZWQgb3V0IGluIHRoZSBzcGVjLiBOZXh0LCBJIHdpbGwgbWFrZSBhIHB1bGwKKyAg
ICAgICAgcmVxdWVzdCB0byB0aGUgc3BlYyB0byBtYXRjaCB0aGlzIHBhdGNoLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWxzbyB1cGRhdGVzIHRocmVlIHBpZWNlcyBvZiBvdXIgSURMIGZpbGVzIHRv
IG1hdGNoIHRoZSBzcGVjIGZvcgorICAgICAgICBXZWJHUFU6IE9uZSB0byByZW1vdmUgR1BVVGV4
dHVyZVVzYWdlLk5PTkUgd2hpY2ggd2FzIHJlcGxhY2VkIHdpdGgganVzdCAwLAorICAgICAgICBv
bmUgdG8gcmVtb3ZlIEdQVVRleHR1cmVEZXNjcmlwdG9yLmFycmF5TGF5ZXJDb3VudCwgd2hpY2gg
d2FzIGRlbGV0ZWQgaW4KKyAgICAgICAgZmF2b3Igb2YgdXNpbmcgcmVndWxhciBkaW1lbnNpb24g
ZmllbGRzLCBhbmQgb25lIHRvIGFkZCBbRW5mb3JjZVJhbmdlXSB0bworICAgICAgICB2YXJpb3Vz
IHZhbHVlcy4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gdXBkYXRlcyBHUFVEZXZpY2UgdG8g
aGF2ZSBhIEdQVUVycm9yU2NvcGVzIG9iamVjdCwgd2hpY2ggaXMKKyAgICAgICAgcmVxdWlyZWQg
Zm9yIGdvb2QgZXJyb3IgbWVzc2FnZXMuCisKKyAgICAgICAgVGVzdDogd2ViZ3B1L3RleHR1cmUt
Y3JlYXRpb24uaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR1BVRGV2aWNlOjp0cnlDcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2
aWNlOjpjcmVhdGVUZXh0dXJlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Om1heGltdW1NaXBMZXZlbENvdW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkdQVURldmljZTo6dHJ5Q3JlYXRlVGV4dHVyZSBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2
aWNlOjpzZXRFcnJvclNjb3Blcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUV4dGVudDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJh
c2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW06CisgICAg
ICAgIChXZWJDb3JlOjptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6Om10bFRleHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKToK
KyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVRleHR1cmU6OnRyeUNyZWF0ZSk6CisKIDIwMjAtMDUtMTMgIEFuZHJl
cyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5l
Y2Vzc2FyeSBhc3NlcnQgaW4ge1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGF0dGFjaG1l
bnRWaWV3XS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4
dGVudDNELmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlk
bAppbmRleCA1ZGZkY2UzMWI0OTRiMDg2MTZmNzIxNDUwODk0MGU5NDEzYzAxZmRjLi4xM2ExYjQ0
NzQxNjgxMDJhM2JmZGY0MDQyNmEwNDM2M2I3Y2I5NzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCkBAIC0yNCwxMyArMjQsMTMgQEAKICAqLwog
Ly8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxv
bmcgdTMyOwordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJD
b29yZGluYXRlOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVCiBdIGRpY3Rpb25hcnkgR1BVRXh0ZW50M0QgewotICAgIHJlcXVpcmVkIHUz
MiB3aWR0aDsKLSAgICByZXF1aXJlZCB1MzIgaGVpZ2h0OwotICAgIHJlcXVpcmVkIHUzMiBkZXB0
aDsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0aDsKKyAgICByZXF1aXJl
ZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQ7CisgICAgcmVxdWlyZWQgR1BVSW50ZWdlckNv
b3JkaW5hdGUgZGVwdGg7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCmluZGV4IDQ0NTk1Mzg4ZWVlYzJhOTVjYzM4
MWQwN2Y3OGJiYjgwOTFiZGE3M2YuLjVkNjE4OGY5OTdhN2E3ZjM5OTBmZjIyOGY3MzlmMjVhMjZj
MDliZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1
cmVEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlRGVzY3JpcHRvci5pZGwKQEAgLTI0LDggKzI0LDkgQEAKICAqLwogLy8gaHR0cHM6Ly9n
cHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwotdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIEdQVVRleHR1cmVVc2FnZUZsYWdzOwordHlwZWRlZiBbRW5mb3Jj
ZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJDb29yZGluYXRlOwordHlwZWRlZiBbRW5m
b3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5n
ZV0gdW5zaWduZWQgbG9uZyBHUFVUZXh0dXJlVXNhZ2VGbGFnczsKIAogWwogICAgIEltcGxlbWVu
dGVkQXM9R1BVVGV4dHVyZURpbWVuc2lvbgpAQCAtNDAsOSArNDEsOCBAQCB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3M7CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJH
UFUKIF0gZGljdGlvbmFyeSBHUFVUZXh0dXJlRGVzY3JpcHRvciB7CiAgICAgcmVxdWlyZWQgR1BV
RXh0ZW50M0Qgc2l6ZTsKLSAgICB1MzIgYXJyYXlMYXllckNvdW50ID0gMTsKLSAgICB1MzIgbWlw
TGV2ZWxDb3VudCA9IDE7Ci0gICAgdTMyIHNhbXBsZUNvdW50ID0gMTsKKyAgICBHUFVJbnRlZ2Vy
Q29vcmRpbmF0ZSBtaXBMZXZlbENvdW50ID0gMTsKKyAgICBHUFVTaXplMzIgc2FtcGxlQ291bnQg
PSAxOwogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uID0gIjJkIjsKICAgICByZXF1
aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlVXNh
Z2VGbGFncyB1c2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L0dQVVRleHR1cmVVc2FnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlVXNhZ2UuaWRsCmluZGV4IDAyZTg5MGNhNWRiYmNlMzE5ODljZDczYjQ4M2Q4MDdkN2Ri
ZmNkMTIuLjZiMzBiYjBlM2YwMTZiYjc3ODE4YTA4YTg0MDUzN2I4NDIxZmE5ODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZVVzYWdlLmlkbApAQCAt
MzIsNyArMzIsNiBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNl
IEdQVVRleHR1cmVVc2FnZSB7Ci0gICAgY29uc3QgdTMyIE5PTkUgPSAwOwogICAgIGNvbnN0IHUz
MiBDT1BZX1NSQyA9IDE7CiAgICAgY29uc3QgdTMyIENPUFlfRFNUID0gMjsKICAgICBjb25zdCB1
MzIgU0FNUExFRCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcAppbmRleCA4MGIxZTYzYzQ2MDVmNzk0MDkzNzJmMzgxNzIwNTIzOTA5YmQwNWYw
Li5jYTAxYjEwMTVhZDYxY2NjMzlhZDMzOWI5YWRiN2JlNDY5ZjFiMWM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTk2LDggKzk2LDEx
IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXZWJHUFVEZXZpY2UpOwogCiBSZWZQdHI8
V2ViR1BVRGV2aWNlPiBXZWJHUFVEZXZpY2U6OnRyeUNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiBhZGFwdGVyKQogewotICAg
IGlmIChhdXRvIGRldmljZSA9IEdQVURldmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMo
KSkpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRleHQsIFdU
Rk1vdmUoYWRhcHRlciksIGRldmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CisgICAgaWYgKGF1dG8g
ZGV2aWNlID0gR1BVRGV2aWNlOjp0cnlDcmVhdGUoYWRhcHRlci0+b3B0aW9ucygpKSkgeworICAg
ICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0UmVmKG5ldyBXZWJHUFVEZXZpY2UoY29udGV4dCwgV1RG
TW92ZShhZGFwdGVyKSwgbWFrZVJlZigqZGV2aWNlKSkpOworICAgICAgICBkZXZpY2UtPnNldEVy
cm9yU2NvcGVzKHJlc3VsdC0+bV9lcnJvclNjb3Blcy5jb3B5UmVmKCkpOworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAtMTgwLDYgKzE4
Myw4IEBAIFZlY3RvcjxKU0M6OkpTVmFsdWU+IFdlYkdQVURldmljZTo6Y3JlYXRlQnVmZmVyTWFw
cGVkKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljCiAKIFJlZjxXZWJHUFVUZXh0dXJlPiBXZWJH
UFVEZXZpY2U6OmNyZWF0ZVRleHR1cmUoY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IpIGNvbnN0CiB7CisgICAgbV9lcnJvclNjb3Blcy0+c2V0RXJyb3JQcmVmaXgoIkdQVURl
dmljZS5jcmVhdGVUZXh0dXJlKCk6ICIpOworCiAgICAgYXV0byB0ZXh0dXJlID0gbV9kZXZpY2Ut
PnRyeUNyZWF0ZVRleHR1cmUoZGVzY3JpcHRvcik7CiAgICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6
OmNyZWF0ZShXVEZNb3ZlKHRleHR1cmUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVt
ZSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVt
ZXMvV2ViQ29yZS54Y3NjaGVtZQppbmRleCAxNTgyZTFhM2M1NmRmOWU3ODIwMGQ5OWE5OTg2ODA1
OTFiNGNkZjBiLi4wN2U5NDE5ZjVmMjZmNzFmZThiNGFiZDdhZDNjYmQ5ZTllNmEzYWUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNz
Y2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCkBAIC00MCw2ICs0
MCwxMSBAQAogICAgICAgZGVidWdEb2N1bWVudFZlcnNpb25pbmcgPSAiWUVTIgogICAgICAgZGVi
dWdTZXJ2aWNlRXh0ZW5zaW9uID0gImludGVybmFsIgogICAgICAgYWxsb3dMb2NhdGlvblNpbXVs
YXRpb24gPSAiWUVTIj4KKyAgICAgIDxQYXRoUnVubmFibGUKKyAgICAgICAgIHJ1bm5hYmxlRGVi
dWdnaW5nTW9kZSA9ICIwIgorICAgICAgICAgQnVuZGxlSWRlbnRpZmllciA9ICJvcmcud2Via2l0
Lk1pbmlCcm93c2VyIgorICAgICAgICAgRmlsZVBhdGggPSAiL1VzZXJzL21tYXhmaWVsZC9CdWls
ZC9Qcm9kdWN0cy9EZWJ1Zy9NaW5pQnJvd3Nlci5hcHAiPgorICAgICAgPC9QYXRoUnVubmFibGU+
CiAgICA8L0xhdW5jaEFjdGlvbj4KICAgIDxQcm9maWxlQWN0aW9uCiAgICAgICBidWlsZENvbmZp
Z3VyYXRpb24gPSAiUmVsZWFzZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURldmljZS5jcHAKaW5kZXggZjVlNDNjZWVkOTVmZTU3NzNlMzUwODFhZGE0
OGNjNGE2OTM2ODIzMy4uNzBjOGQ1MDVhNmZiNmI3MDE4MzJhMWI3YzQ0OGU2MDJhYjVlMDcyYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmlj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmlj
ZS5jcHAKQEAgLTYwLDkgKzYwLDEyMyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBHUFVEZXZpY2U6OnRy
eUNyZWF0ZUJ1ZmZlcihjb25zdCBHUFVCdWZmZXJEZXNjcmlwdG9yJiBkZXNjcmlwdAogICAgIHJl
dHVybiBHUFVCdWZmZXI6OnRyeUNyZWF0ZSgqdGhpcywgZGVzY3JpcHRvciwgaXNNYXBwZWQsIGVy
cm9yU2NvcGVzKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIG1heGltdW1NaXBMZXZlbENvdW50KEdQ
VVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uLCBHUFVFeHRlbnQzRCBzaXplKQoreworICAgIHVu
c2lnbmVkIHdpZHRoID0gc2l6ZS53aWR0aDsKKyAgICB1bnNpZ25lZCBoZWlnaHQgPSAxOworICAg
IHVuc2lnbmVkIGRlcHRoID0gMTsKKyAgICBzd2l0Y2ggKGRpbWVuc2lvbikgeworICAgIGNhc2Ug
R1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdQVVRl
eHR1cmVEaW1lbnNpb246Ol8yZDoKKyAgICAgICAgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzNkOgorICAgICAgICBo
ZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICAgICAgZGVwdGggPSBzaXplLmRlcHRoOworICAgICAg
ICBicmVhazsKKyAgICB9CisKKyAgICBhdXRvIG1heERpbWVuc2lvbiA9IHN0ZDo6bWF4KHN0ZDo6
bWF4KHdpZHRoLCBoZWlnaHQpLCBkZXB0aCk7CisgICAgaW50IGkgPSBzaXplb2YoR1BVRXh0ZW50
M0Q6OklubmVyVHlwZSkgKiA4IC0gMTsKKyAgICBmb3IgKDsgIShtYXhEaW1lbnNpb24gJiAoMSA8
PCBpKSkgJiYgaSA+PSAwOyAtLWkpIHsKKyAgICB9CisgICAgQVNTRVJUKGkgPj0gMCk7CisgICAg
cmV0dXJuIGkgKyAxOworfQorCiBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVRGV2aWNlOjp0cnlDcmVh
dGVUZXh0dXJlKGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKSBjb25zdAog
ewotICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKnRoaXMsIGRlc2NyaXB0b3IpOwor
ICAgIGlmICghZGVzY3JpcHRvci5zaXplLndpZHRoIHx8ICFkZXNjcmlwdG9yLnNpemUuaGVpZ2h0
IHx8ICFkZXNjcmlwdG9yLnNpemUuZGVwdGgpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2Vu
ZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlcyBjYW4ndCBoYXZlIDAgZGltZW5zaW9ucy4iKTsK
KyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoIWRlc2NyaXB0b3IubWlwTGV2
ZWxDb3VudCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3Io
IlRleHR1cmVzIGNhbid0IGhhdmUgMCBtaXBsZXZlbHMuIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorCisgICAgaWYgKCFkZXNjcmlwdG9yLnNhbXBsZUNvdW50KSB7CisgICAgICAgIG1f
ZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiVGV4dHVyZXMgY2FuJ3QgaGF2ZSAw
IHNhbXBsZXMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgLy8gaHR0cHM6
Ly9kZXZlbG9wZXIuYXBwbGUuY29tL21ldGFsL01ldGFsLUZlYXR1cmUtU2V0LVRhYmxlcy5wZGYK
KyAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9uKSB7CisgICAgY2FzZSBHUFVUZXh0dXJl
RGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUud2lkdGggPiA4MTky
KSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFE
IHRleHR1cmUgaXMgdG9vIHdpZGUuIik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAg
ICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUuaGVpZ2h0ID4gMjA0OCkgeworICAgICAg
ICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCIxRCB0ZXh0dXJlIGFy
cmF5IGhhcyB0b28gbWFueSBsYXllcnMuIik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJk
OgorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLndpZHRoID4gODE5MiB8fCBkZXNjcmlwdG9y
LnNpemUuaGVpZ2h0ID4gODE5MikgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJh
dGVQcmVmaXhlZEVycm9yKCIyRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAgICAgICAgICAg
IHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS5kZXB0
aCA+IDIwNDgpIHsKKyAgICAgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRF
cnJvcigiMkQgdGV4dHVyZSBhcnJheSBoYXMgdG9vIG1hbnkgbGF5ZXJzLiIpOworICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdQVVRl
eHR1cmVEaW1lbnNpb246Ol8zZDoKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS53aWR0aCA+
IDIwNDggfHwgZGVzY3JpcHRvci5zaXplLmhlaWdodCA+IDIwNDggfHwgZGVzY3JpcHRvci5zaXpl
LmRlcHRoID4gMjA0OCkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVm
aXhlZEVycm9yKCIzRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAgICAgICAgICAgIHJldHVy
biB7IH07CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKGRlc2Ny
aXB0b3IuZGltZW5zaW9uID09IEdQVVRleHR1cmVEaW1lbnNpb246Ol8xZCAmJiBkZXNjcmlwdG9y
Lm1pcExldmVsQ291bnQgIT0gMSkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVBy
ZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVzIGNhbid0IGhhdmUgbWlwbWFwcy4iKTsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoZGVzY3JpcHRvci5taXBMZXZlbENvdW50ID4g
bWF4aW11bU1pcExldmVsQ291bnQoZGVzY3JpcHRvci5kaW1lbnNpb24sIGRlc2NyaXB0b3Iuc2l6
ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUb28g
bWFueSBtaXBsZXZlbHMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgaWYg
KGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgeworICAgICAgICBpZiAoZGVzY3JpcHRvci5k
aW1lbnNpb24gIT0gR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkKSB7CisgICAgICAgICAgICBtX2Vy
cm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIlRleHR1cmUgZGltZW5zaW9uIGluY29t
cGF0aWJsZSB3aXRoIG11bHRpc2FtcGxpbmcuIik7CisgICAgICAgICAgICByZXR1cm4geyB9Owor
ICAgICAgICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLm1pcExldmVsQ291bnQgIT0gMSkgewor
ICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJNdWx0aXNh
bXBsZWQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBtaXBtYXBzLiIpOworICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogT25seSBzb21lIHBpeGVsIGZvcm1h
dHMgYXJlIGNhcGFibGUgb2YgTVNBQS4gV2hlbiB3ZSBhZGQgdGhvc2UgbmV3IHBpeGVsIGZvcm1h
dHMsIHdlJ2xsIGhhdmUgdG8gYWRkIGZpbHRlcmluZyBjb2RlIGhlcmUuCisgICAgfQorCisgICAg
Ly8gVGhlIGhlaWdodCBjb21wb25lbnQgZm9yIDFkIHRleHR1cmVzIGlzIHRoZSBhcnJheSBsZW5n
dGguCisgICAgLy8gVGhlIGRlcHRoIGNvbXBvbmVudCBmb3IgMmQgdGV4dHVyZXMgaXMgdGhlIGFy
cmF5IGxlbmd0aC4KKyAgICBpZiAoZGVzY3JpcHRvci5kaW1lbnNpb24gPT0gR1BVVGV4dHVyZURp
bWVuc2lvbjo6XzFkICYmIGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aCAhPSAxKSB7CisgICAgICAgIG1f
ZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiMUQgdGV4dHVyZXMgY2FuJ3QgaGF2
ZSBkZXB0aCAhPSAxLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIGlmIChk
ZXNjcmlwdG9yLmZvcm1hdCA9PSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2ls
OCAmJiBkZXNjcmlwdG9yLmRpbWVuc2lvbiAhPSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMmQpIHsK
KyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJEZXB0aC9zdGVu
Y2lsIHRleHR1cmVzIG11c3QgYmUgMmQuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQor
CisgICAgaWYgKGRlc2NyaXB0b3IuZm9ybWF0ID09IEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMzJm
bG9hdFN0ZW5jaWw4ICYmIGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgeworICAgICAgICBt
X2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRlcHRoL3N0ZW5jaWwgdGV4dHVy
ZXMgY2FuJ3QgYmUgbXVsdGlzYW1wbGVkLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0K
KworICAgIGlmIChzdGF0aWNfY2FzdDxHUFVUZXh0dXJlVXNhZ2VGbGFncz4oZGVzY3JpcHRvci51
c2FnZSkgPj0gc3RhdGljX2Nhc3Q8R1BVVGV4dHVyZVVzYWdlRmxhZ3M+KEdQVVRleHR1cmVVc2Fn
ZTo6RmxhZ3M6Ok1heGltdW1WYWx1ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJh
dGVQcmVmaXhlZEVycm9yKCJJbnZhbGlkIHVzYWdlIGZsYWdzLiIpOworICAgICAgICByZXR1cm4g
eyB9OworICAgIH0KKworICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKnRoaXMsIGRl
c2NyaXB0b3IsIG1ha2VSZWYoKm1fZXJyb3JTY29wZXMpKTsKIH0KIAogUmVmUHRyPEdQVVNhbXBs
ZXI+IEdQVURldmljZTo6dHJ5Q3JlYXRlU2FtcGxlcihjb25zdCBHUFVTYW1wbGVyRGVzY3JpcHRv
ciYgZGVzY3JpcHRvcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCA1OGIxMjAwMzFkZjAxZDcwZjdiOGY3YTVjZjZkM2Zm
MmUzZDcxMjAwLi5mNTQ5NmNjNjdkODQzZTBiOWE1YWU2ZGIyY2UwZDhkNTU2OGE5ZTJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCkBA
IC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUgIkdQVUJpbmRH
cm91cEFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkdQVUVycm9yU2NvcGVzLmgiCiAjaW5jbHVkZSAi
R1BVUXVldWUuaCIKICNpbmNsdWRlICJHUFVTd2FwQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvRnVu
Y3Rpb24uaD4KQEAgLTk1LDYgKzk2LDggQEAgcHVibGljOgogICAgIEdQVVN3YXBDaGFpbiogc3dh
cENoYWluKCkgY29uc3QgeyByZXR1cm4gbV9zd2FwQ2hhaW4uZ2V0KCk7IH0KICAgICB2b2lkIHNl
dFN3YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmKTsKIAorICAgIHZvaWQgc2V0RXJyb3JT
Y29wZXMoUmVmPEdQVUVycm9yU2NvcGVzPiYmIGVycm9yU2NvcGVzKSB7IG1fZXJyb3JTY29wZXMg
PSBXVEZNb3ZlKGVycm9yU2NvcGVzKTsgfQorCiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIHVz
ZVdITFNMID0gdHJ1ZTsKIAogcHJpdmF0ZToKQEAgLTEwNCw2ICsxMDcsNyBAQCBwcml2YXRlOgog
ICAgIG11dGFibGUgUmVmUHRyPEdQVVF1ZXVlPiBtX3F1ZXVlOwogICAgIFJlZlB0cjxHUFVTd2Fw
Q2hhaW4+IG1fc3dhcENoYWluOwogICAgIG11dGFibGUgUmVmUHRyPEdQVUJpbmRHcm91cEFsbG9j
YXRvcj4gbV9iaW5kR3JvdXBBbGxvY2F0b3I7CisgICAgUmVmUHRyPEdQVUVycm9yU2NvcGVzPiBt
X2Vycm9yU2NvcGVzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUV4dGVudDNELmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaAppbmRleCAzMTk1
ZDE3Mzk0NmM0ZDBjOTZlMjJkYjZjZTU0MGQzMTVhMzAxOWYzLi41NDQ4MjY1MjBjYzVlN2UwY2M5
ZmY0M2ZkMTQyODBmNTA0NGI3ZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaApAQCAtMzAsOSArMzAsMTAgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAKIHN0cnVjdCBHUFVFeHRlbnQzRCB7Ci0gICAgdW5zaWduZWQgd2lk
dGg7Ci0gICAgdW5zaWduZWQgaGVpZ2h0OwotICAgIHVuc2lnbmVkIGRlcHRoOworICAgIHVzaW5n
IElubmVyVHlwZSA9IHVuc2lnbmVkOworICAgIElubmVyVHlwZSB3aWR0aDsKKyAgICBJbm5lclR5
cGUgaGVpZ2h0OworICAgIElubmVyVHlwZSBkZXB0aDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVPYmplY3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
T2JqZWN0QmFzZS5oCmluZGV4IDk0YzFmNTI3OTQ0ZjIzMzMwOWE0NTVjNjkwYzdjYWI5MmRlZDVm
NDcuLjY3YjJkOTE4YzJlNTQ1MTdjYjM3ZmZmZWE2YjI2MmQ0NWY4MmZhOWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPYmplY3RCYXNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJhc2UuaApA
QCAtNDAsNyArNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgR1BVT2JqZWN0QmFzZShSZWY8R1BVRXJy
b3JTY29wZXM+JiYgcmVwb3J0ZXIpCiAgICAgICAgIDogbV9lcnJvclNjb3BlcyhXVEZNb3ZlKHJl
cG9ydGVyKSkgeyB9CiAKLSAgICBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMoKSB7IHJldHVy
biBtX2Vycm9yU2NvcGVzOyB9CisgICAgR1BVRXJyb3JTY29wZXMmIGVycm9yU2NvcGVzKCkgY29u
c3QgeyByZXR1cm4gbV9lcnJvclNjb3BlczsgfQogCiBwcml2YXRlOgogICAgIFJlZjxHUFVFcnJv
clNjb3Blcz4gbV9lcnJvclNjb3BlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oCmluZGV4IGZmN2FhYjA5NjViNjJkYmQxZTNkYjM3NTky
YTU3ZDM0YWNhOWE5YzIuLmEzYjQyNmIwNTgwZTEyMjhjZTJmYWZkZWU5ZjA5MDRlN2QxODNjNDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0
dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1
cmUuaApAQCAtMzgsNiArMzgsNyBAQCBPQkpDX1BST1RPQ09MKE1UTFRleHR1cmUpOwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBHUFVEZXZpY2U7CitjbGFzcyBHUFVFcnJvclNjb3BlczsK
IAogc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yOwogCkBAIC00Niw3ICs0Nyw3IEBAIHVzaW5n
IFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyID0gUmV0YWluUHRyPE1UTFRleHR1cmU+OwogCiBjbGFz
cyBHUFVUZXh0dXJlIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVGV4dHVyZT4gewogcHVibGljOgot
ICAgIHN0YXRpYyBSZWZQdHI8R1BVVGV4dHVyZT4gdHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYs
IGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJik7CisgICAgc3RhdGljIFJlZlB0cjxHUFVUZXh0
dXJlPiB0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiwgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0
b3ImLCBHUFVFcnJvclNjb3BlcyYpOwogICAgIHN0YXRpYyBSZWY8R1BVVGV4dHVyZT4gY3JlYXRl
KFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyJiYsIE9wdGlvblNldDxHUFVUZXh0dXJlVXNhZ2U6OkZs
YWdzPik7CiAKICAgICBQbGF0Zm9ybVRleHR1cmUgKnBsYXRmb3JtVGV4dHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcGxhdGZvcm1UZXh0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCmlu
ZGV4IDY2ZTFjMTdiZDhiZGQ2MTdmN2U5NDVkZGQxYmZkOTc5ZjU1ZmUxODAuLmIyYTY4NWEyMTlm
MzI5YjYwNzA0ZDNlNjU2MjNiNWE2YWI3ZWRlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCkBA
IC00MSw3ICs0MSw2IEBAIGVudW0gY2xhc3MgR1BVVGV4dHVyZURpbWVuc2lvbiB7CiAgICAgCiBz
dHJ1Y3QgR1BVVGV4dHVyZURlc2NyaXB0b3IgewogICAgIEdQVUV4dGVudDNEIHNpemU7Ci0gICAg
dW5zaWduZWQgYXJyYXlMYXllckNvdW50OwogICAgIHVuc2lnbmVkIG1pcExldmVsQ291bnQ7CiAg
ICAgdW5zaWduZWQgc2FtcGxlQ291bnQ7CiAgICAgR1BVVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
VGV4dHVyZVVzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
VGV4dHVyZVVzYWdlLmgKaW5kZXggNWMwY2U2MTA0YWEwYzJiMzNmNDJkMmZiZDI0NGYyZTEwZWM5
YzA5Ny4uYzMyODdkODM3NGU0NTVjZjM0MDliYmFlMDlhZjZjMzA4MTYxNjFiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVVc2FnZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlVXNh
Z2UuaApAQCAtMzYsMTIgKzM2LDEyIEBAIHVzaW5nIEdQVVRleHR1cmVVc2FnZUZsYWdzID0gdW5z
aWduZWQ7CiBjbGFzcyBHUFVUZXh0dXJlVXNhZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVUZXh0
dXJlVXNhZ2U+IHsKIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIEZsYWdzIDogR1BVVGV4dHVyZVVz
YWdlRmxhZ3MgewotICAgICAgICBOb25lID0gMCwKICAgICAgICAgQ29weVNvdXJjZSA9IDEgPDwg
MCwKICAgICAgICAgQ29weURlc3RpbmF0aW9uID0gMSA8PCAxLAogICAgICAgICBTYW1wbGVkID0g
MSA8PCAyLAogICAgICAgICBTdG9yYWdlID0gMSA8PCAzLAogICAgICAgICBPdXRwdXRBdHRhY2ht
ZW50ID0gMSA8PCA0LAorICAgICAgICBNYXhpbXVtVmFsdWUgPSAxIDw8IDUsCiAgICAgfTsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2Nv
YS9HUFVUZXh0dXJlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1tCmluZGV4IDVkYjFkYWE0NTU2OTdmNTMwNTNjODRh
ZjUwZGRlZDgxNTU0NzdlN2QuLmU3ZDEwZDQ2MWYwZjY4NThmZDUwMGU0OGZkM2Q5N2M0MmE5MWRh
MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2Nv
YS9HUFVUZXh0dXJlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L2NvY29hL0dQVVRleHR1cmVNZXRhbC5tbQpAQCAtNDIsMTIgKzQyLDExIEBAIHN0YXRp
YyBNVExUZXh0dXJlVHlwZSBtdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9yKGNv
bnN0IEdQVVRleHR1cmVEZXNjCiB7CiAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmRpbWVuc2lvbikg
ewogICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgotICAgICAgICByZXR1cm4gKGRl
c2NyaXB0b3IuYXJyYXlMYXllckNvdW50ID09IDEpID8gTVRMVGV4dHVyZVR5cGUxRCA6IE1UTFRl
eHR1cmVUeXBlMURBcnJheTsKKyAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLnNpemUuaGVpZ2h0
ID09IDEpID8gTVRMVGV4dHVyZVR5cGUxRCA6IE1UTFRleHR1cmVUeXBlMURBcnJheTsKICAgICBj
YXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZDogewotICAgICAgICBpZiAoZGVzY3JpcHRvci5h
cnJheUxheWVyQ291bnQgPT0gMSkKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aCA9
PSAxKQogICAgICAgICAgICAgcmV0dXJuIChkZXNjcmlwdG9yLnNhbXBsZUNvdW50ID09IDEpID8g
TVRMVGV4dHVyZVR5cGUyRCA6IE1UTFRleHR1cmVUeXBlMkRNdWx0aXNhbXBsZTsKLQotICAgICAg
ICByZXR1cm4gTVRMVGV4dHVyZVR5cGUyREFycmF5OworICAgICAgICByZXR1cm4gKGRlc2NyaXB0
b3Iuc2FtcGxlQ291bnQgPT0gMSkgPyBNVExUZXh0dXJlVHlwZTJEQXJyYXkgOiBNVExUZXh0dXJl
VHlwZTJETXVsdGlzYW1wbGVBcnJheTsKICAgICB9CiAgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5z
aW9uOjpfM2Q6CiAgICAgICAgIHJldHVybiBNVExUZXh0dXJlVHlwZTNEOwpAQCAtNjUsNyArNjQs
NyBAQCBzdGF0aWMgT3B0aW9uYWw8TVRMVGV4dHVyZVVzYWdlPiBtdGxUZXh0dXJlVXNhZ2VGb3JH
UFVUZXh0dXJlVXNhZ2VGbGFncyhPcHRpb25TZQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogICAgIH0KIAotICAgIE1UTFRleHR1cmVVc2FnZSByZXN1bHQgPSBNVExUZXh0dXJlVXNhZ2VQ
aXhlbEZvcm1hdFZpZXc7CisgICAgTVRMVGV4dHVyZVVzYWdlIHJlc3VsdCA9IDA7CiAgICAgaWYg
KGZsYWdzLmNvbnRhaW5zKEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6Ok91dHB1dEF0dGFjaG1lbnQp
KQogICAgICAgICByZXN1bHQgfD0gTVRMVGV4dHVyZVVzYWdlUmVuZGVyVGFyZ2V0OwogICAgIGlm
IChmbGFncy5jb250YWluc0FueSh7IEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6OlN0b3JhZ2UsIEdQ
VVRleHR1cmVVc2FnZTo6RmxhZ3M6OlNhbXBsZWQgfSkpCkBAIC0xMDIsNyArMTAxLDI0IEBAIHN0
YXRpYyBSZXRhaW5QdHI8TVRMVGV4dHVyZURlc2NyaXB0b3I+IHRyeUNyZWF0ZU10bFRleHR1cmVE
ZXNjcmlwdG9yKGNvbnN0IGNoYXIqCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAot
ICAgIC8vIEZJWE1FOiBBZGQgbW9yZSB2YWxpZGF0aW9uIGFzIGNvbnN0cmFpbnRzIGFyZSBhZGRl
ZCB0byBzcGVjLgorICAgIHVuc2lnbmVkIHdpZHRoID0gZGVzY3JpcHRvci5zaXplLndpZHRoOwor
ICAgIHVuc2lnbmVkIGhlaWdodCA9IDE7CisgICAgdW5zaWduZWQgZGVwdGggPSAxOworICAgIHVu
c2lnbmVkIGFycmF5TGVuZ3RoID0gMTsKKyAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9u
KSB7CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGFycmF5TGVu
Z3RoID0gZGVzY3JpcHRvci5zaXplLmhlaWdodDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBH
UFVUZXh0dXJlRGltZW5zaW9uOjpfMmQ6CisgICAgICAgIGhlaWdodCA9IGRlc2NyaXB0b3Iuc2l6
ZS5oZWlnaHQ7CisgICAgICAgIGFycmF5TGVuZ3RoID0gZGVzY3JpcHRvci5zaXplLmRlcHRoOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8zZDoKKyAgICAg
ICAgaGVpZ2h0ID0gZGVzY3JpcHRvci5zaXplLmhlaWdodDsKKyAgICAgICAgZGVwdGggPSBkZXNj
cmlwdG9yLnNpemUuZGVwdGg7CisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIGF1dG8gcGl4
ZWxGb3JtYXQgPSBzdGF0aWNfY2FzdDxNVExQaXhlbEZvcm1hdD4ocGxhdGZvcm1UZXh0dXJlRm9y
bWF0Rm9yR1BVVGV4dHVyZUZvcm1hdChkZXNjcmlwdG9yLmZvcm1hdCkpOwogCiAgICAgYXV0byBt
dGxVc2FnZSA9IG10bFRleHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKHVzYWdlLCBm
dW5jdGlvbk5hbWUpOwpAQCAtMTE3LDEwICsxMzMsMTAgQEAgc3RhdGljIFJldGFpblB0cjxNVExU
ZXh0dXJlRGVzY3JpcHRvcj4gdHJ5Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3IoY29uc3QgY2hh
cioKIAogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAotICAgIFttdGxEZXNjcmlw
dG9yIHNldFdpZHRoOmRlc2NyaXB0b3Iuc2l6ZS53aWR0aF07Ci0gICAgW210bERlc2NyaXB0b3Ig
c2V0SGVpZ2h0OmRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHRdOwotICAgIFttdGxEZXNjcmlwdG9yIHNl
dERlcHRoOmRlc2NyaXB0b3Iuc2l6ZS5kZXB0aF07Ci0gICAgW210bERlc2NyaXB0b3Igc2V0QXJy
YXlMZW5ndGg6ZGVzY3JpcHRvci5hcnJheUxheWVyQ291bnRdOworICAgIFttdGxEZXNjcmlwdG9y
IHNldFdpZHRoOndpZHRoXTsKKyAgICBbbXRsRGVzY3JpcHRvciBzZXRIZWlnaHQ6aGVpZ2h0XTsK
KyAgICBbbXRsRGVzY3JpcHRvciBzZXREZXB0aDpkZXB0aF07CisgICAgW210bERlc2NyaXB0b3Ig
c2V0QXJyYXlMZW5ndGg6YXJyYXlMZW5ndGhdOwogICAgIFttdGxEZXNjcmlwdG9yIHNldE1pcG1h
cExldmVsQ291bnQ6ZGVzY3JpcHRvci5taXBMZXZlbENvdW50XTsKICAgICBbbXRsRGVzY3JpcHRv
ciBzZXRTYW1wbGVDb3VudDpkZXNjcmlwdG9yLnNhbXBsZUNvdW50XTsKICAgICBbbXRsRGVzY3Jp
cHRvciBzZXRUZXh0dXJlVHlwZTptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9y
KGRlc2NyaXB0b3IpXTsKQEAgLTEzNCw3ICsxNTAsNyBAQCBzdGF0aWMgUmV0YWluUHRyPE1UTFRl
eHR1cmVEZXNjcmlwdG9yPiB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihjb25zdCBjaGFy
KgogICAgIHJldHVybiBtdGxEZXNjcmlwdG9yOwogfQogCi1SZWZQdHI8R1BVVGV4dHVyZT4gR1BV
VGV4dHVyZTo6dHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0
dXJlRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKK1JlZlB0cjxHUFVUZXh0dXJlPiBHUFVUZXh0dXJl
Ojp0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRleHR1cmVEZXNj
cmlwdG9yJiBkZXNjcmlwdG9yLCBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMpCiB7CiAgICAg
Y29uc3QgY2hhciogY29uc3QgZnVuY3Rpb25OYW1lID0gIkdQVVRleHR1cmU6OnRyeUNyZWF0ZSgp
IjsKIApAQCAtMTQzLDYgKzE1OSwxMSBAQCBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVVGV4dHVyZTo6
dHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0dQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKKyAgICBpZiAoIVtkZXZpY2UucGxhdGZvcm1EZXZp
Y2UoKSBzdXBwb3J0c1RleHR1cmVTYW1wbGVDb3VudDpkZXNjcmlwdG9yLnNhbXBsZUNvdW50XSkg
eworICAgICAgICBlcnJvclNjb3Blcy5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRldmljZSBkb2Vz
IG5vdCBzdXBwb3J0IHRoaXMgc2FtcGxlIGNvdW50LiIpOworICAgICAgICByZXR1cm4geyB9Owor
ICAgIH0KKwogICAgIGF1dG8gdXNhZ2UgPSBPcHRpb25TZXQ8R1BVVGV4dHVyZVVzYWdlOjpGbGFn
cz46OmZyb21SYXcoZGVzY3JpcHRvci51c2FnZSk7CiAgICAgYXV0byBtdGxEZXNjcmlwdG9yID0g
dHJ5Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3IoZnVuY3Rpb25OYW1lLCBkZXNjcmlwdG9yLCB1
c2FnZSk7CiAgICAgaWYgKCFtdGxEZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGViNWJkMjhlMmE5M2E0NGZi
MzVkOWVmNTk2NmNjMjY3NWVhZjVkMjMuLmFjOTU0YjEyNGRiMmE4MTNjYmIwNGYxMzIzMzE5NmVk
OWI0N2VkYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNS0xMyAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFZhbGlkYXRp
b24gZm9yIEdQVURldmljZS5jcmVhdGVUZXh0dXJlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTg4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjMyMTU5OTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA1LTEzICBL
ZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVuYWJsZSB3ZWJn
bF9jYW52YXMvIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvYmxpdC1jb21t
YW5kcy10ZXh0dXJlLXRvLXRleHR1cmUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9ibGl0LWNv
bW1hbmRzLXRleHR1cmUtdG8tdGV4dHVyZS5odG1sCmluZGV4IDQ4MWZmMTMxZjc0MmFlOWRmN2E0
Mjk1NjUyOTk1ZjVkOGEyMzIzYmQuLjMwZjUxMTQyYTFkNzVmMTMxODkzMzJmMWIzY2ZlYWIzNDc3
NWZiZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9ibGl0LWNvbW1hbmRzLXRleHR1
cmUtdG8tdGV4dHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9ibGl0LWNvbW1hbmRz
LXRleHR1cmUtdG8tdGV4dHVyZS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIGxvYWRU
ZXh0dXJlRnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKICAgICBjb25zdCB0ZXh0dXJl
U2l6ZSA9IHsKICAgICAgICAgd2lkdGg6ICBjYW52YXMyZC53aWR0aCwKICAgICAgICAgaGVpZ2h0
OiBjYW52YXMyZC5oZWlnaHQsCi0gICAgICAgIGRlcHRoOiAgMQorICAgICAgICBkZXB0aDogIDIK
ICAgICB9OwogCiAgICAgLy8gTWlwbWFwIGNvdW50CkBAIC0yNSw3ICsyNSw2IEBAIGZ1bmN0aW9u
IGxvYWRUZXh0dXJlRnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKIAogICAgIGNvbnN0
IHRleHR1cmVEZXNjcmlwdG9yID0gewogICAgICAgICBzaXplOiB0ZXh0dXJlU2l6ZSwKLSAgICAg
ICAgYXJyYXlMYXllckNvdW50OiAyLAogICAgICAgICBtaXBMZXZlbENvdW50OiBtaXBMZXZlbENv
dW50LAogICAgICAgICBzYW1wbGVDb3VudDogMSwKICAgICAgICAgZGltZW5zaW9uOiAiMmQiLApA
QCAtMzUsNiArMzQsNyBAQCBmdW5jdGlvbiBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2Us
IGNhbnZhczJkKSB7CiAKICAgICAvLyBDcmVhdGUgdGV4dHVyZSBhbmQgYWxzbyBhZGQgdGhlIGRl
c2NyaXB0b3IKICAgICBjb25zdCB0ZXh0dXJlID0gZGV2aWNlLmNyZWF0ZVRleHR1cmUodGV4dHVy
ZURlc2NyaXB0b3IpOworICAgIHRleHR1cmVTaXplLmRlcHRoID0gMTsKICAgICB0ZXh0dXJlLmRl
c2NyaXB0b3IgPSB0ZXh0dXJlRGVzY3JpcHRvcjsKIAogICAgIC8vIFRleHR1cmUgZGF0YSAKQEAg
LTU1LDcgKzU1LDcgQEAgZnVuY3Rpb24gbG9hZFRleHR1cmVGcm9tQ2FudmFzMmQoZGV2aWNlLCBj
YW52YXMyZCkgewogICAgICAgICBidWZmZXI6IHRleHR1cmVEYXRhQnVmZmVyLAogICAgICAgICBv
ZmZzZXQ6IDAsCiAgICAgICAgIHJvd1BpdGNoOiBjYW52YXMyZC53aWR0aCAqIDQsCi0gICAgICAg
IGltYWdlSGVpZ2h0OiAwCisgICAgICAgIGltYWdlSGVpZ2h0OiBjYW52YXMyZC53aWR0aCAqIGNh
bnZhczJkLmhlaWdodCAqIDQKICAgICB9OwogICAgIGNvbnN0IHRleHR1cmVDb3B5VmlldyA9IHsK
ICAgICAgICAgdGV4dHVyZTogdGV4dHVyZSwKQEAgLTE0MCw3ICsxNDAsNyBAQCBhc3luYyBmdW5j
dGlvbiB0ZXN0KGRldmljZSkgewogICAgIGNvbnN0IGJ1ZmZlckNvcHlWaWV3ID0gewogICAgICAg
ICBidWZmZXI6IGJ1ZmZlckEsCiAgICAgICAgIHJvd1BpdGNoOiBjYW52YXMyZC53aWR0aCAqIDQs
Ci0gICAgICAgIGltYWdlSGVpZ2h0OiAwCisgICAgICAgIGltYWdlSGVpZ2h0OiBjYW52YXMyZC53
aWR0aCAqIGNhbnZhczJkLmhlaWdodCAqIDQKICAgICB9OwogICAgIGNvbnN0IHRleHR1cmVDb3B5
VmlldyA9IHsKICAgICAgICAgdGV4dHVyZTogdGV4dHVyZUIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdwdS9idWZmZXItZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJncHUvYnVmZmVy
LWVycm9ycy5odG1sCmluZGV4IGQ3NzdjMDc0NGRhMmQxNzE2ZDEzODA3MDc1Yjk2NzdiMDlmODJm
ZjAuLjBmYTE0NTgzOWZmMzMwYjUwYzM4NzNiMDA0NjE0YTIyM2Y5NTlmYjUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3dlYmdwdS9idWZmZXItZXJyb3JzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ3B1L2J1ZmZlci1lcnJvcnMuaHRtbApAQCAtMTU1LDQgKzE1NSw0IEBAIGNvbnN0IGFzc2Vy
dEFsbEJ1ZmZlck1ldGhvZHNGYWlsID0gYXN5bmMgKGRldmljZSwgYnVmZmVyKSA9PiB7CiAKIHJ1
blRlc3RzV2l0aERldmljZSh0ZXN0cyk7CiA8L3NjcmlwdD4KLTwvYm9keT4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUv
ZXJyb3Itc2NvcGVzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMt
dGVzdC5odG1sCmluZGV4IDg1NmFmYThlZGMxYTFlNzI0MDJjNjY2NmU0ZTM4ZjhmMzM1OGZhNjQu
LjQzZWIxMzk3Mjg2MGYwZTkyZGIwZTM5MjFlZWI3NjBjMzVkNDBkMzYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCkBAIC05Nyw0ICs5Nyw0IEBAIGNvbnN0IGNh
dXNlVmFsaWRhdGlvbkVycm9yID0gZGV2aWNlID0+IGRldmljZS5jcmVhdGVCdWZmZXIoeyBzaXpl
OiA0LCB1c2FnZTogR1BVCiBjb25zdCBjYXVzZU1lbW9yeUVycm9yID0gZGV2aWNlID0+IGRldmlj
ZS5jcmVhdGVCdWZmZXIoeyBzaXplOiA5OTk5OTk5OTk5OSwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdl
Lk5PTkUgfSk7CiAKIDwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjE5MWFjMzg4NzRmZGRlMDk5M2FiYzRhOGUzYWM0NTli
YzY4ZTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3RleHR1cmUtY3Jl
YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTQgQEAKKworUEFTUyBDcmVhdGluZyBhIHRl
eHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVD
b3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3Jl
YXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50
IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4g
CitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlw
TGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDNkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggLTEgaGVpZ2h0IDEg
ZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0
IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAx
IGhlaWdodCAtMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lv
biAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJl
IG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggLTEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50
IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGlu
ZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgLTEg
c2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQ
QVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2
ZWxDb3VudCAxIHNhbXBsZUNvdW50IC0xIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1
c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVw
dGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJn
YmE4dW5vcm0gdXNhZ2UgLTEuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMCBo
ZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAy
ZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9m
IHdpZHRoIDEgaGVpZ2h0IDAgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBk
aW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEg
dGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDAgbWlwTGV2ZWxDb3VudCAxIHNhbXBs
ZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBD
cmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291
bnQgMCBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAw
LiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBt
aXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMCBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5v
cm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxMDAwMCBoZWln
aHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBm
b3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDMwMDAgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBk
aW1lbnNpb24gMWQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEg
dGV4dHVyZSBvZiB3aWR0aCAxMDAwMCBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBz
YW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BB
U1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEwMDAwIGRlcHRoIDEgbWlw
TGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBk
ZXB0aCAzMDAwIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3Jt
YXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRo
IDMwMDAgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1l
bnNpb24gM2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4
dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAzMDAwIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBs
ZUNvdW50IDEgZGltZW5zaW9uIDNkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBD
cmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAzMDAwIG1pcExldmVs
Q291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAzZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2Fn
ZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDEgZGVwdGgg
MSBtaXBMZXZlbENvdW50IDIgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMWQgZm9ybWF0IHJnYmE4
dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdo
dCAyIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAyIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZv
cm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lk
dGggMiBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMiBzYW1wbGVDb3VudCAxIGRpbWVu
c2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0
dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMiBtaXBMZXZlbENvdW50IDIgc2FtcGxlQ291
bnQgMSBkaW1lbnNpb24gM2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0
aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAz
IHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAor
UEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMiBkZXB0aCAyIG1pcExl
dmVsQ291bnQgMyBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAzZCBmb3JtYXQgcmdiYTh1bm9ybSB1
c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVw
dGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMiBkaW1lbnNpb24gMWQgZm9ybWF0IHJn
YmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhl
aWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDIgZGltZW5zaW9uIDJk
IGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Yg
d2lkdGggMiBoZWlnaHQgMiBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAyIGRp
bWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0
ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMSBtaXBMZXZlbENvdW50IDIgc2FtcGxl
Q291bnQgMiBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENy
ZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3Vu
dCAxIHNhbXBsZUNvdW50IDIgZGltZW5zaW9uIDNkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAu
IAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMiBkZXB0aCAxIG1p
cExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAzIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9y
bSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIg
ZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMzAwIGRpbWVuc2lvbiAyZCBmb3Jt
YXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRo
IDIgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNp
b24gMWQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVy
ZSBvZiB3aWR0aCAxIGhlaWdodCAyIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50
IDEgZGltZW5zaW9uIDFkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGlu
ZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAyIG1pcExldmVsQ291bnQgMSBz
YW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BB
U1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZl
bENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNh
Z2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAyIGRlcHRo
IDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2Jh
OHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWln
aHQgMSBkZXB0aCAyIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBm
b3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1l
bnNpb24gMWQgZm9ybWF0IGRlcHRoMzJmbG9hdC1zdGVuY2lsOCB1c2FnZSAwLiAKK1BBU1MgQ3Jl
YXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50
IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IGRlcHRoMzJmbG9hdC1zdGVuY2ls
OCB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEg
ZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMiBkaW1lbnNpb24gMmQgZm9ybWF0
IGRlcHRoMzJmbG9hdC1zdGVuY2lsOCB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJl
IG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQg
MSBkaW1lbnNpb24gZ2FyYmFnZSBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3Jl
YXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50
IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IGdhcmJhZ2UgdXNhZ2UgMC4gCitQ
QVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2
ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVpbnQgdXNh
Z2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRo
IDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCBiZ3Jh
OHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWln
aHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBm
b3JtYXQgYmdyYTh1bm9ybS1zcmdiIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUg
b2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAx
IGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTE2ZmxvYXQgdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5n
IGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNh
bXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDEwMDAuIAor
UEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExl
dmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1
c2FnZSAzMS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNmYzBhZTA3MDhmZjhjODY0NjVmMzZmZGM5ZDg0ZDJlNTA1ZjJlNmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sCkBAIC0w
LDAgKzEsMTE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0
bGU+VGVzdHMgZm9yIGNyZWF0aW5nIHRleHR1cmUgdmlld3MuPC90aXRsZT4KKzxtZXRhIG5hbWU9
InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImpzL3dlYmdwdS1m
dW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2FzeW5jIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkgeworICAgIGxldCB0ZXN0cyA9IFsKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRl
cHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMWQi
LCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBs
ZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTog
MCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDog
MSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjNkIiwgZm9y
bWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKworICAgICAgICAv
LyBUZXN0IG5lZ2F0aXZlIHZhbHVlcworICAgICAgICB7d2lkdGg6IC0xLCBoZWlnaHQ6IDEsIGRl
cHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQi
LCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAg
ICAge3dpZHRoOiAxLCBoZWlnaHQ6IC0xLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2Ft
cGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdl
OiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0
aDogLTEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIs
IGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IC0xLCBzYW1w
bGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6
IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRo
OiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogLTEsIGRpbWVuc2lvbjogIjJkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAg
IHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxl
Q291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAt
MSwgc3VjY2VzczogZmFsc2V9LAorCisgICAgICAgIC8vIFRlc3QgemVybyB2YWx1ZXMKKyAgICAg
ICAge3dpZHRoOiAwLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1w
bGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6
IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDAsIGRlcHRo
OiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBm
b3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAg
e3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAwLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVD
b3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAs
IHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAx
LCBtaXBMZXZlbENvdW50OiAwLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3Jt
YXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dp
ZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3Vu
dDogMCwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1
Y2Nlc3M6IGZhbHNlfSwKKworICAgICAgICAvLyBUZXN0IG1heGltdW0gc2l6ZXMKKyAgICAgICAg
e3dpZHRoOiAxMDAwMCwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2Ft
cGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdl
OiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAzMDAwLCBk
ZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFk
IiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAg
ICAgIHt3aWR0aDogMTAwMDAsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEs
IHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1
c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMTAw
MDAsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9u
OiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwK
KyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAzMDAwLCBtaXBMZXZlbENvdW50
OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3Jt
IiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAzMDAwLCBoZWln
aHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5z
aW9uOiAiM2QiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNl
fSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDMwMDAsIGRlcHRoOiAxLCBtaXBMZXZlbENv
dW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiM2QiLCBmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWln
aHQ6IDEsIGRlcHRoOiAzMDAwLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGlt
ZW5zaW9uOiAiM2QiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZh
bHNlfSwKKworICAgICAgICAvLyBUZXN0IG1pcG1hcHBlZCB0ZXh0dXJlcworICAgICAgICB7d2lk
dGg6IDIsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDIsIHNhbXBsZUNvdW50
OiAxLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3Vj
Y2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMiwgZGVwdGg6IDEsIG1p
cExldmVsQ291bnQ6IDIsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDog
InJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDog
MiwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMiwgc2FtcGxlQ291bnQ6IDEs
IGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNz
OiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDIsIGRlcHRoOiAyLCBtaXBMZXZl
bENvdW50OiAyLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiM2QiLCBmb3JtYXQ6ICJyZ2Jh
OHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDIsIGhl
aWdodDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDMsIHNhbXBsZUNvdW50OiAxLCBkaW1l
bnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFs
c2V9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMiwgZGVwdGg6IDIsIG1pcExldmVsQ291
bnQ6IDMsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4dW5v
cm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorCisgICAgICAgIC8vIFRlc3QgbXVsdGlz
YW1wbGluZworICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVs
Q291bnQ6IDEsIHNhbXBsZUNvdW50OiAyLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogInJnYmE4
dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhl
aWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAyLCBkaW1l
bnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1
ZX0sCisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3Vu
dDogMSwgc2FtcGxlQ291bnQ6IDIsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9y
bSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6
IDIsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAyLCBzYW1wbGVDb3VudDogMiwgZGltZW5zaW9u
OiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwK
KyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAx
LCBzYW1wbGVDb3VudDogMiwgZGltZW5zaW9uOiAiM2QiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwg
dXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDIs
IGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMywgZGltZW5zaW9uOiAi
MmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAg
ICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDIsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBz
YW1wbGVDb3VudDogMzAwLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1
c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorCisgICAgICAgIC8vIFRlc3QgZGltZW5zaW9uCisg
ICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwg
c2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVz
YWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDIsIGRl
cHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMWQi
LCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDIsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBs
ZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTog
MCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMSwgZGVwdGg6
IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZv
cm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3
aWR0aDogMSwgaGVpZ2h0OiAyLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291
bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBz
dWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAyLCBt
aXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6
ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorCisgICAgICAgIC8vIFRl
c3QgZGVwdGggdGV4dHVyZXMKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAx
LCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMWQiLCBmb3Jt
YXQ6ICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgiLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAor
ICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEs
IHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogImRlcHRoMzJmbG9hdC1z
dGVuY2lsOCIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBo
ZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMiwgZGlt
ZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgiLCB1c2FnZTogMCwg
c3VjY2VzczogZmFsc2V9LAorCisgICAgICAgIC8vIFRlc3QgZW51bXMKKyAgICAgICAge3dpZHRo
OiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDog
MSwgZGltZW5zaW9uOiAiZ2FyYmFnZSIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwg
c3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEs
IG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1h
dDogImdhcmJhZ2UiLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6
IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAx
LCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dWludCIsIHVzYWdlOiAwLCBzdWNjZXNz
OiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZl
bENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJiZ3Jh
OHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDEsIGhl
aWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1l
bnNpb246ICIyZCIsIGZvcm1hdDogImJncmE4dW5vcm0tc3JnYiIsIHVzYWdlOiAwLCBzdWNjZXNz
OiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZl
bENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2Jh
MTZmbG9hdCIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKworICAgICAgICAvLyBUZXN0IHVz
YWdlCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3Vu
dDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9y
bSIsIHVzYWdlOiAxMDAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVp
Z2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVu
c2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiBHUFVUZXh0dXJlVXNhZ2Uu
Q09QWV9TUkMgfCBHUFVUZXh0dXJlVXNhZ2UuQ09QWV9EU1QgfCBHUFVUZXh0dXJlVXNhZ2UuU0FN
UExFRCB8IEdQVVRleHR1cmVVc2FnZS5TVE9SQUdFIHwgR1BVVGV4dHVyZVVzYWdlLk9VVFBVVF9B
VFRBQ0hNRU5ULCBzdWNjZXNzOiB0cnVlfSwKKyAgICBdOworICAgIGZvciAobGV0IHRlc3Qgb2Yg
dGVzdHMpIHsKKyAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICAgICAgcmV0dXJuIGdl
dEJhc2ljRGV2aWNlKCkudGhlbihhc3luYyBmdW5jdGlvbihkZXZpY2UpIHsKKyAgICAgICAgICAg
IGxldCBjYXVnaHQgPSBmYWxzZTsKKyAgICAgICAgICAgIGRldmljZS5wdXNoRXJyb3JTY29wZSgi
dmFsaWRhdGlvbiIpOworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBsZXQgdGV4
dHVyZSA9IGRldmljZS5jcmVhdGVUZXh0dXJlKHtzaXplOiB7d2lkdGg6IHRlc3Qud2lkdGgsIGhl
aWdodDogdGVzdC5oZWlnaHQsIGRlcHRoOiB0ZXN0LmRlcHRofSwgbWlwTGV2ZWxDb3VudDogdGVz
dC5taXBMZXZlbENvdW50LCBzYW1wbGVDb3VudDogdGVzdC5zYW1wbGVDb3VudCwgZGltZW5zaW9u
OiB0ZXN0LmRpbWVuc2lvbiwgZm9ybWF0OiB0ZXN0LmZvcm1hdCwgdXNhZ2U6IHRlc3QudXNhZ2V9
KTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSh0ZXh0dXJlIGluc3RhbmNlb2YgR1BVVGV4
dHVyZSwgIkNhbm5vdCBjcmVhdGUgdGV4dHVyZS4iKTsKKyAgICAgICAgICAgIH0gY2F0Y2ggewor
ICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKCF0ZXN0LnN1Y2Nlc3MsICJDcmVhdGluZyB0ZXh0
dXJlIHNob3VsZCAiICsgKHRlc3Quc3VjY2VzcyA/ICJub3QgIiA6ICIiKSArICJmYWlsLiIpOwor
ICAgICAgICAgICAgICAgIGNhdWdodCA9IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBhd2FpdCBkZXZpY2UucG9wRXJyb3JTY29wZSgpLnRoZW4oZnVuY3Rpb24oZXJyb3IpIHsKKyAg
ICAgICAgICAgICAgICBpZiAodGVzdC5zdWNjZXNzKSB7CisgICAgICAgICAgICAgICAgICAgIGxl
dCBtZXNzYWdlID0gIkNvdWxkIG5vdCBjcmVhdGUgdGV4dHVyZTogIjsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGVycm9yICYmIGVycm9yLm1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgICAg
ICBtZXNzYWdlICs9IGVycm9yLm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMoZXJyb3IsIG51bGwsICJDb3VsZCBub3QgY3JlYXRlIHRleHR1cmU6ICIgKyBtZXNzYWdl
KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFjYXVnaHQpIHsKKyAgICAgICAgICAgICAg
ICAgICAgbGV0IG1lc3NhZ2UgPSAiQ3JlYXRlZCB0ZXh0dXJlOiAiOworICAgICAgICAgICAgICAg
ICAgICBpZiAoZXJyb3IgJiYgZXJyb3IubWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IG1lc3NhZ2UgKz0gZXJyb3IubWVzc2FnZTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Ry
dWUoISEoY2F1Z2h0IHx8IGVycm9yKSwgIkNyZWF0ZWQgdGV4dHVyZSB3aGVuIHNob3VsZG4ndCBo
YXZlOiAiICsgbWVzc2FnZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZmFsc2UsICJkZXZpY2UgbG9z
dCIpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sIGZ1bmN0aW9uKGUpIHsKKyAgICAgICAg
fSk7CisgICAgfSwgYENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAke3Rlc3Qud2lkdGh9IGhl
aWdodCAke3Rlc3QuaGVpZ2h0fSBkZXB0aCAke3Rlc3QuZGVwdGh9IG1pcExldmVsQ291bnQgJHt0
ZXN0Lm1pcExldmVsQ291bnR9IHNhbXBsZUNvdW50ICR7dGVzdC5zYW1wbGVDb3VudH0gZGltZW5z
aW9uICR7dGVzdC5kaW1lbnNpb259IGZvcm1hdCAke3Rlc3QuZm9ybWF0fSB1c2FnZSAke3Rlc3Qu
dXNhZ2V9LmApOworICAgIH0KK30KKworcnVuVGVzdHMoKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399631</attachid>
            <date>2020-05-18 01:32:41 -0700</date>
            <delta_ts>2020-05-18 02:01:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211882-20200518013240.patch</filename>
            <type>text/plain</type>
            <size>42409</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWViNGE2NjAxNDAwM2I0
NmVlMzM0NjY0YjUxNmNmMDdkZDJkYTZkZi4uNTdjYWY3Y2E3MjAyMjJlZGUwMzE3Njk3MmFkMGRk
NTIzNzMwZGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIwLTA1LTEzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
VmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82MzIxNTk5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgbG90cyBvZiB2YWxpZGF0aW9uIGZvciB0ZXh0dXJlIGNyZWF0aW9uLiBU
aGUgbG9naWMgd2FzIGdhdGhlcmVkIGZyb20KKyAgICAgICAgdHJpYWwgYW5kIGVycm9yLgorCisg
ICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCB3ZSBkaWRuJ3QgaGF2ZSBhbnkgdmFsaWRhdGlvbi4g
VGhpcyBpcyBhIGZpcnN0IHBhc3MsIGFzCisgICAgICAgIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIGlz
bid0IHNwZWxsZWQgb3V0IGluIHRoZSBzcGVjLiBOZXh0LCBJIHdpbGwgbWFrZSBhIHB1bGwKKyAg
ICAgICAgcmVxdWVzdCB0byB0aGUgc3BlYyB0byBtYXRjaCB0aGlzIHBhdGNoLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWxzbyB1cGRhdGVzIHRocmVlIHBpZWNlcyBvZiBvdXIgSURMIGZpbGVzIHRv
IG1hdGNoIHRoZSBzcGVjIGZvcgorICAgICAgICBXZWJHUFU6IE9uZSB0byByZW1vdmUgR1BVVGV4
dHVyZVVzYWdlLk5PTkUgd2hpY2ggd2FzIHJlcGxhY2VkIHdpdGgganVzdCAwLAorICAgICAgICBv
bmUgdG8gcmVtb3ZlIEdQVVRleHR1cmVEZXNjcmlwdG9yLmFycmF5TGF5ZXJDb3VudCwgd2hpY2gg
d2FzIGRlbGV0ZWQgaW4KKyAgICAgICAgZmF2b3Igb2YgdXNpbmcgcmVndWxhciBkaW1lbnNpb24g
ZmllbGRzLCBhbmQgb25lIHRvIGFkZCBbRW5mb3JjZVJhbmdlXSB0bworICAgICAgICB2YXJpb3Vz
IHZhbHVlcy4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gdXBkYXRlcyBHUFVEZXZpY2UgdG8g
aGF2ZSBhIEdQVUVycm9yU2NvcGVzIG9iamVjdCwgd2hpY2ggaXMKKyAgICAgICAgcmVxdWlyZWQg
Zm9yIGdvb2QgZXJyb3IgbWVzc2FnZXMuCisKKyAgICAgICAgVGVzdDogd2ViZ3B1L3RleHR1cmUt
Y3JlYXRpb24uaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR1BVRGV2aWNlOjp0cnlDcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2
aWNlOjpjcmVhdGVUZXh0dXJlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Om1heGltdW1NaXBMZXZlbENvdW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkdQVURldmljZTo6dHJ5Q3JlYXRlVGV4dHVyZSBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2
aWNlOjpzZXRFcnJvclNjb3Blcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUV4dGVudDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJh
c2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW06CisgICAg
ICAgIChXZWJDb3JlOjptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6Om10bFRleHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKToK
KyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVRleHR1cmU6OnRyeUNyZWF0ZSk6CisKIDIwMjAtMDUtMTMgIEFuZHJl
cyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5l
Y2Vzc2FyeSBhc3NlcnQgaW4ge1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGF0dGFjaG1l
bnRWaWV3XS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4
dGVudDNELmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlk
bAppbmRleCA1ZGZkY2UzMWI0OTRiMDg2MTZmNzIxNDUwODk0MGU5NDEzYzAxZmRjLi4xM2ExYjQ0
NzQxNjgxMDJhM2JmZGY0MDQyNmEwNDM2M2I3Y2I5NzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCkBAIC0yNCwxMyArMjQsMTMgQEAKICAqLwog
Ly8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxv
bmcgdTMyOwordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJD
b29yZGluYXRlOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVCiBdIGRpY3Rpb25hcnkgR1BVRXh0ZW50M0QgewotICAgIHJlcXVpcmVkIHUz
MiB3aWR0aDsKLSAgICByZXF1aXJlZCB1MzIgaGVpZ2h0OwotICAgIHJlcXVpcmVkIHUzMiBkZXB0
aDsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0aDsKKyAgICByZXF1aXJl
ZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQ7CisgICAgcmVxdWlyZWQgR1BVSW50ZWdlckNv
b3JkaW5hdGUgZGVwdGg7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCmluZGV4IDQ0NTk1Mzg4ZWVlYzJhOTVjYzM4
MWQwN2Y3OGJiYjgwOTFiZGE3M2YuLjVkNjE4OGY5OTdhN2E3ZjM5OTBmZjIyOGY3MzlmMjVhMjZj
MDliZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1
cmVEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlRGVzY3JpcHRvci5pZGwKQEAgLTI0LDggKzI0LDkgQEAKICAqLwogLy8gaHR0cHM6Ly9n
cHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwotdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIEdQVVRleHR1cmVVc2FnZUZsYWdzOwordHlwZWRlZiBbRW5mb3Jj
ZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJDb29yZGluYXRlOwordHlwZWRlZiBbRW5m
b3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5n
ZV0gdW5zaWduZWQgbG9uZyBHUFVUZXh0dXJlVXNhZ2VGbGFnczsKIAogWwogICAgIEltcGxlbWVu
dGVkQXM9R1BVVGV4dHVyZURpbWVuc2lvbgpAQCAtNDAsOSArNDEsOCBAQCB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3M7CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJH
UFUKIF0gZGljdGlvbmFyeSBHUFVUZXh0dXJlRGVzY3JpcHRvciB7CiAgICAgcmVxdWlyZWQgR1BV
RXh0ZW50M0Qgc2l6ZTsKLSAgICB1MzIgYXJyYXlMYXllckNvdW50ID0gMTsKLSAgICB1MzIgbWlw
TGV2ZWxDb3VudCA9IDE7Ci0gICAgdTMyIHNhbXBsZUNvdW50ID0gMTsKKyAgICBHUFVJbnRlZ2Vy
Q29vcmRpbmF0ZSBtaXBMZXZlbENvdW50ID0gMTsKKyAgICBHUFVTaXplMzIgc2FtcGxlQ291bnQg
PSAxOwogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uID0gIjJkIjsKICAgICByZXF1
aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlVXNh
Z2VGbGFncyB1c2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L0dQVVRleHR1cmVVc2FnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlVXNhZ2UuaWRsCmluZGV4IDAyZTg5MGNhNWRiYmNlMzE5ODljZDczYjQ4M2Q4MDdkN2Ri
ZmNkMTIuLjZiMzBiYjBlM2YwMTZiYjc3ODE4YTA4YTg0MDUzN2I4NDIxZmE5ODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZVVzYWdlLmlkbApAQCAt
MzIsNyArMzIsNiBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNl
IEdQVVRleHR1cmVVc2FnZSB7Ci0gICAgY29uc3QgdTMyIE5PTkUgPSAwOwogICAgIGNvbnN0IHUz
MiBDT1BZX1NSQyA9IDE7CiAgICAgY29uc3QgdTMyIENPUFlfRFNUID0gMjsKICAgICBjb25zdCB1
MzIgU0FNUExFRCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcAppbmRleCA4MGIxZTYzYzQ2MDVmNzk0MDkzNzJmMzgxNzIwNTIzOTA5YmQwNWYw
Li5jYTAxYjEwMTVhZDYxY2NjMzlhZDMzOWI5YWRiN2JlNDY5ZjFiMWM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTk2LDggKzk2LDEx
IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXZWJHUFVEZXZpY2UpOwogCiBSZWZQdHI8
V2ViR1BVRGV2aWNlPiBXZWJHUFVEZXZpY2U6OnRyeUNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiBhZGFwdGVyKQogewotICAg
IGlmIChhdXRvIGRldmljZSA9IEdQVURldmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMo
KSkpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRleHQsIFdU
Rk1vdmUoYWRhcHRlciksIGRldmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CisgICAgaWYgKGF1dG8g
ZGV2aWNlID0gR1BVRGV2aWNlOjp0cnlDcmVhdGUoYWRhcHRlci0+b3B0aW9ucygpKSkgeworICAg
ICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0UmVmKG5ldyBXZWJHUFVEZXZpY2UoY29udGV4dCwgV1RG
TW92ZShhZGFwdGVyKSwgbWFrZVJlZigqZGV2aWNlKSkpOworICAgICAgICBkZXZpY2UtPnNldEVy
cm9yU2NvcGVzKHJlc3VsdC0+bV9lcnJvclNjb3Blcy5jb3B5UmVmKCkpOworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAtMTgwLDYgKzE4
Myw4IEBAIFZlY3RvcjxKU0M6OkpTVmFsdWU+IFdlYkdQVURldmljZTo6Y3JlYXRlQnVmZmVyTWFw
cGVkKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljCiAKIFJlZjxXZWJHUFVUZXh0dXJlPiBXZWJH
UFVEZXZpY2U6OmNyZWF0ZVRleHR1cmUoY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IpIGNvbnN0CiB7CisgICAgbV9lcnJvclNjb3Blcy0+c2V0RXJyb3JQcmVmaXgoIkdQVURl
dmljZS5jcmVhdGVUZXh0dXJlKCk6ICIpOworCiAgICAgYXV0byB0ZXh0dXJlID0gbV9kZXZpY2Ut
PnRyeUNyZWF0ZVRleHR1cmUoZGVzY3JpcHRvcik7CiAgICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6
OmNyZWF0ZShXVEZNb3ZlKHRleHR1cmUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKaW5kZXggZjVlNDNjZWVkOTVmZTU3NzNl
MzUwODFhZGE0OGNjNGE2OTM2ODIzMy4uNzBjOGQ1MDVhNmZiNmI3MDE4MzJhMWI3YzQ0OGU2MDJh
YjVlMDcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVURldmljZS5jcHAKQEAgLTYwLDkgKzYwLDEyMyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBHUFVE
ZXZpY2U6OnRyeUNyZWF0ZUJ1ZmZlcihjb25zdCBHUFVCdWZmZXJEZXNjcmlwdG9yJiBkZXNjcmlw
dAogICAgIHJldHVybiBHUFVCdWZmZXI6OnRyeUNyZWF0ZSgqdGhpcywgZGVzY3JpcHRvciwgaXNN
YXBwZWQsIGVycm9yU2NvcGVzKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIG1heGltdW1NaXBMZXZl
bENvdW50KEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uLCBHUFVFeHRlbnQzRCBzaXplKQor
eworICAgIHVuc2lnbmVkIHdpZHRoID0gc2l6ZS53aWR0aDsKKyAgICB1bnNpZ25lZCBoZWlnaHQg
PSAxOworICAgIHVuc2lnbmVkIGRlcHRoID0gMTsKKyAgICBzd2l0Y2ggKGRpbWVuc2lvbikgewor
ICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgorICAgICAgICBicmVhazsKKyAgICBj
YXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZDoKKyAgICAgICAgaGVpZ2h0ID0gc2l6ZS5oZWln
aHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzNkOgor
ICAgICAgICBoZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICAgICAgZGVwdGggPSBzaXplLmRlcHRo
OworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBhdXRvIG1heERpbWVuc2lvbiA9IHN0ZDo6
bWF4KHN0ZDo6bWF4KHdpZHRoLCBoZWlnaHQpLCBkZXB0aCk7CisgICAgaW50IGkgPSBzaXplb2Yo
R1BVRXh0ZW50M0Q6OklubmVyVHlwZSkgKiA4IC0gMTsKKyAgICBmb3IgKDsgIShtYXhEaW1lbnNp
b24gJiAoMSA8PCBpKSkgJiYgaSA+PSAwOyAtLWkpIHsKKyAgICB9CisgICAgQVNTRVJUKGkgPj0g
MCk7CisgICAgcmV0dXJuIGkgKyAxOworfQorCiBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVRGV2aWNl
Ojp0cnlDcmVhdGVUZXh0dXJlKGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9y
KSBjb25zdAogewotICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKnRoaXMsIGRlc2Ny
aXB0b3IpOworICAgIGlmICghZGVzY3JpcHRvci5zaXplLndpZHRoIHx8ICFkZXNjcmlwdG9yLnNp
emUuaGVpZ2h0IHx8ICFkZXNjcmlwdG9yLnNpemUuZGVwdGgpIHsKKyAgICAgICAgbV9lcnJvclNj
b3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlcyBjYW4ndCBoYXZlIDAgZGltZW5z
aW9ucy4iKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoIWRlc2NyaXB0
b3IubWlwTGV2ZWxDb3VudCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZp
eGVkRXJyb3IoIlRleHR1cmVzIGNhbid0IGhhdmUgMCBtaXBsZXZlbHMuIik7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorCisgICAgaWYgKCFkZXNjcmlwdG9yLnNhbXBsZUNvdW50KSB7Cisg
ICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiVGV4dHVyZXMgY2Fu
J3QgaGF2ZSAwIHNhbXBsZXMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAg
Ly8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL21ldGFsL01ldGFsLUZlYXR1cmUtU2V0LVRh
Ymxlcy5wZGYKKyAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9uKSB7CisgICAgY2FzZSBH
UFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUud2lk
dGggPiA4MTkyKSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVk
RXJyb3IoIjFEIHRleHR1cmUgaXMgdG9vIHdpZGUuIik7CisgICAgICAgICAgICByZXR1cm4geyB9
OworICAgICAgICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUuaGVpZ2h0ID4gMjA0OCkg
eworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCIxRCB0
ZXh0dXJlIGFycmF5IGhhcyB0b28gbWFueSBsYXllcnMuIik7CisgICAgICAgICAgICByZXR1cm4g
eyB9OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVu
c2lvbjo6XzJkOgorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLndpZHRoID4gODE5MiB8fCBk
ZXNjcmlwdG9yLnNpemUuaGVpZ2h0ID4gODE5MikgeworICAgICAgICAgICAgbV9lcnJvclNjb3Bl
cy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCIyRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAg
ICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iu
c2l6ZS5kZXB0aCA+IDIwNDgpIHsKKyAgICAgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRl
UHJlZml4ZWRFcnJvcigiMkQgdGV4dHVyZSBhcnJheSBoYXMgdG9vIG1hbnkgbGF5ZXJzLiIpOwor
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBj
YXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8zZDoKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6
ZS53aWR0aCA+IDIwNDggfHwgZGVzY3JpcHRvci5zaXplLmhlaWdodCA+IDIwNDggfHwgZGVzY3Jp
cHRvci5zaXplLmRlcHRoID4gMjA0OCkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2Vu
ZXJhdGVQcmVmaXhlZEVycm9yKCIzRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAgICAgICAg
ICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAg
aWYgKGRlc2NyaXB0b3IuZGltZW5zaW9uID09IEdQVVRleHR1cmVEaW1lbnNpb246Ol8xZCAmJiBk
ZXNjcmlwdG9yLm1pcExldmVsQ291bnQgIT0gMSkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5n
ZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVzIGNhbid0IGhhdmUgbWlwbWFwcy4iKTsK
KyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoZGVzY3JpcHRvci5taXBMZXZl
bENvdW50ID4gbWF4aW11bU1pcExldmVsQ291bnQoZGVzY3JpcHRvci5kaW1lbnNpb24sIGRlc2Ny
aXB0b3Iuc2l6ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVy
cm9yKCJUb28gbWFueSBtaXBsZXZlbHMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQor
CisgICAgaWYgKGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgeworICAgICAgICBpZiAoZGVz
Y3JpcHRvci5kaW1lbnNpb24gIT0gR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkKSB7CisgICAgICAg
ICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIlRleHR1cmUgZGltZW5z
aW9uIGluY29tcGF0aWJsZSB3aXRoIG11bHRpc2FtcGxpbmcuIik7CisgICAgICAgICAgICByZXR1
cm4geyB9OworICAgICAgICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLm1pcExldmVsQ291bnQg
IT0gMSkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9y
KCJNdWx0aXNhbXBsZWQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBtaXBtYXBzLiIpOworICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogT25seSBzb21lIHBp
eGVsIGZvcm1hdHMgYXJlIGNhcGFibGUgb2YgTVNBQS4gV2hlbiB3ZSBhZGQgdGhvc2UgbmV3IHBp
eGVsIGZvcm1hdHMsIHdlJ2xsIGhhdmUgdG8gYWRkIGZpbHRlcmluZyBjb2RlIGhlcmUuCisgICAg
fQorCisgICAgLy8gVGhlIGhlaWdodCBjb21wb25lbnQgZm9yIDFkIHRleHR1cmVzIGlzIHRoZSBh
cnJheSBsZW5ndGguCisgICAgLy8gVGhlIGRlcHRoIGNvbXBvbmVudCBmb3IgMmQgdGV4dHVyZXMg
aXMgdGhlIGFycmF5IGxlbmd0aC4KKyAgICBpZiAoZGVzY3JpcHRvci5kaW1lbnNpb24gPT0gR1BV
VGV4dHVyZURpbWVuc2lvbjo6XzFkICYmIGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aCAhPSAxKSB7Cisg
ICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiMUQgdGV4dHVyZXMg
Y2FuJ3QgaGF2ZSBkZXB0aCAhPSAxLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKwor
ICAgIGlmIChkZXNjcmlwdG9yLmZvcm1hdCA9PSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxv
YXRTdGVuY2lsOCAmJiBkZXNjcmlwdG9yLmRpbWVuc2lvbiAhPSBHUFVUZXh0dXJlRGltZW5zaW9u
OjpfMmQpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJE
ZXB0aC9zdGVuY2lsIHRleHR1cmVzIG11c3QgYmUgMmQuIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorCisgICAgaWYgKGRlc2NyaXB0b3IuZm9ybWF0ID09IEdQVVRleHR1cmVGb3JtYXQ6
OkRlcHRoMzJmbG9hdFN0ZW5jaWw4ICYmIGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgewor
ICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRlcHRoL3N0ZW5j
aWwgdGV4dHVyZXMgY2FuJ3QgYmUgbXVsdGlzYW1wbGVkLiIpOworICAgICAgICByZXR1cm4geyB9
OworICAgIH0KKworICAgIGlmIChzdGF0aWNfY2FzdDxHUFVUZXh0dXJlVXNhZ2VGbGFncz4oZGVz
Y3JpcHRvci51c2FnZSkgPj0gc3RhdGljX2Nhc3Q8R1BVVGV4dHVyZVVzYWdlRmxhZ3M+KEdQVVRl
eHR1cmVVc2FnZTo6RmxhZ3M6Ok1heGltdW1WYWx1ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Bl
cy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJJbnZhbGlkIHVzYWdlIGZsYWdzLiIpOworICAgICAg
ICByZXR1cm4geyB9OworICAgIH0KKworICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUo
KnRoaXMsIGRlc2NyaXB0b3IsIG1ha2VSZWYoKm1fZXJyb3JTY29wZXMpKTsKIH0KIAogUmVmUHRy
PEdQVVNhbXBsZXI+IEdQVURldmljZTo6dHJ5Q3JlYXRlU2FtcGxlcihjb25zdCBHUFVTYW1wbGVy
RGVzY3JpcHRvciYgZGVzY3JpcHRvcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCA1OGIxMjAwMzFkZjAxZDcwZjdiOGY3
YTVjZjZkM2ZmMmUzZDcxMjAwLi5mNTQ5NmNjNjdkODQzZTBiOWE1YWU2ZGIyY2UwZDhkNTU2OGE5
ZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURl
dmljZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUg
IkdQVUJpbmRHcm91cEFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkdQVUVycm9yU2NvcGVzLmgiCiAj
aW5jbHVkZSAiR1BVUXVldWUuaCIKICNpbmNsdWRlICJHUFVTd2FwQ2hhaW4uaCIKICNpbmNsdWRl
IDx3dGYvRnVuY3Rpb24uaD4KQEAgLTk1LDYgKzk2LDggQEAgcHVibGljOgogICAgIEdQVVN3YXBD
aGFpbiogc3dhcENoYWluKCkgY29uc3QgeyByZXR1cm4gbV9zd2FwQ2hhaW4uZ2V0KCk7IH0KICAg
ICB2b2lkIHNldFN3YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmKTsKIAorICAgIHZvaWQg
c2V0RXJyb3JTY29wZXMoUmVmPEdQVUVycm9yU2NvcGVzPiYmIGVycm9yU2NvcGVzKSB7IG1fZXJy
b3JTY29wZXMgPSBXVEZNb3ZlKGVycm9yU2NvcGVzKTsgfQorCiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBib29sIHVzZVdITFNMID0gdHJ1ZTsKIAogcHJpdmF0ZToKQEAgLTEwNCw2ICsxMDcsNyBAQCBw
cml2YXRlOgogICAgIG11dGFibGUgUmVmUHRyPEdQVVF1ZXVlPiBtX3F1ZXVlOwogICAgIFJlZlB0
cjxHUFVTd2FwQ2hhaW4+IG1fc3dhcENoYWluOwogICAgIG11dGFibGUgUmVmUHRyPEdQVUJpbmRH
cm91cEFsbG9jYXRvcj4gbV9iaW5kR3JvdXBBbGxvY2F0b3I7CisgICAgUmVmUHRyPEdQVUVycm9y
U2NvcGVzPiBtX2Vycm9yU2NvcGVzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUV4dGVudDNE
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaApp
bmRleCAzMTk1ZDE3Mzk0NmM0ZDBjOTZlMjJkYjZjZTU0MGQzMTVhMzAxOWYzLi41NDQ4MjY1MjBj
YzVlN2UwY2M5ZmY0M2ZkMTQyODBmNTA0NGI3ZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaApAQCAtMzAsOSArMzAsMTAgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIHN0cnVjdCBHUFVFeHRlbnQzRCB7Ci0gICAgdW5z
aWduZWQgd2lkdGg7Ci0gICAgdW5zaWduZWQgaGVpZ2h0OwotICAgIHVuc2lnbmVkIGRlcHRoOwor
ICAgIHVzaW5nIElubmVyVHlwZSA9IHVuc2lnbmVkOworICAgIElubmVyVHlwZSB3aWR0aDsKKyAg
ICBJbm5lclR5cGUgaGVpZ2h0OworICAgIElubmVyVHlwZSBkZXB0aDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVPYmplY3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVT2JqZWN0QmFzZS5oCmluZGV4IDk0YzFmNTI3OTQ0ZjIzMzMwOWE0NTVjNjkwYzdj
YWI5MmRlZDVmNDcuLjY3YjJkOTE4YzJlNTQ1MTdjYjM3ZmZmZWE2YjI2MmQ0NWY4MmZhOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPYmplY3RC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVj
dEJhc2UuaApAQCAtNDAsNyArNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgR1BVT2JqZWN0QmFzZShS
ZWY8R1BVRXJyb3JTY29wZXM+JiYgcmVwb3J0ZXIpCiAgICAgICAgIDogbV9lcnJvclNjb3BlcyhX
VEZNb3ZlKHJlcG9ydGVyKSkgeyB9CiAKLSAgICBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMo
KSB7IHJldHVybiBtX2Vycm9yU2NvcGVzOyB9CisgICAgR1BVRXJyb3JTY29wZXMmIGVycm9yU2Nv
cGVzKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvclNjb3BlczsgfQogCiBwcml2YXRlOgogICAgIFJl
ZjxHUFVFcnJvclNjb3Blcz4gbV9lcnJvclNjb3BlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oCmluZGV4IGZmN2FhYjA5NjViNjJkYmQx
ZTNkYjM3NTkyYTU3ZDM0YWNhOWE5YzIuLmEzYjQyNmIwNTgwZTEyMjhjZTJmYWZkZWU5ZjA5MDRl
N2QxODNjNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVRleHR1cmUuaApAQCAtMzgsNiArMzgsNyBAQCBPQkpDX1BST1RPQ09MKE1UTFRleHR1cmUp
OwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBHUFVEZXZpY2U7CitjbGFzcyBHUFVFcnJv
clNjb3BlczsKIAogc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yOwogCkBAIC00Niw3ICs0Nyw3
IEBAIHVzaW5nIFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyID0gUmV0YWluUHRyPE1UTFRleHR1cmU+
OwogCiBjbGFzcyBHUFVUZXh0dXJlIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVGV4dHVyZT4gewog
cHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8R1BVVGV4dHVyZT4gdHJ5Q3JlYXRlKGNvbnN0IEdQ
VURldmljZSYsIGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJik7CisgICAgc3RhdGljIFJlZlB0
cjxHUFVUZXh0dXJlPiB0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiwgY29uc3QgR1BVVGV4dHVy
ZURlc2NyaXB0b3ImLCBHUFVFcnJvclNjb3BlcyYpOwogICAgIHN0YXRpYyBSZWY8R1BVVGV4dHVy
ZT4gY3JlYXRlKFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyJiYsIE9wdGlvblNldDxHUFVUZXh0dXJl
VXNhZ2U6OkZsYWdzPik7CiAKICAgICBQbGF0Zm9ybVRleHR1cmUgKnBsYXRmb3JtVGV4dHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1UZXh0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3Jp
cHRvci5oCmluZGV4IDY2ZTFjMTdiZDhiZGQ2MTdmN2U5NDVkZGQxYmZkOTc5ZjU1ZmUxODAuLmIy
YTY4NWEyMTlmMzI5YjYwNzA0ZDNlNjU2MjNiNWE2YWI3ZWRlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3Jp
cHRvci5oCkBAIC00MSw3ICs0MSw2IEBAIGVudW0gY2xhc3MgR1BVVGV4dHVyZURpbWVuc2lvbiB7
CiAgICAgCiBzdHJ1Y3QgR1BVVGV4dHVyZURlc2NyaXB0b3IgewogICAgIEdQVUV4dGVudDNEIHNp
emU7Ci0gICAgdW5zaWduZWQgYXJyYXlMYXllckNvdW50OwogICAgIHVuc2lnbmVkIG1pcExldmVs
Q291bnQ7CiAgICAgdW5zaWduZWQgc2FtcGxlQ291bnQ7CiAgICAgR1BVVGV4dHVyZURpbWVuc2lv
biBkaW1lbnNpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVGV4dHVyZVVzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVGV4dHVyZVVzYWdlLmgKaW5kZXggNWMwY2U2MTA0YWEwYzJiMzNmNDJkMmZiZDI0
NGYyZTEwZWM5YzA5Ny4uYzMyODdkODM3NGU0NTVjZjM0MDliYmFlMDlhZjZjMzA4MTYxNjFiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1
cmVVc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVU
ZXh0dXJlVXNhZ2UuaApAQCAtMzYsMTIgKzM2LDEyIEBAIHVzaW5nIEdQVVRleHR1cmVVc2FnZUZs
YWdzID0gdW5zaWduZWQ7CiBjbGFzcyBHUFVUZXh0dXJlVXNhZ2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxHUFVUZXh0dXJlVXNhZ2U+IHsKIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIEZsYWdzIDogR1BV
VGV4dHVyZVVzYWdlRmxhZ3MgewotICAgICAgICBOb25lID0gMCwKICAgICAgICAgQ29weVNvdXJj
ZSA9IDEgPDwgMCwKICAgICAgICAgQ29weURlc3RpbmF0aW9uID0gMSA8PCAxLAogICAgICAgICBT
YW1wbGVkID0gMSA8PCAyLAogICAgICAgICBTdG9yYWdlID0gMSA8PCAzLAogICAgICAgICBPdXRw
dXRBdHRhY2htZW50ID0gMSA8PCA0LAorICAgICAgICBNYXhpbXVtVmFsdWUgPSAxIDw8IDUsCiAg
ICAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbQppbmRleCA1NjFhZDUyNTQ0Y2E0NGE1
YzI5ZTk4ODI5NjU4YzhlZTc3MjM4NTM4Li5iMWMzNGVmODhiMTg3YTcwZTcxMGRhY2JkNjcyOTI4
NjMyYmJmNzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvY29jb2EvR1BVQnVmZmVyTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tCkBAIC0yMjgsNyArMjI4LDcgQEAg
dm9pZCBHUFVCdWZmZXI6OmNvcHlTdGFnaW5nQnVmZmVyVG9HUFUoR1BVRXJyb3JTY29wZXMqIGVy
cm9yU2NvcGVzKQogCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIC8vIEdQ
VUJ1ZmZlciBjcmVhdGlvbiB2YWxpZGF0aW9uIGVuc3VyZXMgbV9ieXRlU2l6ZSBmaXRzIGluIE5T
VUludGVnZXIuCi0gICAgc3RhZ2luZ010bEJ1ZmZlciA9IGFkb3B0TlMoW21fZGV2aWNlLT5wbGF0
Zm9ybURldmljZSgpIG5ld0J1ZmZlcldpdGhMZW5ndGg6c3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4o
bV9ieXRlTGVuZ3RoKSBvcHRpb25zOk1UTFJlc291cmNlQ1BVQ2FjaGVNb2RlRGVmYXVsdENhY2hl
XSk7CisgICAgc3RhZ2luZ010bEJ1ZmZlciA9IGFkb3B0TlMoW21fZGV2aWNlLT5wbGF0Zm9ybURl
dmljZSgpIG5ld0J1ZmZlcldpdGhCeXRlczptX3N0YWdpbmdCdWZmZXItPmRhdGEoKSBsZW5ndGg6
c3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4obV9ieXRlTGVuZ3RoKSBvcHRpb25zOk1UTFJlc291cmNl
Q1BVQ2FjaGVNb2RlRGVmYXVsdENhY2hlXSk7CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKIAogICAgIGlmICghc3RhZ2luZ010bEJ1ZmZlciAmJiBlcnJvclNjb3BlcykgewpAQCAtMjM2
LDggKzIzNiw2IEBAIHZvaWQgR1BVQnVmZmVyOjpjb3B5U3RhZ2luZ0J1ZmZlclRvR1BVKEdQVUVy
cm9yU2NvcGVzKiBlcnJvclNjb3BlcykKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1l
bWNweShzdGFnaW5nTXRsQnVmZmVyLmdldCgpLmNvbnRlbnRzLCBtX3N0YWdpbmdCdWZmZXItPmRh
dGEoKSwgbV9ieXRlTGVuZ3RoKTsKLQogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsK
IAogICAgIGF1dG8gY29tbWFuZEJ1ZmZlciA9IHJldGFpblB0cihbcXVldWUgY29tbWFuZEJ1ZmZl
cl0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2Nv
Y29hL0dQVVRleHR1cmVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW0KaW5kZXggNWRiMWRhYTQ1NTY5N2Y1MzA1M2M4
NGFmNTBkZGVkODE1NTQ3N2U3ZC4uZTdkMTBkNDYxZjBmNjg1OGZkNTAwZTQ4ZmQzZDk3YzQyYTkx
ZGEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2Nv
Y29hL0dQVVRleHR1cmVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1tCkBAIC00MiwxMiArNDIsMTEgQEAgc3Rh
dGljIE1UTFRleHR1cmVUeXBlIG10bFRleHR1cmVUeXBlRm9yR1BVVGV4dHVyZURlc2NyaXB0b3Io
Y29uc3QgR1BVVGV4dHVyZURlc2MKIHsKICAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9u
KSB7CiAgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6Ci0gICAgICAgIHJldHVybiAo
ZGVzY3JpcHRvci5hcnJheUxheWVyQ291bnQgPT0gMSkgPyBNVExUZXh0dXJlVHlwZTFEIDogTVRM
VGV4dHVyZVR5cGUxREFycmF5OworICAgICAgICByZXR1cm4gKGRlc2NyaXB0b3Iuc2l6ZS5oZWln
aHQgPT0gMSkgPyBNVExUZXh0dXJlVHlwZTFEIDogTVRMVGV4dHVyZVR5cGUxREFycmF5OwogICAg
IGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkOiB7Ci0gICAgICAgIGlmIChkZXNjcmlwdG9y
LmFycmF5TGF5ZXJDb3VudCA9PSAxKQorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLmRlcHRo
ID09IDEpCiAgICAgICAgICAgICByZXR1cm4gKGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgPT0gMSkg
PyBNVExUZXh0dXJlVHlwZTJEIDogTVRMVGV4dHVyZVR5cGUyRE11bHRpc2FtcGxlOwotCi0gICAg
ICAgIHJldHVybiBNVExUZXh0dXJlVHlwZTJEQXJyYXk7CisgICAgICAgIHJldHVybiAoZGVzY3Jp
cHRvci5zYW1wbGVDb3VudCA9PSAxKSA/IE1UTFRleHR1cmVUeXBlMkRBcnJheSA6IE1UTFRleHR1
cmVUeXBlMkRNdWx0aXNhbXBsZUFycmF5OwogICAgIH0KICAgICBjYXNlIEdQVVRleHR1cmVEaW1l
bnNpb246Ol8zZDoKICAgICAgICAgcmV0dXJuIE1UTFRleHR1cmVUeXBlM0Q7CkBAIC02NSw3ICs2
NCw3IEBAIHN0YXRpYyBPcHRpb25hbDxNVExUZXh0dXJlVXNhZ2U+IG10bFRleHR1cmVVc2FnZUZv
ckdQVVRleHR1cmVVc2FnZUZsYWdzKE9wdGlvblNlCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAgICAgfQogCi0gICAgTVRMVGV4dHVyZVVzYWdlIHJlc3VsdCA9IE1UTFRleHR1cmVVc2Fn
ZVBpeGVsRm9ybWF0VmlldzsKKyAgICBNVExUZXh0dXJlVXNhZ2UgcmVzdWx0ID0gMDsKICAgICBp
ZiAoZmxhZ3MuY29udGFpbnMoR1BVVGV4dHVyZVVzYWdlOjpGbGFnczo6T3V0cHV0QXR0YWNobWVu
dCkpCiAgICAgICAgIHJlc3VsdCB8PSBNVExUZXh0dXJlVXNhZ2VSZW5kZXJUYXJnZXQ7CiAgICAg
aWYgKGZsYWdzLmNvbnRhaW5zQW55KHsgR1BVVGV4dHVyZVVzYWdlOjpGbGFnczo6U3RvcmFnZSwg
R1BVVGV4dHVyZVVzYWdlOjpGbGFnczo6U2FtcGxlZCB9KSkKQEAgLTEwMiw3ICsxMDEsMjQgQEAg
c3RhdGljIFJldGFpblB0cjxNVExUZXh0dXJlRGVzY3JpcHRvcj4gdHJ5Q3JlYXRlTXRsVGV4dHVy
ZURlc2NyaXB0b3IoY29uc3QgY2hhcioKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQog
Ci0gICAgLy8gRklYTUU6IEFkZCBtb3JlIHZhbGlkYXRpb24gYXMgY29uc3RyYWludHMgYXJlIGFk
ZGVkIHRvIHNwZWMuCisgICAgdW5zaWduZWQgd2lkdGggPSBkZXNjcmlwdG9yLnNpemUud2lkdGg7
CisgICAgdW5zaWduZWQgaGVpZ2h0ID0gMTsKKyAgICB1bnNpZ25lZCBkZXB0aCA9IDE7CisgICAg
dW5zaWduZWQgYXJyYXlMZW5ndGggPSAxOworICAgIHN3aXRjaCAoZGVzY3JpcHRvci5kaW1lbnNp
b24pIHsKKyAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8xZDoKKyAgICAgICAgYXJyYXlM
ZW5ndGggPSBkZXNjcmlwdG9yLnNpemUuaGVpZ2h0OworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZDoKKyAgICAgICAgaGVpZ2h0ID0gZGVzY3JpcHRvci5z
aXplLmhlaWdodDsKKyAgICAgICAgYXJyYXlMZW5ndGggPSBkZXNjcmlwdG9yLnNpemUuZGVwdGg7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzNkOgorICAg
ICAgICBoZWlnaHQgPSBkZXNjcmlwdG9yLnNpemUuaGVpZ2h0OworICAgICAgICBkZXB0aCA9IGRl
c2NyaXB0b3Iuc2l6ZS5kZXB0aDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCiAgICAgYXV0byBw
aXhlbEZvcm1hdCA9IHN0YXRpY19jYXN0PE1UTFBpeGVsRm9ybWF0PihwbGF0Zm9ybVRleHR1cmVG
b3JtYXRGb3JHUFVUZXh0dXJlRm9ybWF0KGRlc2NyaXB0b3IuZm9ybWF0KSk7CiAKICAgICBhdXRv
IG10bFVzYWdlID0gbXRsVGV4dHVyZVVzYWdlRm9yR1BVVGV4dHVyZVVzYWdlRmxhZ3ModXNhZ2Us
IGZ1bmN0aW9uTmFtZSk7CkBAIC0xMTcsMTAgKzEzMywxMCBAQCBzdGF0aWMgUmV0YWluUHRyPE1U
TFRleHR1cmVEZXNjcmlwdG9yPiB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihjb25zdCBj
aGFyKgogCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogCi0gICAgW210bERlc2Ny
aXB0b3Igc2V0V2lkdGg6ZGVzY3JpcHRvci5zaXplLndpZHRoXTsKLSAgICBbbXRsRGVzY3JpcHRv
ciBzZXRIZWlnaHQ6ZGVzY3JpcHRvci5zaXplLmhlaWdodF07Ci0gICAgW210bERlc2NyaXB0b3Ig
c2V0RGVwdGg6ZGVzY3JpcHRvci5zaXplLmRlcHRoXTsKLSAgICBbbXRsRGVzY3JpcHRvciBzZXRB
cnJheUxlbmd0aDpkZXNjcmlwdG9yLmFycmF5TGF5ZXJDb3VudF07CisgICAgW210bERlc2NyaXB0
b3Igc2V0V2lkdGg6d2lkdGhdOworICAgIFttdGxEZXNjcmlwdG9yIHNldEhlaWdodDpoZWlnaHRd
OworICAgIFttdGxEZXNjcmlwdG9yIHNldERlcHRoOmRlcHRoXTsKKyAgICBbbXRsRGVzY3JpcHRv
ciBzZXRBcnJheUxlbmd0aDphcnJheUxlbmd0aF07CiAgICAgW210bERlc2NyaXB0b3Igc2V0TWlw
bWFwTGV2ZWxDb3VudDpkZXNjcmlwdG9yLm1pcExldmVsQ291bnRdOwogICAgIFttdGxEZXNjcmlw
dG9yIHNldFNhbXBsZUNvdW50OmRlc2NyaXB0b3Iuc2FtcGxlQ291bnRdOwogICAgIFttdGxEZXNj
cmlwdG9yIHNldFRleHR1cmVUeXBlOm10bFRleHR1cmVUeXBlRm9yR1BVVGV4dHVyZURlc2NyaXB0
b3IoZGVzY3JpcHRvcildOwpAQCAtMTM0LDcgKzE1MCw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TVRM
VGV4dHVyZURlc2NyaXB0b3I+IHRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKGNvbnN0IGNo
YXIqCiAgICAgcmV0dXJuIG10bERlc2NyaXB0b3I7CiB9CiAKLVJlZlB0cjxHUFVUZXh0dXJlPiBH
UFVUZXh0dXJlOjp0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRl
eHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQorUmVmUHRyPEdQVVRleHR1cmU+IEdQVVRleHR1
cmU6OnRyeUNyZWF0ZShjb25zdCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3QgR1BVVGV4dHVyZURl
c2NyaXB0b3ImIGRlc2NyaXB0b3IsIEdQVUVycm9yU2NvcGVzJiBlcnJvclNjb3BlcykKIHsKICAg
ICBjb25zdCBjaGFyKiBjb25zdCBmdW5jdGlvbk5hbWUgPSAiR1BVVGV4dHVyZTo6dHJ5Q3JlYXRl
KCkiOwogCkBAIC0xNDMsNiArMTU5LDExIEBAIFJlZlB0cjxHUFVUZXh0dXJlPiBHUFVUZXh0dXJl
Ojp0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRleHR1CiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAorICAgIGlmICghW2RldmljZS5wbGF0Zm9ybURl
dmljZSgpIHN1cHBvcnRzVGV4dHVyZVNhbXBsZUNvdW50OmRlc2NyaXB0b3Iuc2FtcGxlQ291bnRd
KSB7CisgICAgICAgIGVycm9yU2NvcGVzLmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiRGV2aWNlIGRv
ZXMgbm90IHN1cHBvcnQgdGhpcyBzYW1wbGUgY291bnQuIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorCiAgICAgYXV0byB1c2FnZSA9IE9wdGlvblNldDxHUFVUZXh0dXJlVXNhZ2U6OkZs
YWdzPjo6ZnJvbVJhdyhkZXNjcmlwdG9yLnVzYWdlKTsKICAgICBhdXRvIG10bERlc2NyaXB0b3Ig
PSB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihmdW5jdGlvbk5hbWUsIGRlc2NyaXB0b3Is
IHVzYWdlKTsKICAgICBpZiAoIW10bERlc2NyaXB0b3IpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWI1YmQyOGUyYTkzYTQ0
ZmIzNWQ5ZWY1OTY2Y2MyNjc1ZWFmNWQyMy4uYWM5NTRiMTI0ZGIyYTgxM2NiYjA0ZjEzMjMzMTk2
ZWQ5YjQ3ZWRhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA1LTEzICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gVmFsaWRh
dGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS82MzIxNTk5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ3B1L3RleHR1cmUtY3JlYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMjAtMDUtMTMg
IEtlbm5ldGggUnVzc2VsbCAgPGtickBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRW5hYmxlIHdl
YmdsX2NhbnZhcy8gdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9ibGl0LWNv
bW1hbmRzLXRleHR1cmUtdG8tdGV4dHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2JsaXQt
Y29tbWFuZHMtdGV4dHVyZS10by10ZXh0dXJlLmh0bWwKaW5kZXggNDgxZmYxMzFmNzQyYWU5ZGY3
YTQyOTU2NTI5OTVmNWQ4YTIzMjNiZC4uMzBmNTExNDJhMWQ3NWYxMzE4OTMzMmYxYjNjZmVhYjM0
Nzc1ZmJmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2JsaXQtY29tbWFuZHMtdGV4
dHVyZS10by10ZXh0dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2JsaXQtY29tbWFu
ZHMtdGV4dHVyZS10by10ZXh0dXJlLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gbG9h
ZFRleHR1cmVGcm9tQ2FudmFzMmQoZGV2aWNlLCBjYW52YXMyZCkgewogICAgIGNvbnN0IHRleHR1
cmVTaXplID0gewogICAgICAgICB3aWR0aDogIGNhbnZhczJkLndpZHRoLAogICAgICAgICBoZWln
aHQ6IGNhbnZhczJkLmhlaWdodCwKLSAgICAgICAgZGVwdGg6ICAxCisgICAgICAgIGRlcHRoOiAg
MgogICAgIH07CiAKICAgICAvLyBNaXBtYXAgY291bnQKQEAgLTI1LDcgKzI1LDYgQEAgZnVuY3Rp
b24gbG9hZFRleHR1cmVGcm9tQ2FudmFzMmQoZGV2aWNlLCBjYW52YXMyZCkgewogCiAgICAgY29u
c3QgdGV4dHVyZURlc2NyaXB0b3IgPSB7CiAgICAgICAgIHNpemU6IHRleHR1cmVTaXplLAotICAg
ICAgICBhcnJheUxheWVyQ291bnQ6IDIsCiAgICAgICAgIG1pcExldmVsQ291bnQ6IG1pcExldmVs
Q291bnQsCiAgICAgICAgIHNhbXBsZUNvdW50OiAxLAogICAgICAgICBkaW1lbnNpb246ICIyZCIs
CkBAIC0zNSw2ICszNCw3IEBAIGZ1bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNhbnZhczJkKGRldmlj
ZSwgY2FudmFzMmQpIHsKIAogICAgIC8vIENyZWF0ZSB0ZXh0dXJlIGFuZCBhbHNvIGFkZCB0aGUg
ZGVzY3JpcHRvcgogICAgIGNvbnN0IHRleHR1cmUgPSBkZXZpY2UuY3JlYXRlVGV4dHVyZSh0ZXh0
dXJlRGVzY3JpcHRvcik7CisgICAgdGV4dHVyZVNpemUuZGVwdGggPSAxOwogICAgIHRleHR1cmUu
ZGVzY3JpcHRvciA9IHRleHR1cmVEZXNjcmlwdG9yOwogCiAgICAgLy8gVGV4dHVyZSBkYXRhIApA
QCAtNTUsNyArNTUsNyBAQCBmdW5jdGlvbiBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2Us
IGNhbnZhczJkKSB7CiAgICAgICAgIGJ1ZmZlcjogdGV4dHVyZURhdGFCdWZmZXIsCiAgICAgICAg
IG9mZnNldDogMCwKICAgICAgICAgcm93UGl0Y2g6IGNhbnZhczJkLndpZHRoICogNCwKLSAgICAg
ICAgaW1hZ2VIZWlnaHQ6IDAKKyAgICAgICAgaW1hZ2VIZWlnaHQ6IGNhbnZhczJkLndpZHRoICog
Y2FudmFzMmQuaGVpZ2h0ICogNAogICAgIH07CiAgICAgY29uc3QgdGV4dHVyZUNvcHlWaWV3ID0g
ewogICAgICAgICB0ZXh0dXJlOiB0ZXh0dXJlLApAQCAtMTQwLDcgKzE0MCw3IEBAIGFzeW5jIGZ1
bmN0aW9uIHRlc3QoZGV2aWNlKSB7CiAgICAgY29uc3QgYnVmZmVyQ29weVZpZXcgPSB7CiAgICAg
ICAgIGJ1ZmZlcjogYnVmZmVyQSwKICAgICAgICAgcm93UGl0Y2g6IGNhbnZhczJkLndpZHRoICog
NCwKLSAgICAgICAgaW1hZ2VIZWlnaHQ6IDAKKyAgICAgICAgaW1hZ2VIZWlnaHQ6IGNhbnZhczJk
LndpZHRoICogY2FudmFzMmQuaGVpZ2h0ICogNAogICAgIH07CiAgICAgY29uc3QgdGV4dHVyZUNv
cHlWaWV3ID0gewogICAgICAgICB0ZXh0dXJlOiB0ZXh0dXJlQgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ3B1L2J1ZmZlci1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9idWZm
ZXItZXJyb3JzLmh0bWwKaW5kZXggZDc3N2MwNzQ0ZGEyZDE3MTZkMTM4MDcwNzViOTY3N2IwOWY4
MmZmMC4uMGZhMTQ1ODM5ZmYzMzBiNTBjMzg3M2IwMDQ2MTRhMjIzZjk1OWZiNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2J1ZmZlci1lcnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJncHUvYnVmZmVyLWVycm9ycy5odG1sCkBAIC0xNTUsNCArMTU1LDQgQEAgY29uc3QgYXNz
ZXJ0QWxsQnVmZmVyTWV0aG9kc0ZhaWwgPSBhc3luYyAoZGV2aWNlLCBidWZmZXIpID0+IHsKIAog
cnVuVGVzdHNXaXRoRGV2aWNlKHRlc3RzKTsKIDwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdw
dS9lcnJvci1zY29wZXMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Bl
cy10ZXN0Lmh0bWwKaW5kZXggODU2YWZhOGVkYzFhMWU3MjQwMmM2NjY2ZTRlMzhmOGYzMzU4ZmE2
NC4uNDNlYjEzOTcyODYwZjBlOTJkYjBlMzkyMWVlYjc2MGMzNWQ0MGQzNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ3B1L2Vycm9yLXNjb3Blcy10ZXN0Lmh0bWwKQEAgLTk3LDQgKzk3LDQgQEAgY29uc3Qg
Y2F1c2VWYWxpZGF0aW9uRXJyb3IgPSBkZXZpY2UgPT4gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih7IHNp
emU6IDQsIHVzYWdlOiBHUFUKIGNvbnN0IGNhdXNlTWVtb3J5RXJyb3IgPSBkZXZpY2UgPT4gZGV2
aWNlLmNyZWF0ZUJ1ZmZlcih7IHNpemU6IDk5OTk5OTk5OTk5LCB1c2FnZTogR1BVQnVmZmVyVXNh
Z2UuTk9ORSB9KTsKIAogPC9zY3JpcHQ+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3RleHR1cmUtY3Jl
YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3RleHR1cmUtY3JlYXRpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMTkxYWMzODg3NGZkZGUwOTkzYWJjNGE4ZTNhYzQ1
OWJjNjhlMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvdGV4dHVyZS1j
cmVhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1NCBAQAorCitQQVNTIENyZWF0aW5nIGEg
dGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBs
ZUNvdW50IDEgZGltZW5zaW9uIDFkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBD
cmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291
bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAw
LiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBt
aXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gM2QgZm9ybWF0IHJnYmE4dW5v
cm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAtMSBoZWlnaHQg
MSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3Jt
YXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRo
IDEgaGVpZ2h0IC0xIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5z
aW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1
cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAtMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291
bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0
aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAt
MSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAK
K1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBM
ZXZlbENvdW50IDEgc2FtcGxlQ291bnQgLTEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBk
ZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQg
cmdiYTh1bm9ybSB1c2FnZSAtMS4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAw
IGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9u
IDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUg
b2Ygd2lkdGggMSBoZWlnaHQgMCBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAx
IGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcg
YSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMCBtaXBMZXZlbENvdW50IDEgc2Ft
cGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNT
IENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxD
b3VudCAwIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdl
IDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAx
IG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAwIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1
bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEwMDAwIGhl
aWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDFk
IGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Yg
d2lkdGggMSBoZWlnaHQgMzAwMCBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAx
IGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcg
YSB0ZXh0dXJlIG9mIHdpZHRoIDEwMDAwIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAx
IHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAor
UEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMTAwMDAgZGVwdGggMSBt
aXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5v
cm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAx
IGRlcHRoIDMwMDAgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZv
cm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lk
dGggMzAwMCBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRp
bWVuc2lvbiAzZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0
ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDMwMDAgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2Ft
cGxlQ291bnQgMSBkaW1lbnNpb24gM2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNT
IENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDMwMDAgbWlwTGV2
ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDNkIGZvcm1hdCByZ2JhOHVub3JtIHVz
YWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMSBkZXB0
aCAxIG1pcExldmVsQ291bnQgMiBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdi
YTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVp
Z2h0IDIgZGVwdGggMSBtaXBMZXZlbENvdW50IDIgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQg
Zm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3
aWR0aCAyIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAyIHNhbXBsZUNvdW50IDEgZGlt
ZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRl
eHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMiBkZXB0aCAyIG1pcExldmVsQ291bnQgMiBzYW1wbGVD
b3VudCAxIGRpbWVuc2lvbiAzZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3Jl
YXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMSBtaXBMZXZlbENvdW50
IDMgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4g
CitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRoIDIgbWlw
TGV2ZWxDb3VudCAzIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDNkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBk
ZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAyIGRpbWVuc2lvbiAxZCBmb3JtYXQg
cmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEg
aGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMiBkaW1lbnNpb24g
MmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBv
ZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDIg
ZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBh
IHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMiBkZXB0aCAxIG1pcExldmVsQ291bnQgMiBzYW1w
bGVDb3VudCAyIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1Mg
Q3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENv
dW50IDEgc2FtcGxlQ291bnQgMiBkaW1lbnNpb24gM2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2Ug
MC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRoIDEg
bWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDMgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVu
b3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQg
MiBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAzMDAgZGltZW5zaW9uIDJkIGZv
cm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lk
dGggMiBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVu
c2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0
dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDIgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291
bnQgMSBkaW1lbnNpb24gMWQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0
aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDIgbWlwTGV2ZWxDb3VudCAx
IHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDFkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAor
UEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMSBkZXB0aCAxIG1pcExl
dmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1
c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDIgZGVw
dGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJn
YmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhl
aWdodCAxIGRlcHRoIDIgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJk
IGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Yg
d2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRp
bWVuc2lvbiAxZCBmb3JtYXQgZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IHVzYWdlIDAuIAorUEFTUyBD
cmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291
bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgZGVwdGgzMmZsb2F0LXN0ZW5j
aWw4IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQg
MSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAyIGRpbWVuc2lvbiAyZCBmb3Jt
YXQgZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1
cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3Vu
dCAxIGRpbWVuc2lvbiBnYXJiYWdlIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBD
cmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291
bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgZ2FyYmFnZSB1c2FnZSAwLiAK
K1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBM
ZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dWludCB1
c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVw
dGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IGJn
cmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhl
aWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJk
IGZvcm1hdCBiZ3JhOHVub3JtLXNyZ2IgdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVy
ZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50
IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhMTZmbG9hdCB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRp
bmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEg
c2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMTAwMC4g
CitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlw
TGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDMxLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3RleHR1cmUtY3Jl
YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uY2ZjMGFlMDcwOGZmOGM4NjQ2NWYzNmZkYzlkODRkMmU1MDVmMmU2YgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS90ZXh0dXJlLWNyZWF0aW9uLmh0bWwKQEAg
LTAsMCArMSwxMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0
aXRsZT5UZXN0cyBmb3IgY3JlYXRpbmcgdGV4dHVyZSB2aWV3cy48L3RpdGxlPgorPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ianMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dHMoKSB7CisgICAgbGV0IHRlc3RzID0gWworICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwg
ZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIx
ZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAg
ICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2Ft
cGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdl
OiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRo
OiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiM2QiLCBm
b3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorCisgICAgICAg
IC8vIFRlc3QgbmVnYXRpdmUgdmFsdWVzCisgICAgICAgIHt3aWR0aDogLTEsIGhlaWdodDogMSwg
ZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIy
ZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAg
ICAgICB7d2lkdGg6IDEsIGhlaWdodDogLTEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBz
YW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNh
Z2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRl
cHRoOiAtMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJk
IiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAg
ICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogLTEsIHNh
bXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2Fn
ZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVw
dGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAtMSwgZGltZW5zaW9uOiAiMmQi
LCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAg
ICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1w
bGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6
IC0xLCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAgICAgLy8gVGVzdCB6ZXJvIHZhbHVlcworICAg
ICAgICB7d2lkdGg6IDAsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNh
bXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2Fn
ZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMCwgZGVw
dGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIs
IGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDAsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBs
ZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTog
MCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6
IDEsIG1pcExldmVsQ291bnQ6IDAsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZv
cm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7
d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNv
dW50OiAwLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwg
c3VjY2VzczogZmFsc2V9LAorCisgICAgICAgIC8vIFRlc3QgbWF4aW11bSBzaXplcworICAgICAg
ICB7d2lkdGg6IDEwMDAwLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBz
YW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMWQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNh
Z2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDMwMDAs
IGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAi
MWQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAg
ICAgICAge3dpZHRoOiAxMDAwMCwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDog
MSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIs
IHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAx
MDAwMCwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNp
b246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9
LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDMwMDAsIG1pcExldmVsQ291
bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5v
cm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDMwMDAsIGhl
aWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1l
bnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFs
c2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMzAwMCwgZGVwdGg6IDEsIG1pcExldmVs
Q291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4
dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhl
aWdodDogMSwgZGVwdGg6IDMwMDAsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBk
aW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2Vzczog
ZmFsc2V9LAorCisgICAgICAgIC8vIFRlc3QgbWlwbWFwcGVkIHRleHR1cmVzCisgICAgICAgIHt3
aWR0aDogMiwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMiwgc2FtcGxlQ291
bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBz
dWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBkZXB0aDogMSwg
bWlwTGV2ZWxDb3VudDogMiwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0
OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRo
OiAyLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAyLCBzYW1wbGVDb3VudDog
MSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nl
c3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMiwgZGVwdGg6IDIsIG1pcExl
dmVsQ291bnQ6IDIsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJn
YmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMiwg
aGVpZ2h0OiAyLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMywgc2FtcGxlQ291bnQ6IDEsIGRp
bWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBm
YWxzZX0sCisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBkZXB0aDogMiwgbWlwTGV2ZWxD
b3VudDogMywgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1
bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAgICAgLy8gVGVzdCBtdWx0
aXNhbXBsaW5nCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2
ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDIsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0OiAicmdi
YTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwg
aGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDIsIGRp
bWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0
cnVlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDIsIGRlcHRoOiAxLCBtaXBMZXZlbENv
dW50OiAxLCBzYW1wbGVDb3VudDogMiwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdo
dDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDIsIHNhbXBsZUNvdW50OiAyLCBkaW1lbnNp
b246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9
LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6
IDEsIHNhbXBsZUNvdW50OiAyLCBkaW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4dW5vcm0i
LCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDog
MiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAzLCBkaW1lbnNpb246
ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAor
ICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEs
IHNhbXBsZUNvdW50OiAzMDAsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIs
IHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAgICAgLy8gVGVzdCBkaW1lbnNpb24K
KyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAx
LCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMWQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwg
dXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMiwg
ZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIx
ZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAg
ICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMiwgbWlwTGV2ZWxDb3VudDogMSwgc2Ft
cGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdl
OiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAxLCBkZXB0
aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAg
e3dpZHRoOiAxLCBoZWlnaHQ6IDIsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVD
b3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAs
IHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDIs
IG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1h
dDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisKKyAgICAgICAgLy8g
VGVzdCBkZXB0aCB0ZXh0dXJlcworICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6
IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIsIGZv
cm1hdDogImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0s
CisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDog
MSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAiZGVwdGgzMmZsb2F0
LXN0ZW5jaWw4IiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDEs
IGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAyLCBk
aW1lbnNpb246ICIyZCIsIGZvcm1hdDogImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIsIHVzYWdlOiAw
LCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAgICAgLy8gVGVzdCBlbnVtcworICAgICAgICB7d2lk
dGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50
OiAxLCBkaW1lbnNpb246ICJnYXJiYWdlIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAw
LCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDog
MSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9y
bWF0OiAiZ2FyYmFnZSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0
aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6
IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1aW50IiwgdXNhZ2U6IDAsIHN1Y2Nl
c3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExl
dmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogImJn
cmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwg
aGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRp
bWVuc2lvbjogIjJkIiwgZm9ybWF0OiAiYmdyYTh1bm9ybS1zcmdiIiwgdXNhZ2U6IDAsIHN1Y2Nl
c3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExl
dmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJn
YmExNmZsb2F0IiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorCisgICAgICAgIC8vIFRlc3Qg
dXNhZ2UKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENv
dW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgdXNhZ2U6IDEwMDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBo
ZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGlt
ZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IEdQVVRleHR1cmVVc2Fn
ZS5DT1BZX1NSQyB8IEdQVVRleHR1cmVVc2FnZS5DT1BZX0RTVCB8IEdQVVRleHR1cmVVc2FnZS5T
QU1QTEVEIHwgR1BVVGV4dHVyZVVzYWdlLlNUT1JBR0UgfCBHUFVUZXh0dXJlVXNhZ2UuT1VUUFVU
X0FUVEFDSE1FTlQsIHN1Y2Nlc3M6IHRydWV9LAorICAgIF07CisgICAgZm9yIChsZXQgdGVzdCBv
ZiB0ZXN0cykgeworICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4geworICAgICAgICByZXR1cm4g
Z2V0QmFzaWNEZXZpY2UoKS50aGVuKGFzeW5jIGZ1bmN0aW9uKGRldmljZSkgeworICAgICAgICAg
ICAgbGV0IGNhdWdodCA9IGZhbHNlOworICAgICAgICAgICAgZGV2aWNlLnB1c2hFcnJvclNjb3Bl
KCJ2YWxpZGF0aW9uIik7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIGxldCB0
ZXh0dXJlID0gZGV2aWNlLmNyZWF0ZVRleHR1cmUoe3NpemU6IHt3aWR0aDogdGVzdC53aWR0aCwg
aGVpZ2h0OiB0ZXN0LmhlaWdodCwgZGVwdGg6IHRlc3QuZGVwdGh9LCBtaXBMZXZlbENvdW50OiB0
ZXN0Lm1pcExldmVsQ291bnQsIHNhbXBsZUNvdW50OiB0ZXN0LnNhbXBsZUNvdW50LCBkaW1lbnNp
b246IHRlc3QuZGltZW5zaW9uLCBmb3JtYXQ6IHRlc3QuZm9ybWF0LCB1c2FnZTogdGVzdC51c2Fn
ZX0pOworICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKHRleHR1cmUgaW5zdGFuY2VvZiBHUFVU
ZXh0dXJlLCAiQ2Fubm90IGNyZWF0ZSB0ZXh0dXJlLiIpOworICAgICAgICAgICAgfSBjYXRjaCB7
CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoIXRlc3Quc3VjY2VzcywgIkNyZWF0aW5nIHRl
eHR1cmUgc2hvdWxkICIgKyAodGVzdC5zdWNjZXNzID8gIm5vdCAiIDogIiIpICsgImZhaWwuIik7
CisgICAgICAgICAgICAgICAgY2F1Z2h0ID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGF3YWl0IGRldmljZS5wb3BFcnJvclNjb3BlKCkudGhlbihmdW5jdGlvbihlcnJvcikgewor
ICAgICAgICAgICAgICAgIGlmICh0ZXN0LnN1Y2Nlc3MpIHsKKyAgICAgICAgICAgICAgICAgICAg
bGV0IG1lc3NhZ2UgPSAiQ291bGQgbm90IGNyZWF0ZSB0ZXh0dXJlOiAiOworICAgICAgICAgICAg
ICAgICAgICBpZiAoZXJyb3IgJiYgZXJyb3IubWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIG1lc3NhZ2UgKz0gZXJyb3IubWVzc2FnZTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhlcnJvciwgbnVsbCwgIkNvdWxkIG5vdCBjcmVhdGUgdGV4dHVyZTogIiArIG1lc3Nh
Z2UpOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWNhdWdodCkgeworICAgICAgICAgICAg
ICAgICAgICBsZXQgbWVzc2FnZSA9ICJDcmVhdGVkIHRleHR1cmU6ICI7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChlcnJvciAmJiBlcnJvci5tZXNzYWdlKQorICAgICAgICAgICAgICAgICAgICAg
ICAgbWVzc2FnZSArPSBlcnJvci5tZXNzYWdlOworICAgICAgICAgICAgICAgICAgICBhc3NlcnRf
dHJ1ZSghIShjYXVnaHQgfHwgZXJyb3IpLCAiQ3JlYXRlZCB0ZXh0dXJlIHdoZW4gc2hvdWxkbid0
IGhhdmU6ICIgKyBtZXNzYWdlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgImRldmljZSBs
b3N0Iik7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgZnVuY3Rpb24oZSkgeworICAgICAg
ICB9KTsKKyAgICB9LCBgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoICR7dGVzdC53aWR0aH0g
aGVpZ2h0ICR7dGVzdC5oZWlnaHR9IGRlcHRoICR7dGVzdC5kZXB0aH0gbWlwTGV2ZWxDb3VudCAk
e3Rlc3QubWlwTGV2ZWxDb3VudH0gc2FtcGxlQ291bnQgJHt0ZXN0LnNhbXBsZUNvdW50fSBkaW1l
bnNpb24gJHt0ZXN0LmRpbWVuc2lvbn0gZm9ybWF0ICR7dGVzdC5mb3JtYXR9IHVzYWdlICR7dGVz
dC51c2FnZX0uYCk7CisgICAgfQorfQorCitydW5UZXN0cygpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399632</attachid>
            <date>2020-05-18 02:01:48 -0700</date>
            <delta_ts>2020-05-18 02:02:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211882-20200518020148.patch</filename>
            <type>text/plain</type>
            <size>46053</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWViNGE2NjAxNDAwM2I0
NmVlMzM0NjY0YjUxNmNmMDdkZDJkYTZkZi4uNTdjYWY3Y2E3MjAyMjJlZGUwMzE3Njk3MmFkMGRk
NTIzNzMwZGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIwLTA1LTEzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
VmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82MzIxNTk5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgbG90cyBvZiB2YWxpZGF0aW9uIGZvciB0ZXh0dXJlIGNyZWF0aW9uLiBU
aGUgbG9naWMgd2FzIGdhdGhlcmVkIGZyb20KKyAgICAgICAgdHJpYWwgYW5kIGVycm9yLgorCisg
ICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCB3ZSBkaWRuJ3QgaGF2ZSBhbnkgdmFsaWRhdGlvbi4g
VGhpcyBpcyBhIGZpcnN0IHBhc3MsIGFzCisgICAgICAgIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIGlz
bid0IHNwZWxsZWQgb3V0IGluIHRoZSBzcGVjLiBOZXh0LCBJIHdpbGwgbWFrZSBhIHB1bGwKKyAg
ICAgICAgcmVxdWVzdCB0byB0aGUgc3BlYyB0byBtYXRjaCB0aGlzIHBhdGNoLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWxzbyB1cGRhdGVzIHRocmVlIHBpZWNlcyBvZiBvdXIgSURMIGZpbGVzIHRv
IG1hdGNoIHRoZSBzcGVjIGZvcgorICAgICAgICBXZWJHUFU6IE9uZSB0byByZW1vdmUgR1BVVGV4
dHVyZVVzYWdlLk5PTkUgd2hpY2ggd2FzIHJlcGxhY2VkIHdpdGgganVzdCAwLAorICAgICAgICBv
bmUgdG8gcmVtb3ZlIEdQVVRleHR1cmVEZXNjcmlwdG9yLmFycmF5TGF5ZXJDb3VudCwgd2hpY2gg
d2FzIGRlbGV0ZWQgaW4KKyAgICAgICAgZmF2b3Igb2YgdXNpbmcgcmVndWxhciBkaW1lbnNpb24g
ZmllbGRzLCBhbmQgb25lIHRvIGFkZCBbRW5mb3JjZVJhbmdlXSB0bworICAgICAgICB2YXJpb3Vz
IHZhbHVlcy4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gdXBkYXRlcyBHUFVEZXZpY2UgdG8g
aGF2ZSBhIEdQVUVycm9yU2NvcGVzIG9iamVjdCwgd2hpY2ggaXMKKyAgICAgICAgcmVxdWlyZWQg
Zm9yIGdvb2QgZXJyb3IgbWVzc2FnZXMuCisKKyAgICAgICAgVGVzdDogd2ViZ3B1L3RleHR1cmUt
Y3JlYXRpb24uaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR1BVRGV2aWNlOjp0cnlDcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2
aWNlOjpjcmVhdGVUZXh0dXJlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Om1heGltdW1NaXBMZXZlbENvdW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkdQVURldmljZTo6dHJ5Q3JlYXRlVGV4dHVyZSBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2
aWNlOjpzZXRFcnJvclNjb3Blcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUV4dGVudDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJh
c2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW06CisgICAg
ICAgIChXZWJDb3JlOjptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6Om10bFRleHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKToK
KyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVRleHR1cmU6OnRyeUNyZWF0ZSk6CisKIDIwMjAtMDUtMTMgIEFuZHJl
cyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5l
Y2Vzc2FyeSBhc3NlcnQgaW4ge1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGF0dGFjaG1l
bnRWaWV3XS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4
dGVudDNELmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlk
bAppbmRleCA1ZGZkY2UzMWI0OTRiMDg2MTZmNzIxNDUwODk0MGU5NDEzYzAxZmRjLi4xM2ExYjQ0
NzQxNjgxMDJhM2JmZGY0MDQyNmEwNDM2M2I3Y2I5NzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCkBAIC0yNCwxMyArMjQsMTMgQEAKICAqLwog
Ly8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxv
bmcgdTMyOwordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJD
b29yZGluYXRlOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVCiBdIGRpY3Rpb25hcnkgR1BVRXh0ZW50M0QgewotICAgIHJlcXVpcmVkIHUz
MiB3aWR0aDsKLSAgICByZXF1aXJlZCB1MzIgaGVpZ2h0OwotICAgIHJlcXVpcmVkIHUzMiBkZXB0
aDsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0aDsKKyAgICByZXF1aXJl
ZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQ7CisgICAgcmVxdWlyZWQgR1BVSW50ZWdlckNv
b3JkaW5hdGUgZGVwdGg7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCmluZGV4IDQ0NTk1Mzg4ZWVlYzJhOTVjYzM4
MWQwN2Y3OGJiYjgwOTFiZGE3M2YuLjVkNjE4OGY5OTdhN2E3ZjM5OTBmZjIyOGY3MzlmMjVhMjZj
MDliZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1
cmVEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlRGVzY3JpcHRvci5pZGwKQEAgLTI0LDggKzI0LDkgQEAKICAqLwogLy8gaHR0cHM6Ly9n
cHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwotdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIEdQVVRleHR1cmVVc2FnZUZsYWdzOwordHlwZWRlZiBbRW5mb3Jj
ZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJDb29yZGluYXRlOwordHlwZWRlZiBbRW5m
b3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5n
ZV0gdW5zaWduZWQgbG9uZyBHUFVUZXh0dXJlVXNhZ2VGbGFnczsKIAogWwogICAgIEltcGxlbWVu
dGVkQXM9R1BVVGV4dHVyZURpbWVuc2lvbgpAQCAtNDAsOSArNDEsOCBAQCB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3M7CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJH
UFUKIF0gZGljdGlvbmFyeSBHUFVUZXh0dXJlRGVzY3JpcHRvciB7CiAgICAgcmVxdWlyZWQgR1BV
RXh0ZW50M0Qgc2l6ZTsKLSAgICB1MzIgYXJyYXlMYXllckNvdW50ID0gMTsKLSAgICB1MzIgbWlw
TGV2ZWxDb3VudCA9IDE7Ci0gICAgdTMyIHNhbXBsZUNvdW50ID0gMTsKKyAgICBHUFVJbnRlZ2Vy
Q29vcmRpbmF0ZSBtaXBMZXZlbENvdW50ID0gMTsKKyAgICBHUFVTaXplMzIgc2FtcGxlQ291bnQg
PSAxOwogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uID0gIjJkIjsKICAgICByZXF1
aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlVXNh
Z2VGbGFncyB1c2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L0dQVVRleHR1cmVVc2FnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlVXNhZ2UuaWRsCmluZGV4IDAyZTg5MGNhNWRiYmNlMzE5ODljZDczYjQ4M2Q4MDdkN2Ri
ZmNkMTIuLjZiMzBiYjBlM2YwMTZiYjc3ODE4YTA4YTg0MDUzN2I4NDIxZmE5ODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZVVzYWdlLmlkbApAQCAt
MzIsNyArMzIsNiBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNl
IEdQVVRleHR1cmVVc2FnZSB7Ci0gICAgY29uc3QgdTMyIE5PTkUgPSAwOwogICAgIGNvbnN0IHUz
MiBDT1BZX1NSQyA9IDE7CiAgICAgY29uc3QgdTMyIENPUFlfRFNUID0gMjsKICAgICBjb25zdCB1
MzIgU0FNUExFRCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcAppbmRleCA4MGIxZTYzYzQ2MDVmNzk0MDkzNzJmMzgxNzIwNTIzOTA5YmQwNWYw
Li5jYTAxYjEwMTVhZDYxY2NjMzlhZDMzOWI5YWRiN2JlNDY5ZjFiMWM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTk2LDggKzk2LDEx
IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXZWJHUFVEZXZpY2UpOwogCiBSZWZQdHI8
V2ViR1BVRGV2aWNlPiBXZWJHUFVEZXZpY2U6OnRyeUNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiBhZGFwdGVyKQogewotICAg
IGlmIChhdXRvIGRldmljZSA9IEdQVURldmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMo
KSkpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRleHQsIFdU
Rk1vdmUoYWRhcHRlciksIGRldmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CisgICAgaWYgKGF1dG8g
ZGV2aWNlID0gR1BVRGV2aWNlOjp0cnlDcmVhdGUoYWRhcHRlci0+b3B0aW9ucygpKSkgeworICAg
ICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0UmVmKG5ldyBXZWJHUFVEZXZpY2UoY29udGV4dCwgV1RG
TW92ZShhZGFwdGVyKSwgbWFrZVJlZigqZGV2aWNlKSkpOworICAgICAgICBkZXZpY2UtPnNldEVy
cm9yU2NvcGVzKHJlc3VsdC0+bV9lcnJvclNjb3Blcy5jb3B5UmVmKCkpOworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAtMTgwLDYgKzE4
Myw4IEBAIFZlY3RvcjxKU0M6OkpTVmFsdWU+IFdlYkdQVURldmljZTo6Y3JlYXRlQnVmZmVyTWFw
cGVkKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljCiAKIFJlZjxXZWJHUFVUZXh0dXJlPiBXZWJH
UFVEZXZpY2U6OmNyZWF0ZVRleHR1cmUoY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IpIGNvbnN0CiB7CisgICAgbV9lcnJvclNjb3Blcy0+c2V0RXJyb3JQcmVmaXgoIkdQVURl
dmljZS5jcmVhdGVUZXh0dXJlKCk6ICIpOworCiAgICAgYXV0byB0ZXh0dXJlID0gbV9kZXZpY2Ut
PnRyeUNyZWF0ZVRleHR1cmUoZGVzY3JpcHRvcik7CiAgICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6
OmNyZWF0ZShXVEZNb3ZlKHRleHR1cmUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVt
ZSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVt
ZXMvV2ViQ29yZS54Y3NjaGVtZQppbmRleCAxNTgyZTFhM2M1NmRmOWU3ODIwMGQ5OWE5OTg2ODA1
OTFiNGNkZjBiLi4wN2U5NDE5ZjVmMjZmNzFmZThiNGFiZDdhZDNjYmQ5ZTllNmEzYWUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNz
Y2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCkBAIC00MCw2ICs0
MCwxMSBAQAogICAgICAgZGVidWdEb2N1bWVudFZlcnNpb25pbmcgPSAiWUVTIgogICAgICAgZGVi
dWdTZXJ2aWNlRXh0ZW5zaW9uID0gImludGVybmFsIgogICAgICAgYWxsb3dMb2NhdGlvblNpbXVs
YXRpb24gPSAiWUVTIj4KKyAgICAgIDxQYXRoUnVubmFibGUKKyAgICAgICAgIHJ1bm5hYmxlRGVi
dWdnaW5nTW9kZSA9ICIwIgorICAgICAgICAgQnVuZGxlSWRlbnRpZmllciA9ICJvcmcud2Via2l0
Lk1pbmlCcm93c2VyIgorICAgICAgICAgRmlsZVBhdGggPSAiL1VzZXJzL21tYXhmaWVsZC9CdWls
ZC9Qcm9kdWN0cy9EZWJ1Zy9NaW5pQnJvd3Nlci5hcHAiPgorICAgICAgPC9QYXRoUnVubmFibGU+
CiAgICA8L0xhdW5jaEFjdGlvbj4KICAgIDxQcm9maWxlQWN0aW9uCiAgICAgICBidWlsZENvbmZp
Z3VyYXRpb24gPSAiUmVsZWFzZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURldmljZS5jcHAKaW5kZXggZjVlNDNjZWVkOTVmZTU3NzNlMzUwODFhZGE0
OGNjNGE2OTM2ODIzMy4uN2FhZmViYmNkNDYxNDUxYWNjYjA5Y2JlODBjYWU2NmY3NDA2YzYzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmlj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmlj
ZS5jcHAKQEAgLTYwLDkgKzYwLDEyNyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBHUFVEZXZpY2U6OnRy
eUNyZWF0ZUJ1ZmZlcihjb25zdCBHUFVCdWZmZXJEZXNjcmlwdG9yJiBkZXNjcmlwdAogICAgIHJl
dHVybiBHUFVCdWZmZXI6OnRyeUNyZWF0ZSgqdGhpcywgZGVzY3JpcHRvciwgaXNNYXBwZWQsIGVy
cm9yU2NvcGVzKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIG1heGltdW1NaXBMZXZlbENvdW50KEdQ
VVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uLCBHUFVFeHRlbnQzRCBzaXplKQoreworICAgIHVu
c2lnbmVkIHdpZHRoID0gc2l6ZS53aWR0aDsKKyAgICB1bnNpZ25lZCBoZWlnaHQgPSAxOworICAg
IHVuc2lnbmVkIGRlcHRoID0gMTsKKyAgICBzd2l0Y2ggKGRpbWVuc2lvbikgeworICAgIGNhc2Ug
R1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdQVVRl
eHR1cmVEaW1lbnNpb246Ol8yZDoKKyAgICAgICAgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzNkOgorICAgICAgICBo
ZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICAgICAgZGVwdGggPSBzaXplLmRlcHRoOworICAgICAg
ICBicmVhazsKKyAgICB9CisKKyAgICBhdXRvIG1heERpbWVuc2lvbiA9IHN0ZDo6bWF4KHN0ZDo6
bWF4KHdpZHRoLCBoZWlnaHQpLCBkZXB0aCk7CisgICAgaW50IGkgPSBzaXplb2YoR1BVRXh0ZW50
M0Q6OklubmVyVHlwZSkgKiA4IC0gMTsKKyAgICBmb3IgKDsgIShtYXhEaW1lbnNpb24gJiAoMSA8
PCBpKSkgJiYgaSA+PSAwOyAtLWkpIHsKKyAgICB9CisgICAgQVNTRVJUKGkgPj0gMCk7CisgICAg
cmV0dXJuIGkgKyAxOworfQorCiBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVRGV2aWNlOjp0cnlDcmVh
dGVUZXh0dXJlKGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKSBjb25zdAog
ewotICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKnRoaXMsIGRlc2NyaXB0b3IpOwor
ICAgIGlmICghZGVzY3JpcHRvci5zaXplLndpZHRoIHx8ICFkZXNjcmlwdG9yLnNpemUuaGVpZ2h0
IHx8ICFkZXNjcmlwdG9yLnNpemUuZGVwdGgpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2Vu
ZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlcyBjYW4ndCBoYXZlIDAgZGltZW5zaW9ucy4iKTsK
KyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoIWRlc2NyaXB0b3IubWlwTGV2
ZWxDb3VudCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3Io
IlRleHR1cmVzIGNhbid0IGhhdmUgMCBtaXBsZXZlbHMuIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorCisgICAgaWYgKCFkZXNjcmlwdG9yLnNhbXBsZUNvdW50KSB7CisgICAgICAgIG1f
ZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiVGV4dHVyZXMgY2FuJ3QgaGF2ZSAw
IHNhbXBsZXMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgLy8gaHR0cHM6
Ly9kZXZlbG9wZXIuYXBwbGUuY29tL21ldGFsL01ldGFsLUZlYXR1cmUtU2V0LVRhYmxlcy5wZGYK
KyAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9uKSB7CisgICAgY2FzZSBHUFVUZXh0dXJl
RGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUud2lkdGggPiA4MTky
KSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFE
IHRleHR1cmUgaXMgdG9vIHdpZGUuIik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAg
ICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUuaGVpZ2h0ID4gMjA0OCkgeworICAgICAg
ICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCIxRCB0ZXh0dXJlIGFy
cmF5IGhhcyB0b28gbWFueSBsYXllcnMuIik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJk
OgorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLndpZHRoID4gODE5MiB8fCBkZXNjcmlwdG9y
LnNpemUuaGVpZ2h0ID4gODE5MikgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJh
dGVQcmVmaXhlZEVycm9yKCIyRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAgICAgICAgICAg
IHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS5kZXB0
aCA+IDIwNDgpIHsKKyAgICAgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRF
cnJvcigiMkQgdGV4dHVyZSBhcnJheSBoYXMgdG9vIG1hbnkgbGF5ZXJzLiIpOworICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdQVVRl
eHR1cmVEaW1lbnNpb246Ol8zZDoKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS53aWR0aCA+
IDIwNDggfHwgZGVzY3JpcHRvci5zaXplLmhlaWdodCA+IDIwNDggfHwgZGVzY3JpcHRvci5zaXpl
LmRlcHRoID4gMjA0OCkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVm
aXhlZEVycm9yKCIzRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAgICAgICAgICAgIHJldHVy
biB7IH07CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKGRlc2Ny
aXB0b3IuZGltZW5zaW9uID09IEdQVVRleHR1cmVEaW1lbnNpb246Ol8xZCAmJiBkZXNjcmlwdG9y
Lm1pcExldmVsQ291bnQgIT0gMSkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVBy
ZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVzIGNhbid0IGhhdmUgbWlwbWFwcy4iKTsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoZGVzY3JpcHRvci5taXBMZXZlbENvdW50ID4g
bWF4aW11bU1pcExldmVsQ291bnQoZGVzY3JpcHRvci5kaW1lbnNpb24sIGRlc2NyaXB0b3Iuc2l6
ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUb28g
bWFueSBtaXBsZXZlbHMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgaWYg
KGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgeworICAgICAgICBpZiAoZGVzY3JpcHRvci5k
aW1lbnNpb24gIT0gR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkKSB7CisgICAgICAgICAgICBtX2Vy
cm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIlRleHR1cmUgZGltZW5zaW9uIGluY29t
cGF0aWJsZSB3aXRoIG11bHRpc2FtcGxpbmcuIik7CisgICAgICAgICAgICByZXR1cm4geyB9Owor
ICAgICAgICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLm1pcExldmVsQ291bnQgIT0gMSkgewor
ICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJNdWx0aXNh
bXBsZWQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBtaXBtYXBzLiIpOworICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgfQorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLmRlcHRoICE9IDEp
IHsKKyAgICAgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiQXJy
YXkgdGV4dHVyZXMgY2FuJ3QgYmUgbXVsdGlzYW1wbGVkLiIpOworICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogT25seSBzb21lIHBpeGVsIGZvcm1h
dHMgYXJlIGNhcGFibGUgb2YgTVNBQS4gV2hlbiB3ZSBhZGQgdGhvc2UgbmV3IHBpeGVsIGZvcm1h
dHMsIHdlJ2xsIGhhdmUgdG8gYWRkIGZpbHRlcmluZyBjb2RlIGhlcmUuCisgICAgfQorCisgICAg
Ly8gVGhlIGhlaWdodCBjb21wb25lbnQgZm9yIDFkIHRleHR1cmVzIGlzIHRoZSBhcnJheSBsZW5n
dGguCisgICAgLy8gVGhlIGRlcHRoIGNvbXBvbmVudCBmb3IgMmQgdGV4dHVyZXMgaXMgdGhlIGFy
cmF5IGxlbmd0aC4KKyAgICBpZiAoZGVzY3JpcHRvci5kaW1lbnNpb24gPT0gR1BVVGV4dHVyZURp
bWVuc2lvbjo6XzFkICYmIGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aCAhPSAxKSB7CisgICAgICAgIG1f
ZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiMUQgdGV4dHVyZXMgY2FuJ3QgaGF2
ZSBkZXB0aCAhPSAxLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIGlmIChk
ZXNjcmlwdG9yLmZvcm1hdCA9PSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2ls
OCAmJiBkZXNjcmlwdG9yLmRpbWVuc2lvbiAhPSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMmQpIHsK
KyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJEZXB0aC9zdGVu
Y2lsIHRleHR1cmVzIG11c3QgYmUgMmQuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQor
CisgICAgaWYgKGRlc2NyaXB0b3IuZm9ybWF0ID09IEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMzJm
bG9hdFN0ZW5jaWw4ICYmIGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgeworICAgICAgICBt
X2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRlcHRoL3N0ZW5jaWwgdGV4dHVy
ZXMgY2FuJ3QgYmUgbXVsdGlzYW1wbGVkLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0K
KworICAgIGlmIChzdGF0aWNfY2FzdDxHUFVUZXh0dXJlVXNhZ2VGbGFncz4oZGVzY3JpcHRvci51
c2FnZSkgPj0gc3RhdGljX2Nhc3Q8R1BVVGV4dHVyZVVzYWdlRmxhZ3M+KEdQVVRleHR1cmVVc2Fn
ZTo6RmxhZ3M6Ok1heGltdW1WYWx1ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJh
dGVQcmVmaXhlZEVycm9yKCJJbnZhbGlkIHVzYWdlIGZsYWdzLiIpOworICAgICAgICByZXR1cm4g
eyB9OworICAgIH0KKworICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKnRoaXMsIGRl
c2NyaXB0b3IsIG1ha2VSZWYoKm1fZXJyb3JTY29wZXMpKTsKIH0KIAogUmVmUHRyPEdQVVNhbXBs
ZXI+IEdQVURldmljZTo6dHJ5Q3JlYXRlU2FtcGxlcihjb25zdCBHUFVTYW1wbGVyRGVzY3JpcHRv
ciYgZGVzY3JpcHRvcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCA1OGIxMjAwMzFkZjAxZDcwZjdiOGY3YTVjZjZkM2Zm
MmUzZDcxMjAwLi5mNTQ5NmNjNjdkODQzZTBiOWE1YWU2ZGIyY2UwZDhkNTU2OGE5ZTJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCkBA
IC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUgIkdQVUJpbmRH
cm91cEFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkdQVUVycm9yU2NvcGVzLmgiCiAjaW5jbHVkZSAi
R1BVUXVldWUuaCIKICNpbmNsdWRlICJHUFVTd2FwQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvRnVu
Y3Rpb24uaD4KQEAgLTk1LDYgKzk2LDggQEAgcHVibGljOgogICAgIEdQVVN3YXBDaGFpbiogc3dh
cENoYWluKCkgY29uc3QgeyByZXR1cm4gbV9zd2FwQ2hhaW4uZ2V0KCk7IH0KICAgICB2b2lkIHNl
dFN3YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmKTsKIAorICAgIHZvaWQgc2V0RXJyb3JT
Y29wZXMoUmVmPEdQVUVycm9yU2NvcGVzPiYmIGVycm9yU2NvcGVzKSB7IG1fZXJyb3JTY29wZXMg
PSBXVEZNb3ZlKGVycm9yU2NvcGVzKTsgfQorCiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIHVz
ZVdITFNMID0gdHJ1ZTsKIAogcHJpdmF0ZToKQEAgLTEwNCw2ICsxMDcsNyBAQCBwcml2YXRlOgog
ICAgIG11dGFibGUgUmVmUHRyPEdQVVF1ZXVlPiBtX3F1ZXVlOwogICAgIFJlZlB0cjxHUFVTd2Fw
Q2hhaW4+IG1fc3dhcENoYWluOwogICAgIG11dGFibGUgUmVmUHRyPEdQVUJpbmRHcm91cEFsbG9j
YXRvcj4gbV9iaW5kR3JvdXBBbGxvY2F0b3I7CisgICAgUmVmUHRyPEdQVUVycm9yU2NvcGVzPiBt
X2Vycm9yU2NvcGVzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUV4dGVudDNELmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaAppbmRleCAzMTk1
ZDE3Mzk0NmM0ZDBjOTZlMjJkYjZjZTU0MGQzMTVhMzAxOWYzLi41NDQ4MjY1MjBjYzVlN2UwY2M5
ZmY0M2ZkMTQyODBmNTA0NGI3ZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaApAQCAtMzAsOSArMzAsMTAgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAKIHN0cnVjdCBHUFVFeHRlbnQzRCB7Ci0gICAgdW5zaWduZWQgd2lk
dGg7Ci0gICAgdW5zaWduZWQgaGVpZ2h0OwotICAgIHVuc2lnbmVkIGRlcHRoOworICAgIHVzaW5n
IElubmVyVHlwZSA9IHVuc2lnbmVkOworICAgIElubmVyVHlwZSB3aWR0aDsKKyAgICBJbm5lclR5
cGUgaGVpZ2h0OworICAgIElubmVyVHlwZSBkZXB0aDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVPYmplY3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
T2JqZWN0QmFzZS5oCmluZGV4IDk0YzFmNTI3OTQ0ZjIzMzMwOWE0NTVjNjkwYzdjYWI5MmRlZDVm
NDcuLjY3YjJkOTE4YzJlNTQ1MTdjYjM3ZmZmZWE2YjI2MmQ0NWY4MmZhOWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPYmplY3RCYXNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJhc2UuaApA
QCAtNDAsNyArNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgR1BVT2JqZWN0QmFzZShSZWY8R1BVRXJy
b3JTY29wZXM+JiYgcmVwb3J0ZXIpCiAgICAgICAgIDogbV9lcnJvclNjb3BlcyhXVEZNb3ZlKHJl
cG9ydGVyKSkgeyB9CiAKLSAgICBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMoKSB7IHJldHVy
biBtX2Vycm9yU2NvcGVzOyB9CisgICAgR1BVRXJyb3JTY29wZXMmIGVycm9yU2NvcGVzKCkgY29u
c3QgeyByZXR1cm4gbV9lcnJvclNjb3BlczsgfQogCiBwcml2YXRlOgogICAgIFJlZjxHUFVFcnJv
clNjb3Blcz4gbV9lcnJvclNjb3BlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oCmluZGV4IGZmN2FhYjA5NjViNjJkYmQxZTNkYjM3NTky
YTU3ZDM0YWNhOWE5YzIuLmEzYjQyNmIwNTgwZTEyMjhjZTJmYWZkZWU5ZjA5MDRlN2QxODNjNDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0
dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1
cmUuaApAQCAtMzgsNiArMzgsNyBAQCBPQkpDX1BST1RPQ09MKE1UTFRleHR1cmUpOwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBHUFVEZXZpY2U7CitjbGFzcyBHUFVFcnJvclNjb3BlczsK
IAogc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yOwogCkBAIC00Niw3ICs0Nyw3IEBAIHVzaW5n
IFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyID0gUmV0YWluUHRyPE1UTFRleHR1cmU+OwogCiBjbGFz
cyBHUFVUZXh0dXJlIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVGV4dHVyZT4gewogcHVibGljOgot
ICAgIHN0YXRpYyBSZWZQdHI8R1BVVGV4dHVyZT4gdHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYs
IGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJik7CisgICAgc3RhdGljIFJlZlB0cjxHUFVUZXh0
dXJlPiB0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiwgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0
b3ImLCBHUFVFcnJvclNjb3BlcyYpOwogICAgIHN0YXRpYyBSZWY8R1BVVGV4dHVyZT4gY3JlYXRl
KFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyJiYsIE9wdGlvblNldDxHUFVUZXh0dXJlVXNhZ2U6OkZs
YWdzPik7CiAKICAgICBQbGF0Zm9ybVRleHR1cmUgKnBsYXRmb3JtVGV4dHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcGxhdGZvcm1UZXh0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCmlu
ZGV4IDY2ZTFjMTdiZDhiZGQ2MTdmN2U5NDVkZGQxYmZkOTc5ZjU1ZmUxODAuLmIyYTY4NWEyMTlm
MzI5YjYwNzA0ZDNlNjU2MjNiNWE2YWI3ZWRlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCkBA
IC00MSw3ICs0MSw2IEBAIGVudW0gY2xhc3MgR1BVVGV4dHVyZURpbWVuc2lvbiB7CiAgICAgCiBz
dHJ1Y3QgR1BVVGV4dHVyZURlc2NyaXB0b3IgewogICAgIEdQVUV4dGVudDNEIHNpemU7Ci0gICAg
dW5zaWduZWQgYXJyYXlMYXllckNvdW50OwogICAgIHVuc2lnbmVkIG1pcExldmVsQ291bnQ7CiAg
ICAgdW5zaWduZWQgc2FtcGxlQ291bnQ7CiAgICAgR1BVVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
VGV4dHVyZVVzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
VGV4dHVyZVVzYWdlLmgKaW5kZXggNWMwY2U2MTA0YWEwYzJiMzNmNDJkMmZiZDI0NGYyZTEwZWM5
YzA5Ny4uYzMyODdkODM3NGU0NTVjZjM0MDliYmFlMDlhZjZjMzA4MTYxNjFiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVVc2FnZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlVXNh
Z2UuaApAQCAtMzYsMTIgKzM2LDEyIEBAIHVzaW5nIEdQVVRleHR1cmVVc2FnZUZsYWdzID0gdW5z
aWduZWQ7CiBjbGFzcyBHUFVUZXh0dXJlVXNhZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVUZXh0
dXJlVXNhZ2U+IHsKIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIEZsYWdzIDogR1BVVGV4dHVyZVVz
YWdlRmxhZ3MgewotICAgICAgICBOb25lID0gMCwKICAgICAgICAgQ29weVNvdXJjZSA9IDEgPDwg
MCwKICAgICAgICAgQ29weURlc3RpbmF0aW9uID0gMSA8PCAxLAogICAgICAgICBTYW1wbGVkID0g
MSA8PCAyLAogICAgICAgICBTdG9yYWdlID0gMSA8PCAzLAogICAgICAgICBPdXRwdXRBdHRhY2ht
ZW50ID0gMSA8PCA0LAorICAgICAgICBNYXhpbXVtVmFsdWUgPSAxIDw8IDUsCiAgICAgfTsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2Nv
YS9HUFVCdWZmZXJNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbQppbmRleCA1NjFhZDUyNTQ0Y2E0NGE1YzI5ZTk4ODI5
NjU4YzhlZTc3MjM4NTM4Li5iMWMzNGVmODhiMTg3YTcwZTcxMGRhY2JkNjcyOTI4NjMyYmJmNzQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2Ev
R1BVQnVmZmVyTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBHUFVC
dWZmZXI6OmNvcHlTdGFnaW5nQnVmZmVyVG9HUFUoR1BVRXJyb3JTY29wZXMqIGVycm9yU2NvcGVz
KQogCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIC8vIEdQVUJ1ZmZlciBj
cmVhdGlvbiB2YWxpZGF0aW9uIGVuc3VyZXMgbV9ieXRlU2l6ZSBmaXRzIGluIE5TVUludGVnZXIu
Ci0gICAgc3RhZ2luZ010bEJ1ZmZlciA9IGFkb3B0TlMoW21fZGV2aWNlLT5wbGF0Zm9ybURldmlj
ZSgpIG5ld0J1ZmZlcldpdGhMZW5ndGg6c3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4obV9ieXRlTGVu
Z3RoKSBvcHRpb25zOk1UTFJlc291cmNlQ1BVQ2FjaGVNb2RlRGVmYXVsdENhY2hlXSk7CisgICAg
c3RhZ2luZ010bEJ1ZmZlciA9IGFkb3B0TlMoW21fZGV2aWNlLT5wbGF0Zm9ybURldmljZSgpIG5l
d0J1ZmZlcldpdGhCeXRlczptX3N0YWdpbmdCdWZmZXItPmRhdGEoKSBsZW5ndGg6c3RhdGljX2Nh
c3Q8TlNVSW50ZWdlcj4obV9ieXRlTGVuZ3RoKSBvcHRpb25zOk1UTFJlc291cmNlQ1BVQ2FjaGVN
b2RlRGVmYXVsdENhY2hlXSk7CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAogICAg
IGlmICghc3RhZ2luZ010bEJ1ZmZlciAmJiBlcnJvclNjb3BlcykgewpAQCAtMjM2LDggKzIzNiw2
IEBAIHZvaWQgR1BVQnVmZmVyOjpjb3B5U3RhZ2luZ0J1ZmZlclRvR1BVKEdQVUVycm9yU2NvcGVz
KiBlcnJvclNjb3BlcykKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1lbWNweShzdGFn
aW5nTXRsQnVmZmVyLmdldCgpLmNvbnRlbnRzLCBtX3N0YWdpbmdCdWZmZXItPmRhdGEoKSwgbV9i
eXRlTGVuZ3RoKTsKLQogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAogICAgIGF1
dG8gY29tbWFuZEJ1ZmZlciA9IHJldGFpblB0cihbcXVldWUgY29tbWFuZEJ1ZmZlcl0pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRl
eHR1cmVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2Nv
YS9HUFVUZXh0dXJlTWV0YWwubW0KaW5kZXggNWRiMWRhYTQ1NTY5N2Y1MzA1M2M4NGFmNTBkZGVk
ODE1NTQ3N2U3ZC4uYjc5YzgxNTVmNjkzM2JjZjRmMDMxYmI5YmM1YmZhY2M4YzY1ZTk1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRl
eHR1cmVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
Y29jb2EvR1BVVGV4dHVyZU1ldGFsLm1tCkBAIC00MiwxMiArNDIsMTEgQEAgc3RhdGljIE1UTFRl
eHR1cmVUeXBlIG10bFRleHR1cmVUeXBlRm9yR1BVVGV4dHVyZURlc2NyaXB0b3IoY29uc3QgR1BV
VGV4dHVyZURlc2MKIHsKICAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9uKSB7CiAgICAg
Y2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6Ci0gICAgICAgIHJldHVybiAoZGVzY3JpcHRv
ci5hcnJheUxheWVyQ291bnQgPT0gMSkgPyBNVExUZXh0dXJlVHlwZTFEIDogTVRMVGV4dHVyZVR5
cGUxREFycmF5OworICAgICAgICByZXR1cm4gKGRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHQgPT0gMSkg
PyBNVExUZXh0dXJlVHlwZTFEIDogTVRMVGV4dHVyZVR5cGUxREFycmF5OwogICAgIGNhc2UgR1BV
VGV4dHVyZURpbWVuc2lvbjo6XzJkOiB7Ci0gICAgICAgIGlmIChkZXNjcmlwdG9yLmFycmF5TGF5
ZXJDb3VudCA9PSAxKQorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLmRlcHRoID09IDEpCiAg
ICAgICAgICAgICByZXR1cm4gKGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgPT0gMSkgPyBNVExUZXh0
dXJlVHlwZTJEIDogTVRMVGV4dHVyZVR5cGUyRE11bHRpc2FtcGxlOwotCi0gICAgICAgIHJldHVy
biBNVExUZXh0dXJlVHlwZTJEQXJyYXk7CisgICAgICAgIHJldHVybiBNVExUZXh0dXJlVHlwZTJE
QXJyYXk7IC8vIE1UTFRleHR1cmVUeXBlMkRNdWx0aXNhbXBsZUFycmF5IGlzIHVuYXZhaWxhYmxl
IG9uIGlPUy4KICAgICB9CiAgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfM2Q6CiAgICAg
ICAgIHJldHVybiBNVExUZXh0dXJlVHlwZTNEOwpAQCAtNjUsNyArNjQsNyBAQCBzdGF0aWMgT3B0
aW9uYWw8TVRMVGV4dHVyZVVzYWdlPiBtdGxUZXh0dXJlVXNhZ2VGb3JHUFVUZXh0dXJlVXNhZ2VG
bGFncyhPcHRpb25TZQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIH0KIAotICAg
IE1UTFRleHR1cmVVc2FnZSByZXN1bHQgPSBNVExUZXh0dXJlVXNhZ2VQaXhlbEZvcm1hdFZpZXc7
CisgICAgTVRMVGV4dHVyZVVzYWdlIHJlc3VsdCA9IDA7CiAgICAgaWYgKGZsYWdzLmNvbnRhaW5z
KEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6Ok91dHB1dEF0dGFjaG1lbnQpKQogICAgICAgICByZXN1
bHQgfD0gTVRMVGV4dHVyZVVzYWdlUmVuZGVyVGFyZ2V0OwogICAgIGlmIChmbGFncy5jb250YWlu
c0FueSh7IEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6OlN0b3JhZ2UsIEdQVVRleHR1cmVVc2FnZTo6
RmxhZ3M6OlNhbXBsZWQgfSkpCkBAIC0xMDIsNyArMTAxLDI0IEBAIHN0YXRpYyBSZXRhaW5QdHI8
TVRMVGV4dHVyZURlc2NyaXB0b3I+IHRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKGNvbnN0
IGNoYXIqCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBB
ZGQgbW9yZSB2YWxpZGF0aW9uIGFzIGNvbnN0cmFpbnRzIGFyZSBhZGRlZCB0byBzcGVjLgorICAg
IHVuc2lnbmVkIHdpZHRoID0gZGVzY3JpcHRvci5zaXplLndpZHRoOworICAgIHVuc2lnbmVkIGhl
aWdodCA9IDE7CisgICAgdW5zaWduZWQgZGVwdGggPSAxOworICAgIHVuc2lnbmVkIGFycmF5TGVu
Z3RoID0gMTsKKyAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9uKSB7CisgICAgY2FzZSBH
UFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGFycmF5TGVuZ3RoID0gZGVzY3JpcHRv
ci5zaXplLmhlaWdodDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5z
aW9uOjpfMmQ6CisgICAgICAgIGhlaWdodCA9IGRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHQ7CisgICAg
ICAgIGFycmF5TGVuZ3RoID0gZGVzY3JpcHRvci5zaXplLmRlcHRoOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8zZDoKKyAgICAgICAgaGVpZ2h0ID0gZGVz
Y3JpcHRvci5zaXplLmhlaWdodDsKKyAgICAgICAgZGVwdGggPSBkZXNjcmlwdG9yLnNpemUuZGVw
dGg7CisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIGF1dG8gcGl4ZWxGb3JtYXQgPSBzdGF0
aWNfY2FzdDxNVExQaXhlbEZvcm1hdD4ocGxhdGZvcm1UZXh0dXJlRm9ybWF0Rm9yR1BVVGV4dHVy
ZUZvcm1hdChkZXNjcmlwdG9yLmZvcm1hdCkpOwogCiAgICAgYXV0byBtdGxVc2FnZSA9IG10bFRl
eHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKHVzYWdlLCBmdW5jdGlvbk5hbWUpOwpA
QCAtMTE3LDEwICsxMzMsMTAgQEAgc3RhdGljIFJldGFpblB0cjxNVExUZXh0dXJlRGVzY3JpcHRv
cj4gdHJ5Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3IoY29uc3QgY2hhcioKIAogICAgIEJFR0lO
X0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAotICAgIFttdGxEZXNjcmlwdG9yIHNldFdpZHRoOmRl
c2NyaXB0b3Iuc2l6ZS53aWR0aF07Ci0gICAgW210bERlc2NyaXB0b3Igc2V0SGVpZ2h0OmRlc2Ny
aXB0b3Iuc2l6ZS5oZWlnaHRdOwotICAgIFttdGxEZXNjcmlwdG9yIHNldERlcHRoOmRlc2NyaXB0
b3Iuc2l6ZS5kZXB0aF07Ci0gICAgW210bERlc2NyaXB0b3Igc2V0QXJyYXlMZW5ndGg6ZGVzY3Jp
cHRvci5hcnJheUxheWVyQ291bnRdOworICAgIFttdGxEZXNjcmlwdG9yIHNldFdpZHRoOndpZHRo
XTsKKyAgICBbbXRsRGVzY3JpcHRvciBzZXRIZWlnaHQ6aGVpZ2h0XTsKKyAgICBbbXRsRGVzY3Jp
cHRvciBzZXREZXB0aDpkZXB0aF07CisgICAgW210bERlc2NyaXB0b3Igc2V0QXJyYXlMZW5ndGg6
YXJyYXlMZW5ndGhdOwogICAgIFttdGxEZXNjcmlwdG9yIHNldE1pcG1hcExldmVsQ291bnQ6ZGVz
Y3JpcHRvci5taXBMZXZlbENvdW50XTsKICAgICBbbXRsRGVzY3JpcHRvciBzZXRTYW1wbGVDb3Vu
dDpkZXNjcmlwdG9yLnNhbXBsZUNvdW50XTsKICAgICBbbXRsRGVzY3JpcHRvciBzZXRUZXh0dXJl
VHlwZTptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9yKGRlc2NyaXB0b3IpXTsK
QEAgLTEzNCw3ICsxNTAsNyBAQCBzdGF0aWMgUmV0YWluUHRyPE1UTFRleHR1cmVEZXNjcmlwdG9y
PiB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihjb25zdCBjaGFyKgogICAgIHJldHVybiBt
dGxEZXNjcmlwdG9yOwogfQogCi1SZWZQdHI8R1BVVGV4dHVyZT4gR1BVVGV4dHVyZTo6dHJ5Q3Jl
YXRlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0dXJlRGVzY3JpcHRvciYg
ZGVzY3JpcHRvcikKK1JlZlB0cjxHUFVUZXh0dXJlPiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoY29u
c3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlw
dG9yLCBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMpCiB7CiAgICAgY29uc3QgY2hhciogY29u
c3QgZnVuY3Rpb25OYW1lID0gIkdQVVRleHR1cmU6OnRyeUNyZWF0ZSgpIjsKIApAQCAtMTQzLDYg
KzE1OSwxMSBAQCBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVVGV4dHVyZTo6dHJ5Q3JlYXRlKGNvbnN0
IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0dQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKKyAgICBpZiAoIVtkZXZpY2UucGxhdGZvcm1EZXZpY2UoKSBzdXBwb3J0c1Rl
eHR1cmVTYW1wbGVDb3VudDpkZXNjcmlwdG9yLnNhbXBsZUNvdW50XSkgeworICAgICAgICBlcnJv
clNjb3Blcy5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRldmljZSBkb2VzIG5vdCBzdXBwb3J0IHRo
aXMgc2FtcGxlIGNvdW50LiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKwogICAgIGF1
dG8gdXNhZ2UgPSBPcHRpb25TZXQ8R1BVVGV4dHVyZVVzYWdlOjpGbGFncz46OmZyb21SYXcoZGVz
Y3JpcHRvci51c2FnZSk7CiAgICAgYXV0byBtdGxEZXNjcmlwdG9yID0gdHJ5Q3JlYXRlTXRsVGV4
dHVyZURlc2NyaXB0b3IoZnVuY3Rpb25OYW1lLCBkZXNjcmlwdG9yLCB1c2FnZSk7CiAgICAgaWYg
KCFtdGxEZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGViNWJkMjhlMmE5M2E0NGZiMzVkOWVmNTk2NmNjMjY3
NWVhZjVkMjMuLjhkNzRhZTFiNzAyYTZmYzI2N2VlYjhjMTkzOWE5NTYyOGY2ZTU3MWEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNS0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFZhbGlkYXRpb24gZm9yIEdQVURldmlj
ZS5jcmVhdGVUZXh0dXJlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMTg4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjMyMTU5OTk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJncHUvYmxp
dC1jb21tYW5kcy10ZXh0dXJlLXRvLXRleHR1cmUuaHRtbDogVXBkYXRlZC4KKyAgICAgICAgICBS
ZXdyb3RlIHBhcnQgb2YgdGhlIHRlc3QgdG8gYXZvaWQgaGl0dGluZyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMDEzCisgICAgICAgICogd2ViZ3B1L3RleHR1cmUt
Y3JlYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvdGV4dHVyZS1j
cmVhdGlvbi5odG1sOiBBZGRlZC4KKwogMjAyMC0wNS0xMyAgS2VubmV0aCBSdXNzZWxsICA8a2Jy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBFbmFibGUgd2ViZ2xfY2FudmFzLyB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2JsaXQtY29tbWFuZHMtdGV4dHVyZS10by10ZXh0
dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJncHUvYmxpdC1jb21tYW5kcy10ZXh0dXJlLXRvLXRl
eHR1cmUuaHRtbAppbmRleCA0ODFmZjEzMWY3NDJhZTlkZjdhNDI5NTY1Mjk5NWY1ZDhhMjMyM2Jk
Li5kMWJmNjQxN2VkZGFhOGU3OTZlMTc5NTlkNmQxMDczN2M1NjI5ZTczIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy93ZWJncHUvYmxpdC1jb21tYW5kcy10ZXh0dXJlLXRvLXRleHR1cmUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJncHUvYmxpdC1jb21tYW5kcy10ZXh0dXJlLXRvLXRleHR1cmUu
aHRtbApAQCAtMTEsMTEgKzExLDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLWZ1bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNhbnZh
czJkKGRldmljZSwgY2FudmFzMmQpIHsKK2FzeW5jIGZ1bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNh
bnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKICAgICBjb25zdCB0ZXh0dXJlU2l6ZSA9IHsKICAg
ICAgICAgd2lkdGg6ICBjYW52YXMyZC53aWR0aCwKICAgICAgICAgaGVpZ2h0OiBjYW52YXMyZC5o
ZWlnaHQsCi0gICAgICAgIGRlcHRoOiAgMQorICAgICAgICBkZXB0aDogIDIKICAgICB9OwogCiAg
ICAgLy8gTWlwbWFwIGNvdW50CkBAIC0yNSw3ICsyNSw2IEBAIGZ1bmN0aW9uIGxvYWRUZXh0dXJl
RnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKIAogICAgIGNvbnN0IHRleHR1cmVEZXNj
cmlwdG9yID0gewogICAgICAgICBzaXplOiB0ZXh0dXJlU2l6ZSwKLSAgICAgICAgYXJyYXlMYXll
ckNvdW50OiAyLAogICAgICAgICBtaXBMZXZlbENvdW50OiBtaXBMZXZlbENvdW50LAogICAgICAg
ICBzYW1wbGVDb3VudDogMSwKICAgICAgICAgZGltZW5zaW9uOiAiMmQiLApAQCAtMzUsNiArMzQs
NyBAQCBmdW5jdGlvbiBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2UsIGNhbnZhczJkKSB7
CiAKICAgICAvLyBDcmVhdGUgdGV4dHVyZSBhbmQgYWxzbyBhZGQgdGhlIGRlc2NyaXB0b3IKICAg
ICBjb25zdCB0ZXh0dXJlID0gZGV2aWNlLmNyZWF0ZVRleHR1cmUodGV4dHVyZURlc2NyaXB0b3Ip
OworICAgIHRleHR1cmVTaXplLmRlcHRoID0gMTsKICAgICB0ZXh0dXJlLmRlc2NyaXB0b3IgPSB0
ZXh0dXJlRGVzY3JpcHRvcjsKIAogICAgIC8vIFRleHR1cmUgZGF0YSAKQEAgLTQzLDEwICs0Mywx
MSBAQCBmdW5jdGlvbiBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2UsIGNhbnZhczJkKSB7
CiAKICAgICBjb25zdCB0ZXh0dXJlRGF0YUJ1ZmZlckRlc2NyaXB0b3IgPSB7CiAgICAgICAgIHNp
emU6IGltYWdlRGF0YS5kYXRhLmxlbmd0aCwKLSAgICAgICAgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdl
LkNPUFlfU1JDCisgICAgICAgIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5DT1BZX1NSQyB8IEdQVUJ1
ZmZlclVzYWdlLk1BUF9XUklURQogICAgIH07Ci0gICAgY29uc3QgW3RleHR1cmVEYXRhQnVmZmVy
LCB0ZXh0dXJlQXJyYXlCdWZmZXJdID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlck1hcHBlZCh0ZXh0dXJl
RGF0YUJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIAorICAgIGNvbnN0IHRleHR1cmVEYXRhQnVmZmVy
ID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih0ZXh0dXJlRGF0YUJ1ZmZlckRlc2NyaXB0b3IpOworCisg
ICAgY29uc3QgdGV4dHVyZUFycmF5QnVmZmVyID0gYXdhaXQgdGV4dHVyZURhdGFCdWZmZXIubWFw
V3JpdGVBc3luYygpOwogICAgIGNvbnN0IHRleHR1cmVXcml0ZUFycmF5ID0gbmV3IFVpbnQ4QXJy
YXkodGV4dHVyZUFycmF5QnVmZmVyKTsKICAgICB0ZXh0dXJlV3JpdGVBcnJheS5zZXQoaW1hZ2VE
YXRhLmRhdGEpOwogICAgIHRleHR1cmVEYXRhQnVmZmVyLnVubWFwKCk7CkBAIC01NSw3ICs1Niw3
IEBAIGZ1bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsK
ICAgICAgICAgYnVmZmVyOiB0ZXh0dXJlRGF0YUJ1ZmZlciwKICAgICAgICAgb2Zmc2V0OiAwLAog
ICAgICAgICByb3dQaXRjaDogY2FudmFzMmQud2lkdGggKiA0LAotICAgICAgICBpbWFnZUhlaWdo
dDogMAorICAgICAgICBpbWFnZUhlaWdodDogY2FudmFzMmQud2lkdGggKiBjYW52YXMyZC5oZWln
aHQgKiA0CiAgICAgfTsKICAgICBjb25zdCB0ZXh0dXJlQ29weVZpZXcgPSB7CiAgICAgICAgIHRl
eHR1cmU6IHRleHR1cmUsCkBAIC03OCwxMiArNzksMTIgQEAgYXN5bmMgZnVuY3Rpb24gdGVzdChk
ZXZpY2UpIHsKICAgICAvLyB0ZXh0dXJlQSAobGF5ZXIgMCwgbWlwIDApOiBHcmVlbgogICAgIGNv
bnRleHQyZC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCknOwogICAgIGNvbnRleHQyZC5maWxs
UmVjdCgwLCAwLCBjYW52YXMyZC53aWR0aCwgY2FudmFzMmQuaGVpZ2h0KTsKLSAgICBjb25zdCB0
ZXh0dXJlQSA9IGxvYWRUZXh0dXJlRnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpOworICAg
IGNvbnN0IHRleHR1cmVBID0gYXdhaXQgbG9hZFRleHR1cmVGcm9tQ2FudmFzMmQoZGV2aWNlLCBj
YW52YXMyZCk7CiAKICAgICAvLyB0ZXh0dXJlQiAobGF5ZXIgMCwgbWlwIDApOiBSZWQKICAgICBj
b250ZXh0MmQuZmlsbFN0eWxlID0gJ3JnYigyNTUsIDAsIDApJzsKICAgICBjb250ZXh0MmQuZmls
bFJlY3QoMCwgMCwgY2FudmFzMmQud2lkdGgsIGNhbnZhczJkLmhlaWdodCk7Ci0gICAgY29uc3Qg
dGV4dHVyZUIgPSBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2UsIGNhbnZhczJkKTsgCisg
ICAgY29uc3QgdGV4dHVyZUIgPSBhd2FpdCBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2Us
IGNhbnZhczJkKTsKIAogICAgIC8vIENsZWFuIGNhbnZhcyB0byBibHVlCiAgICAgY29udGV4dDJk
LmZpbGxTdHlsZSA9ICdyZ2IoMCwgMCwgMjU1KSc7CkBAIC0xNDAsNyArMTQxLDcgQEAgYXN5bmMg
ZnVuY3Rpb24gdGVzdChkZXZpY2UpIHsKICAgICBjb25zdCBidWZmZXJDb3B5VmlldyA9IHsKICAg
ICAgICAgYnVmZmVyOiBidWZmZXJBLAogICAgICAgICByb3dQaXRjaDogY2FudmFzMmQud2lkdGgg
KiA0LAotICAgICAgICBpbWFnZUhlaWdodDogMAorICAgICAgICBpbWFnZUhlaWdodDogY2FudmFz
MmQud2lkdGggKiBjYW52YXMyZC5oZWlnaHQgKiA0CiAgICAgfTsKICAgICBjb25zdCB0ZXh0dXJl
Q29weVZpZXcgPSB7CiAgICAgICAgIHRleHR1cmU6IHRleHR1cmVCCkBAIC0xNDksMTQgKzE1MCwx
MyBAQCBhc3luYyBmdW5jdGlvbiB0ZXN0KGRldmljZSkgewogCiAgICAgZGV2aWNlLmdldFF1ZXVl
KCkuc3VibWl0KFtibGl0Q29tbWFuZEVuY29kZXIuZmluaXNoKCldKTsKIAotICAgIGF3YWl0IGJ1
ZmZlckEubWFwUmVhZEFzeW5jKCkudGhlbihhYiA9PiB7Ci0gICAgICAgIGNvbnN0IGFycmF5ID0g
bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGFiKTsKLSAgICAgICAgY29uc3QgcmVzdWx0SW1hZ2VEYXRh
ID0gbmV3IEltYWdlRGF0YShhcnJheSwgY2FudmFzMmQud2lkdGgsIGNhbnZhczJkLmhlaWdodCk7
CisgICAgY29uc3QgYWIgPSBhd2FpdCBidWZmZXJBLm1hcFJlYWRBc3luYygpCisgICAgY29uc3Qg
YXJyYXkgPSBuZXcgVWludDhDbGFtcGVkQXJyYXkoYWIpOworICAgIGNvbnN0IHJlc3VsdEltYWdl
RGF0YSA9IG5ldyBJbWFnZURhdGEoYXJyYXksIGNhbnZhczJkLndpZHRoLCBjYW52YXMyZC5oZWln
aHQpOwogCi0gICAgICAgIGNvbnRleHQyZC5wdXRJbWFnZURhdGEocmVzdWx0SW1hZ2VEYXRhLCAw
LCAwKTsKKyAgICBjb250ZXh0MmQucHV0SW1hZ2VEYXRhKHJlc3VsdEltYWdlRGF0YSwgMCwgMCk7
CiAKLSAgICAgICAgYnVmZmVyQS5kZXN0cm95KCk7Ci0gICAgfSk7CisgICAgYnVmZmVyQS5kZXN0
cm95KCk7CiB9CiAKIGdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9idWZmZXItZXJyb3JzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJncHUvYnVmZmVyLWVycm9ycy5odG1sCmluZGV4IGQ3NzdjMDc0NGRhMmQxNzE2ZDEz
ODA3MDc1Yjk2NzdiMDlmODJmZjAuLjBmYTE0NTgzOWZmMzMwYjUwYzM4NzNiMDA0NjE0YTIyM2Y5
NTlmYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9idWZmZXItZXJyb3JzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2J1ZmZlci1lcnJvcnMuaHRtbApAQCAtMTU1LDQgKzE1
NSw0IEBAIGNvbnN0IGFzc2VydEFsbEJ1ZmZlck1ldGhvZHNGYWlsID0gYXN5bmMgKGRldmljZSwg
YnVmZmVyKSA9PiB7CiAKIHJ1blRlc3RzV2l0aERldmljZSh0ZXN0cyk7CiA8L3NjcmlwdD4KLTwv
Ym9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJncHUvZXJyb3Itc2NvcGVzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCmluZGV4IDg1NmFmYThlZGMxYTFlNzI0MDJjNjY2
NmU0ZTM4ZjhmMzM1OGZhNjQuLjQzZWIxMzk3Mjg2MGYwZTkyZGIwZTM5MjFlZWI3NjBjMzVkNDBk
MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCkBAIC05Nyw0
ICs5Nyw0IEBAIGNvbnN0IGNhdXNlVmFsaWRhdGlvbkVycm9yID0gZGV2aWNlID0+IGRldmljZS5j
cmVhdGVCdWZmZXIoeyBzaXplOiA0LCB1c2FnZTogR1BVCiBjb25zdCBjYXVzZU1lbW9yeUVycm9y
ID0gZGV2aWNlID0+IGRldmljZS5jcmVhdGVCdWZmZXIoeyBzaXplOiA5OTk5OTk5OTk5OSwgdXNh
Z2U6IEdQVUJ1ZmZlclVzYWdlLk5PTkUgfSk7CiAKIDwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdwdS90ZXh0dXJlLWNyZWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS90
ZXh0dXJlLWNyZWF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMWFiZjE5NTIzYTZjOWRm
YzQxN2FhZTlmZjlkZWJiNzgzNTAxODlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ3B1L3RleHR1cmUtY3JlYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTUgQEAKKwor
UEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExl
dmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1
c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVw
dGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJn
YmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhl
aWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDNk
IGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Yg
d2lkdGggLTEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBk
aW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEg
dGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAtMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1w
bGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1Mg
Q3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggLTEgbWlwTGV2ZWxD
b3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdl
IDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAx
IG1pcExldmVsQ291bnQgLTEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4
dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdo
dCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IC0xIGRpbWVuc2lvbiAyZCBm
b3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1l
bnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgLTEuIAorUEFTUyBDcmVhdGluZyBhIHRl
eHR1cmUgb2Ygd2lkdGggMCBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVD
b3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3Jl
YXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDAgZGVwdGggMSBtaXBMZXZlbENvdW50
IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4g
CitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDAgbWlw
TGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBk
ZXB0aCAxIG1pcExldmVsQ291bnQgMCBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQg
cmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEg
aGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMCBkaW1lbnNpb24g
MmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBv
ZiB3aWR0aCAxMDAwMCBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3Vu
dCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRp
bmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDMwMDAgZGVwdGggMSBtaXBMZXZlbENvdW50
IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMWQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4g
CitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxMDAwMCBoZWlnaHQgMSBkZXB0aCAx
IG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1
bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0
IDEwMDAwIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJk
IGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Yg
d2lkdGggMSBoZWlnaHQgMSBkZXB0aCAzMDAwIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAx
IGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcg
YSB0ZXh0dXJlIG9mIHdpZHRoIDMwMDAgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEg
c2FtcGxlQ291bnQgMSBkaW1lbnNpb24gM2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQ
QVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAzMDAwIGRlcHRoIDEgbWlw
TGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDNkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBk
ZXB0aCAzMDAwIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAzZCBmb3Jt
YXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRo
IDIgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDIgc2FtcGxlQ291bnQgMSBkaW1lbnNp
b24gMWQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVy
ZSBvZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAyIHNhbXBsZUNvdW50
IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGlu
ZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMiBz
YW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BB
U1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMiBtaXBMZXZl
bENvdW50IDIgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gM2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNh
Z2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRo
IDEgbWlwTGV2ZWxDb3VudCAzIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2Jh
OHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWln
aHQgMiBkZXB0aCAyIG1pcExldmVsQ291bnQgMyBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAzZCBm
b3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMiBkaW1l
bnNpb24gMWQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4
dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNv
dW50IDIgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVh
dGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMiBkZXB0aCAxIG1pcExldmVsQ291bnQg
MSBzYW1wbGVDb3VudCAyIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAK
K1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMSBtaXBM
ZXZlbENvdW50IDIgc2FtcGxlQ291bnQgMiBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0g
dXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRl
cHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDIgZGltZW5zaW9uIDNkIGZvcm1hdCBy
Z2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBo
ZWlnaHQgMiBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAzIGRpbWVuc2lvbiAy
ZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9m
IHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMzAw
IGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcg
YSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMiBtaXBMZXZlbENvdW50IDEgc2Ft
cGxlQ291bnQgMiBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNT
IENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxD
b3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDFkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdl
IDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMiBkZXB0aCAx
IG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1
bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0
IDEgZGVwdGggMiBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMWQgZm9y
bWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0
aCAyIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5z
aW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1
cmUgb2Ygd2lkdGggMSBoZWlnaHQgMiBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3Vu
dCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRp
bmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMiBtaXBMZXZlbENvdW50IDEg
c2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQ
QVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2
ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDFkIGZvcm1hdCBkZXB0aDMyZmxvYXQt
c3RlbmNpbDggdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhl
aWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJk
IGZvcm1hdCBkZXB0aDMyZmxvYXQtc3RlbmNpbDggdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEg
dGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBs
ZUNvdW50IDIgZGltZW5zaW9uIDJkIGZvcm1hdCBkZXB0aDMyZmxvYXQtc3RlbmNpbDggdXNhZ2Ug
MC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEg
bWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIGdhcmJhZ2UgZm9ybWF0IHJn
YmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhl
aWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJk
IGZvcm1hdCBnYXJiYWdlIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lk
dGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVu
c2lvbiAyZCBmb3JtYXQgcmdiYTh1aW50IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1
cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3Vu
dCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgYmdyYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRp
bmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEg
c2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IGJncmE4dW5vcm0tc3JnYiB1c2FnZSAw
LiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBt
aXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmExNmZs
b2F0IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQg
MSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3Jt
YXQgcmdiYTh1bm9ybSB1c2FnZSAxMDAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1l
bnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMzEuIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1
L3RleHR1cmUtY3JlYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YTFlY2I1MzRhNDM1ZDhmNDQzZjJl
ZTNiMWIxMDE3NmJkNzRmZWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1
L3RleHR1cmUtY3JlYXRpb24uaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciBjcmVhdGluZyB0ZXh0dXJl
IHZpZXdzLjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+Cithc3luYyBmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICBsZXQgdGVzdHMgPSBbCisgICAg
ICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2Ft
cGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdl
OiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRo
OiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBm
b3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7
d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNv
dW50OiAxLCBkaW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwg
c3VjY2VzczogdHJ1ZX0sCisKKyAgICAgICAgLy8gVGVzdCBuZWdhdGl2ZSB2YWx1ZXMKKyAgICAg
ICAge3dpZHRoOiAtMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2Ft
cGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdl
OiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAtMSwgZGVw
dGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIs
IGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IC0xLCBtaXBMZXZlbENvdW50OiAxLCBzYW1w
bGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6
IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRo
OiAxLCBtaXBMZXZlbENvdW50OiAtMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAg
IHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxl
Q291bnQ6IC0xLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTog
MCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6
IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZv
cm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogLTEsIHN1Y2Nlc3M6IGZhbHNlfSwKKworICAgICAg
ICAvLyBUZXN0IHplcm8gdmFsdWVzCisgICAgICAgIHt3aWR0aDogMCwgaGVpZ2h0OiAxLCBkZXB0
aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAg
IHt3aWR0aDogMSwgaGVpZ2h0OiAwLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxl
Q291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAw
LCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDog
MCwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9y
bWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3
aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMCwgc2FtcGxlQ291
bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBz
dWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwg
bWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDAsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0
OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAgICAgLy8g
VGVzdCBtYXhpbXVtIHNpemVzCisgICAgICAgIHt3aWR0aDogMTAwMDAsIGhlaWdodDogMSwgZGVw
dGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIs
IGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMzAwMCwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNh
bXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2Fn
ZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEwMDAwLCBoZWlnaHQ6IDEs
IGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAi
MmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAg
ICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEwMDAwLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDog
MSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIs
IHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAx
LCBkZXB0aDogMzAwMCwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lv
bjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0s
CisgICAgICAgIHt3aWR0aDogMzAwMCwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3Vu
dDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1bm9y
bSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0
OiAzMDAwLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVu
c2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxz
ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMzAwMCwgbWlwTGV2ZWxD
b3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1
bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAgICAgLy8gVGVzdCBtaXBt
YXBwZWQgdGV4dHVyZXMKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBt
aXBMZXZlbENvdW50OiAyLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMWQiLCBmb3JtYXQ6
ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRo
OiAyLCBoZWlnaHQ6IDIsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAyLCBzYW1wbGVDb3VudDog
MSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nl
c3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExl
dmVsQ291bnQ6IDIsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJn
YmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMiwg
aGVpZ2h0OiAyLCBkZXB0aDogMiwgbWlwTGV2ZWxDb3VudDogMiwgc2FtcGxlQ291bnQ6IDEsIGRp
bWVuc2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0
cnVlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDIsIGRlcHRoOiAxLCBtaXBMZXZlbENv
dW50OiAzLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWln
aHQ6IDIsIGRlcHRoOiAyLCBtaXBMZXZlbENvdW50OiAzLCBzYW1wbGVDb3VudDogMSwgZGltZW5z
aW9uOiAiM2QiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNl
fSwKKworICAgICAgICAvLyBUZXN0IG11bHRpc2FtcGxpbmcKKyAgICAgICAge3dpZHRoOiAxLCBo
ZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMiwgZGlt
ZW5zaW9uOiAiMWQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZh
bHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENv
dW50OiAxLCBzYW1wbGVDb3VudDogMiwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdo
dDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAyLCBkaW1lbnNp
b246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0s
CisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDog
Miwgc2FtcGxlQ291bnQ6IDIsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIs
IHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAx
LCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDIsIGRpbWVuc2lvbjog
IjNkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisg
ICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwg
c2FtcGxlQ291bnQ6IDMsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVz
YWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBk
ZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDMwMCwgZGltZW5zaW9uOiAi
MmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAg
ICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDIsIGRlcHRoOiAyLCBtaXBMZXZlbENvdW50OiAxLCBz
YW1wbGVDb3VudDogMiwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNh
Z2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKworICAgICAgICAvLyBUZXN0IGRpbWVuc2lvbgorICAg
ICAgICB7d2lkdGg6IDIsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNh
bXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2Fn
ZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAyLCBkZXB0
aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAg
e3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAyLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVD
b3VudDogMSwgZGltZW5zaW9uOiAiMWQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAs
IHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDEsIGRlcHRoOiAx
LCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3Jt
YXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lk
dGg6IDEsIGhlaWdodDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50
OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3Vj
Y2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMiwgbWlw
TGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAi
cmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKworICAgICAgICAvLyBUZXN0
IGRlcHRoIHRleHR1cmVzCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwg
bWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0
OiAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAg
ICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBz
YW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJkZXB0aDMyZmxvYXQtc3Rl
bmNpbDgiLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVp
Z2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDIsIGRpbWVu
c2lvbjogIjJkIiwgZm9ybWF0OiAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiwgdXNhZ2U6IDAsIHN1
Y2Nlc3M6IGZhbHNlfSwKKworICAgICAgICAvLyBUZXN0IGVudW1zCisgICAgICAgIHt3aWR0aDog
MSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEs
IGRpbWVuc2lvbjogImdhcmJhZ2UiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1
Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBt
aXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6
ICJnYXJiYWdlIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAx
LCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwg
ZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVpbnQiLCB1c2FnZTogMCwgc3VjY2Vzczog
dHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxD
b3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAiYmdyYTh1
bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWln
aHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5z
aW9uOiAiMmQiLCBmb3JtYXQ6ICJiZ3JhOHVub3JtLXNyZ2IiLCB1c2FnZTogMCwgc3VjY2Vzczog
dHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxD
b3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTE2
ZmxvYXQiLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisKKyAgICAgICAgLy8gVGVzdCB1c2Fn
ZQorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6
IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0i
LCB1c2FnZTogMTAwMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdo
dDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNp
b246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogR1BVVGV4dHVyZVVzYWdlLkNP
UFlfU1JDIHwgR1BVVGV4dHVyZVVzYWdlLkNPUFlfRFNUIHwgR1BVVGV4dHVyZVVzYWdlLlNBTVBM
RUQgfCBHUFVUZXh0dXJlVXNhZ2UuU1RPUkFHRSB8IEdQVVRleHR1cmVVc2FnZS5PVVRQVVRfQVRU
QUNITUVOVCwgc3VjY2VzczogdHJ1ZX0sCisgICAgXTsKKyAgICBmb3IgKGxldCB0ZXN0IG9mIHRl
c3RzKSB7CisgICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiB7CisgICAgICAgIHJldHVybiBnZXRC
YXNpY0RldmljZSgpLnRoZW4oYXN5bmMgZnVuY3Rpb24oZGV2aWNlKSB7CisgICAgICAgICAgICBs
ZXQgY2F1Z2h0ID0gZmFsc2U7CisgICAgICAgICAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZh
bGlkYXRpb24iKTsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgbGV0IHRleHR1
cmUgPSBkZXZpY2UuY3JlYXRlVGV4dHVyZSh7c2l6ZToge3dpZHRoOiB0ZXN0LndpZHRoLCBoZWln
aHQ6IHRlc3QuaGVpZ2h0LCBkZXB0aDogdGVzdC5kZXB0aH0sIG1pcExldmVsQ291bnQ6IHRlc3Qu
bWlwTGV2ZWxDb3VudCwgc2FtcGxlQ291bnQ6IHRlc3Quc2FtcGxlQ291bnQsIGRpbWVuc2lvbjog
dGVzdC5kaW1lbnNpb24sIGZvcm1hdDogdGVzdC5mb3JtYXQsIHVzYWdlOiB0ZXN0LnVzYWdlfSk7
CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUodGV4dHVyZSBpbnN0YW5jZW9mIEdQVVRleHR1
cmUsICJDYW5ub3QgY3JlYXRlIHRleHR1cmUuIik7CisgICAgICAgICAgICB9IGNhdGNoIHsKKyAg
ICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSghdGVzdC5zdWNjZXNzLCAiQ3JlYXRpbmcgdGV4dHVy
ZSBzaG91bGQgIiArICh0ZXN0LnN1Y2Nlc3MgPyAibm90ICIgOiAiIikgKyAiZmFpbC4iKTsKKyAg
ICAgICAgICAgICAgICBjYXVnaHQgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YXdhaXQgZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGZ1bmN0aW9uKGVycm9yKSB7CisgICAg
ICAgICAgICAgICAgaWYgKHRlc3Quc3VjY2VzcykgeworICAgICAgICAgICAgICAgICAgICBsZXQg
bWVzc2FnZSA9ICJDb3VsZCBub3QgY3JlYXRlIHRleHR1cmU6ICI7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChlcnJvciAmJiBlcnJvci5tZXNzYWdlKQorICAgICAgICAgICAgICAgICAgICAgICAg
bWVzc2FnZSArPSBlcnJvci5tZXNzYWdlOworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKGVycm9yLCBudWxsLCAiQ291bGQgbm90IGNyZWF0ZSB0ZXh0dXJlOiAiICsgbWVzc2FnZSk7
CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghY2F1Z2h0KSB7CisgICAgICAgICAgICAgICAg
ICAgIGxldCBtZXNzYWdlID0gIkNyZWF0ZWQgdGV4dHVyZTogIjsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGVycm9yICYmIGVycm9yLm1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgICAgICBt
ZXNzYWdlICs9IGVycm9yLm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVl
KCEhKGNhdWdodCB8fCBlcnJvciksICJDcmVhdGVkIHRleHR1cmUgd2hlbiBzaG91bGRuJ3QgaGF2
ZTogIiArIG1lc3NhZ2UpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiZGV2aWNlIGxvc3Qi
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LCBmdW5jdGlvbihlKSB7CisgICAgICAgIH0p
OworICAgIH0sIGBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggJHt0ZXN0LndpZHRofSBoZWln
aHQgJHt0ZXN0LmhlaWdodH0gZGVwdGggJHt0ZXN0LmRlcHRofSBtaXBMZXZlbENvdW50ICR7dGVz
dC5taXBMZXZlbENvdW50fSBzYW1wbGVDb3VudCAke3Rlc3Quc2FtcGxlQ291bnR9IGRpbWVuc2lv
biAke3Rlc3QuZGltZW5zaW9ufSBmb3JtYXQgJHt0ZXN0LmZvcm1hdH0gdXNhZ2UgJHt0ZXN0LnVz
YWdlfS5gKTsKKyAgICB9Cit9CisKK3J1blRlc3RzKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399633</attachid>
            <date>2020-05-18 02:03:00 -0700</date>
            <delta_ts>2020-05-18 11:16:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211882-20200518020259.patch</filename>
            <type>text/plain</type>
            <size>46053</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWViNGE2NjAxNDAwM2I0
NmVlMzM0NjY0YjUxNmNmMDdkZDJkYTZkZi4uNTdjYWY3Y2E3MjAyMjJlZGUwMzE3Njk3MmFkMGRk
NTIzNzMwZGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIwLTA1LTEzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
VmFsaWRhdGlvbiBmb3IgR1BVRGV2aWNlLmNyZWF0ZVRleHR1cmUoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODgyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82MzIxNTk5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgbG90cyBvZiB2YWxpZGF0aW9uIGZvciB0ZXh0dXJlIGNyZWF0aW9uLiBU
aGUgbG9naWMgd2FzIGdhdGhlcmVkIGZyb20KKyAgICAgICAgdHJpYWwgYW5kIGVycm9yLgorCisg
ICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCB3ZSBkaWRuJ3QgaGF2ZSBhbnkgdmFsaWRhdGlvbi4g
VGhpcyBpcyBhIGZpcnN0IHBhc3MsIGFzCisgICAgICAgIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIGlz
bid0IHNwZWxsZWQgb3V0IGluIHRoZSBzcGVjLiBOZXh0LCBJIHdpbGwgbWFrZSBhIHB1bGwKKyAg
ICAgICAgcmVxdWVzdCB0byB0aGUgc3BlYyB0byBtYXRjaCB0aGlzIHBhdGNoLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWxzbyB1cGRhdGVzIHRocmVlIHBpZWNlcyBvZiBvdXIgSURMIGZpbGVzIHRv
IG1hdGNoIHRoZSBzcGVjIGZvcgorICAgICAgICBXZWJHUFU6IE9uZSB0byByZW1vdmUgR1BVVGV4
dHVyZVVzYWdlLk5PTkUgd2hpY2ggd2FzIHJlcGxhY2VkIHdpdGgganVzdCAwLAorICAgICAgICBv
bmUgdG8gcmVtb3ZlIEdQVVRleHR1cmVEZXNjcmlwdG9yLmFycmF5TGF5ZXJDb3VudCwgd2hpY2gg
d2FzIGRlbGV0ZWQgaW4KKyAgICAgICAgZmF2b3Igb2YgdXNpbmcgcmVndWxhciBkaW1lbnNpb24g
ZmllbGRzLCBhbmQgb25lIHRvIGFkZCBbRW5mb3JjZVJhbmdlXSB0bworICAgICAgICB2YXJpb3Vz
IHZhbHVlcy4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gdXBkYXRlcyBHUFVEZXZpY2UgdG8g
aGF2ZSBhIEdQVUVycm9yU2NvcGVzIG9iamVjdCwgd2hpY2ggaXMKKyAgICAgICAgcmVxdWlyZWQg
Zm9yIGdvb2QgZXJyb3IgbWVzc2FnZXMuCisKKyAgICAgICAgVGVzdDogd2ViZ3B1L3RleHR1cmUt
Y3JlYXRpb24uaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR1BVRGV2aWNlOjp0cnlDcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2
aWNlOjpjcmVhdGVUZXh0dXJlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Om1heGltdW1NaXBMZXZlbENvdW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkdQVURldmljZTo6dHJ5Q3JlYXRlVGV4dHVyZSBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2
aWNlOjpzZXRFcnJvclNjb3Blcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUV4dGVudDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJh
c2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkdQVU9iamVjdEJhc2U6OmVycm9yU2NvcGVzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW06CisgICAg
ICAgIChXZWJDb3JlOjptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6Om10bFRleHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKToK
KyAgICAgICAgKFdlYkNvcmU6OnRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVRleHR1cmU6OnRyeUNyZWF0ZSk6CisKIDIwMjAtMDUtMTMgIEFuZHJl
cyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5l
Y2Vzc2FyeSBhc3NlcnQgaW4ge1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGF0dGFjaG1l
bnRWaWV3XS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4
dGVudDNELmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUV4dGVudDNELmlk
bAppbmRleCA1ZGZkY2UzMWI0OTRiMDg2MTZmNzIxNDUwODk0MGU5NDEzYzAxZmRjLi4xM2ExYjQ0
NzQxNjgxMDJhM2JmZGY0MDQyNmEwNDM2M2I3Y2I5NzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVFeHRlbnQzRC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvR1BVRXh0ZW50M0QuaWRsCkBAIC0yNCwxMyArMjQsMTMgQEAKICAqLwog
Ly8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxv
bmcgdTMyOwordHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJD
b29yZGluYXRlOwogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVCiBdIGRpY3Rpb25hcnkgR1BVRXh0ZW50M0QgewotICAgIHJlcXVpcmVkIHUz
MiB3aWR0aDsKLSAgICByZXF1aXJlZCB1MzIgaGVpZ2h0OwotICAgIHJlcXVpcmVkIHUzMiBkZXB0
aDsKKyAgICByZXF1aXJlZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSB3aWR0aDsKKyAgICByZXF1aXJl
ZCBHUFVJbnRlZ2VyQ29vcmRpbmF0ZSBoZWlnaHQ7CisgICAgcmVxdWlyZWQgR1BVSW50ZWdlckNv
b3JkaW5hdGUgZGVwdGg7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCmluZGV4IDQ0NTk1Mzg4ZWVlYzJhOTVjYzM4
MWQwN2Y3OGJiYjgwOTFiZGE3M2YuLjVkNjE4OGY5OTdhN2E3ZjM5OTBmZjIyOGY3MzlmMjVhMjZj
MDliZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1
cmVEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlRGVzY3JpcHRvci5pZGwKQEAgLTI0LDggKzI0LDkgQEAKICAqLwogLy8gaHR0cHM6Ly9n
cHV3ZWIuZ2l0aHViLmlvL2dwdXdlYgogCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwotdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIEdQVVRleHR1cmVVc2FnZUZsYWdzOwordHlwZWRlZiBbRW5mb3Jj
ZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUludGVnZXJDb29yZGluYXRlOwordHlwZWRlZiBbRW5m
b3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUzMjsKK3R5cGVkZWYgW0VuZm9yY2VSYW5n
ZV0gdW5zaWduZWQgbG9uZyBHUFVUZXh0dXJlVXNhZ2VGbGFnczsKIAogWwogICAgIEltcGxlbWVu
dGVkQXM9R1BVVGV4dHVyZURpbWVuc2lvbgpAQCAtNDAsOSArNDEsOCBAQCB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3M7CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJH
UFUKIF0gZGljdGlvbmFyeSBHUFVUZXh0dXJlRGVzY3JpcHRvciB7CiAgICAgcmVxdWlyZWQgR1BV
RXh0ZW50M0Qgc2l6ZTsKLSAgICB1MzIgYXJyYXlMYXllckNvdW50ID0gMTsKLSAgICB1MzIgbWlw
TGV2ZWxDb3VudCA9IDE7Ci0gICAgdTMyIHNhbXBsZUNvdW50ID0gMTsKKyAgICBHUFVJbnRlZ2Vy
Q29vcmRpbmF0ZSBtaXBMZXZlbENvdW50ID0gMTsKKyAgICBHUFVTaXplMzIgc2FtcGxlQ291bnQg
PSAxOwogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uID0gIjJkIjsKICAgICByZXF1
aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlVXNh
Z2VGbGFncyB1c2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L0dQVVRleHR1cmVVc2FnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVU
ZXh0dXJlVXNhZ2UuaWRsCmluZGV4IDAyZTg5MGNhNWRiYmNlMzE5ODljZDczYjQ4M2Q4MDdkN2Ri
ZmNkMTIuLjZiMzBiYjBlM2YwMTZiYjc3ODE4YTA4YTg0MDUzN2I4NDIxZmE5ODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZVVzYWdlLmlkbApAQCAt
MzIsNyArMzIsNiBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTMyOwogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNl
IEdQVVRleHR1cmVVc2FnZSB7Ci0gICAgY29uc3QgdTMyIE5PTkUgPSAwOwogICAgIGNvbnN0IHUz
MiBDT1BZX1NSQyA9IDE7CiAgICAgY29uc3QgdTMyIENPUFlfRFNUID0gMjsKICAgICBjb25zdCB1
MzIgU0FNUExFRCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcAppbmRleCA4MGIxZTYzYzQ2MDVmNzk0MDkzNzJmMzgxNzIwNTIzOTA5YmQwNWYw
Li5jYTAxYjEwMTVhZDYxY2NjMzlhZDMzOWI5YWRiN2JlNDY5ZjFiMWM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTk2LDggKzk2LDEx
IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXZWJHUFVEZXZpY2UpOwogCiBSZWZQdHI8
V2ViR1BVRGV2aWNlPiBXZWJHUFVEZXZpY2U6OnRyeUNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiBhZGFwdGVyKQogewotICAg
IGlmIChhdXRvIGRldmljZSA9IEdQVURldmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMo
KSkpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRleHQsIFdU
Rk1vdmUoYWRhcHRlciksIGRldmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CisgICAgaWYgKGF1dG8g
ZGV2aWNlID0gR1BVRGV2aWNlOjp0cnlDcmVhdGUoYWRhcHRlci0+b3B0aW9ucygpKSkgeworICAg
ICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0UmVmKG5ldyBXZWJHUFVEZXZpY2UoY29udGV4dCwgV1RG
TW92ZShhZGFwdGVyKSwgbWFrZVJlZigqZGV2aWNlKSkpOworICAgICAgICBkZXZpY2UtPnNldEVy
cm9yU2NvcGVzKHJlc3VsdC0+bV9lcnJvclNjb3Blcy5jb3B5UmVmKCkpOworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAtMTgwLDYgKzE4
Myw4IEBAIFZlY3RvcjxKU0M6OkpTVmFsdWU+IFdlYkdQVURldmljZTo6Y3JlYXRlQnVmZmVyTWFw
cGVkKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljCiAKIFJlZjxXZWJHUFVUZXh0dXJlPiBXZWJH
UFVEZXZpY2U6OmNyZWF0ZVRleHR1cmUoY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IpIGNvbnN0CiB7CisgICAgbV9lcnJvclNjb3Blcy0+c2V0RXJyb3JQcmVmaXgoIkdQVURl
dmljZS5jcmVhdGVUZXh0dXJlKCk6ICIpOworCiAgICAgYXV0byB0ZXh0dXJlID0gbV9kZXZpY2Ut
PnRyeUNyZWF0ZVRleHR1cmUoZGVzY3JpcHRvcik7CiAgICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6
OmNyZWF0ZShXVEZNb3ZlKHRleHR1cmUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVt
ZSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVt
ZXMvV2ViQ29yZS54Y3NjaGVtZQppbmRleCAxNTgyZTFhM2M1NmRmOWU3ODIwMGQ5OWE5OTg2ODA1
OTFiNGNkZjBiLi4wN2U5NDE5ZjVmMjZmNzFmZThiNGFiZDdhZDNjYmQ5ZTllNmEzYWUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNz
Y2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCkBAIC00MCw2ICs0
MCwxMSBAQAogICAgICAgZGVidWdEb2N1bWVudFZlcnNpb25pbmcgPSAiWUVTIgogICAgICAgZGVi
dWdTZXJ2aWNlRXh0ZW5zaW9uID0gImludGVybmFsIgogICAgICAgYWxsb3dMb2NhdGlvblNpbXVs
YXRpb24gPSAiWUVTIj4KKyAgICAgIDxQYXRoUnVubmFibGUKKyAgICAgICAgIHJ1bm5hYmxlRGVi
dWdnaW5nTW9kZSA9ICIwIgorICAgICAgICAgQnVuZGxlSWRlbnRpZmllciA9ICJvcmcud2Via2l0
Lk1pbmlCcm93c2VyIgorICAgICAgICAgRmlsZVBhdGggPSAiL1VzZXJzL21tYXhmaWVsZC9CdWls
ZC9Qcm9kdWN0cy9EZWJ1Zy9NaW5pQnJvd3Nlci5hcHAiPgorICAgICAgPC9QYXRoUnVubmFibGU+
CiAgICA8L0xhdW5jaEFjdGlvbj4KICAgIDxQcm9maWxlQWN0aW9uCiAgICAgICBidWlsZENvbmZp
Z3VyYXRpb24gPSAiUmVsZWFzZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURldmljZS5jcHAKaW5kZXggZjVlNDNjZWVkOTVmZTU3NzNlMzUwODFhZGE0
OGNjNGE2OTM2ODIzMy4uN2FhZmViYmNkNDYxNDUxYWNjYjA5Y2JlODBjYWU2NmY3NDA2YzYzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmlj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmlj
ZS5jcHAKQEAgLTYwLDkgKzYwLDEyNyBAQCBSZWZQdHI8R1BVQnVmZmVyPiBHUFVEZXZpY2U6OnRy
eUNyZWF0ZUJ1ZmZlcihjb25zdCBHUFVCdWZmZXJEZXNjcmlwdG9yJiBkZXNjcmlwdAogICAgIHJl
dHVybiBHUFVCdWZmZXI6OnRyeUNyZWF0ZSgqdGhpcywgZGVzY3JpcHRvciwgaXNNYXBwZWQsIGVy
cm9yU2NvcGVzKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIG1heGltdW1NaXBMZXZlbENvdW50KEdQ
VVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uLCBHUFVFeHRlbnQzRCBzaXplKQoreworICAgIHVu
c2lnbmVkIHdpZHRoID0gc2l6ZS53aWR0aDsKKyAgICB1bnNpZ25lZCBoZWlnaHQgPSAxOworICAg
IHVuc2lnbmVkIGRlcHRoID0gMTsKKyAgICBzd2l0Y2ggKGRpbWVuc2lvbikgeworICAgIGNhc2Ug
R1BVVGV4dHVyZURpbWVuc2lvbjo6XzFkOgorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdQVVRl
eHR1cmVEaW1lbnNpb246Ol8yZDoKKyAgICAgICAgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzNkOgorICAgICAgICBo
ZWlnaHQgPSBzaXplLmhlaWdodDsKKyAgICAgICAgZGVwdGggPSBzaXplLmRlcHRoOworICAgICAg
ICBicmVhazsKKyAgICB9CisKKyAgICBhdXRvIG1heERpbWVuc2lvbiA9IHN0ZDo6bWF4KHN0ZDo6
bWF4KHdpZHRoLCBoZWlnaHQpLCBkZXB0aCk7CisgICAgaW50IGkgPSBzaXplb2YoR1BVRXh0ZW50
M0Q6OklubmVyVHlwZSkgKiA4IC0gMTsKKyAgICBmb3IgKDsgIShtYXhEaW1lbnNpb24gJiAoMSA8
PCBpKSkgJiYgaSA+PSAwOyAtLWkpIHsKKyAgICB9CisgICAgQVNTRVJUKGkgPj0gMCk7CisgICAg
cmV0dXJuIGkgKyAxOworfQorCiBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVRGV2aWNlOjp0cnlDcmVh
dGVUZXh0dXJlKGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKSBjb25zdAog
ewotICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKnRoaXMsIGRlc2NyaXB0b3IpOwor
ICAgIGlmICghZGVzY3JpcHRvci5zaXplLndpZHRoIHx8ICFkZXNjcmlwdG9yLnNpemUuaGVpZ2h0
IHx8ICFkZXNjcmlwdG9yLnNpemUuZGVwdGgpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2Vu
ZXJhdGVQcmVmaXhlZEVycm9yKCJUZXh0dXJlcyBjYW4ndCBoYXZlIDAgZGltZW5zaW9ucy4iKTsK
KyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoIWRlc2NyaXB0b3IubWlwTGV2
ZWxDb3VudCkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3Io
IlRleHR1cmVzIGNhbid0IGhhdmUgMCBtaXBsZXZlbHMuIik7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorCisgICAgaWYgKCFkZXNjcmlwdG9yLnNhbXBsZUNvdW50KSB7CisgICAgICAgIG1f
ZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiVGV4dHVyZXMgY2FuJ3QgaGF2ZSAw
IHNhbXBsZXMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgLy8gaHR0cHM6
Ly9kZXZlbG9wZXIuYXBwbGUuY29tL21ldGFsL01ldGFsLUZlYXR1cmUtU2V0LVRhYmxlcy5wZGYK
KyAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9uKSB7CisgICAgY2FzZSBHUFVUZXh0dXJl
RGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUud2lkdGggPiA4MTky
KSB7CisgICAgICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIjFE
IHRleHR1cmUgaXMgdG9vIHdpZGUuIik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAg
ICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnNpemUuaGVpZ2h0ID4gMjA0OCkgeworICAgICAg
ICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCIxRCB0ZXh0dXJlIGFy
cmF5IGhhcyB0b28gbWFueSBsYXllcnMuIik7CisgICAgICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJk
OgorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLndpZHRoID4gODE5MiB8fCBkZXNjcmlwdG9y
LnNpemUuaGVpZ2h0ID4gODE5MikgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJh
dGVQcmVmaXhlZEVycm9yKCIyRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAgICAgICAgICAg
IHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS5kZXB0
aCA+IDIwNDgpIHsKKyAgICAgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRF
cnJvcigiMkQgdGV4dHVyZSBhcnJheSBoYXMgdG9vIG1hbnkgbGF5ZXJzLiIpOworICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdQVVRl
eHR1cmVEaW1lbnNpb246Ol8zZDoKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2l6ZS53aWR0aCA+
IDIwNDggfHwgZGVzY3JpcHRvci5zaXplLmhlaWdodCA+IDIwNDggfHwgZGVzY3JpcHRvci5zaXpl
LmRlcHRoID4gMjA0OCkgeworICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVm
aXhlZEVycm9yKCIzRCB0ZXh0dXJlIGlzIHRvbyBsYXJnZS4iKTsKKyAgICAgICAgICAgIHJldHVy
biB7IH07CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKGRlc2Ny
aXB0b3IuZGltZW5zaW9uID09IEdQVVRleHR1cmVEaW1lbnNpb246Ol8xZCAmJiBkZXNjcmlwdG9y
Lm1pcExldmVsQ291bnQgIT0gMSkgeworICAgICAgICBtX2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVBy
ZWZpeGVkRXJyb3IoIjFEIHRleHR1cmVzIGNhbid0IGhhdmUgbWlwbWFwcy4iKTsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBpZiAoZGVzY3JpcHRvci5taXBMZXZlbENvdW50ID4g
bWF4aW11bU1pcExldmVsQ291bnQoZGVzY3JpcHRvci5kaW1lbnNpb24sIGRlc2NyaXB0b3Iuc2l6
ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJUb28g
bWFueSBtaXBsZXZlbHMuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgaWYg
KGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgeworICAgICAgICBpZiAoZGVzY3JpcHRvci5k
aW1lbnNpb24gIT0gR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkKSB7CisgICAgICAgICAgICBtX2Vy
cm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIlRleHR1cmUgZGltZW5zaW9uIGluY29t
cGF0aWJsZSB3aXRoIG11bHRpc2FtcGxpbmcuIik7CisgICAgICAgICAgICByZXR1cm4geyB9Owor
ICAgICAgICB9CisgICAgICAgIGlmIChkZXNjcmlwdG9yLm1pcExldmVsQ291bnQgIT0gMSkgewor
ICAgICAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJNdWx0aXNh
bXBsZWQgdGV4dHVyZXMgY2FuJ3QgaGF2ZSBtaXBtYXBzLiIpOworICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgfQorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLmRlcHRoICE9IDEp
IHsKKyAgICAgICAgICAgIG1fZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiQXJy
YXkgdGV4dHVyZXMgY2FuJ3QgYmUgbXVsdGlzYW1wbGVkLiIpOworICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogT25seSBzb21lIHBpeGVsIGZvcm1h
dHMgYXJlIGNhcGFibGUgb2YgTVNBQS4gV2hlbiB3ZSBhZGQgdGhvc2UgbmV3IHBpeGVsIGZvcm1h
dHMsIHdlJ2xsIGhhdmUgdG8gYWRkIGZpbHRlcmluZyBjb2RlIGhlcmUuCisgICAgfQorCisgICAg
Ly8gVGhlIGhlaWdodCBjb21wb25lbnQgZm9yIDFkIHRleHR1cmVzIGlzIHRoZSBhcnJheSBsZW5n
dGguCisgICAgLy8gVGhlIGRlcHRoIGNvbXBvbmVudCBmb3IgMmQgdGV4dHVyZXMgaXMgdGhlIGFy
cmF5IGxlbmd0aC4KKyAgICBpZiAoZGVzY3JpcHRvci5kaW1lbnNpb24gPT0gR1BVVGV4dHVyZURp
bWVuc2lvbjo6XzFkICYmIGRlc2NyaXB0b3Iuc2l6ZS5kZXB0aCAhPSAxKSB7CisgICAgICAgIG1f
ZXJyb3JTY29wZXMtPmdlbmVyYXRlUHJlZml4ZWRFcnJvcigiMUQgdGV4dHVyZXMgY2FuJ3QgaGF2
ZSBkZXB0aCAhPSAxLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIGlmIChk
ZXNjcmlwdG9yLmZvcm1hdCA9PSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2ls
OCAmJiBkZXNjcmlwdG9yLmRpbWVuc2lvbiAhPSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMmQpIHsK
KyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJhdGVQcmVmaXhlZEVycm9yKCJEZXB0aC9zdGVu
Y2lsIHRleHR1cmVzIG11c3QgYmUgMmQuIik7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQor
CisgICAgaWYgKGRlc2NyaXB0b3IuZm9ybWF0ID09IEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMzJm
bG9hdFN0ZW5jaWw4ICYmIGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgIT0gMSkgeworICAgICAgICBt
X2Vycm9yU2NvcGVzLT5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRlcHRoL3N0ZW5jaWwgdGV4dHVy
ZXMgY2FuJ3QgYmUgbXVsdGlzYW1wbGVkLiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0K
KworICAgIGlmIChzdGF0aWNfY2FzdDxHUFVUZXh0dXJlVXNhZ2VGbGFncz4oZGVzY3JpcHRvci51
c2FnZSkgPj0gc3RhdGljX2Nhc3Q8R1BVVGV4dHVyZVVzYWdlRmxhZ3M+KEdQVVRleHR1cmVVc2Fn
ZTo6RmxhZ3M6Ok1heGltdW1WYWx1ZSkpIHsKKyAgICAgICAgbV9lcnJvclNjb3Blcy0+Z2VuZXJh
dGVQcmVmaXhlZEVycm9yKCJJbnZhbGlkIHVzYWdlIGZsYWdzLiIpOworICAgICAgICByZXR1cm4g
eyB9OworICAgIH0KKworICAgIHJldHVybiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoKnRoaXMsIGRl
c2NyaXB0b3IsIG1ha2VSZWYoKm1fZXJyb3JTY29wZXMpKTsKIH0KIAogUmVmUHRyPEdQVVNhbXBs
ZXI+IEdQVURldmljZTo6dHJ5Q3JlYXRlU2FtcGxlcihjb25zdCBHUFVTYW1wbGVyRGVzY3JpcHRv
ciYgZGVzY3JpcHRvcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCA1OGIxMjAwMzFkZjAxZDcwZjdiOGY3YTVjZjZkM2Zm
MmUzZDcxMjAwLi5mNTQ5NmNjNjdkODQzZTBiOWE1YWU2ZGIyY2UwZDhkNTU2OGE5ZTJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCkBA
IC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUgIkdQVUJpbmRH
cm91cEFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkdQVUVycm9yU2NvcGVzLmgiCiAjaW5jbHVkZSAi
R1BVUXVldWUuaCIKICNpbmNsdWRlICJHUFVTd2FwQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvRnVu
Y3Rpb24uaD4KQEAgLTk1LDYgKzk2LDggQEAgcHVibGljOgogICAgIEdQVVN3YXBDaGFpbiogc3dh
cENoYWluKCkgY29uc3QgeyByZXR1cm4gbV9zd2FwQ2hhaW4uZ2V0KCk7IH0KICAgICB2b2lkIHNl
dFN3YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmKTsKIAorICAgIHZvaWQgc2V0RXJyb3JT
Y29wZXMoUmVmPEdQVUVycm9yU2NvcGVzPiYmIGVycm9yU2NvcGVzKSB7IG1fZXJyb3JTY29wZXMg
PSBXVEZNb3ZlKGVycm9yU2NvcGVzKTsgfQorCiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIHVz
ZVdITFNMID0gdHJ1ZTsKIAogcHJpdmF0ZToKQEAgLTEwNCw2ICsxMDcsNyBAQCBwcml2YXRlOgog
ICAgIG11dGFibGUgUmVmUHRyPEdQVVF1ZXVlPiBtX3F1ZXVlOwogICAgIFJlZlB0cjxHUFVTd2Fw
Q2hhaW4+IG1fc3dhcENoYWluOwogICAgIG11dGFibGUgUmVmUHRyPEdQVUJpbmRHcm91cEFsbG9j
YXRvcj4gbV9iaW5kR3JvdXBBbGxvY2F0b3I7CisgICAgUmVmUHRyPEdQVUVycm9yU2NvcGVzPiBt
X2Vycm9yU2NvcGVzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUV4dGVudDNELmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaAppbmRleCAzMTk1
ZDE3Mzk0NmM0ZDBjOTZlMjJkYjZjZTU0MGQzMTVhMzAxOWYzLi41NDQ4MjY1MjBjYzVlN2UwY2M5
ZmY0M2ZkMTQyODBmNTA0NGI3ZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRXh0ZW50M0QuaApAQCAtMzAsOSArMzAsMTAgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAKIHN0cnVjdCBHUFVFeHRlbnQzRCB7Ci0gICAgdW5zaWduZWQgd2lk
dGg7Ci0gICAgdW5zaWduZWQgaGVpZ2h0OwotICAgIHVuc2lnbmVkIGRlcHRoOworICAgIHVzaW5n
IElubmVyVHlwZSA9IHVuc2lnbmVkOworICAgIElubmVyVHlwZSB3aWR0aDsKKyAgICBJbm5lclR5
cGUgaGVpZ2h0OworICAgIElubmVyVHlwZSBkZXB0aDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVPYmplY3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
T2JqZWN0QmFzZS5oCmluZGV4IDk0YzFmNTI3OTQ0ZjIzMzMwOWE0NTVjNjkwYzdjYWI5MmRlZDVm
NDcuLjY3YjJkOTE4YzJlNTQ1MTdjYjM3ZmZmZWE2YjI2MmQ0NWY4MmZhOWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVPYmplY3RCYXNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVU9iamVjdEJhc2UuaApA
QCAtNDAsNyArNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgR1BVT2JqZWN0QmFzZShSZWY8R1BVRXJy
b3JTY29wZXM+JiYgcmVwb3J0ZXIpCiAgICAgICAgIDogbV9lcnJvclNjb3BlcyhXVEZNb3ZlKHJl
cG9ydGVyKSkgeyB9CiAKLSAgICBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMoKSB7IHJldHVy
biBtX2Vycm9yU2NvcGVzOyB9CisgICAgR1BVRXJyb3JTY29wZXMmIGVycm9yU2NvcGVzKCkgY29u
c3QgeyByZXR1cm4gbV9lcnJvclNjb3BlczsgfQogCiBwcml2YXRlOgogICAgIFJlZjxHUFVFcnJv
clNjb3Blcz4gbV9lcnJvclNjb3BlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oCmluZGV4IGZmN2FhYjA5NjViNjJkYmQxZTNkYjM3NTky
YTU3ZDM0YWNhOWE5YzIuLmEzYjQyNmIwNTgwZTEyMjhjZTJmYWZkZWU5ZjA5MDRlN2QxODNjNDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0
dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1
cmUuaApAQCAtMzgsNiArMzgsNyBAQCBPQkpDX1BST1RPQ09MKE1UTFRleHR1cmUpOwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBHUFVEZXZpY2U7CitjbGFzcyBHUFVFcnJvclNjb3BlczsK
IAogc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yOwogCkBAIC00Niw3ICs0Nyw3IEBAIHVzaW5n
IFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyID0gUmV0YWluUHRyPE1UTFRleHR1cmU+OwogCiBjbGFz
cyBHUFVUZXh0dXJlIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVVGV4dHVyZT4gewogcHVibGljOgot
ICAgIHN0YXRpYyBSZWZQdHI8R1BVVGV4dHVyZT4gdHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYs
IGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJik7CisgICAgc3RhdGljIFJlZlB0cjxHUFVUZXh0
dXJlPiB0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiwgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0
b3ImLCBHUFVFcnJvclNjb3BlcyYpOwogICAgIHN0YXRpYyBSZWY8R1BVVGV4dHVyZT4gY3JlYXRl
KFBsYXRmb3JtVGV4dHVyZVNtYXJ0UHRyJiYsIE9wdGlvblNldDxHUFVUZXh0dXJlVXNhZ2U6OkZs
YWdzPik7CiAKICAgICBQbGF0Zm9ybVRleHR1cmUgKnBsYXRmb3JtVGV4dHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcGxhdGZvcm1UZXh0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCmlu
ZGV4IDY2ZTFjMTdiZDhiZGQ2MTdmN2U5NDVkZGQxYmZkOTc5ZjU1ZmUxODAuLmIyYTY4NWEyMTlm
MzI5YjYwNzA0ZDNlNjU2MjNiNWE2YWI3ZWRlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCkBA
IC00MSw3ICs0MSw2IEBAIGVudW0gY2xhc3MgR1BVVGV4dHVyZURpbWVuc2lvbiB7CiAgICAgCiBz
dHJ1Y3QgR1BVVGV4dHVyZURlc2NyaXB0b3IgewogICAgIEdQVUV4dGVudDNEIHNpemU7Ci0gICAg
dW5zaWduZWQgYXJyYXlMYXllckNvdW50OwogICAgIHVuc2lnbmVkIG1pcExldmVsQ291bnQ7CiAg
ICAgdW5zaWduZWQgc2FtcGxlQ291bnQ7CiAgICAgR1BVVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
VGV4dHVyZVVzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
VGV4dHVyZVVzYWdlLmgKaW5kZXggNWMwY2U2MTA0YWEwYzJiMzNmNDJkMmZiZDI0NGYyZTEwZWM5
YzA5Ny4uYzMyODdkODM3NGU0NTVjZjM0MDliYmFlMDlhZjZjMzA4MTYxNjFiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVVc2FnZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlVXNh
Z2UuaApAQCAtMzYsMTIgKzM2LDEyIEBAIHVzaW5nIEdQVVRleHR1cmVVc2FnZUZsYWdzID0gdW5z
aWduZWQ7CiBjbGFzcyBHUFVUZXh0dXJlVXNhZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVUZXh0
dXJlVXNhZ2U+IHsKIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIEZsYWdzIDogR1BVVGV4dHVyZVVz
YWdlRmxhZ3MgewotICAgICAgICBOb25lID0gMCwKICAgICAgICAgQ29weVNvdXJjZSA9IDEgPDwg
MCwKICAgICAgICAgQ29weURlc3RpbmF0aW9uID0gMSA8PCAxLAogICAgICAgICBTYW1wbGVkID0g
MSA8PCAyLAogICAgICAgICBTdG9yYWdlID0gMSA8PCAzLAogICAgICAgICBPdXRwdXRBdHRhY2ht
ZW50ID0gMSA8PCA0LAorICAgICAgICBNYXhpbXVtVmFsdWUgPSAxIDw8IDUsCiAgICAgfTsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2Nv
YS9HUFVCdWZmZXJNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9jb2NvYS9HUFVCdWZmZXJNZXRhbC5tbQppbmRleCA1NjFhZDUyNTQ0Y2E0NGE1YzI5ZTk4ODI5
NjU4YzhlZTc3MjM4NTM4Li5iMWMzNGVmODhiMTg3YTcwZTcxMGRhY2JkNjcyOTI4NjMyYmJmNzQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2Ev
R1BVQnVmZmVyTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L2NvY29hL0dQVUJ1ZmZlck1ldGFsLm1tCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBHUFVC
dWZmZXI6OmNvcHlTdGFnaW5nQnVmZmVyVG9HUFUoR1BVRXJyb3JTY29wZXMqIGVycm9yU2NvcGVz
KQogCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIC8vIEdQVUJ1ZmZlciBj
cmVhdGlvbiB2YWxpZGF0aW9uIGVuc3VyZXMgbV9ieXRlU2l6ZSBmaXRzIGluIE5TVUludGVnZXIu
Ci0gICAgc3RhZ2luZ010bEJ1ZmZlciA9IGFkb3B0TlMoW21fZGV2aWNlLT5wbGF0Zm9ybURldmlj
ZSgpIG5ld0J1ZmZlcldpdGhMZW5ndGg6c3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4obV9ieXRlTGVu
Z3RoKSBvcHRpb25zOk1UTFJlc291cmNlQ1BVQ2FjaGVNb2RlRGVmYXVsdENhY2hlXSk7CisgICAg
c3RhZ2luZ010bEJ1ZmZlciA9IGFkb3B0TlMoW21fZGV2aWNlLT5wbGF0Zm9ybURldmljZSgpIG5l
d0J1ZmZlcldpdGhCeXRlczptX3N0YWdpbmdCdWZmZXItPmRhdGEoKSBsZW5ndGg6c3RhdGljX2Nh
c3Q8TlNVSW50ZWdlcj4obV9ieXRlTGVuZ3RoKSBvcHRpb25zOk1UTFJlc291cmNlQ1BVQ2FjaGVN
b2RlRGVmYXVsdENhY2hlXSk7CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAogICAg
IGlmICghc3RhZ2luZ010bEJ1ZmZlciAmJiBlcnJvclNjb3BlcykgewpAQCAtMjM2LDggKzIzNiw2
IEBAIHZvaWQgR1BVQnVmZmVyOjpjb3B5U3RhZ2luZ0J1ZmZlclRvR1BVKEdQVUVycm9yU2NvcGVz
KiBlcnJvclNjb3BlcykKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1lbWNweShzdGFn
aW5nTXRsQnVmZmVyLmdldCgpLmNvbnRlbnRzLCBtX3N0YWdpbmdCdWZmZXItPmRhdGEoKSwgbV9i
eXRlTGVuZ3RoKTsKLQogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAogICAgIGF1
dG8gY29tbWFuZEJ1ZmZlciA9IHJldGFpblB0cihbcXVldWUgY29tbWFuZEJ1ZmZlcl0pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRl
eHR1cmVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2Nv
YS9HUFVUZXh0dXJlTWV0YWwubW0KaW5kZXggNWRiMWRhYTQ1NTY5N2Y1MzA1M2M4NGFmNTBkZGVk
ODE1NTQ3N2U3ZC4uYjc5YzgxNTVmNjkzM2JjZjRmMDMxYmI5YmM1YmZhY2M4YzY1ZTk1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRl
eHR1cmVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
Y29jb2EvR1BVVGV4dHVyZU1ldGFsLm1tCkBAIC00MiwxMiArNDIsMTEgQEAgc3RhdGljIE1UTFRl
eHR1cmVUeXBlIG10bFRleHR1cmVUeXBlRm9yR1BVVGV4dHVyZURlc2NyaXB0b3IoY29uc3QgR1BV
VGV4dHVyZURlc2MKIHsKICAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9uKSB7CiAgICAg
Y2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6Ci0gICAgICAgIHJldHVybiAoZGVzY3JpcHRv
ci5hcnJheUxheWVyQ291bnQgPT0gMSkgPyBNVExUZXh0dXJlVHlwZTFEIDogTVRMVGV4dHVyZVR5
cGUxREFycmF5OworICAgICAgICByZXR1cm4gKGRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHQgPT0gMSkg
PyBNVExUZXh0dXJlVHlwZTFEIDogTVRMVGV4dHVyZVR5cGUxREFycmF5OwogICAgIGNhc2UgR1BV
VGV4dHVyZURpbWVuc2lvbjo6XzJkOiB7Ci0gICAgICAgIGlmIChkZXNjcmlwdG9yLmFycmF5TGF5
ZXJDb3VudCA9PSAxKQorICAgICAgICBpZiAoZGVzY3JpcHRvci5zaXplLmRlcHRoID09IDEpCiAg
ICAgICAgICAgICByZXR1cm4gKGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQgPT0gMSkgPyBNVExUZXh0
dXJlVHlwZTJEIDogTVRMVGV4dHVyZVR5cGUyRE11bHRpc2FtcGxlOwotCi0gICAgICAgIHJldHVy
biBNVExUZXh0dXJlVHlwZTJEQXJyYXk7CisgICAgICAgIHJldHVybiBNVExUZXh0dXJlVHlwZTJE
QXJyYXk7IC8vIE1UTFRleHR1cmVUeXBlMkRNdWx0aXNhbXBsZUFycmF5IGlzIHVuYXZhaWxhYmxl
IG9uIGlPUy4KICAgICB9CiAgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5zaW9uOjpfM2Q6CiAgICAg
ICAgIHJldHVybiBNVExUZXh0dXJlVHlwZTNEOwpAQCAtNjUsNyArNjQsNyBAQCBzdGF0aWMgT3B0
aW9uYWw8TVRMVGV4dHVyZVVzYWdlPiBtdGxUZXh0dXJlVXNhZ2VGb3JHUFVUZXh0dXJlVXNhZ2VG
bGFncyhPcHRpb25TZQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIH0KIAotICAg
IE1UTFRleHR1cmVVc2FnZSByZXN1bHQgPSBNVExUZXh0dXJlVXNhZ2VQaXhlbEZvcm1hdFZpZXc7
CisgICAgTVRMVGV4dHVyZVVzYWdlIHJlc3VsdCA9IDA7CiAgICAgaWYgKGZsYWdzLmNvbnRhaW5z
KEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6Ok91dHB1dEF0dGFjaG1lbnQpKQogICAgICAgICByZXN1
bHQgfD0gTVRMVGV4dHVyZVVzYWdlUmVuZGVyVGFyZ2V0OwogICAgIGlmIChmbGFncy5jb250YWlu
c0FueSh7IEdQVVRleHR1cmVVc2FnZTo6RmxhZ3M6OlN0b3JhZ2UsIEdQVVRleHR1cmVVc2FnZTo6
RmxhZ3M6OlNhbXBsZWQgfSkpCkBAIC0xMDIsNyArMTAxLDI0IEBAIHN0YXRpYyBSZXRhaW5QdHI8
TVRMVGV4dHVyZURlc2NyaXB0b3I+IHRyeUNyZWF0ZU10bFRleHR1cmVEZXNjcmlwdG9yKGNvbnN0
IGNoYXIqCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBB
ZGQgbW9yZSB2YWxpZGF0aW9uIGFzIGNvbnN0cmFpbnRzIGFyZSBhZGRlZCB0byBzcGVjLgorICAg
IHVuc2lnbmVkIHdpZHRoID0gZGVzY3JpcHRvci5zaXplLndpZHRoOworICAgIHVuc2lnbmVkIGhl
aWdodCA9IDE7CisgICAgdW5zaWduZWQgZGVwdGggPSAxOworICAgIHVuc2lnbmVkIGFycmF5TGVu
Z3RoID0gMTsKKyAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZGltZW5zaW9uKSB7CisgICAgY2FzZSBH
UFVUZXh0dXJlRGltZW5zaW9uOjpfMWQ6CisgICAgICAgIGFycmF5TGVuZ3RoID0gZGVzY3JpcHRv
ci5zaXplLmhlaWdodDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHUFVUZXh0dXJlRGltZW5z
aW9uOjpfMmQ6CisgICAgICAgIGhlaWdodCA9IGRlc2NyaXB0b3Iuc2l6ZS5oZWlnaHQ7CisgICAg
ICAgIGFycmF5TGVuZ3RoID0gZGVzY3JpcHRvci5zaXplLmRlcHRoOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIEdQVVRleHR1cmVEaW1lbnNpb246Ol8zZDoKKyAgICAgICAgaGVpZ2h0ID0gZGVz
Y3JpcHRvci5zaXplLmhlaWdodDsKKyAgICAgICAgZGVwdGggPSBkZXNjcmlwdG9yLnNpemUuZGVw
dGg7CisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIGF1dG8gcGl4ZWxGb3JtYXQgPSBzdGF0
aWNfY2FzdDxNVExQaXhlbEZvcm1hdD4ocGxhdGZvcm1UZXh0dXJlRm9ybWF0Rm9yR1BVVGV4dHVy
ZUZvcm1hdChkZXNjcmlwdG9yLmZvcm1hdCkpOwogCiAgICAgYXV0byBtdGxVc2FnZSA9IG10bFRl
eHR1cmVVc2FnZUZvckdQVVRleHR1cmVVc2FnZUZsYWdzKHVzYWdlLCBmdW5jdGlvbk5hbWUpOwpA
QCAtMTE3LDEwICsxMzMsMTAgQEAgc3RhdGljIFJldGFpblB0cjxNVExUZXh0dXJlRGVzY3JpcHRv
cj4gdHJ5Q3JlYXRlTXRsVGV4dHVyZURlc2NyaXB0b3IoY29uc3QgY2hhcioKIAogICAgIEJFR0lO
X0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIAotICAgIFttdGxEZXNjcmlwdG9yIHNldFdpZHRoOmRl
c2NyaXB0b3Iuc2l6ZS53aWR0aF07Ci0gICAgW210bERlc2NyaXB0b3Igc2V0SGVpZ2h0OmRlc2Ny
aXB0b3Iuc2l6ZS5oZWlnaHRdOwotICAgIFttdGxEZXNjcmlwdG9yIHNldERlcHRoOmRlc2NyaXB0
b3Iuc2l6ZS5kZXB0aF07Ci0gICAgW210bERlc2NyaXB0b3Igc2V0QXJyYXlMZW5ndGg6ZGVzY3Jp
cHRvci5hcnJheUxheWVyQ291bnRdOworICAgIFttdGxEZXNjcmlwdG9yIHNldFdpZHRoOndpZHRo
XTsKKyAgICBbbXRsRGVzY3JpcHRvciBzZXRIZWlnaHQ6aGVpZ2h0XTsKKyAgICBbbXRsRGVzY3Jp
cHRvciBzZXREZXB0aDpkZXB0aF07CisgICAgW210bERlc2NyaXB0b3Igc2V0QXJyYXlMZW5ndGg6
YXJyYXlMZW5ndGhdOwogICAgIFttdGxEZXNjcmlwdG9yIHNldE1pcG1hcExldmVsQ291bnQ6ZGVz
Y3JpcHRvci5taXBMZXZlbENvdW50XTsKICAgICBbbXRsRGVzY3JpcHRvciBzZXRTYW1wbGVDb3Vu
dDpkZXNjcmlwdG9yLnNhbXBsZUNvdW50XTsKICAgICBbbXRsRGVzY3JpcHRvciBzZXRUZXh0dXJl
VHlwZTptdGxUZXh0dXJlVHlwZUZvckdQVVRleHR1cmVEZXNjcmlwdG9yKGRlc2NyaXB0b3IpXTsK
QEAgLTEzNCw3ICsxNTAsNyBAQCBzdGF0aWMgUmV0YWluUHRyPE1UTFRleHR1cmVEZXNjcmlwdG9y
PiB0cnlDcmVhdGVNdGxUZXh0dXJlRGVzY3JpcHRvcihjb25zdCBjaGFyKgogICAgIHJldHVybiBt
dGxEZXNjcmlwdG9yOwogfQogCi1SZWZQdHI8R1BVVGV4dHVyZT4gR1BVVGV4dHVyZTo6dHJ5Q3Jl
YXRlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0dXJlRGVzY3JpcHRvciYg
ZGVzY3JpcHRvcikKK1JlZlB0cjxHUFVUZXh0dXJlPiBHUFVUZXh0dXJlOjp0cnlDcmVhdGUoY29u
c3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlw
dG9yLCBHUFVFcnJvclNjb3BlcyYgZXJyb3JTY29wZXMpCiB7CiAgICAgY29uc3QgY2hhciogY29u
c3QgZnVuY3Rpb25OYW1lID0gIkdQVVRleHR1cmU6OnRyeUNyZWF0ZSgpIjsKIApAQCAtMTQzLDYg
KzE1OSwxMSBAQCBSZWZQdHI8R1BVVGV4dHVyZT4gR1BVVGV4dHVyZTo6dHJ5Q3JlYXRlKGNvbnN0
IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVUZXh0dQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKKyAgICBpZiAoIVtkZXZpY2UucGxhdGZvcm1EZXZpY2UoKSBzdXBwb3J0c1Rl
eHR1cmVTYW1wbGVDb3VudDpkZXNjcmlwdG9yLnNhbXBsZUNvdW50XSkgeworICAgICAgICBlcnJv
clNjb3Blcy5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoIkRldmljZSBkb2VzIG5vdCBzdXBwb3J0IHRo
aXMgc2FtcGxlIGNvdW50LiIpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKwogICAgIGF1
dG8gdXNhZ2UgPSBPcHRpb25TZXQ8R1BVVGV4dHVyZVVzYWdlOjpGbGFncz46OmZyb21SYXcoZGVz
Y3JpcHRvci51c2FnZSk7CiAgICAgYXV0byBtdGxEZXNjcmlwdG9yID0gdHJ5Q3JlYXRlTXRsVGV4
dHVyZURlc2NyaXB0b3IoZnVuY3Rpb25OYW1lLCBkZXNjcmlwdG9yLCB1c2FnZSk7CiAgICAgaWYg
KCFtdGxEZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGViNWJkMjhlMmE5M2E0NGZiMzVkOWVmNTk2NmNjMjY3
NWVhZjVkMjMuLjhkNzRhZTFiNzAyYTZmYzI2N2VlYjhjMTkzOWE5NTYyOGY2ZTU3MWEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNS0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFZhbGlkYXRpb24gZm9yIEdQVURldmlj
ZS5jcmVhdGVUZXh0dXJlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMTg4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjMyMTU5OTk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJncHUvYmxp
dC1jb21tYW5kcy10ZXh0dXJlLXRvLXRleHR1cmUuaHRtbDogVXBkYXRlZC4KKyAgICAgICAgICBS
ZXdyb3RlIHBhcnQgb2YgdGhlIHRlc3QgdG8gYXZvaWQgaGl0dGluZyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMDEzCisgICAgICAgICogd2ViZ3B1L3RleHR1cmUt
Y3JlYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvdGV4dHVyZS1j
cmVhdGlvbi5odG1sOiBBZGRlZC4KKwogMjAyMC0wNS0xMyAgS2VubmV0aCBSdXNzZWxsICA8a2Jy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBFbmFibGUgd2ViZ2xfY2FudmFzLyB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2JsaXQtY29tbWFuZHMtdGV4dHVyZS10by10ZXh0
dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJncHUvYmxpdC1jb21tYW5kcy10ZXh0dXJlLXRvLXRl
eHR1cmUuaHRtbAppbmRleCA0ODFmZjEzMWY3NDJhZTlkZjdhNDI5NTY1Mjk5NWY1ZDhhMjMyM2Jk
Li5kMWJmNjQxN2VkZGFhOGU3OTZlMTc5NTlkNmQxMDczN2M1NjI5ZTczIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy93ZWJncHUvYmxpdC1jb21tYW5kcy10ZXh0dXJlLXRvLXRleHR1cmUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJncHUvYmxpdC1jb21tYW5kcy10ZXh0dXJlLXRvLXRleHR1cmUu
aHRtbApAQCAtMTEsMTEgKzExLDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLWZ1bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNhbnZh
czJkKGRldmljZSwgY2FudmFzMmQpIHsKK2FzeW5jIGZ1bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNh
bnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKICAgICBjb25zdCB0ZXh0dXJlU2l6ZSA9IHsKICAg
ICAgICAgd2lkdGg6ICBjYW52YXMyZC53aWR0aCwKICAgICAgICAgaGVpZ2h0OiBjYW52YXMyZC5o
ZWlnaHQsCi0gICAgICAgIGRlcHRoOiAgMQorICAgICAgICBkZXB0aDogIDIKICAgICB9OwogCiAg
ICAgLy8gTWlwbWFwIGNvdW50CkBAIC0yNSw3ICsyNSw2IEBAIGZ1bmN0aW9uIGxvYWRUZXh0dXJl
RnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsKIAogICAgIGNvbnN0IHRleHR1cmVEZXNj
cmlwdG9yID0gewogICAgICAgICBzaXplOiB0ZXh0dXJlU2l6ZSwKLSAgICAgICAgYXJyYXlMYXll
ckNvdW50OiAyLAogICAgICAgICBtaXBMZXZlbENvdW50OiBtaXBMZXZlbENvdW50LAogICAgICAg
ICBzYW1wbGVDb3VudDogMSwKICAgICAgICAgZGltZW5zaW9uOiAiMmQiLApAQCAtMzUsNiArMzQs
NyBAQCBmdW5jdGlvbiBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2UsIGNhbnZhczJkKSB7
CiAKICAgICAvLyBDcmVhdGUgdGV4dHVyZSBhbmQgYWxzbyBhZGQgdGhlIGRlc2NyaXB0b3IKICAg
ICBjb25zdCB0ZXh0dXJlID0gZGV2aWNlLmNyZWF0ZVRleHR1cmUodGV4dHVyZURlc2NyaXB0b3Ip
OworICAgIHRleHR1cmVTaXplLmRlcHRoID0gMTsKICAgICB0ZXh0dXJlLmRlc2NyaXB0b3IgPSB0
ZXh0dXJlRGVzY3JpcHRvcjsKIAogICAgIC8vIFRleHR1cmUgZGF0YSAKQEAgLTQzLDEwICs0Mywx
MSBAQCBmdW5jdGlvbiBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2UsIGNhbnZhczJkKSB7
CiAKICAgICBjb25zdCB0ZXh0dXJlRGF0YUJ1ZmZlckRlc2NyaXB0b3IgPSB7CiAgICAgICAgIHNp
emU6IGltYWdlRGF0YS5kYXRhLmxlbmd0aCwKLSAgICAgICAgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdl
LkNPUFlfU1JDCisgICAgICAgIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5DT1BZX1NSQyB8IEdQVUJ1
ZmZlclVzYWdlLk1BUF9XUklURQogICAgIH07Ci0gICAgY29uc3QgW3RleHR1cmVEYXRhQnVmZmVy
LCB0ZXh0dXJlQXJyYXlCdWZmZXJdID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlck1hcHBlZCh0ZXh0dXJl
RGF0YUJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIAorICAgIGNvbnN0IHRleHR1cmVEYXRhQnVmZmVy
ID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih0ZXh0dXJlRGF0YUJ1ZmZlckRlc2NyaXB0b3IpOworCisg
ICAgY29uc3QgdGV4dHVyZUFycmF5QnVmZmVyID0gYXdhaXQgdGV4dHVyZURhdGFCdWZmZXIubWFw
V3JpdGVBc3luYygpOwogICAgIGNvbnN0IHRleHR1cmVXcml0ZUFycmF5ID0gbmV3IFVpbnQ4QXJy
YXkodGV4dHVyZUFycmF5QnVmZmVyKTsKICAgICB0ZXh0dXJlV3JpdGVBcnJheS5zZXQoaW1hZ2VE
YXRhLmRhdGEpOwogICAgIHRleHR1cmVEYXRhQnVmZmVyLnVubWFwKCk7CkBAIC01NSw3ICs1Niw3
IEBAIGZ1bmN0aW9uIGxvYWRUZXh0dXJlRnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpIHsK
ICAgICAgICAgYnVmZmVyOiB0ZXh0dXJlRGF0YUJ1ZmZlciwKICAgICAgICAgb2Zmc2V0OiAwLAog
ICAgICAgICByb3dQaXRjaDogY2FudmFzMmQud2lkdGggKiA0LAotICAgICAgICBpbWFnZUhlaWdo
dDogMAorICAgICAgICBpbWFnZUhlaWdodDogY2FudmFzMmQud2lkdGggKiBjYW52YXMyZC5oZWln
aHQgKiA0CiAgICAgfTsKICAgICBjb25zdCB0ZXh0dXJlQ29weVZpZXcgPSB7CiAgICAgICAgIHRl
eHR1cmU6IHRleHR1cmUsCkBAIC03OCwxMiArNzksMTIgQEAgYXN5bmMgZnVuY3Rpb24gdGVzdChk
ZXZpY2UpIHsKICAgICAvLyB0ZXh0dXJlQSAobGF5ZXIgMCwgbWlwIDApOiBHcmVlbgogICAgIGNv
bnRleHQyZC5maWxsU3R5bGUgPSAncmdiKDAsIDI1NSwgMCknOwogICAgIGNvbnRleHQyZC5maWxs
UmVjdCgwLCAwLCBjYW52YXMyZC53aWR0aCwgY2FudmFzMmQuaGVpZ2h0KTsKLSAgICBjb25zdCB0
ZXh0dXJlQSA9IGxvYWRUZXh0dXJlRnJvbUNhbnZhczJkKGRldmljZSwgY2FudmFzMmQpOworICAg
IGNvbnN0IHRleHR1cmVBID0gYXdhaXQgbG9hZFRleHR1cmVGcm9tQ2FudmFzMmQoZGV2aWNlLCBj
YW52YXMyZCk7CiAKICAgICAvLyB0ZXh0dXJlQiAobGF5ZXIgMCwgbWlwIDApOiBSZWQKICAgICBj
b250ZXh0MmQuZmlsbFN0eWxlID0gJ3JnYigyNTUsIDAsIDApJzsKICAgICBjb250ZXh0MmQuZmls
bFJlY3QoMCwgMCwgY2FudmFzMmQud2lkdGgsIGNhbnZhczJkLmhlaWdodCk7Ci0gICAgY29uc3Qg
dGV4dHVyZUIgPSBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2UsIGNhbnZhczJkKTsgCisg
ICAgY29uc3QgdGV4dHVyZUIgPSBhd2FpdCBsb2FkVGV4dHVyZUZyb21DYW52YXMyZChkZXZpY2Us
IGNhbnZhczJkKTsKIAogICAgIC8vIENsZWFuIGNhbnZhcyB0byBibHVlCiAgICAgY29udGV4dDJk
LmZpbGxTdHlsZSA9ICdyZ2IoMCwgMCwgMjU1KSc7CkBAIC0xNDAsNyArMTQxLDcgQEAgYXN5bmMg
ZnVuY3Rpb24gdGVzdChkZXZpY2UpIHsKICAgICBjb25zdCBidWZmZXJDb3B5VmlldyA9IHsKICAg
ICAgICAgYnVmZmVyOiBidWZmZXJBLAogICAgICAgICByb3dQaXRjaDogY2FudmFzMmQud2lkdGgg
KiA0LAotICAgICAgICBpbWFnZUhlaWdodDogMAorICAgICAgICBpbWFnZUhlaWdodDogY2FudmFz
MmQud2lkdGggKiBjYW52YXMyZC5oZWlnaHQgKiA0CiAgICAgfTsKICAgICBjb25zdCB0ZXh0dXJl
Q29weVZpZXcgPSB7CiAgICAgICAgIHRleHR1cmU6IHRleHR1cmVCCkBAIC0xNDksMTQgKzE1MCwx
MyBAQCBhc3luYyBmdW5jdGlvbiB0ZXN0KGRldmljZSkgewogCiAgICAgZGV2aWNlLmdldFF1ZXVl
KCkuc3VibWl0KFtibGl0Q29tbWFuZEVuY29kZXIuZmluaXNoKCldKTsKIAotICAgIGF3YWl0IGJ1
ZmZlckEubWFwUmVhZEFzeW5jKCkudGhlbihhYiA9PiB7Ci0gICAgICAgIGNvbnN0IGFycmF5ID0g
bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGFiKTsKLSAgICAgICAgY29uc3QgcmVzdWx0SW1hZ2VEYXRh
ID0gbmV3IEltYWdlRGF0YShhcnJheSwgY2FudmFzMmQud2lkdGgsIGNhbnZhczJkLmhlaWdodCk7
CisgICAgY29uc3QgYWIgPSBhd2FpdCBidWZmZXJBLm1hcFJlYWRBc3luYygpCisgICAgY29uc3Qg
YXJyYXkgPSBuZXcgVWludDhDbGFtcGVkQXJyYXkoYWIpOworICAgIGNvbnN0IHJlc3VsdEltYWdl
RGF0YSA9IG5ldyBJbWFnZURhdGEoYXJyYXksIGNhbnZhczJkLndpZHRoLCBjYW52YXMyZC5oZWln
aHQpOwogCi0gICAgICAgIGNvbnRleHQyZC5wdXRJbWFnZURhdGEocmVzdWx0SW1hZ2VEYXRhLCAw
LCAwKTsKKyAgICBjb250ZXh0MmQucHV0SW1hZ2VEYXRhKHJlc3VsdEltYWdlRGF0YSwgMCwgMCk7
CiAKLSAgICAgICAgYnVmZmVyQS5kZXN0cm95KCk7Ci0gICAgfSk7CisgICAgYnVmZmVyQS5kZXN0
cm95KCk7CiB9CiAKIGdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9idWZmZXItZXJyb3JzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJncHUvYnVmZmVyLWVycm9ycy5odG1sCmluZGV4IGQ3NzdjMDc0NGRhMmQxNzE2ZDEz
ODA3MDc1Yjk2NzdiMDlmODJmZjAuLjBmYTE0NTgzOWZmMzMwYjUwYzM4NzNiMDA0NjE0YTIyM2Y5
NTlmYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9idWZmZXItZXJyb3JzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2J1ZmZlci1lcnJvcnMuaHRtbApAQCAtMTU1LDQgKzE1
NSw0IEBAIGNvbnN0IGFzc2VydEFsbEJ1ZmZlck1ldGhvZHNGYWlsID0gYXN5bmMgKGRldmljZSwg
YnVmZmVyKSA9PiB7CiAKIHJ1blRlc3RzV2l0aERldmljZSh0ZXN0cyk7CiA8L3NjcmlwdD4KLTwv
Ym9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJncHUvZXJyb3Itc2NvcGVzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCmluZGV4IDg1NmFmYThlZGMxYTFlNzI0MDJjNjY2
NmU0ZTM4ZjhmMzM1OGZhNjQuLjQzZWIxMzk3Mjg2MGYwZTkyZGIwZTM5MjFlZWI3NjBjMzVkNDBk
MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9lcnJvci1zY29wZXMtdGVzdC5odG1sCkBAIC05Nyw0
ICs5Nyw0IEBAIGNvbnN0IGNhdXNlVmFsaWRhdGlvbkVycm9yID0gZGV2aWNlID0+IGRldmljZS5j
cmVhdGVCdWZmZXIoeyBzaXplOiA0LCB1c2FnZTogR1BVCiBjb25zdCBjYXVzZU1lbW9yeUVycm9y
ID0gZGV2aWNlID0+IGRldmljZS5jcmVhdGVCdWZmZXIoeyBzaXplOiA5OTk5OTk5OTk5OSwgdXNh
Z2U6IEdQVUJ1ZmZlclVzYWdlLk5PTkUgfSk7CiAKIDwvc2NyaXB0PgotPC9ib2R5PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdwdS90ZXh0dXJlLWNyZWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS90
ZXh0dXJlLWNyZWF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMWFiZjE5NTIzYTZjOWRm
YzQxN2FhZTlmZjlkZWJiNzgzNTAxODlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ3B1L3RleHR1cmUtY3JlYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTUgQEAKKwor
UEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExl
dmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1
c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVw
dGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJn
YmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhl
aWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDNk
IGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Yg
d2lkdGggLTEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBk
aW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEg
dGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAtMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1w
bGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1Mg
Q3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggLTEgbWlwTGV2ZWxD
b3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdl
IDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAx
IG1pcExldmVsQ291bnQgLTEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4
dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdo
dCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IC0xIGRpbWVuc2lvbiAyZCBm
b3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1l
bnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgLTEuIAorUEFTUyBDcmVhdGluZyBhIHRl
eHR1cmUgb2Ygd2lkdGggMCBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVD
b3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3Jl
YXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDAgZGVwdGggMSBtaXBMZXZlbENvdW50
IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4g
CitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDAgbWlw
TGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBk
ZXB0aCAxIG1pcExldmVsQ291bnQgMCBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQg
cmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEg
aGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMCBkaW1lbnNpb24g
MmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBv
ZiB3aWR0aCAxMDAwMCBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3Vu
dCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRp
bmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDMwMDAgZGVwdGggMSBtaXBMZXZlbENvdW50
IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMWQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4g
CitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxMDAwMCBoZWlnaHQgMSBkZXB0aCAx
IG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1
bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0
IDEwMDAwIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJk
IGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Yg
d2lkdGggMSBoZWlnaHQgMSBkZXB0aCAzMDAwIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAx
IGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcg
YSB0ZXh0dXJlIG9mIHdpZHRoIDMwMDAgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEg
c2FtcGxlQ291bnQgMSBkaW1lbnNpb24gM2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQ
QVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAzMDAwIGRlcHRoIDEgbWlw
TGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDNkIGZvcm1hdCByZ2JhOHVub3Jt
IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBk
ZXB0aCAzMDAwIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAzZCBmb3Jt
YXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRo
IDIgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDIgc2FtcGxlQ291bnQgMSBkaW1lbnNp
b24gMWQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVy
ZSBvZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAyIHNhbXBsZUNvdW50
IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGlu
ZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMiBz
YW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BB
U1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMiBtaXBMZXZl
bENvdW50IDIgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gM2QgZm9ybWF0IHJnYmE4dW5vcm0gdXNh
Z2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdodCAyIGRlcHRo
IDEgbWlwTGV2ZWxDb3VudCAzIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2Jh
OHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWln
aHQgMiBkZXB0aCAyIG1pcExldmVsQ291bnQgMyBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAzZCBm
b3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMiBkaW1l
bnNpb24gMWQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4
dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNv
dW50IDIgZGltZW5zaW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVh
dGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBoZWlnaHQgMiBkZXB0aCAxIG1pcExldmVsQ291bnQg
MSBzYW1wbGVDb3VudCAyIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAK
K1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMSBtaXBM
ZXZlbENvdW50IDIgc2FtcGxlQ291bnQgMiBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0g
dXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRl
cHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDIgZGltZW5zaW9uIDNkIGZvcm1hdCBy
Z2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMiBo
ZWlnaHQgMiBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAzIGRpbWVuc2lvbiAy
ZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9m
IHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMzAw
IGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcg
YSB0ZXh0dXJlIG9mIHdpZHRoIDIgaGVpZ2h0IDIgZGVwdGggMiBtaXBMZXZlbENvdW50IDEgc2Ft
cGxlQ291bnQgMiBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNT
IENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAyIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxD
b3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDFkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdl
IDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQgMiBkZXB0aCAx
IG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAxZCBmb3JtYXQgcmdiYTh1
bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0
IDEgZGVwdGggMiBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMWQgZm9y
bWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0
aCAyIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5z
aW9uIDJkIGZvcm1hdCByZ2JhOHVub3JtIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1
cmUgb2Ygd2lkdGggMSBoZWlnaHQgMiBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3Vu
dCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgcmdiYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRp
bmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMiBtaXBMZXZlbENvdW50IDEg
c2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMC4gCitQ
QVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2
ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDFkIGZvcm1hdCBkZXB0aDMyZmxvYXQt
c3RlbmNpbDggdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhl
aWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJk
IGZvcm1hdCBkZXB0aDMyZmxvYXQtc3RlbmNpbDggdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEg
dGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBs
ZUNvdW50IDIgZGltZW5zaW9uIDJkIGZvcm1hdCBkZXB0aDMyZmxvYXQtc3RlbmNpbDggdXNhZ2Ug
MC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhlaWdodCAxIGRlcHRoIDEg
bWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIGdhcmJhZ2UgZm9ybWF0IHJn
YmE4dW5vcm0gdXNhZ2UgMC4gCitQQVNTIENyZWF0aW5nIGEgdGV4dHVyZSBvZiB3aWR0aCAxIGhl
aWdodCAxIGRlcHRoIDEgbWlwTGV2ZWxDb3VudCAxIHNhbXBsZUNvdW50IDEgZGltZW5zaW9uIDJk
IGZvcm1hdCBnYXJiYWdlIHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lk
dGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVu
c2lvbiAyZCBmb3JtYXQgcmdiYTh1aW50IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1
cmUgb2Ygd2lkdGggMSBoZWlnaHQgMSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3Vu
dCAxIGRpbWVuc2lvbiAyZCBmb3JtYXQgYmdyYTh1bm9ybSB1c2FnZSAwLiAKK1BBU1MgQ3JlYXRp
bmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEg
c2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IGJncmE4dW5vcm0tc3JnYiB1c2FnZSAw
LiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdpZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBt
aXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1lbnNpb24gMmQgZm9ybWF0IHJnYmExNmZs
b2F0IHVzYWdlIDAuIAorUEFTUyBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggMSBoZWlnaHQg
MSBkZXB0aCAxIG1pcExldmVsQ291bnQgMSBzYW1wbGVDb3VudCAxIGRpbWVuc2lvbiAyZCBmb3Jt
YXQgcmdiYTh1bm9ybSB1c2FnZSAxMDAwLiAKK1BBU1MgQ3JlYXRpbmcgYSB0ZXh0dXJlIG9mIHdp
ZHRoIDEgaGVpZ2h0IDEgZGVwdGggMSBtaXBMZXZlbENvdW50IDEgc2FtcGxlQ291bnQgMSBkaW1l
bnNpb24gMmQgZm9ybWF0IHJnYmE4dW5vcm0gdXNhZ2UgMzEuIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJncHUvdGV4dHVyZS1jcmVhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1
L3RleHR1cmUtY3JlYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YTFlY2I1MzRhNDM1ZDhmNDQzZjJl
ZTNiMWIxMDE3NmJkNzRmZWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1
L3RleHR1cmUtY3JlYXRpb24uaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPlRlc3RzIGZvciBjcmVhdGluZyB0ZXh0dXJl
IHZpZXdzLjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+Cithc3luYyBmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICBsZXQgdGVzdHMgPSBbCisgICAg
ICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2Ft
cGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdl
OiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRo
OiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBm
b3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7
d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNv
dW50OiAxLCBkaW1lbnNpb246ICIzZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwg
c3VjY2VzczogdHJ1ZX0sCisKKyAgICAgICAgLy8gVGVzdCBuZWdhdGl2ZSB2YWx1ZXMKKyAgICAg
ICAge3dpZHRoOiAtMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2Ft
cGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdl
OiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAtMSwgZGVw
dGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIs
IGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IC0xLCBtaXBMZXZlbENvdW50OiAxLCBzYW1w
bGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6
IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRo
OiAxLCBtaXBMZXZlbENvdW50OiAtMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAg
IHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxl
Q291bnQ6IC0xLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTog
MCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6
IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZv
cm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogLTEsIHN1Y2Nlc3M6IGZhbHNlfSwKKworICAgICAg
ICAvLyBUZXN0IHplcm8gdmFsdWVzCisgICAgICAgIHt3aWR0aDogMCwgaGVpZ2h0OiAxLCBkZXB0
aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAg
IHt3aWR0aDogMSwgaGVpZ2h0OiAwLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxl
Q291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAw
LCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDog
MCwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9y
bWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3
aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMCwgc2FtcGxlQ291
bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBz
dWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwg
bWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDAsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0
OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAgICAgLy8g
VGVzdCBtYXhpbXVtIHNpemVzCisgICAgICAgIHt3aWR0aDogMTAwMDAsIGhlaWdodDogMSwgZGVw
dGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIs
IGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAg
ICB7d2lkdGg6IDEsIGhlaWdodDogMzAwMCwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNh
bXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2Fn
ZTogMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEwMDAwLCBoZWlnaHQ6IDEs
IGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAi
MmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAg
ICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEwMDAwLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDog
MSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIs
IHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAx
LCBkZXB0aDogMzAwMCwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lv
bjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0s
CisgICAgICAgIHt3aWR0aDogMzAwMCwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3Vu
dDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1bm9y
bSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0
OiAzMDAwLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVu
c2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxz
ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMzAwMCwgbWlwTGV2ZWxD
b3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1
bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisKKyAgICAgICAgLy8gVGVzdCBtaXBt
YXBwZWQgdGV4dHVyZXMKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBt
aXBMZXZlbENvdW50OiAyLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMWQiLCBmb3JtYXQ6
ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRo
OiAyLCBoZWlnaHQ6IDIsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAyLCBzYW1wbGVDb3VudDog
MSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nl
c3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExl
dmVsQ291bnQ6IDIsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJn
YmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMiwg
aGVpZ2h0OiAyLCBkZXB0aDogMiwgbWlwTGV2ZWxDb3VudDogMiwgc2FtcGxlQ291bnQ6IDEsIGRp
bWVuc2lvbjogIjNkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0
cnVlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDIsIGRlcHRoOiAxLCBtaXBMZXZlbENv
dW50OiAzLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWln
aHQ6IDIsIGRlcHRoOiAyLCBtaXBMZXZlbENvdW50OiAzLCBzYW1wbGVDb3VudDogMSwgZGltZW5z
aW9uOiAiM2QiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNl
fSwKKworICAgICAgICAvLyBUZXN0IG11bHRpc2FtcGxpbmcKKyAgICAgICAge3dpZHRoOiAxLCBo
ZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMiwgZGlt
ZW5zaW9uOiAiMWQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZh
bHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENv
dW50OiAxLCBzYW1wbGVDb3VudDogMiwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lkdGg6IDIsIGhlaWdo
dDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAyLCBkaW1lbnNp
b246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0s
CisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDog
Miwgc2FtcGxlQ291bnQ6IDIsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIs
IHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAx
LCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDIsIGRpbWVuc2lvbjog
IjNkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisg
ICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwg
c2FtcGxlQ291bnQ6IDMsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTh1bm9ybSIsIHVz
YWdlOiAwLCBzdWNjZXNzOiBmYWxzZX0sCisgICAgICAgIHt3aWR0aDogMiwgaGVpZ2h0OiAyLCBk
ZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDMwMCwgZGltZW5zaW9uOiAi
MmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAg
ICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDIsIGRlcHRoOiAyLCBtaXBMZXZlbENvdW50OiAxLCBz
YW1wbGVDb3VudDogMiwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNh
Z2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKworICAgICAgICAvLyBUZXN0IGRpbWVuc2lvbgorICAg
ICAgICB7d2lkdGg6IDIsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNh
bXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIxZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2Fn
ZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAyLCBkZXB0
aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwg
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAg
e3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAyLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVD
b3VudDogMSwgZGltZW5zaW9uOiAiMWQiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAs
IHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAyLCBoZWlnaHQ6IDEsIGRlcHRoOiAx
LCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3Jt
YXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IHRydWV9LAorICAgICAgICB7d2lk
dGg6IDEsIGhlaWdodDogMiwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50
OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogMCwgc3Vj
Y2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMiwgbWlw
TGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAi
cmdiYTh1bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKworICAgICAgICAvLyBUZXN0
IGRlcHRoIHRleHR1cmVzCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwg
bWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjFkIiwgZm9ybWF0
OiAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAg
ICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBz
YW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJkZXB0aDMyZmxvYXQtc3Rl
bmNpbDgiLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVp
Z2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDIsIGRpbWVu
c2lvbjogIjJkIiwgZm9ybWF0OiAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiwgdXNhZ2U6IDAsIHN1
Y2Nlc3M6IGZhbHNlfSwKKworICAgICAgICAvLyBUZXN0IGVudW1zCisgICAgICAgIHt3aWR0aDog
MSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxDb3VudDogMSwgc2FtcGxlQ291bnQ6IDEs
IGRpbWVuc2lvbjogImdhcmJhZ2UiLCBmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgdXNhZ2U6IDAsIHN1
Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBt
aXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6
ICJnYXJiYWdlIiwgdXNhZ2U6IDAsIHN1Y2Nlc3M6IGZhbHNlfSwKKyAgICAgICAge3dpZHRoOiAx
LCBoZWlnaHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwg
ZGltZW5zaW9uOiAiMmQiLCBmb3JtYXQ6ICJyZ2JhOHVpbnQiLCB1c2FnZTogMCwgc3VjY2Vzczog
dHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxD
b3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAiYmdyYTh1
bm9ybSIsIHVzYWdlOiAwLCBzdWNjZXNzOiB0cnVlfSwKKyAgICAgICAge3dpZHRoOiAxLCBoZWln
aHQ6IDEsIGRlcHRoOiAxLCBtaXBMZXZlbENvdW50OiAxLCBzYW1wbGVDb3VudDogMSwgZGltZW5z
aW9uOiAiMmQiLCBmb3JtYXQ6ICJiZ3JhOHVub3JtLXNyZ2IiLCB1c2FnZTogMCwgc3VjY2Vzczog
dHJ1ZX0sCisgICAgICAgIHt3aWR0aDogMSwgaGVpZ2h0OiAxLCBkZXB0aDogMSwgbWlwTGV2ZWxD
b3VudDogMSwgc2FtcGxlQ291bnQ6IDEsIGRpbWVuc2lvbjogIjJkIiwgZm9ybWF0OiAicmdiYTE2
ZmxvYXQiLCB1c2FnZTogMCwgc3VjY2VzczogdHJ1ZX0sCisKKyAgICAgICAgLy8gVGVzdCB1c2Fn
ZQorICAgICAgICB7d2lkdGg6IDEsIGhlaWdodDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6
IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNpb246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0i
LCB1c2FnZTogMTAwMCwgc3VjY2VzczogZmFsc2V9LAorICAgICAgICB7d2lkdGg6IDEsIGhlaWdo
dDogMSwgZGVwdGg6IDEsIG1pcExldmVsQ291bnQ6IDEsIHNhbXBsZUNvdW50OiAxLCBkaW1lbnNp
b246ICIyZCIsIGZvcm1hdDogInJnYmE4dW5vcm0iLCB1c2FnZTogR1BVVGV4dHVyZVVzYWdlLkNP
UFlfU1JDIHwgR1BVVGV4dHVyZVVzYWdlLkNPUFlfRFNUIHwgR1BVVGV4dHVyZVVzYWdlLlNBTVBM
RUQgfCBHUFVUZXh0dXJlVXNhZ2UuU1RPUkFHRSB8IEdQVVRleHR1cmVVc2FnZS5PVVRQVVRfQVRU
QUNITUVOVCwgc3VjY2VzczogdHJ1ZX0sCisgICAgXTsKKyAgICBmb3IgKGxldCB0ZXN0IG9mIHRl
c3RzKSB7CisgICAgICAgIHByb21pc2VfdGVzdCgoKSA9PiB7CisgICAgICAgIHJldHVybiBnZXRC
YXNpY0RldmljZSgpLnRoZW4oYXN5bmMgZnVuY3Rpb24oZGV2aWNlKSB7CisgICAgICAgICAgICBs
ZXQgY2F1Z2h0ID0gZmFsc2U7CisgICAgICAgICAgICBkZXZpY2UucHVzaEVycm9yU2NvcGUoInZh
bGlkYXRpb24iKTsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgbGV0IHRleHR1
cmUgPSBkZXZpY2UuY3JlYXRlVGV4dHVyZSh7c2l6ZToge3dpZHRoOiB0ZXN0LndpZHRoLCBoZWln
aHQ6IHRlc3QuaGVpZ2h0LCBkZXB0aDogdGVzdC5kZXB0aH0sIG1pcExldmVsQ291bnQ6IHRlc3Qu
bWlwTGV2ZWxDb3VudCwgc2FtcGxlQ291bnQ6IHRlc3Quc2FtcGxlQ291bnQsIGRpbWVuc2lvbjog
dGVzdC5kaW1lbnNpb24sIGZvcm1hdDogdGVzdC5mb3JtYXQsIHVzYWdlOiB0ZXN0LnVzYWdlfSk7
CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUodGV4dHVyZSBpbnN0YW5jZW9mIEdQVVRleHR1
cmUsICJDYW5ub3QgY3JlYXRlIHRleHR1cmUuIik7CisgICAgICAgICAgICB9IGNhdGNoIHsKKyAg
ICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSghdGVzdC5zdWNjZXNzLCAiQ3JlYXRpbmcgdGV4dHVy
ZSBzaG91bGQgIiArICh0ZXN0LnN1Y2Nlc3MgPyAibm90ICIgOiAiIikgKyAiZmFpbC4iKTsKKyAg
ICAgICAgICAgICAgICBjYXVnaHQgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YXdhaXQgZGV2aWNlLnBvcEVycm9yU2NvcGUoKS50aGVuKGZ1bmN0aW9uKGVycm9yKSB7CisgICAg
ICAgICAgICAgICAgaWYgKHRlc3Quc3VjY2VzcykgeworICAgICAgICAgICAgICAgICAgICBsZXQg
bWVzc2FnZSA9ICJDb3VsZCBub3QgY3JlYXRlIHRleHR1cmU6ICI7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChlcnJvciAmJiBlcnJvci5tZXNzYWdlKQorICAgICAgICAgICAgICAgICAgICAgICAg
bWVzc2FnZSArPSBlcnJvci5tZXNzYWdlOworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKGVycm9yLCBudWxsLCAiQ291bGQgbm90IGNyZWF0ZSB0ZXh0dXJlOiAiICsgbWVzc2FnZSk7
CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghY2F1Z2h0KSB7CisgICAgICAgICAgICAgICAg
ICAgIGxldCBtZXNzYWdlID0gIkNyZWF0ZWQgdGV4dHVyZTogIjsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGVycm9yICYmIGVycm9yLm1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgICAgICBt
ZXNzYWdlICs9IGVycm9yLm1lc3NhZ2U7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVl
KCEhKGNhdWdodCB8fCBlcnJvciksICJDcmVhdGVkIHRleHR1cmUgd2hlbiBzaG91bGRuJ3QgaGF2
ZTogIiArIG1lc3NhZ2UpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiZGV2aWNlIGxvc3Qi
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LCBmdW5jdGlvbihlKSB7CisgICAgICAgIH0p
OworICAgIH0sIGBDcmVhdGluZyBhIHRleHR1cmUgb2Ygd2lkdGggJHt0ZXN0LndpZHRofSBoZWln
aHQgJHt0ZXN0LmhlaWdodH0gZGVwdGggJHt0ZXN0LmRlcHRofSBtaXBMZXZlbENvdW50ICR7dGVz
dC5taXBMZXZlbENvdW50fSBzYW1wbGVDb3VudCAke3Rlc3Quc2FtcGxlQ291bnR9IGRpbWVuc2lv
biAke3Rlc3QuZGltZW5zaW9ufSBmb3JtYXQgJHt0ZXN0LmZvcm1hdH0gdXNhZ2UgJHt0ZXN0LnVz
YWdlfS5gKTsKKyAgICB9Cit9CisKK3J1blRlc3RzKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
</data>
<flag name="review"
          id="415041"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>