<?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>205640</bug_id>
          
          <creation_ts>2019-12-30 01:13:15 -0800</creation_ts>
          <short_desc>An animated PNG plays the frames one time more than the image loopCount</short_desc>
          <delta_ts>2020-03-21 22:03:01 -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>Images</component>
          <version>Safari 13</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=183153</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>chatoo2412</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>darin</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1601833</commentid>
    <comment_count>0</comment_count>
      <attachid>386515</attachid>
    <who name="">chatoo2412</who>
    <bug_when>2019-12-30 01:13:15 -0800</bug_when>
    <thetext>Created attachment 386515
have to be repeated twice

APNG files are played once more than configured.

The attached file has to be repeated twice, and it does in other browsers.
It is repeated 3 times in Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602048</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-31 20:55:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/58258824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632327</commentid>
    <comment_count>2</comment_count>
      <attachid>394139</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-20 15:35:58 -0700</bug_when>
    <thetext>Created attachment 394139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632354</commentid>
    <comment_count>3</comment_count>
      <attachid>394139</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-20 16:08:00 -0700</bug_when>
    <thetext>Comment on attachment 394139
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Make the repetitionCount calculation for GIFs different from it for other
&gt; +        image formats.

This seems to be a workaround for a bug in the values of the property &quot;LoopCount&quot; as set by the ImageIO framework. It’s OK to have a workaround in WebKit, but the whole point of this property and framework is to abstract differences between image types.

Ideally we should get this fixed in ImageIO some day and remove our workaround.

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.h:38
&gt; +bool iGIFImageType(const String&amp;);

Any new function like this should use StringView instead of const String&amp;.

Also, there’s a missing &quot;s&quot; here in &quot;is&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632372</commentid>
    <comment_count>4</comment_count>
      <attachid>394148</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-20 16:47:39 -0700</bug_when>
    <thetext>Created attachment 394148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632374</commentid>
    <comment_count>5</comment_count>
      <attachid>394139</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-20 16:52:31 -0700</bug_when>
    <thetext>Comment on attachment 394139
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        image formats.
&gt; 
&gt; This seems to be a workaround for a bug in the values of the property &quot;LoopCount&quot; as set by the ImageIO framework. It’s OK to have a workaround in WebKit, but the whole point of this property and framework is to abstract differences between image types.
&gt; 
&gt; Ideally we should get this fixed in ImageIO some day and remove our workaround.

Yes fixing the issue in ImageIO will be ideal. However I am not sure if our request this change will be accepted or not especially it is a backward compatibility issue.

&gt;&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.h:38
&gt;&gt; +bool iGIFImageType(const String&amp;);
&gt; 
&gt; Any new function like this should use StringView instead of const String&amp;.
&gt; 
&gt; Also, there’s a missing &quot;s&quot; here in &quot;is&quot;.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632401</commentid>
    <comment_count>6</comment_count>
      <attachid>394139</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-20 17:33:48 -0700</bug_when>
    <thetext>Comment on attachment 394139
Patch

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

&gt;&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt;&gt; +        image formats.
&gt;&gt; 
&gt;&gt; This seems to be a workaround for a bug in the values of the property &quot;LoopCount&quot; as set by the ImageIO framework. It’s OK to have a workaround in WebKit, but the whole point of this property and framework is to abstract differences between image types.
&gt;&gt; 
&gt;&gt; Ideally we should get this fixed in ImageIO some day and remove our workaround.
&gt; 
&gt; Yes fixing the issue in ImageIO will be ideal. However I am not sure if our request this change will be accepted or not especially it is a backward compatibility issue.

Two thoughts on that:

1) I don’t mind being unsure as long as we still take next steps to see if it can be fixed; I don’t want to assume this will fail and thus not even ask. Often I write the workaround *after* hearing from the people who I report bugs to.

2) Yes any behavior change can create a compatibility issue. On the other hand, how could any client be getting correct behavior if they are using &quot;LoopCount&quot;? It seems highly likely that they have the same kind of bug with non-GIF animated images. If the change is to the animated PNG case, and not the GIF case (since that is *much* less likely to be tested), the &quot;incompatibility&quot; is likely to simply be a bug, fixed. And the traditional tools can be used to mitigate compatibility as well, such as linked on or after checks.

So I think we need to think of this as a bug workaround.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632403</commentid>
    <comment_count>7</comment_count>
      <attachid>394148</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-20 17:39:28 -0700</bug_when>
    <thetext>Comment on attachment 394148
Patch

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

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:105
&gt; +bool isGIFImageType(const StringView&amp; imageType)

Should be just StringView; actually more efficient than const&amp;.

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.h:38
&gt; +bool isGIFImageType(const StringView&amp;);

Should be just StringView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632559</commentid>
    <comment_count>8</comment_count>
      <attachid>394189</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-21 18:40:26 -0700</bug_when>
    <thetext>Created attachment 394189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632578</commentid>
    <comment_count>9</comment_count>
      <attachid>394139</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-21 21:08:12 -0700</bug_when>
    <thetext>Comment on attachment 394139
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt;&gt;&gt; +        image formats.
&gt;&gt;&gt; 
&gt;&gt;&gt; This seems to be a workaround for a bug in the values of the property &quot;LoopCount&quot; as set by the ImageIO framework. It’s OK to have a workaround in WebKit, but the whole point of this property and framework is to abstract differences between image types.
&gt;&gt;&gt; 
&gt;&gt;&gt; Ideally we should get this fixed in ImageIO some day and remove our workaround.
&gt;&gt; 
&gt;&gt; Yes fixing the issue in ImageIO will be ideal. However I am not sure if our request this change will be accepted or not especially it is a backward compatibility issue.
&gt; 
&gt; Two thoughts on that:
&gt; 
&gt; 1) I don’t mind being unsure as long as we still take next steps to see if it can be fixed; I don’t want to assume this will fail and thus not even ask. Often I write the workaround *after* hearing from the people who I report bugs to.
&gt; 
&gt; 2) Yes any behavior change can create a compatibility issue. On the other hand, how could any client be getting correct behavior if they are using &quot;LoopCount&quot;? It seems highly likely that they have the same kind of bug with non-GIF animated images. If the change is to the animated PNG case, and not the GIF case (since that is *much* less likely to be tested), the &quot;incompatibility&quot; is likely to simply be a bug, fixed. And the traditional tools can be used to mitigate compatibility as well, such as linked on or after checks.
&gt; 
&gt; So I think we need to think of this as a bug workaround.

I agree it is a workaround. But I think it is a workaround for a lack of specs and bad file format design. Please see https://bugs.webkit.org/show_bug.cgi?id=183153 and &lt;rdar://problem/60733364&gt;.

When I said I am not sure if ImageIO should take care of removing this discrepancy I said that because I am still not sure what is the right thing to be done here:

1. Should the GIF creators (like Adobe PhotoShop) add the loopCount always to the GIF and do not depend on the notion &quot;No loopCount =&gt; LoopCount = 1&quot;?
2. Should the GIF decoders (like ImageIO) hide the discrepancy of the GIF images and always return a loopCount even if it does not exist in the file and adds the extra one if LoopCount &gt; 0?
3. Should the GIF viewers (like WebKit) handles the cases of the loopCount for the GIF different from the other image formats?

I think the problem is there is no clear documentation for the animated GIF. It looks the animation part was added incrementally to the GIF image at a time there was no standardization. Multiple frames were added and the assumption was the animation would be played only once. Then the Netscape Looping Application Extension block was added to give more control over the animation. But because it had to be backward compatible, the loopCount = 1 should have been handled the same way it was handled before adding this Netscape block. And to have a single representation for loopCount = 1, an extra one is assumed to be added to the value stored in the file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632579</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-21 21:16:36 -0700</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #9)
&gt; 1. Should the GIF creators (like Adobe PhotoShop) add the loopCount always
&gt; to the GIF and do not depend on the notion &quot;No loopCount =&gt; LoopCount = 1&quot;?

No.

&gt; 2. Should the GIF decoders (like ImageIO) hide the discrepancy of the GIF
&gt; images and always return a loopCount even if it does not exist in the file
&gt; and adds the extra one if LoopCount &gt; 0?

Yes, ImageIO needs to normalize loop counts so ImageIO clients do not have write format-specific code to handle looping images

I don’t know about other GIF decoders.

&gt; 3. Should the GIF viewers (like WebKit) handles the cases of the loopCount
&gt; for the GIF different from the other image formats?

Code like WebKit needs to handle each type of looping image correctly. Whether it needs to handle various cases depends on the behavior of the image decoding layer it uses. If it’s using one like ImageIO that strives for format-indepedence, then the goal would be to have no GIF-format-specific code.

&gt; I think the problem is there is no clear documentation for the animated GIF.
&gt; It looks the animation part was added incrementally to the GIF image at a
&gt; time there was no standardization.

Yes, but that happened over 10 years ago. I am not sure why that historical fact is relevant to fixing this bug in handling of non-GIF looping images.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632584</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-21 22:03:00 -0700</bug_when>
    <thetext>Committed r258817: &lt;https://trac.webkit.org/changeset/258817&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394189.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>386515</attachid>
            <date>2019-12-30 01:13:15 -0800</date>
            <delta_ts>2019-12-30 01:13:15 -0800</delta_ts>
            <desc>have to be repeated twice</desc>
            <filename>repeat-twice.png</filename>
            <type>image/png</type>
            <size>1654</size>
            <attacher>chatoo2412</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAAAAACIM/FCAAAACGFjVEwAAAADAAAAAiDj2+wAAAAC
dFJOUwABAZT9rgAAABpmY1RMAAAAAAAAAMgAAADIAAAAAAAAAAAAUABkAADmEQWNAAAC6ElEQVR4
2u3aIWwiQRTG8RU4sgniDIqcBkdC0gRTUUNOnMCgECSYpklNDeaCaYI4jUQQTE1FU4EiITgSsqKq
wVFXsWJX4PaunVmywOL2uHzNf1ynCZlf5s3Mey/rRF9kOECAAAECBAgQIECAAAECBAgQIECAAAEC
BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAPmqkM3ktvOj0e2PPGVIOCw7u1EZvKlC
Jt+c/XEXKkLClnM0yktBSNNJGblHOch9vPZC/fpXq5Kzf7meGGRqF156soF2Zynf36Ug64JZ9m2w
m1rZG+xaCtI2i24l517dz7m8LwTZmg0p7a95aHQDIciTWfL0YNoEV1UIYiKrlD7t6kC25jR0Dud/
m416l4G81D8lDycibqX0jmyeB62j62lsIGv5esS89jn9wqpmMkd5yNJE1r06JCzrvexp461mqyvt
5sPbnU0jr7a6kGD10I3rkWoQqUJqycq97UeykFyiZJ9pdlHM4UjsR20U6kIWe82Hws1GFTL5SNwT
4VX0RCHzkff3wn2Z9IrxpszFH8SgayX5hXquNbMXcV0++42bXVN1SNQxkAt5SGBPvKcOiW4N5FEe
Ms6yR/c/ISsD6cpDQvPGX+lA/NVD2okOzI40RCCdqnvYio8TFq3QujA93pSi1jbkeyIQm1U9n/yP
yvU7OhVAvnkQ84EIxM+b2DoqotpZnvVz3FrN9DTXduOdmQzENked/t7supjphpzlHYmLqGHi5hq6
9qOBFyGIHxe21fijjfVlXLVPpEpdz919FdTqj3uN0q77kFkz/ky51jzvpI5+JAaJvHIKw51GcpAo
vM4dOtqbSBASRZubZHwVOq/Z/vw565Htov/zolysXDb7y23WP85XpkCAAAECBAgQIECAAAECBAgQ
IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC5F+MP8rh
FXctXpTAAAAAGmZjVEwAAAABAAAAIwAAADUAAABgAAAAQwBQAGQAALfql94AAAHFZmRBVAAAAAJ4
2o3UL4jCUBwH8BdMYli4YrCIxXDJNS9ZBMuCYBCjSVgwmA6LRS4dWAYXZMEmyIUrpl0TTBaDdTB4
YWFl5ZXf7fZ+b87Nn/M7hLe3D77/j0EqobM0R73u0Fzsg1Q1S0pi0y6xJKW2LXLGqrJMal+3hvfY
nQyClHFr7G6aXmL8ZlJb7Zpm59qsHirTxZqKhcPhc9X9PppvfDe863jPb1i5j42oy7c53ARH8Rqb
H+yfuDXei6x3/s1Ilg+QyU7WTyMjKnFxCLnI4TUic5J8lTeGXJXIbFSzuczlF5/Buyx5ebOWXy4M
3L29nPQ7eQIzaTgDOnIay/DIaMm4yODcTh4Y0UzNMxFLEk3QJsDl+gTaDCSpC9oscPtsgTQ2kjGQ
RhFdkGaLu1lzgTKWOgIHoIzqbskBykzUvzhAmMDINJQ3bkud1xMQ5ogLwBouEGZXRtLmQJhVcqeE
QJipIrPMOBITDtS0rIEwobontPxBQyPUFVQ/A2GEmjmdA2VUX4wQKPOBZCSAMkfcLkNi30YmaEjS
CmmDc6ddgDQcF8nmfvRE8eOfejiPzIwVxGFBucj8sh0rNuMnTO8Joz9hoDh//3CBUMGCXhQAAAAa
ZmNUTAAAAAMAAAAjAAAANAAAAGAAAABDAFAAZAAA44ef3wAAAL1mZEFUAAAABHjaY/iPBcy1t7dP
QHAZsCi5z8vAwKCLX40LUAmDNl4100BK8JuzCqwErzkbWRkImbMNqgSPOXM5oEpwmvMtgQEOcJhz
UxehBIc5M3mRlGA1Z5s2TFYAhzkXXOAGNNRiV3MfroJjzX8cam7ClLjc//+/Abua61CXzAVx8Klh
zXkJ5tTiVhN2EyqESw1H1k24EA67vr1HCu5awukHlzkkq6mlozmDzV+1QzAMG4ZgOI+mnyEezgCs
M3vH+RqzVAAAABt0RVh0U29mdHdhcmUAQVBORyBBc3NlbWJsZXIgMi43wePTiAAAAABJRU5ErkJg
gg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394139</attachid>
            <date>2020-03-20 15:35:58 -0700</date>
            <delta_ts>2020-03-20 16:47:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205640-20200320153557.patch</filename>
            <type>text/plain</type>
            <size>25096</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYyNmE3ZDU5OGIzMDZk
ZTY1MTk0NWJmYmZiMTA0MDJhNDljY2FiNi4uMDRmYjZjOTM2N2NjNDM3ZmFkMGE5MDY1NTY5YWNh
ZWIxODY2OThlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTIwICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgQW4gYW5p
bWF0ZWQgUE5HIHBsYXlzIHRoZSBmcmFtZXMgb25lIHRpbWUgbW9yZSB0aGFuIHRoZSBpbWFnZSBs
b29wQ291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNTY0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2UgdGhlIHJlcGV0aXRpb25Db3VudCBjYWxjdWxhdGlvbiBmb3IgR0lGcyBkaWZmZXJlbnQg
ZnJvbSBpdCBmb3Igb3RoZXIKKyAgICAgICAgaW1hZ2UgZm9ybWF0cy4KKworICAgICAgICBUZXN0
czogZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLWxvb3AtY291bnQuaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRtbAorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2VEZWNvZGVyQ0c6OnJlcGV0aXRpb25Db3VudCBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aUdJ
RkltYWdlVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnku
aDoKKwogMjAyMC0wMy0xOSAgU3VubnkgSGUgIDxzdW5ueV9oZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlIHNob3VsZCBkaXNhYmxlIGlzRXZlbnRBbGxvd2VkSW5N
YWluVGhyZWFkIGFuZCBpc0V2ZW50RGlzcGF0Y2hBbGxvd2VkSW5TdWJ0cmVlIGFzc2VydHMgaW4g
V2ViS2l0MQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SW1hZ2VEZWNvZGVyQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SW1hZ2VEZWNvZGVyQ0cuY3BwCmluZGV4IDFhNGRkMGNmYjYxY2Q1YjJmYmNkYTI1ZTRiYmE5NzEz
MDViNDRhYzAuLmViMTdmY2Y1YWQ0ZjVkZjg2ZDA4OGMwMzBkNTkzNTEyOGIyY2M0MDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNH
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29k
ZXJDRy5jcHAKQEAgLTI5MSw5ICsyOTEsMTUgQEAgUmVwZXRpdGlvbkNvdW50IEltYWdlRGVjb2Rl
ckNHOjpyZXBldGl0aW9uQ291bnQoKSBjb25zdAogICAgIENGTnVtYmVyR2V0VmFsdWUobnVtLCBr
Q0ZOdW1iZXJJbnRUeXBlLCAmbG9vcENvdW50KTsKIAogICAgIC8vIEEgcHJvcGVydHkgd2l0aCB2
YWx1ZSAwIG1lYW5zIGxvb3AgZm9yZXZlci4KLSAgICAvLyBGb3IgbG9vcENvdW50ID4gMCwgdGhl
IHNwZWNzIGlzIG5vdCBjbGVhciBhYm91dCBpdC4gQnV0IGl0IGxvb2tzIHRoZSBtZWFuaW5nCisg
ICAgaWYgKCFsb29wQ291bnQpCisgICAgICAgIHJldHVybiBSZXBldGl0aW9uQ291bnRJbmZpbml0
ZTsKKworICAgIGlmICghaUdJRkltYWdlVHlwZSh1dGkoKSkpCisgICAgICAgIHJldHVybiBsb29w
Q291bnQ7CisKKyAgICAvLyBGb3IgR0lGIGFuZCBsb29wQ291bnQgPiAwLCB0aGUgc3BlY3MgaXMg
bm90IGNsZWFyIGFib3V0IGl0LiBCdXQgaXQgbG9va3MgdGhlIG1lYW5pbmcKICAgICAvLyBpczog
cGxheSBvbmNlICsgbG9vcCBsb29wQ291bnQgd2hpY2ggaXMgZXF1aXZhbGVudCB0byBwbGF5IGxv
b3BDb3VudCArIDEuCi0gICAgcmV0dXJuIGxvb3BDb3VudCA/IGxvb3BDb3VudCArIDEgOiBSZXBl
dGl0aW9uQ291bnRJbmZpbml0ZTsKKyAgICByZXR1cm4gbG9vcENvdW50ICsgMTsKIH0KIAogT3B0
aW9uYWw8SW50UG9pbnQ+IEltYWdlRGVjb2RlckNHOjpob3RTcG90KCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmNwcAppbmRl
eCA5ZjljNWY0MmM5OTJmYmZkOWI0N2UzODkzODk3ZWYwMzRlMTdmNDM4Li5mNzBlNmJjMzkxNTk0
YjAzMGNkMmVmMWU4MDRjMTcyMzNlMmM1ZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9VVElSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwCkBAIC0xMDIsNiArMTAyLDExIEBA
IGJvb2wgaXNTdXBwb3J0ZWRJbWFnZVR5cGUoY29uc3QgU3RyaW5nJiBpbWFnZVR5cGUpCiAgICAg
cmV0dXJuIGRlZmF1bHRTdXBwb3J0ZWRJbWFnZVR5cGVzKCkuY29udGFpbnMoaW1hZ2VUeXBlKSB8
fCBhZGRpdGlvbmFsU3VwcG9ydGVkSW1hZ2VUeXBlcygpLmNvbnRhaW5zKGltYWdlVHlwZSk7CiB9
CiAKK2Jvb2wgaUdJRkltYWdlVHlwZShjb25zdCBTdHJpbmcmIGltYWdlVHlwZSkKK3sKKyAgICBy
ZXR1cm4gaW1hZ2VUeXBlID09ICJjb20uY29tcHVzZXJ2ZS5naWYiOworfQorCiB9CiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVn
aXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5
LmgKaW5kZXggMmMzYWQzMmE5YzUyZGE0NzBmYjZkYzliMGUyZDI5MTVlZDJkZjYxZC4uNzI3OTdh
ZTM1ZTY5M2Q0OTZhYjVjMmQwMDcwOTY1MWQ2NTZkNTRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9VVElSZWdpc3RyeS5oCkBAIC0zNSw1ICszNSw2IEBA
IEhhc2hTZXQ8U3RyaW5nPiYgYWRkaXRpb25hbFN1cHBvcnRlZEltYWdlVHlwZXMoKTsKIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0QWRkaXRpb25hbFN1cHBvcnRlZEltYWdlVHlwZXMoY29uc3QgVmVj
dG9yPFN0cmluZz4mKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QWRkaXRpb25hbFN1cHBvcnRl
ZEltYWdlVHlwZXNGb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYpOwogYm9vbCBpc1N1cHBvcnRlZElt
YWdlVHlwZShjb25zdCBTdHJpbmcmKTsKK2Jvb2wgaUdJRkltYWdlVHlwZShjb25zdCBTdHJpbmcm
KTsKIAogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGMwN2JjMDc4ZjJjMGQ5OTA2MTk4MDllMzE3MGIzZjA3OWQ1NjI1ZGYu
LjRjMDk5YWY5NjY0MmZmMmU4YWYxOWY5ZmExZmI3YTRkMmQ1NWMzNjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNiBAQAorMjAyMC0wMy0yMCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBw
bGUuY29tPgorCisgICAgICAgIEFuIGFuaW1hdGVkIFBORyBwbGF5cyB0aGUgZnJhbWVzIG9uZSB0
aW1lIG1vcmUgdGhhbiB0aGUgaW1hZ2UgbG9vcENvdW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NDAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciB0aGUganMgY29kZSB0byBhIHNlcGFy
YXRlIGpzIGZpbGUuIEFkZCB0d28gbGF5b3V0IHRlc3RzOiBvbmUgZm9yCisgICAgICAgIGFuaW1h
dGVkIEdJRnMgYW5kIHRoZSBvdGhlciBmb3IgYW5pbWF0ZWQgUE5Hcy4KKworICAgICAgICAqIGZh
c3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1sb29wLWNvdW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1sb29wLWNvdW50Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLWltYWdlLWxvb3AtY291bnQtZXhwZWN0
ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1s
b29wLWNvdW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvYW5pbWF0ZWQt
cG5nLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFn
ZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9p
bWFnZXMvcmVzb3VyY2VzL2FuaW1hdGVkLWltYWdlLWxvb3AtY291bnQuanM6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBl
YXQtMS5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRl
ZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtMi5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1h
Z2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtaW5maW5pdGUucG5n
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDMtMTkgIEVy
aWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgWyBNYWMgV0sx
IF0gUkVHUkVTU0lPTiAocjI0MDUzNykgTGF5b3V0IFRlc3QgbWVkaWEvdmlkZW8tYmFja2dyb3Vu
ZC10YWItcGxheWJhY2suaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1sb29wLWNvdW50LWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbG9vcC1jb3VudC1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYwYzhmN2E2NjY1NDI3OGU3OWM1YzMwMGM1Y2NlMTY5Yzg5MWM5
YjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1n
aWYtbG9vcC1jb3VudC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8c3R5bGU+CisgICAgLmJveCB7CisgICAgICAgIHdpZHRoOiAxMDBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
ICAgIH0gCis8L3N0eWxlPiAgICAKKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIDxwPkZyYW1l
cyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBtaXNzaW5nIGxvb3BDb3VudCwgKHJl
cGV0aXRpb25Db3VudCA9IDEpOjwvcD4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0i
YmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xh
c3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2Pgor
ICAgIDwvZGl2PgorICAgIDxkaXY+CisgICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5p
bWF0ZWQgaW1hZ2Ugd2l0aCBsb29wQ291bnQgPSAxLCAocmVwZXRpdGlvbkNvdW50ID0gMik6PC9w
PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dy
b3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxl
PSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94
IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBj
bGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+
CisgICAgPC9kaXY+CisgICAgPGRpdj4KKyAgICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBh
bmltYXRlZCBpbWFnZSB3aXRoIGxvb3BDb3VudCA9IDAsIChyZXBldGl0aW9uQ291bnQgPSBpbmZp
bml0ZSk6PC9wPgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHls
ZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJi
b3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBj
bGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2
PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1sb29wLWNvdW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbG9vcC1jb3VudC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZlZjQwMGNhZjc5YTc5MzAxM2I5MGUxODc1YmNlM2QzMzdjZTE0OTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbG9vcC1jb3VudC5odG1s
CkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c3R5bGU+CisgICAg
Y2FudmFzIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2FuaW1hdGVkLWltYWdlLWxv
b3AtY291bnQuanMiPjwvc2NyaXB0PgorPGJvZHk+CisgICAgPGRpdj4KKyAgICAgICAgPHA+RnJh
bWVzIG9mIGEgMy1mcmFtZSBhbmltYXRlZCBpbWFnZSB3aXRoIG1pc3NpbmcgbG9vcENvdW50LCAo
cmVwZXRpdGlvbkNvdW50ID0gMSk6PC9wPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtMSI+
PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy0yIj48L2NhbnZhcz4KKyAgICAg
ICAgPGNhbnZhcyBpZD0iY2FudmFzLTMiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJj
YW52YXMtNCI+PC9jYW52YXM+CisgICAgPC9kaXY+CisgICAgPGRpdj4KKyAgICAgICAgPHA+RnJh
bWVzIG9mIGEgMy1mcmFtZSBhbmltYXRlZCBpbWFnZSB3aXRoIGxvb3BDb3VudCA9IDEsIChyZXBl
dGl0aW9uQ291bnQgPSAyKTo8L3A+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1hIj48L2Nh
bnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWIiPjwvY2FudmFzPgorICAgICAgICA8
Y2FudmFzIGlkPSJjYW52YXMtYyI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZh
cy1kIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWUiPjwvY2FudmFzPgor
ICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZiI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMg
aWQ9ImNhbnZhcy1nIj48L2NhbnZhcz4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2PgorICAgICAgICA8
cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbG9vcENvdW50ID0gMCwg
KHJlcGV0aXRpb25Db3VudCA9IGluZmluaXRlKTo8L3A+CisgICAgICAgIDxjYW52YXMgaWQ9ImNh
bnZhcy1BIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLUIiPjwvY2FudmFz
PgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtQyI+PC9jYW52YXM+CisgICAgICAgIDxjYW52
YXMgaWQ9ImNhbnZhcy1EIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLUUi
PjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtRiI+PC9jYW52YXM+CisgICAg
ICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1HIj48L2NhbnZhcz4KKyAgICA8L2Rpdj4KKyAgICA8c2Ny
aXB0PgorICAgICAgICAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgaW1hZ2VzID0gWwor
ICAgICAgICAgICAgICAgIHsgc3JjOiAicmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVl
LXJlcGVhdC0xLmdpZiIsIGNhbnZhc0lkOiAnMScsIGZyYW1lQ291bnQ6IDQgfSwKKyAgICAgICAg
ICAgICAgICB7IHNyYzogInJlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQt
Mi5naWYiLCBjYW52YXNJZDogJ2EnLCBmcmFtZUNvdW50OiA3IH0sCisgICAgICAgICAgICAgICAg
eyBzcmM6ICJyZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVwZWF0LWluZmluaXRl
LmdpZiIsIGNhbnZhc0lkOiAnQScsIGZyYW1lQ291bnQ6IDcgfQorICAgICAgICAgICAgXTsKKyAg
ICAgICAgICAgIHJ1blRlc3QoaW1hZ2VzKTsKKyAgICAgICAgfSkoKTsKKyAgICA8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2Fu
aW1hdGVkLWltYWdlLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2FuaW1hdGVkLWltYWdlLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjBjOGY3YTY2NjU0Mjc4ZTc5YzVjMzAwYzVjY2UxNjljODkx
YzliNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50LWV4cGVjdGVkLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPHN0eWxlPgotICAgIC5ib3ggewotICAgICAgICB3aWR0aDogMTAwcHg7Ci0gICAgICAgIGhl
aWdodDogMTAwcHg7Ci0gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgICB9IAotPC9z
dHlsZT4gICAgCi08Ym9keT4KLSAgICA8ZGl2PgotICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZy
YW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbWlzc2luZyBsb29wQ291bnQsIChyZXBldGl0aW9uQ291
bnQgPSAxKTo8L3A+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQt
Y29sb3I6IHJlZDsiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0
eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9
ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KLSAgICA8L2Rpdj4K
LSAgICA8ZGl2PgotICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdl
IHdpdGggbG9vcENvdW50ID0gMSwgKHJlcGV0aXRpb25Db3VudCA9IDIpOjwvcD4KLSAgICAgICAg
PGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+Ci0g
ICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+
PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6
IGJsdWU7Ij48L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3Vu
ZC1jb2xvcjogcmVkOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFz
cz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgotICAgIDwvZGl2
PgotICAgIDxkaXY+Ci0gICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1h
Z2Ugd2l0aCBsb29wQ291bnQgPSAwLCAocmVwZXRpdGlvbkNvdW50ID0gaW5maW5pdGUpOjwvcD4K
LSAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+
PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6
IGdyZWVuOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91
bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0i
YmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xh
c3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KLSAgICAgICAg
PGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+Ci0g
ICAgPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGJkM2RmZTkwZWZhOWRlY2U2ZTVlOTE2YjhkYWQzNmM1NTM0NGI5YTkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvYW5pbWF0ZWQtaW1hZ2UtbG9vcC1jb3VudC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsOTYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzdHlsZT4KLSAgICBj
YW52YXMgewotICAgICAgICB3aWR0aDogMTAwcHg7Ci0gICAgICAgIGhlaWdodDogMTAwcHg7Ci0g
ICAgfQotPC9zdHlsZT4gICAgCi08Ym9keT4KLSAgICA8ZGl2PgotICAgICAgICA8cD5GcmFtZXMg
b2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbWlzc2luZyBsb29wQ291bnQsIChyZXBl
dGl0aW9uQ291bnQgPSAxKTo8L3A+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy0xIj48L2Nh
bnZhcz4KLSAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTIiPjwvY2FudmFzPgotICAgICAgICA8
Y2FudmFzIGlkPSJjYW52YXMtMyI+PC9jYW52YXM+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZh
cy00Ij48L2NhbnZhcz4KLSAgICA8L2Rpdj4KLSAgICA8ZGl2PgotICAgICAgICA8cD5GcmFtZXMg
b2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbG9vcENvdW50ID0gMSwgKHJlcGV0aXRp
b25Db3VudCA9IDIpOjwvcD4KLSAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWEiPjwvY2FudmFz
PgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtYiI+PC9jYW52YXM+Ci0gICAgICAgIDxjYW52
YXMgaWQ9ImNhbnZhcy1jIj48L2NhbnZhcz4KLSAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWQi
PjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZSI+PC9jYW52YXM+Ci0gICAg
ICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1mIj48L2NhbnZhcz4KLSAgICAgICAgPGNhbnZhcyBpZD0i
Y2FudmFzLWciPjwvY2FudmFzPgotICAgIDwvZGl2PgotICAgIDxkaXY+Ci0gICAgICAgIDxwPkZy
YW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBsb29wQ291bnQgPSAwLCAocmVw
ZXRpdGlvbkNvdW50ID0gaW5maW5pdGUpOjwvcD4KLSAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFz
LUEiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtQiI+PC9jYW52YXM+Ci0g
ICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1DIj48L2NhbnZhcz4KLSAgICAgICAgPGNhbnZhcyBp
ZD0iY2FudmFzLUQiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtRSI+PC9j
YW52YXM+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1GIj48L2NhbnZhcz4KLSAgICAgICAg
PGNhbnZhcyBpZD0iY2FudmFzLUciPjwvY2FudmFzPgotICAgIDwvZGl2PgotICAgIDxzY3JpcHQ+
Ci0gICAgICAgIGZ1bmN0aW9uIGRyYXdGcmFtZShpbWFnZSwgY2FudmFzSWQpIHsKLSAgICAgICAg
ICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgICAgIGxl
dCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzLSIgKyBjYW52YXNJZCk7
Ci0gICAgICAgICAgICAgICAgbGV0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsK
LSAgICAgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgY2FudmFzLndp
ZHRoLCBjYW52YXMuaGVpZ2h0KTsKLSAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsK
LSAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShTdHJpbmcuZnJvbUNoYXJDb2RlKGNhbnZhc0lk
LmNoYXJDb2RlQXQoKSArIDEpKTsKLSAgICAgICAgICAgICAgICB9LCAzMCk7Ci0gICAgICAgICAg
ICB9KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGRyYXdJbWFnZShpbWFnZSwgY2Fu
dmFzSWQsIGZyYW1lQ291bnQpIHsKLSAgICAgICAgICAgIGxldCBwcm9taXNlID0gZHJhd0ZyYW1l
KGltYWdlLCBjYW52YXNJZCk7Ci0gICAgICAgICAgICBmb3IgKGxldCBmcmFtZSA9IDE7IGZyYW1l
IDwgZnJhbWVDb3VudDsgKytmcmFtZSkgewotICAgICAgICAgICAgICAgIHByb21pc2UgPSBwcm9t
aXNlLnRoZW4oKGNhbnZhc0lkKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBkcmF3
RnJhbWUoaW1hZ2UsIGNhbnZhc0lkKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIHJldHVybiBwcm9taXNlOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVu
Y3Rpb24gbG9hZEltYWdlKHNyYywgY2FudmFzSWQsIGZyYW1lQ291bnQpIHsKLSAgICAgICAgICAg
IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgICAgIGxldCBp
bWFnZSA9IG5ldyBJbWFnZTsKLSAgICAgICAgICAgICAgICBpbWFnZS5vbmxvYWQgPSAoKCkgPT4g
ewotICAgICAgICAgICAgICAgICAgICBkcmF3SW1hZ2UoaW1hZ2UsIGNhbnZhc0lkLCBmcmFtZUNv
dW50KS50aGVuKHJlc29sdmUpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
IGltYWdlLnNyYyA9IHNyYzsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAg
KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAg
ICAgICAgICAgICBpbnRlcm5hbHMuY2xlYXJNZW1vcnlDYWNoZSgpOwotICAgICAgICAgICAgICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRBbmltYXRlZEltYWdlRGVidWdDYW52YXNEcmF3aW5nRW5h
YmxlZCh0cnVlKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi0g
ICAgICAgICAgICB2YXIgaW1hZ2VzID0gWwotICAgICAgICAgICAgICAgIHsgc3JjOiAicmVzb3Vy
Y2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC0xLmdpZiIsIGNhbnZhc0lkOiAnMScs
IGZyYW1lQ291bnQ6IDQgfSwKLSAgICAgICAgICAgICAgICB7IHNyYzogInJlc291cmNlcy9hbmlt
YXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtMi5naWYiLCBjYW52YXNJZDogJ2EnLCBmcmFtZUNv
dW50OiA3IH0sCi0gICAgICAgICAgICAgICAgeyBzcmM6ICJyZXNvdXJjZXMvYW5pbWF0ZWQtcmVk
LWdyZWVuLWJsdWUtcmVwZWF0LWluZmluaXRlLmdpZiIsIGNhbnZhc0lkOiAnQScsIGZyYW1lQ291
bnQ6IDcgfQotICAgICAgICAgICAgXTsKLQotICAgICAgICAgICAgdmFyIHByb21pc2VzID0gW107
Ci0KLSAgICAgICAgICAgIGZvciAobGV0IGltYWdlIG9mIGltYWdlcykKLSAgICAgICAgICAgICAg
ICBwcm9taXNlcy5wdXNoKGxvYWRJbWFnZShpbWFnZS5zcmMsIGltYWdlLmNhbnZhc0lkLCBpbWFn
ZS5mcmFtZUNvdW50KSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFByb21pc2UuYWxsKHBy
b21pc2VzKS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAg
ICAgICAgfSk7Ci0gICAgICAgIH0pKCk7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1wbmctbG9vcC1j
b3VudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5n
LWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGM4ZjdhNjY2NTQyNzhlNzlj
NWMzMDBjNWNjZTE2OWM4OTFjOWI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPHN0eWxlPgorICAgIC5ib3ggeworICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGRpc3Bs
YXk6IGlubGluZS1ibG9jazsKKyAgICB9IAorPC9zdHlsZT4gICAgCis8Ym9keT4KKyAgICA8ZGl2
PgorICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbWlz
c2luZyBsb29wQ291bnQsIChyZXBldGl0aW9uQ291bnQgPSAxKTo8L3A+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2
PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVl
OyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29s
b3I6IGJsdWU7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2PgorICAgICAgICA8cD5GcmFt
ZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbG9vcENvdW50ID0gMSwgKHJlcGV0
aXRpb25Db3VudCA9IDIpOjwvcD4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFj
a2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5
bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJs
dWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1j
b2xvcjogYmx1ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXY+CisgICAgICAgIDxwPkZy
YW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBsb29wQ291bnQgPSAwLCAocmVw
ZXRpdGlvbkNvdW50ID0gaW5maW5pdGUpOjwvcD4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBz
dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQt
Y29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFj
a2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1wbmctbG9vcC1j
b3VudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291
bnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42NGY4MjA4ODQzODgzY2YzZmU0OTZmMzdiZTY0NzI3NTE3ZTFj
MzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQt
cG5nLWxvb3AtY291bnQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPHN0eWxlPgorICAgIGNhbnZhcyB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50LmpzIj48L3NjcmlwdD4KKzxib2R5PgorICAgIDxk
aXY+CisgICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBt
aXNzaW5nIGxvb3BDb3VudCwgKHJlcGV0aXRpb25Db3VudCA9IDEpOjwvcD4KKyAgICAgICAgPGNh
bnZhcyBpZD0iY2FudmFzLTEiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMt
MiI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy0zIj48L2NhbnZhcz4KKyAg
ICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTQiPjwvY2FudmFzPgorICAgIDwvZGl2PgorICAgIDxk
aXY+CisgICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBs
b29wQ291bnQgPSAxLCAocmVwZXRpdGlvbkNvdW50ID0gMik6PC9wPgorICAgICAgICA8Y2FudmFz
IGlkPSJjYW52YXMtYSI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1iIj48
L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWMiPjwvY2FudmFzPgorICAgICAg
ICA8Y2FudmFzIGlkPSJjYW52YXMtZCI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNh
bnZhcy1lIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWYiPjwvY2FudmFz
PgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZyI+PC9jYW52YXM+CisgICAgPC9kaXY+Cisg
ICAgPGRpdj4KKyAgICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBhbmltYXRlZCBpbWFnZSB3
aXRoIGxvb3BDb3VudCA9IDAsIChyZXBldGl0aW9uQ291bnQgPSBpbmZpbml0ZSk6PC9wPgorICAg
ICAgICA8Y2FudmFzIGlkPSJjYW52YXMtQSI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9
ImNhbnZhcy1CIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLUMiPjwvY2Fu
dmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtRCI+PC9jYW52YXM+CisgICAgICAgIDxj
YW52YXMgaWQ9ImNhbnZhcy1FIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFz
LUYiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtRyI+PC9jYW52YXM+Cisg
ICAgPC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgKGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgdmFyIGltYWdlcyA9IFsKKyAgICAgICAgICAgICAgICB7IHNyYzogInJlc291cmNlcy9hbmlt
YXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtMS5wbmciLCBjYW52YXNJZDogJzEnLCBmcmFtZUNv
dW50OiA0IH0sCisgICAgICAgICAgICAgICAgeyBzcmM6ICJyZXNvdXJjZXMvYW5pbWF0ZWQtcmVk
LWdyZWVuLWJsdWUtcmVwZWF0LTIucG5nIiwgY2FudmFzSWQ6ICdhJywgZnJhbWVDb3VudDogNyB9
LAorICAgICAgICAgICAgICAgIHsgc3JjOiAicmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1i
bHVlLXJlcGVhdC1pbmZpbml0ZS5wbmciLCBjYW52YXNJZDogJ0EnLCBmcmFtZUNvdW50OiA3IH0K
KyAgICAgICAgICAgIF07CisgICAgICAgICAgICBydW5UZXN0KGltYWdlcyk7CisgICAgICAgIH0p
KCk7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvYW5pbWF0ZWQtaW1hZ2UtbG9vcC1jb3VudC5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNv
dW50LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI1Y2U0MzkwYWQwNTdkZTVkNDljZWVlZTk3ODU4NzViMDg5MWYy
OTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMv
YW5pbWF0ZWQtaW1hZ2UtbG9vcC1jb3VudC5qcwpAQCAtMCwwICsxLDUwIEBACitmdW5jdGlvbiBk
cmF3RnJhbWUoaW1hZ2UsIGNhbnZhc0lkKSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiB7CisgICAgICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzLSIgKyBjYW52YXNJZCk7CisgICAgICAgIGxldCBjb250ZXh0ID0gY2FudmFzLmdldENv
bnRleHQoIjJkIik7CisgICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBjYW52
YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAg
ICAgICAgICAgIHJlc29sdmUoU3RyaW5nLmZyb21DaGFyQ29kZShjYW52YXNJZC5jaGFyQ29kZUF0
KCkgKyAxKSk7CisgICAgICAgIH0sIDMwKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gZHJhd0lt
YWdlKGltYWdlLCBjYW52YXNJZCwgZnJhbWVDb3VudCkgeworICAgIGxldCBwcm9taXNlID0gZHJh
d0ZyYW1lKGltYWdlLCBjYW52YXNJZCk7CisgICAgZm9yIChsZXQgZnJhbWUgPSAxOyBmcmFtZSA8
IGZyYW1lQ291bnQ7ICsrZnJhbWUpIHsKKyAgICAgICAgcHJvbWlzZSA9IHByb21pc2UudGhlbigo
Y2FudmFzSWQpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBkcmF3RnJhbWUoaW1hZ2UsIGNhbnZh
c0lkKTsKKyAgICAgICAgfSk7CisgICAgfQorICAgIHJldHVybiBwcm9taXNlOworfQorCitmdW5j
dGlvbiBsb2FkSW1hZ2Uoc3JjLCBjYW52YXNJZCwgZnJhbWVDb3VudCkgeworICAgIHJldHVybiBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBsZXQgaW1hZ2UgPSBuZXcgSW1hZ2U7
CisgICAgICAgIGltYWdlLm9ubG9hZCA9ICgoKSA9PiB7CisgICAgICAgICAgICBkcmF3SW1hZ2Uo
aW1hZ2UsIGNhbnZhc0lkLCBmcmFtZUNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgICB9KTsK
KyAgICAgICAgaW1hZ2Uuc3JjID0gc3JjOworICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0
KGltYWdlcykgeworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGludGVybmFs
cy5jbGVhck1lbW9yeUNhY2hlKCk7CisgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBbmlt
YXRlZEltYWdlRGVidWdDYW52YXNEcmF3aW5nRW5hYmxlZCh0cnVlKTsKKyAgICB9CisKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworCisgICAgdmFyIHByb21pc2VzID0gW107CisKKyAgICBmb3IgKGxldCBpbWFnZSBvZiBpbWFn
ZXMpCisgICAgICAgIHByb21pc2VzLnB1c2gobG9hZEltYWdlKGltYWdlLnNyYywgaW1hZ2UuY2Fu
dmFzSWQsIGltYWdlLmZyYW1lQ291bnQpKTsKKyAgICAgICAgICAgIAorICAgIFByb21pc2UuYWxs
KHByb21pc2VzKS50aGVuKCgpID0+IHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSk7Cit9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVu
LWJsdWUtcmVwZWF0LTEucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2Fu
aW1hdGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC0xLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzBhMmEwODVm
NzE5YjFiNzU2NzMyOThjMjliNjIzZWY2YjhmM2M4CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA0
ODAKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF5ESW08ajM/JHVjUXF6REdNYENoXzUwQ340RzQ2
Y1Q2JFlldjAoP1NUCnpmaXdmZGV9KURpVz5+VEM9Uz83d3VfVllabjhEJU00VWs1dUc+QXIhR08o
IzIxe2c0Yl98PSpZTX1SeSNQWiE2Swp6akMqZy1HSTlkVlduT1ViUzl4NmJWTXAjNmF2ZCY4NkZw
UmZJJm85fkNvPzlXREsoc0BXR2V0UDMxJU43a2Q0S0AKejJUYGopc3ZPZiY5N0JMSzZPeEA5fDFH
QCFzTmUkQUdJbH5YM1o0OSl2Z0UmP3FKKkR1NDNkP2d1KSQmX0AwclM8CnpOTEkyU1MtSDBVPHlI
JXNFZSRVbEBwfT5Je1pJQ2kmeTNVc1hHRHJ+MH1ZY1hhZzhWbSZRQntUUGJeQWhOWTZ8JgpmTi1X
NHIqREZyYiVTJGJwX0Z3bn1Qens1cHREbm17ci1VV3whJSV5MwoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2FuaW1h
dGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC0yLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtMi5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYmJiMzM3ZGE3OWNkYTYwM2EyZjVmZDhkOGJjYzlhZmVkNzM3OGNhOQpHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgNDgwCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeREltPGozPyR1Y1FxekRH
TWBDaF81MEN+NEYpMkwwe1JUKyQxbyh1dwp6MCUtPEB7fHBVNCUmPW5OJnpuRlZWQFolLUZvVk9o
OHo3QlJYJUxNZFduZmM1M0B+NTxAdkFpKmpzU1Vmby1VM2QKejhUYTB2VyNqfiElZT4mPXVreUk9
ITthaUQ8VF9sR0NWSHB7Yj5nUH1QaTlPJFEpKU8qJHlOWXA2M2prRUFSQ0spCno1Mjk5cVI1Xy1s
SUVEYWVDTH12SXsjJHRjUU5hYktXJGM3KDZndjRvV3l5YShNRn5JUzckaHF9VlN+aj0tWlBheQp6
aypzN3Z2VHwreCVkSGtOVE4rK0E7YGJ1WmA9OUozcEJicU8mV0lHfTF7eCsmO3U9dkJvUyMtd28+
LUwxa2UtPWwKZmx2dDNMdTItQzxtelA+SD9aNUJ8cGMpMkdTM2ozXlA2PHJfSXkteTIKCmxpdGVy
YWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jl
c291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtaW5maW5pdGUucG5nIGIvTGF5
b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVlLXJl
cGVhdC1pbmZpbml0ZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNmN2RlMjQzZGY3NjY2YTc0NDYyN2Q0YjEz
OWFlYTY5ZTJhMmRjYwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDgwCnpjbWVBU0BOPyhvbEh5
YHVWQnEhaWEwdnBeREltPGozPyR1Y1FxekRHTWBDaF81MEN+NEZgUnE1PmowNEEzR2ZNVgp6MUBS
Z0ZHYyo3KCEtfERKWnZ1SVlCfCgwezM9WXEzZkhYPl9Le1NHdGZsVVE1ejw+JEZ1aHcpcDBfNTN3
eDtUYnAKeis8U1lMa3JRWXheTVpyRiVIejVaSjk1dkU+dV56Oz0lRklpaUpTVUFuS0FpSHNvXnsm
VExHWCtGIzh5UlklS09ZCnpoKnx8dzwoUVZAN3lfaTNrbkcmfVp7aFZ2MXM5bD51QGthVT07WiZE
Q0k5XnRDSCN6SWtnTm9TNEhoZVQmczY/SQp6dlhUWUslQys/YHdfMzwtWD9XUiktLXwlK2YzbFor
V340NFNCVH0zalhxWkhhWWVZJEtlcCpSK1ZvQHFYZFM7cVkKZlZuSlRJVVU4YVVVVFZwLXxIM0RM
WThYNlN7YW5eTEJ7VHM1PiU0cDwKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMmU2OTc0YmJjMTc2NWM0NTE2OGIw
YmQ5OWFiZWVhZTk2YzM1OGUzNy4uYjAxZGQxZmVmNGU5ODIyNDFmODIxODg5YmFlYjkxYWUwYzY2
NTkwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI4
MDIsNyArMjgwMiw4IEBAIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQucGF0dGVybi5hbmltYXRlZC5n
aWYuaHRtbCBbIEZhaWx1cmUgXQogZmFzdC9pbWFnZXMvc2xvd2VyLWFuaW1hdGlvbi10aGFuLWRl
Y29kaW5nLWltYWdlLmh0bWwgWyBGYWlsdXJlIF0KIGZhc3QvaW1hZ2VzL3Nsb3dlci1kZWNvZGlu
Zy10aGFuLWFuaW1hdGlvbi1pbWFnZS5odG1sIFsgRmFpbHVyZSBdCiBmYXN0L2ltYWdlcy9yZXNl
dC1pbWFnZS1hbmltYXRpb24uaHRtbCBbIEZhaWx1cmUgXQotZmFzdC9pbWFnZXMvYW5pbWF0ZWQt
aW1hZ2UtbG9vcC1jb3VudC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L2ltYWdlcy9h
bmltYXRlZC1naWYtbG9vcC1jb3VudC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L2lt
YWdlcy9hbmltYXRlZC1wbmctbG9vcC1jb3VudC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBm
YXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1kaWZmZXJlbnQtZGVzdC1zaXplLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIAogIyA8cmRhcjovL3Byb2JsZW0vMzI2NTk1OTU+IGlPUyAxMTogTGF5
b3V0VGVzdCBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9zeXN0ZW0tbGFuZ3VhZ2UvYXJhYmljLWds
eXBoLWNhY2hlLWZpbGwtY29tYmluZS5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiZWMyYzllYjZkOTI4NTkzODRj
OGE1ZjJlYjMxM2EzNWJiYmVhZWVmLi5hZGE0MjU0ZmU2ZDA3NGVhMjgzM2VhZTY3MmI3YmRiNDVj
ZGFjZDgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zCkBAIC03ODMsNyArNzgzLDggQEAgd2Via2l0Lm9yZy9iLzE5MDg0OSBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLW11bHRpcGxlLWgKIAogd2Via2l0
Lm9yZy9iLzE4NjQwNiBbIE1vamF2ZSsgXSBjb21wb3NpdGluZy9pZnJhbWVzL2Rpc3BsYXktbm9u
ZS1zdWJmcmFtZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE5MDM4MyBm
YXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50Lmh0bWwgWyBQYXNzIEltYWdlT25s
eUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzE5MDM4MyBmYXN0L2ltYWdlcy9hbmltYXRlZC1naWYt
bG9vcC1jb3VudC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8x
OTAzODMgZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRtbCBbIFBhc3MgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTkwMzgzIGZhc3QvaW1hZ2VzL2FuaW1hdGVk
LWltYWdlLWRpZmZlcmVudC1kZXN0LXNpemUuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBd
CiAKIHdlYmtpdC5vcmcvYi8xOTE2MzkgaW1wb3J0ZWQvYmxpbmsvY29tcG9zaXRpbmcvc3F1YXNo
aW5nL3NxdWFzaGluZy1pbnRvLWFuY2VzdG9yLXBhaW50ZWQtbGF5ZXIuaHRtbCBbIFBhc3MgSW1h
Z2VPbmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394148</attachid>
            <date>2020-03-20 16:47:39 -0700</date>
            <delta_ts>2020-03-21 18:40:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205640-20200320164738.patch</filename>
            <type>text/plain</type>
            <size>25108</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYyNmE3ZDU5OGIzMDZk
ZTY1MTk0NWJmYmZiMTA0MDJhNDljY2FiNi4uNTFjMGZkNzBhNjgwMzg0MmE1MWFlNjI1NWQ0ZWI5
MzBiMTMwNDJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTIwICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgQW4gYW5p
bWF0ZWQgUE5HIHBsYXlzIHRoZSBmcmFtZXMgb25lIHRpbWUgbW9yZSB0aGFuIHRoZSBpbWFnZSBs
b29wQ291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNTY0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2UgdGhlIHJlcGV0aXRpb25Db3VudCBjYWxjdWxhdGlvbiBmb3IgR0lGcyBkaWZmZXJlbnQg
ZnJvbSBpdCBmb3Igb3RoZXIKKyAgICAgICAgaW1hZ2UgZm9ybWF0cy4KKworICAgICAgICBUZXN0
czogZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLWxvb3AtY291bnQuaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRtbAorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2VEZWNvZGVyQ0c6OnJlcGV0aXRpb25Db3VudCBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNH
SUZJbWFnZVR5cGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5
Lmg6CisKIDIwMjAtMDMtMTkgIFN1bm55IEhlICA8c3VubnlfaGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFNjcmlwdERpc2FsbG93ZWRTY29wZSBzaG91bGQgZGlzYWJsZSBpc0V2ZW50QWxsb3dlZElu
TWFpblRocmVhZCBhbmQgaXNFdmVudERpc3BhdGNoQWxsb3dlZEluU3VidHJlZSBhc3NlcnRzIGlu
IFdlYktpdDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ltYWdlRGVjb2RlckNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ltYWdlRGVjb2RlckNHLmNwcAppbmRleCAxYTRkZDBjZmI2MWNkNWIyZmJjZGEyNWU0YmJhOTcx
MzA1YjQ0YWMwLi4zOWViNTYyNjViNTQ5MjIzZDEzMDJhZDk1YmEyYzkwYWQwMmJmNmQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJD
Ry5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNv
ZGVyQ0cuY3BwCkBAIC0yOTEsOSArMjkxLDE1IEBAIFJlcGV0aXRpb25Db3VudCBJbWFnZURlY29k
ZXJDRzo6cmVwZXRpdGlvbkNvdW50KCkgY29uc3QKICAgICBDRk51bWJlckdldFZhbHVlKG51bSwg
a0NGTnVtYmVySW50VHlwZSwgJmxvb3BDb3VudCk7CiAKICAgICAvLyBBIHByb3BlcnR5IHdpdGgg
dmFsdWUgMCBtZWFucyBsb29wIGZvcmV2ZXIuCi0gICAgLy8gRm9yIGxvb3BDb3VudCA+IDAsIHRo
ZSBzcGVjcyBpcyBub3QgY2xlYXIgYWJvdXQgaXQuIEJ1dCBpdCBsb29rcyB0aGUgbWVhbmluZwor
ICAgIGlmICghbG9vcENvdW50KQorICAgICAgICByZXR1cm4gUmVwZXRpdGlvbkNvdW50SW5maW5p
dGU7CisKKyAgICBpZiAoIWlzR0lGSW1hZ2VUeXBlKHV0aSgpKSkKKyAgICAgICAgcmV0dXJuIGxv
b3BDb3VudDsKKworICAgIC8vIEZvciBHSUYgYW5kIGxvb3BDb3VudCA+IDAsIHRoZSBzcGVjcyBp
cyBub3QgY2xlYXIgYWJvdXQgaXQuIEJ1dCBpdCBsb29rcyB0aGUgbWVhbmluZwogICAgIC8vIGlz
OiBwbGF5IG9uY2UgKyBsb29wIGxvb3BDb3VudCB3aGljaCBpcyBlcXVpdmFsZW50IHRvIHBsYXkg
bG9vcENvdW50ICsgMS4KLSAgICByZXR1cm4gbG9vcENvdW50ID8gbG9vcENvdW50ICsgMSA6IFJl
cGV0aXRpb25Db3VudEluZmluaXRlOworICAgIHJldHVybiBsb29wQ291bnQgKyAxOwogfQogCiBP
cHRpb25hbDxJbnRQb2ludD4gSW1hZ2VEZWNvZGVyQ0c6OmhvdFNwb3QoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwCmlu
ZGV4IDlmOWM1ZjQyYzk5MmZiZmQ5YjQ3ZTM4OTM4OTdlZjAzNGUxN2Y0MzguLmM5NDhkNWMxZDM0
YTMyNTE2ZmZiNTFkNzgyMjRhNzM1ZmZiNDIwNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9VVElSZWdpc3RyeS5jcHAKQEAgLTEwMiw2ICsxMDIsMTEg
QEAgYm9vbCBpc1N1cHBvcnRlZEltYWdlVHlwZShjb25zdCBTdHJpbmcmIGltYWdlVHlwZSkKICAg
ICByZXR1cm4gZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXMoKS5jb250YWlucyhpbWFnZVR5cGUp
IHx8IGFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5cGVzKCkuY29udGFpbnMoaW1hZ2VUeXBlKTsK
IH0KIAorYm9vbCBpc0dJRkltYWdlVHlwZShjb25zdCBTdHJpbmdWaWV3JiBpbWFnZVR5cGUpCit7
CisgICAgcmV0dXJuIGltYWdlVHlwZSA9PSAiY29tLmNvbXB1c2VydmUuZ2lmIjsKK30KKwogfQog
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L1VUSVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9VVElS
ZWdpc3RyeS5oCmluZGV4IDJjM2FkMzJhOWM1MmRhNDcwZmI2ZGM5YjBlMmQyOTE1ZWQyZGY2MWQu
LjcyOWI1MTkzNzBmMWNiYmZiZjNjN2IzYzBmOTQyN2UxOGRjZThjMGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuaApAQCAtMzUsNSAr
MzUsNiBAQCBIYXNoU2V0PFN0cmluZz4mIGFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5cGVzKCk7
CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5cGVzKGNv
bnN0IFZlY3RvcjxTdHJpbmc+Jik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFkZGl0aW9uYWxT
dXBwb3J0ZWRJbWFnZVR5cGVzRm9yVGVzdGluZyhjb25zdCBTdHJpbmcmKTsKIGJvb2wgaXNTdXBw
b3J0ZWRJbWFnZVR5cGUoY29uc3QgU3RyaW5nJik7Citib29sIGlzR0lGSW1hZ2VUeXBlKGNvbnN0
IFN0cmluZ1ZpZXcmKTsKIAogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMwN2JjMDc4ZjJjMGQ5OTA2MTk4MDllMzE3MGIz
ZjA3OWQ1NjI1ZGYuLjRjMDk5YWY5NjY0MmZmMmU4YWYxOWY5ZmExZmI3YTRkMmQ1NWMzNjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMC0wMy0yMCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJv
dWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIEFuIGFuaW1hdGVkIFBORyBwbGF5cyB0aGUg
ZnJhbWVzIG9uZSB0aW1lIG1vcmUgdGhhbiB0aGUgaW1hZ2UgbG9vcENvdW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2NDAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciB0aGUganMgY29k
ZSB0byBhIHNlcGFyYXRlIGpzIGZpbGUuIEFkZCB0d28gbGF5b3V0IHRlc3RzOiBvbmUgZm9yCisg
ICAgICAgIGFuaW1hdGVkIEdJRnMgYW5kIHRoZSBvdGhlciBmb3IgYW5pbWF0ZWQgUE5Hcy4KKwor
ICAgICAgICAqIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1sb29wLWNvdW50LWV4cGVjdGVkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1sb29wLWNvdW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLWltYWdlLWxvb3At
Y291bnQtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9hbmlt
YXRlZC1pbWFnZS1sb29wLWNvdW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9pbWFn
ZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2FuaW1hdGVkLWltYWdlLWxvb3AtY291bnQuanM6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3Jl
ZW4tYmx1ZS1yZXBlYXQtMS5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL3Jlc291
cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtMi5wbmc6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQt
aW5maW5pdGUucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjAtMDMtMTkgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgWyBNYWMgV0sxIF0gUkVHUkVTU0lPTiAocjI0MDUzNykgTGF5b3V0IFRlc3QgbWVkaWEvdmlk
ZW8tYmFja2dyb3VuZC10YWItcGxheWJhY2suaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1sb29wLWNvdW50LWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbG9vcC1j
b3VudC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwYzhmN2E2NjY1NDI3OGU3OWM1YzMwMGM1
Y2NlMTY5Yzg5MWM5YjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9hbmltYXRlZC1naWYtbG9vcC1jb3VudC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzkgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c3R5bGU+CisgICAgLmJveCB7CisgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOworICAgIH0gCis8L3N0eWxlPiAgICAKKzxib2R5PgorICAgIDxkaXY+CisgICAg
ICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBtaXNzaW5nIGxv
b3BDb3VudCwgKHJlcGV0aXRpb25Db3VudCA9IDEpOjwvcD4KKyAgICAgICAgPGRpdiBjbGFzcz0i
Ym94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1
ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXY+CisgICAgICAgIDxwPkZyYW1lcyBvZiBh
IDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBsb29wQ291bnQgPSAxLCAocmVwZXRpdGlvbkNv
dW50ID0gMik6PC9wPgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5k
LWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBz
dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwv
ZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBi
bHVlOyI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdj4KKyAgICAgICAgPHA+RnJhbWVzIG9m
IGEgMy1mcmFtZSBhbmltYXRlZCBpbWFnZSB3aXRoIGxvb3BDb3VudCA9IDAsIChyZXBldGl0aW9u
Q291bnQgPSBpbmZpbml0ZSk6PC9wPgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBz
dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48
L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog
Ymx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5k
LWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1sb29wLWNvdW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbG9vcC1jb3VudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZlZjQwMGNhZjc5YTc5MzAxM2I5MGUxODc1YmNlM2QzMzdjZTE0OTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbG9v
cC1jb3VudC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
c3R5bGU+CisgICAgY2FudmFzIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgIH0KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2FuaW1h
dGVkLWltYWdlLWxvb3AtY291bnQuanMiPjwvc2NyaXB0PgorPGJvZHk+CisgICAgPGRpdj4KKyAg
ICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBhbmltYXRlZCBpbWFnZSB3aXRoIG1pc3Npbmcg
bG9vcENvdW50LCAocmVwZXRpdGlvbkNvdW50ID0gMSk6PC9wPgorICAgICAgICA8Y2FudmFzIGlk
PSJjYW52YXMtMSI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy0yIj48L2Nh
bnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTMiPjwvY2FudmFzPgorICAgICAgICA8
Y2FudmFzIGlkPSJjYW52YXMtNCI+PC9jYW52YXM+CisgICAgPC9kaXY+CisgICAgPGRpdj4KKyAg
ICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBhbmltYXRlZCBpbWFnZSB3aXRoIGxvb3BDb3Vu
dCA9IDEsIChyZXBldGl0aW9uQ291bnQgPSAyKTo8L3A+CisgICAgICAgIDxjYW52YXMgaWQ9ImNh
bnZhcy1hIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWIiPjwvY2FudmFz
PgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtYyI+PC9jYW52YXM+CisgICAgICAgIDxjYW52
YXMgaWQ9ImNhbnZhcy1kIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWUi
PjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZiI+PC9jYW52YXM+CisgICAg
ICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1nIj48L2NhbnZhcz4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2
PgorICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbG9v
cENvdW50ID0gMCwgKHJlcGV0aXRpb25Db3VudCA9IGluZmluaXRlKTo8L3A+CisgICAgICAgIDxj
YW52YXMgaWQ9ImNhbnZhcy1BIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFz
LUIiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtQyI+PC9jYW52YXM+Cisg
ICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1EIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBp
ZD0iY2FudmFzLUUiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtRiI+PC9j
YW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1HIj48L2NhbnZhcz4KKyAgICA8L2Rp
dj4KKyAgICA8c2NyaXB0PgorICAgICAgICAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIg
aW1hZ2VzID0gWworICAgICAgICAgICAgICAgIHsgc3JjOiAicmVzb3VyY2VzL2FuaW1hdGVkLXJl
ZC1ncmVlbi1ibHVlLXJlcGVhdC0xLmdpZiIsIGNhbnZhc0lkOiAnMScsIGZyYW1lQ291bnQ6IDQg
fSwKKyAgICAgICAgICAgICAgICB7IHNyYzogInJlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4t
Ymx1ZS1yZXBlYXQtMi5naWYiLCBjYW52YXNJZDogJ2EnLCBmcmFtZUNvdW50OiA3IH0sCisgICAg
ICAgICAgICAgICAgeyBzcmM6ICJyZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVw
ZWF0LWluZmluaXRlLmdpZiIsIGNhbnZhc0lkOiAnQScsIGZyYW1lQ291bnQ6IDcgfQorICAgICAg
ICAgICAgXTsKKyAgICAgICAgICAgIHJ1blRlc3QoaW1hZ2VzKTsKKyAgICAgICAgfSkoKTsKKyAg
ICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2FuaW1hdGVkLWltYWdlLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWltYWdlLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjBjOGY3YTY2NjU0Mjc4ZTc5YzVjMzAw
YzVjY2UxNjljODkxYzliNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50
LWV4cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPHN0eWxlPgotICAgIC5ib3ggewotICAgICAgICB3aWR0aDogMTAwcHg7
Ci0gICAgICAgIGhlaWdodDogMTAwcHg7Ci0gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsK
LSAgICB9IAotPC9zdHlsZT4gICAgCi08Ym9keT4KLSAgICA8ZGl2PgotICAgICAgICA8cD5GcmFt
ZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbWlzc2luZyBsb29wQ291bnQsIChy
ZXBldGl0aW9uQ291bnQgPSAxKTo8L3A+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJib3gi
IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgotICAgICAgICA8ZGl2IGNs
YXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+Ci0gICAgICAg
IDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4K
LSAgICA8L2Rpdj4KLSAgICA8ZGl2PgotICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFu
aW1hdGVkIGltYWdlIHdpdGggbG9vcENvdW50ID0gMSwgKHJlcGV0aXRpb25Db3VudCA9IDIpOjwv
cD4KLSAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVk
OyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29s
b3I6IGdyZWVuOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tn
cm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHls
ZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJv
eCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYg
Y2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KLSAgICAg
ICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2
PgotICAgIDwvZGl2PgotICAgIDxkaXY+Ci0gICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUg
YW5pbWF0ZWQgaW1hZ2Ugd2l0aCBsb29wQ291bnQgPSAwLCAocmVwZXRpdGlvbkNvdW50ID0gaW5m
aW5pdGUpOjwvcD4KLSAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1j
b2xvcjogcmVkOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5
bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0i
Ym94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYg
Y2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+Ci0gICAg
ICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rp
dj4KLSAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVk
OyI+PC9kaXY+Ci0gICAgPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50Lmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkM2RmZTkwZWZhOWRlY2U2ZTVlOTE2YjhkYWQzNmM1
NTM0NGI5YTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtaW1hZ2UtbG9vcC1jb3VudC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxz
dHlsZT4KLSAgICBjYW52YXMgewotICAgICAgICB3aWR0aDogMTAwcHg7Ci0gICAgICAgIGhlaWdo
dDogMTAwcHg7Ci0gICAgfQotPC9zdHlsZT4gICAgCi08Ym9keT4KLSAgICA8ZGl2PgotICAgICAg
ICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbWlzc2luZyBsb29w
Q291bnQsIChyZXBldGl0aW9uQ291bnQgPSAxKTo8L3A+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNh
bnZhcy0xIj48L2NhbnZhcz4KLSAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTIiPjwvY2FudmFz
PgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtMyI+PC9jYW52YXM+Ci0gICAgICAgIDxjYW52
YXMgaWQ9ImNhbnZhcy00Ij48L2NhbnZhcz4KLSAgICA8L2Rpdj4KLSAgICA8ZGl2PgotICAgICAg
ICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbG9vcENvdW50ID0g
MSwgKHJlcGV0aXRpb25Db3VudCA9IDIpOjwvcD4KLSAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFz
LWEiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtYiI+PC9jYW52YXM+Ci0g
ICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1jIj48L2NhbnZhcz4KLSAgICAgICAgPGNhbnZhcyBp
ZD0iY2FudmFzLWQiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZSI+PC9j
YW52YXM+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1mIj48L2NhbnZhcz4KLSAgICAgICAg
PGNhbnZhcyBpZD0iY2FudmFzLWciPjwvY2FudmFzPgotICAgIDwvZGl2PgotICAgIDxkaXY+Ci0g
ICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBsb29wQ291
bnQgPSAwLCAocmVwZXRpdGlvbkNvdW50ID0gaW5maW5pdGUpOjwvcD4KLSAgICAgICAgPGNhbnZh
cyBpZD0iY2FudmFzLUEiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtQiI+
PC9jYW52YXM+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1DIj48L2NhbnZhcz4KLSAgICAg
ICAgPGNhbnZhcyBpZD0iY2FudmFzLUQiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJj
YW52YXMtRSI+PC9jYW52YXM+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1GIj48L2NhbnZh
cz4KLSAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLUciPjwvY2FudmFzPgotICAgIDwvZGl2Pgot
ICAgIDxzY3JpcHQ+Ci0gICAgICAgIGZ1bmN0aW9uIGRyYXdGcmFtZShpbWFnZSwgY2FudmFzSWQp
IHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAg
ICAgICAgICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzLSIg
KyBjYW52YXNJZCk7Ci0gICAgICAgICAgICAgICAgbGV0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29u
dGV4dCgiMmQiKTsKLSAgICAgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFnZSwgMCwg
MCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTsKLSAgICAgICAgICAgICAgICBzZXRUaW1l
b3V0KCgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShTdHJpbmcuZnJvbUNoYXJD
b2RlKGNhbnZhc0lkLmNoYXJDb2RlQXQoKSArIDEpKTsKLSAgICAgICAgICAgICAgICB9LCAzMCk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGRyYXdJbWFn
ZShpbWFnZSwgY2FudmFzSWQsIGZyYW1lQ291bnQpIHsKLSAgICAgICAgICAgIGxldCBwcm9taXNl
ID0gZHJhd0ZyYW1lKGltYWdlLCBjYW52YXNJZCk7Ci0gICAgICAgICAgICBmb3IgKGxldCBmcmFt
ZSA9IDE7IGZyYW1lIDwgZnJhbWVDb3VudDsgKytmcmFtZSkgewotICAgICAgICAgICAgICAgIHBy
b21pc2UgPSBwcm9taXNlLnRoZW4oKGNhbnZhc0lkKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBkcmF3RnJhbWUoaW1hZ2UsIGNhbnZhc0lkKTsKLSAgICAgICAgICAgICAgICB9KTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBwcm9taXNlOwotICAgICAgICB9Ci0K
LSAgICAgICAgZnVuY3Rpb24gbG9hZEltYWdlKHNyYywgY2FudmFzSWQsIGZyYW1lQ291bnQpIHsK
LSAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAg
ICAgICAgIGxldCBpbWFnZSA9IG5ldyBJbWFnZTsKLSAgICAgICAgICAgICAgICBpbWFnZS5vbmxv
YWQgPSAoKCkgPT4gewotICAgICAgICAgICAgICAgICAgICBkcmF3SW1hZ2UoaW1hZ2UsIGNhbnZh
c0lkLCBmcmFtZUNvdW50KS50aGVuKHJlc29sdmUpOwotICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgICAgIGltYWdlLnNyYyA9IHNyYzsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
Ci0KLSAgICAgICAgKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKLSAgICAgICAgICAgICAgICBpbnRlcm5hbHMuY2xlYXJNZW1vcnlDYWNoZSgpOwotICAg
ICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBbmltYXRlZEltYWdlRGVidWdDYW52
YXNEcmF3aW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotCi0gICAgICAgICAgICB2YXIgaW1hZ2VzID0gWwotICAgICAgICAgICAgICAgIHsg
c3JjOiAicmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC0xLmdpZiIsIGNh
bnZhc0lkOiAnMScsIGZyYW1lQ291bnQ6IDQgfSwKLSAgICAgICAgICAgICAgICB7IHNyYzogInJl
c291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtMi5naWYiLCBjYW52YXNJZDog
J2EnLCBmcmFtZUNvdW50OiA3IH0sCi0gICAgICAgICAgICAgICAgeyBzcmM6ICJyZXNvdXJjZXMv
YW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVwZWF0LWluZmluaXRlLmdpZiIsIGNhbnZhc0lkOiAn
QScsIGZyYW1lQ291bnQ6IDcgfQotICAgICAgICAgICAgXTsKLQotICAgICAgICAgICAgdmFyIHBy
b21pc2VzID0gW107Ci0KLSAgICAgICAgICAgIGZvciAobGV0IGltYWdlIG9mIGltYWdlcykKLSAg
ICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKGxvYWRJbWFnZShpbWFnZS5zcmMsIGltYWdlLmNh
bnZhc0lkLCBpbWFnZS5mcmFtZUNvdW50KSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFBy
b21pc2UuYWxsKHByb21pc2VzKS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pKCk7Ci0gICAgPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRl
ZC1wbmctbG9vcC1jb3VudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
YW5pbWF0ZWQtcG5nLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGM4Zjdh
NjY2NTQyNzhlNzljNWMzMDBjNWNjZTE2OWM4OTFjOWI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPHN0eWxlPgorICAg
IC5ib3ggeworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICB9IAorPC9zdHlsZT4gICAgCis8Ym9k
eT4KKyAgICA8ZGl2PgorICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGlt
YWdlIHdpdGggbWlzc2luZyBsb29wQ291bnQsIChyZXBldGl0aW9uQ291bnQgPSAxKTo8L3A+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwv
ZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5k
LWNvbG9yOiBibHVlOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2PgorICAg
ICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbG9vcENvdW50
ID0gMSwgKHJlcGV0aXRpb25Db3VudCA9IDIpOjwvcD4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94
IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xh
c3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6
IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91
bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0i
YmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXY+Cisg
ICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBsb29wQ291
bnQgPSAwLCAocmVwZXRpdGlvbkNvdW50ID0gaW5maW5pdGUpOjwvcD4KKyAgICAgICAgPGRpdiBj
bGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv
cjogcmVkOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94
IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRl
ZC1wbmctbG9vcC1jb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQt
cG5nLWxvb3AtY291bnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGY4MjA4ODQzODgzY2YzZmU0OTZmMzdi
ZTY0NzI3NTE3ZTFjMzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFn
ZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPHN0eWxlPgorICAgIGNhbnZhcyB7CisgICAgICAgIHdpZHRoOiAx
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9Cis8L3N0eWxlPgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50LmpzIj48L3NjcmlwdD4KKzxi
b2R5PgorICAgIDxkaXY+CisgICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQg
aW1hZ2Ugd2l0aCBtaXNzaW5nIGxvb3BDb3VudCwgKHJlcGV0aXRpb25Db3VudCA9IDEpOjwvcD4K
KyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTEiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFz
IGlkPSJjYW52YXMtMiI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy0zIj48
L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTQiPjwvY2FudmFzPgorICAgIDwv
ZGl2PgorICAgIDxkaXY+CisgICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQg
aW1hZ2Ugd2l0aCBsb29wQ291bnQgPSAxLCAocmVwZXRpdGlvbkNvdW50ID0gMik6PC9wPgorICAg
ICAgICA8Y2FudmFzIGlkPSJjYW52YXMtYSI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9
ImNhbnZhcy1iIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWMiPjwvY2Fu
dmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZCI+PC9jYW52YXM+CisgICAgICAgIDxj
YW52YXMgaWQ9ImNhbnZhcy1lIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFz
LWYiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZyI+PC9jYW52YXM+Cisg
ICAgPC9kaXY+CisgICAgPGRpdj4KKyAgICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBhbmlt
YXRlZCBpbWFnZSB3aXRoIGxvb3BDb3VudCA9IDAsIChyZXBldGl0aW9uQ291bnQgPSBpbmZpbml0
ZSk6PC9wPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtQSI+PC9jYW52YXM+CisgICAgICAg
IDxjYW52YXMgaWQ9ImNhbnZhcy1CIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2Fu
dmFzLUMiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtRCI+PC9jYW52YXM+
CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1FIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZh
cyBpZD0iY2FudmFzLUYiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtRyI+
PC9jYW52YXM+CisgICAgPC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgKGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgdmFyIGltYWdlcyA9IFsKKyAgICAgICAgICAgICAgICB7IHNyYzogInJl
c291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtMS5wbmciLCBjYW52YXNJZDog
JzEnLCBmcmFtZUNvdW50OiA0IH0sCisgICAgICAgICAgICAgICAgeyBzcmM6ICJyZXNvdXJjZXMv
YW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVwZWF0LTIucG5nIiwgY2FudmFzSWQ6ICdhJywgZnJh
bWVDb3VudDogNyB9LAorICAgICAgICAgICAgICAgIHsgc3JjOiAicmVzb3VyY2VzL2FuaW1hdGVk
LXJlZC1ncmVlbi1ibHVlLXJlcGVhdC1pbmZpbml0ZS5wbmciLCBjYW52YXNJZDogJ0EnLCBmcmFt
ZUNvdW50OiA3IH0KKyAgICAgICAgICAgIF07CisgICAgICAgICAgICBydW5UZXN0KGltYWdlcyk7
CisgICAgICAgIH0pKCk7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvYW5pbWF0ZWQtaW1hZ2UtbG9v
cC1jb3VudC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1p
bWFnZS1sb29wLWNvdW50LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1Y2U0MzkwYWQwNTdkZTVkNDljZWVlZTk3
ODU4NzViMDg5MWYyOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9yZXNvdXJjZXMvYW5pbWF0ZWQtaW1hZ2UtbG9vcC1jb3VudC5qcwpAQCAtMCwwICsxLDUwIEBA
CitmdW5jdGlvbiBkcmF3RnJhbWUoaW1hZ2UsIGNhbnZhc0lkKSB7CisgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzLSIgKyBjYW52YXNJZCk7CisgICAgICAgIGxldCBjb250ZXh0ID0g
Y2FudmFzLmdldENvbnRleHQoIjJkIik7CisgICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdl
LCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOworICAgICAgICBzZXRUaW1lb3V0
KCgpID0+IHsKKyAgICAgICAgICAgIHJlc29sdmUoU3RyaW5nLmZyb21DaGFyQ29kZShjYW52YXNJ
ZC5jaGFyQ29kZUF0KCkgKyAxKSk7CisgICAgICAgIH0sIDMwKTsKKyAgICB9KTsKK30KKworZnVu
Y3Rpb24gZHJhd0ltYWdlKGltYWdlLCBjYW52YXNJZCwgZnJhbWVDb3VudCkgeworICAgIGxldCBw
cm9taXNlID0gZHJhd0ZyYW1lKGltYWdlLCBjYW52YXNJZCk7CisgICAgZm9yIChsZXQgZnJhbWUg
PSAxOyBmcmFtZSA8IGZyYW1lQ291bnQ7ICsrZnJhbWUpIHsKKyAgICAgICAgcHJvbWlzZSA9IHBy
b21pc2UudGhlbigoY2FudmFzSWQpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBkcmF3RnJhbWUo
aW1hZ2UsIGNhbnZhc0lkKTsKKyAgICAgICAgfSk7CisgICAgfQorICAgIHJldHVybiBwcm9taXNl
OworfQorCitmdW5jdGlvbiBsb2FkSW1hZ2Uoc3JjLCBjYW52YXNJZCwgZnJhbWVDb3VudCkgewor
ICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBsZXQgaW1hZ2Ug
PSBuZXcgSW1hZ2U7CisgICAgICAgIGltYWdlLm9ubG9hZCA9ICgoKSA9PiB7CisgICAgICAgICAg
ICBkcmF3SW1hZ2UoaW1hZ2UsIGNhbnZhc0lkLCBmcmFtZUNvdW50KS50aGVuKHJlc29sdmUpOwor
ICAgICAgICB9KTsKKyAgICAgICAgaW1hZ2Uuc3JjID0gc3JjOworICAgIH0pOworfQorCitmdW5j
dGlvbiBydW5UZXN0KGltYWdlcykgeworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
ICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7CisgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRBbmltYXRlZEltYWdlRGVidWdDYW52YXNEcmF3aW5nRW5hYmxlZCh0cnVlKTsKKyAg
ICB9CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworCisgICAgdmFyIHByb21pc2VzID0gW107CisKKyAgICBmb3IgKGxldCBp
bWFnZSBvZiBpbWFnZXMpCisgICAgICAgIHByb21pc2VzLnB1c2gobG9hZEltYWdlKGltYWdlLnNy
YywgaW1hZ2UuY2FudmFzSWQsIGltYWdlLmZyYW1lQ291bnQpKTsKKyAgICAgICAgICAgIAorICAg
IFByb21pc2UuYWxsKHByb21pc2VzKS50aGVuKCgpID0+IHsKKyAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSk7
Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvYW5pbWF0
ZWQtcmVkLWdyZWVuLWJsdWUtcmVwZWF0LTEucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
cmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC0xLnBuZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wMzBhMmEwODVmNzE5YjFiNzU2NzMyOThjMjliNjIzZWY2YjhmM2M4CkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCA0ODAKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF5ESW08ajM/JHVjUXF6REdN
YENoXzUwQ340RzQ2Y1Q2JFlldjAoP1NUCnpmaXdmZGV9KURpVz5+VEM9Uz83d3VfVllabjhEJU00
VWs1dUc+QXIhR08oIzIxe2c0Yl98PSpZTX1SeSNQWiE2Swp6akMqZy1HSTlkVlduT1ViUzl4NmJW
TXAjNmF2ZCY4NkZwUmZJJm85fkNvPzlXREsoc0BXR2V0UDMxJU43a2Q0S0AKejJUYGopc3ZPZiY5
N0JMSzZPeEA5fDFHQCFzTmUkQUdJbH5YM1o0OSl2Z0UmP3FKKkR1NDNkP2d1KSQmX0AwclM8CnpO
TEkyU1MtSDBVPHlIJXNFZSRVbEBwfT5Je1pJQ2kmeTNVc1hHRHJ+MH1ZY1hhZzhWbSZRQntUUGJe
QWhOWTZ8JgpmTi1XNHIqREZyYiVTJGJwX0Z3bn1Qens1cHREbm17ci1VV3whJSV5MwoKbGl0ZXJh
bCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVz
b3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC0yLnBuZyBiL0xheW91dFRlc3Rz
L2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtMi5w
bmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmJiMzM3ZGE3OWNkYTYwM2EyZjVmZDhkOGJjYzlhZmVkNzM3OGNhOQpH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDgwCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeRElt
PGozPyR1Y1FxekRHTWBDaF81MEN+NEYpMkwwe1JUKyQxbyh1dwp6MCUtPEB7fHBVNCUmPW5OJnpu
RlZWQFolLUZvVk9oOHo3QlJYJUxNZFduZmM1M0B+NTxAdkFpKmpzU1Vmby1VM2QKejhUYTB2VyNq
fiElZT4mPXVreUk9ITthaUQ8VF9sR0NWSHB7Yj5nUH1QaTlPJFEpKU8qJHlOWXA2M2prRUFSQ0sp
Cno1Mjk5cVI1Xy1sSUVEYWVDTH12SXsjJHRjUU5hYktXJGM3KDZndjRvV3l5YShNRn5JUzckaHF9
VlN+aj0tWlBheQp6aypzN3Z2VHwreCVkSGtOVE4rK0E7YGJ1WmA9OUozcEJicU8mV0lHfTF7eCsm
O3U9dkJvUyMtd28+LUwxa2UtPWwKZmx2dDNMdTItQzxtelA+SD9aNUJ8cGMpMkdTM2ozXlA2PHJf
SXkteTIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtaW5maW5p
dGUucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1n
cmVlbi1ibHVlLXJlcGVhdC1pbmZpbml0ZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNmN2RlMjQzZGY3NjY2
YTc0NDYyN2Q0YjEzOWFlYTY5ZTJhMmRjYwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDgwCnpj
bWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeREltPGozPyR1Y1FxekRHTWBDaF81MEN+NEZgUnE1Pmow
NEEzR2ZNVgp6MUBSZ0ZHYyo3KCEtfERKWnZ1SVlCfCgwezM9WXEzZkhYPl9Le1NHdGZsVVE1ejw+
JEZ1aHcpcDBfNTN3eDtUYnAKeis8U1lMa3JRWXheTVpyRiVIejVaSjk1dkU+dV56Oz0lRklpaUpT
VUFuS0FpSHNvXnsmVExHWCtGIzh5UlklS09ZCnpoKnx8dzwoUVZAN3lfaTNrbkcmfVp7aFZ2MXM5
bD51QGthVT07WiZEQ0k5XnRDSCN6SWtnTm9TNEhoZVQmczY/SQp6dlhUWUslQys/YHdfMzwtWD9X
UiktLXwlK2YzbForV340NFNCVH0zalhxWkhhWWVZJEtlcCpSK1ZvQHFYZFM7cVkKZlZuSlRJVVU4
YVVVVFZwLXxIM0RMWThYNlN7YW5eTEJ7VHM1PiU0cDwKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMmU2OTc0YmJj
MTc2NWM0NTE2OGIwYmQ5OWFiZWVhZTk2YzM1OGUzNy4uYjAxZGQxZmVmNGU5ODIyNDFmODIxODg5
YmFlYjkxYWUwYzY2NTkwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTI4MDIsNyArMjgwMiw4IEBAIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQucGF0dGVy
bi5hbmltYXRlZC5naWYuaHRtbCBbIEZhaWx1cmUgXQogZmFzdC9pbWFnZXMvc2xvd2VyLWFuaW1h
dGlvbi10aGFuLWRlY29kaW5nLWltYWdlLmh0bWwgWyBGYWlsdXJlIF0KIGZhc3QvaW1hZ2VzL3Ns
b3dlci1kZWNvZGluZy10aGFuLWFuaW1hdGlvbi1pbWFnZS5odG1sIFsgRmFpbHVyZSBdCiBmYXN0
L2ltYWdlcy9yZXNldC1pbWFnZS1hbmltYXRpb24uaHRtbCBbIEZhaWx1cmUgXQotZmFzdC9pbWFn
ZXMvYW5pbWF0ZWQtaW1hZ2UtbG9vcC1jb3VudC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitm
YXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbG9vcC1jb3VudC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCitmYXN0L2ltYWdlcy9hbmltYXRlZC1wbmctbG9vcC1jb3VudC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBmYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1kaWZmZXJlbnQtZGVzdC1zaXpl
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogIyA8cmRhcjovL3Byb2JsZW0vMzI2NTk1OTU+
IGlPUyAxMTogTGF5b3V0VGVzdCBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9zeXN0ZW0tbGFuZ3Vh
Z2UvYXJhYmljLWdseXBoLWNhY2hlLWZpbGwtY29tYmluZS5odG1sIGlzIGZhaWxpbmcKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiZWMyYzll
YjZkOTI4NTkzODRjOGE1ZjJlYjMxM2EzNWJiYmVhZWVmLi5hZGE0MjU0ZmU2ZDA3NGVhMjgzM2Vh
ZTY3MmI3YmRiNDVjZGFjZDgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCkBAIC03ODMsNyArNzgzLDggQEAgd2Via2l0Lm9yZy9iLzE5MDg0OSBo
dHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMveC1mcmFtZS1vcHRpb25zLW11bHRpcGxl
LWgKIAogd2Via2l0Lm9yZy9iLzE4NjQwNiBbIE1vamF2ZSsgXSBjb21wb3NpdGluZy9pZnJhbWVz
L2Rpc3BsYXktbm9uZS1zdWJmcmFtZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9y
Zy9iLzE5MDM4MyBmYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50Lmh0bWwgWyBQ
YXNzIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzE5MDM4MyBmYXN0L2ltYWdlcy9h
bmltYXRlZC1naWYtbG9vcC1jb3VudC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi8xOTAzODMgZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRt
bCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTkwMzgzIGZhc3QvaW1h
Z2VzL2FuaW1hdGVkLWltYWdlLWRpZmZlcmVudC1kZXN0LXNpemUuaHRtbCBbIFBhc3MgSW1hZ2VP
bmx5RmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xOTE2MzkgaW1wb3J0ZWQvYmxpbmsvY29tcG9z
aXRpbmcvc3F1YXNoaW5nL3NxdWFzaGluZy1pbnRvLWFuY2VzdG9yLXBhaW50ZWQtbGF5ZXIuaHRt
bCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394189</attachid>
            <date>2020-03-21 18:40:26 -0700</date>
            <delta_ts>2020-03-21 22:03:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205640-20200321184025.patch</filename>
            <type>text/plain</type>
            <size>26252</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYyNmE3ZDU5OGIzMDZk
ZTY1MTk0NWJmYmZiMTA0MDJhNDljY2FiNi4uYWYwNzU2MjBjZGZhNTAxZjNlY2JjYTYwYjYyYmQ1
Yjg3ZDBmYzM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTIxICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgQW4gYW5p
bWF0ZWQgUE5HIHBsYXlzIHRoZSBmcmFtZXMgb25lIHRpbWUgbW9yZSB0aGFuIHRoZSBpbWFnZSBs
b29wQ291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNTY0MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIE1h
a2UgdGhlIHJlcGV0aXRpb25Db3VudCBjYWxjdWxhdGlvbiBmb3IgR0lGcyBkaWZmZXJlbnQgZnJv
bSBpdCBmb3Igb3RoZXIKKyAgICAgICAgaW1hZ2UgZm9ybWF0cy4KKworICAgICAgICBUZXN0czog
ZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLWxvb3AtY291bnQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRtbAorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VEZWNvZGVyQ0c6OnJlcGV0aXRpb25Db3VudCBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNHSUZJ
bWFnZVR5cGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5Lmg6
CisKIDIwMjAtMDMtMTkgIFN1bm55IEhlICA8c3VubnlfaGVAYXBwbGUuY29tPgogCiAgICAgICAg
IFNjcmlwdERpc2FsbG93ZWRTY29wZSBzaG91bGQgZGlzYWJsZSBpc0V2ZW50QWxsb3dlZEluTWFp
blRocmVhZCBhbmQgaXNFdmVudERpc3BhdGNoQWxsb3dlZEluU3VidHJlZSBhc3NlcnRzIGluIFdl
YktpdDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lt
YWdlRGVjb2RlckNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lt
YWdlRGVjb2RlckNHLmNwcAppbmRleCAxYTRkZDBjZmI2MWNkNWIyZmJjZGEyNWU0YmJhOTcxMzA1
YjQ0YWMwLi4zOWViNTYyNjViNTQ5MjIzZDEzMDJhZDk1YmEyYzkwYWQwMmJmNmQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVy
Q0cuY3BwCkBAIC0yOTEsOSArMjkxLDE1IEBAIFJlcGV0aXRpb25Db3VudCBJbWFnZURlY29kZXJD
Rzo6cmVwZXRpdGlvbkNvdW50KCkgY29uc3QKICAgICBDRk51bWJlckdldFZhbHVlKG51bSwga0NG
TnVtYmVySW50VHlwZSwgJmxvb3BDb3VudCk7CiAKICAgICAvLyBBIHByb3BlcnR5IHdpdGggdmFs
dWUgMCBtZWFucyBsb29wIGZvcmV2ZXIuCi0gICAgLy8gRm9yIGxvb3BDb3VudCA+IDAsIHRoZSBz
cGVjcyBpcyBub3QgY2xlYXIgYWJvdXQgaXQuIEJ1dCBpdCBsb29rcyB0aGUgbWVhbmluZworICAg
IGlmICghbG9vcENvdW50KQorICAgICAgICByZXR1cm4gUmVwZXRpdGlvbkNvdW50SW5maW5pdGU7
CisKKyAgICBpZiAoIWlzR0lGSW1hZ2VUeXBlKHV0aSgpKSkKKyAgICAgICAgcmV0dXJuIGxvb3BD
b3VudDsKKworICAgIC8vIEZvciBHSUYgYW5kIGxvb3BDb3VudCA+IDAsIHRoZSBzcGVjcyBpcyBu
b3QgY2xlYXIgYWJvdXQgaXQuIEJ1dCBpdCBsb29rcyB0aGUgbWVhbmluZwogICAgIC8vIGlzOiBw
bGF5IG9uY2UgKyBsb29wIGxvb3BDb3VudCB3aGljaCBpcyBlcXVpdmFsZW50IHRvIHBsYXkgbG9v
cENvdW50ICsgMS4KLSAgICByZXR1cm4gbG9vcENvdW50ID8gbG9vcENvdW50ICsgMSA6IFJlcGV0
aXRpb25Db3VudEluZmluaXRlOworICAgIHJldHVybiBsb29wQ291bnQgKyAxOwogfQogCiBPcHRp
b25hbDxJbnRQb2ludD4gSW1hZ2VEZWNvZGVyQ0c6OmhvdFNwb3QoKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwCmluZGV4
IDlmOWM1ZjQyYzk5MmZiZmQ5YjQ3ZTM4OTM4OTdlZjAzNGUxN2Y0MzguLjVhMzYwY2MwN2NhMzA3
ZWNmOGQyYTc4M2ExZjA1MzBhNWMzOWM1ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9VVElSZWdpc3RyeS5jcHAKQEAgLTEwMiw2ICsxMDIsMTEgQEAg
Ym9vbCBpc1N1cHBvcnRlZEltYWdlVHlwZShjb25zdCBTdHJpbmcmIGltYWdlVHlwZSkKICAgICBy
ZXR1cm4gZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXMoKS5jb250YWlucyhpbWFnZVR5cGUpIHx8
IGFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5cGVzKCkuY29udGFpbnMoaW1hZ2VUeXBlKTsKIH0K
IAorYm9vbCBpc0dJRkltYWdlVHlwZShTdHJpbmdWaWV3IGltYWdlVHlwZSkKK3sKKyAgICByZXR1
cm4gaW1hZ2VUeXBlID09ICJjb20uY29tcHVzZXJ2ZS5naWYiOworfQorCiB9CiAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0
cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmgK
aW5kZXggMmMzYWQzMmE5YzUyZGE0NzBmYjZkYzliMGUyZDI5MTVlZDJkZjYxZC4uNWI4ZmUyMTdl
ODczZDBiMGM4NTY2ODY3NDAwZDc2ZWUzYzY2NTc1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9VVElSZWdpc3RyeS5oCkBAIC0zNSw1ICszNSw2IEBAIEhh
c2hTZXQ8U3RyaW5nPiYgYWRkaXRpb25hbFN1cHBvcnRlZEltYWdlVHlwZXMoKTsKIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0QWRkaXRpb25hbFN1cHBvcnRlZEltYWdlVHlwZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4mKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QWRkaXRpb25hbFN1cHBvcnRlZElt
YWdlVHlwZXNGb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYpOwogYm9vbCBpc1N1cHBvcnRlZEltYWdl
VHlwZShjb25zdCBTdHJpbmcmKTsKK2Jvb2wgaXNHSUZJbWFnZVR5cGUoU3RyaW5nVmlldyk7CiAK
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBjMDdiYzA3OGYyYzBkOTkwNjE5ODA5ZTMxNzBiM2YwNzlkNTYyNWRmLi5iOGZk
OWUwZTYxNzIzMzEzY2Y3ZDBmMjI3Zjk3YTM1NjQzMzUwYTgyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMjAtMDMtMjEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNv
bT4KKworICAgICAgICBBbiBhbmltYXRlZCBQTkcgcGxheXMgdGhlIGZyYW1lcyBvbmUgdGltZSBt
b3JlIHRoYW4gdGhlIGltYWdlIGxvb3BDb3VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgUmVmYWN0b3IgdGhlIGpzIGNvZGUgdG8gYSBzZXBhcmF0ZSBqcyBm
aWxlLiBBZGQgdHdvIGxheW91dCB0ZXN0czogb25lIGZvcgorICAgICAgICBhbmltYXRlZCBHSUZz
IGFuZCB0aGUgb3RoZXIgZm9yIGFuaW1hdGVkIFBOR3MuCisKKyAgICAgICAgKiBmYXN0L2ltYWdl
cy9hbmltYXRlZC1naWYtbG9vcC1jb3VudC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtbG9vcC1jb3VudC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50LWV4cGVjdGVkLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvYW5pbWF0ZWQtaW1hZ2UtbG9vcC1jb3Vu
dC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy1sb29w
LWNvdW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2FuaW1h
dGVkLXBuZy1sb29wLWNvdW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL3Jl
c291cmNlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50LmpzOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2ltYWdlcy9yZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVwZWF0LTEucG5n
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9yZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdy
ZWVuLWJsdWUtcmVwZWF0LTIucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9yZXNv
dXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVwZWF0LWluZmluaXRlLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTAzLTE5ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxz
b25AYXBwbGUuY29tPgogCiAgICAgICAgIFsgTWFjIFdLMSBdIFJFR1JFU1NJT04gKHIyNDA1Mzcp
IExheW91dCBUZXN0IG1lZGlhL3ZpZGVvLWJhY2tncm91bmQtdGFiLXBsYXliYWNrLmh0bWwgaXMg
YSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmlt
YXRlZC1naWYtbG9vcC1jb3VudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFn
ZXMvYW5pbWF0ZWQtZ2lmLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGM4
ZjdhNjY2NTQyNzhlNzljNWMzMDBjNWNjZTE2OWM4OTFjOWI1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLWxvb3AtY291bnQtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPHN0eWxlPgor
ICAgIC5ib3ggeworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICB9IAorPC9zdHlsZT4gICAgCis8
Ym9keT4KKyAgICA8ZGl2PgorICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVk
IGltYWdlIHdpdGggbWlzc2luZyBsb29wQ291bnQsIChyZXBldGl0aW9uQ291bnQgPSAxKTo8L3A+
CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsi
PjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2Pgor
ICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbG9vcENv
dW50ID0gMSwgKHJlcGV0aXRpb25Db3VudCA9IDIpOjwvcD4KKyAgICAgICAgPGRpdiBjbGFzcz0i
Ym94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVk
OyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29s
b3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tn
cm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHls
ZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXY+
CisgICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBsb29w
Q291bnQgPSAwLCAocmVwZXRpdGlvbkNvdW50ID0gaW5maW5pdGUpOjwvcD4KKyAgICAgICAgPGRp
diBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJs
dWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1j
b2xvcjogcmVkOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5
bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
Ym94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+CisgICAgPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmlt
YXRlZC1naWYtbG9vcC1jb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0
ZWQtZ2lmLWxvb3AtY291bnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWY0MDBjYWY3OWE3OTMwMTNiOTBl
MTg3NWJjZTNkMzM3Y2UxNDkzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvYW5pbWF0ZWQtZ2lmLWxvb3AtY291bnQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPHN0eWxlPgorICAgIGNhbnZhcyB7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9Cis8L3N0eWxlPgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50LmpzIj48L3NjcmlwdD4K
Kzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0
ZWQgaW1hZ2Ugd2l0aCBtaXNzaW5nIGxvb3BDb3VudCwgKHJlcGV0aXRpb25Db3VudCA9IDEpOjwv
cD4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTEiPjwvY2FudmFzPgorICAgICAgICA8Y2Fu
dmFzIGlkPSJjYW52YXMtMiI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy0z
Ij48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTQiPjwvY2FudmFzPgorICAg
IDwvZGl2PgorICAgIDxkaXY+CisgICAgICAgIDxwPkZyYW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0
ZWQgaW1hZ2Ugd2l0aCBsb29wQ291bnQgPSAxLCAocmVwZXRpdGlvbkNvdW50ID0gMik6PC9wPgor
ICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtYSI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMg
aWQ9ImNhbnZhcy1iIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWMiPjwv
Y2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZCI+PC9jYW52YXM+CisgICAgICAg
IDxjYW52YXMgaWQ9ImNhbnZhcy1lIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2Fu
dmFzLWYiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZyI+PC9jYW52YXM+
CisgICAgPC9kaXY+CisgICAgPGRpdj4KKyAgICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBh
bmltYXRlZCBpbWFnZSB3aXRoIGxvb3BDb3VudCA9IDAsIChyZXBldGl0aW9uQ291bnQgPSBpbmZp
bml0ZSk6PC9wPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtQSI+PC9jYW52YXM+CisgICAg
ICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1CIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0i
Y2FudmFzLUMiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtRCI+PC9jYW52
YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1FIj48L2NhbnZhcz4KKyAgICAgICAgPGNh
bnZhcyBpZD0iY2FudmFzLUYiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMt
RyI+PC9jYW52YXM+CisgICAgPC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgKGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgdmFyIGltYWdlcyA9IFsKKyAgICAgICAgICAgICAgICB7IHNyYzog
InJlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtMS5naWYiLCBjYW52YXNJ
ZDogJzEnLCBmcmFtZUNvdW50OiA0IH0sCisgICAgICAgICAgICAgICAgeyBzcmM6ICJyZXNvdXJj
ZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVwZWF0LTIuZ2lmIiwgY2FudmFzSWQ6ICdhJywg
ZnJhbWVDb3VudDogNyB9LAorICAgICAgICAgICAgICAgIHsgc3JjOiAicmVzb3VyY2VzL2FuaW1h
dGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC1pbmZpbml0ZS5naWYiLCBjYW52YXNJZDogJ0EnLCBm
cmFtZUNvdW50OiA3IH0KKyAgICAgICAgICAgIF07CisgICAgICAgICAgICBydW5UZXN0KGltYWdl
cyk7CisgICAgICAgIH0pKCk7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1sb29wLWNvdW50
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1s
b29wLWNvdW50LWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYw
YzhmN2E2NjY1NDI3OGU3OWM1YzMwMGM1Y2NlMTY5Yzg5MWM5YjUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5p
bWF0ZWQtaW1hZ2UtbG9vcC1jb3VudC1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzdHlsZT4KLSAgICAuYm94IHsK
LSAgICAgICAgd2lkdGg6IDEwMHB4OwotICAgICAgICBoZWlnaHQ6IDEwMHB4OwotICAgICAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7Ci0gICAgfSAKLTwvc3R5bGU+ICAgIAotPGJvZHk+Ci0gICAg
PGRpdj4KLSAgICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBhbmltYXRlZCBpbWFnZSB3aXRo
IG1pc3NpbmcgbG9vcENvdW50LCAocmVwZXRpdGlvbkNvdW50ID0gMSk6PC9wPgotICAgICAgICA8
ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KLSAg
ICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48
L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjog
Ymx1ZTsiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5k
LWNvbG9yOiBibHVlOyI+PC9kaXY+Ci0gICAgPC9kaXY+Ci0gICAgPGRpdj4KLSAgICAgICAgPHA+
RnJhbWVzIG9mIGEgMy1mcmFtZSBhbmltYXRlZCBpbWFnZSB3aXRoIGxvb3BDb3VudCA9IDEsIChy
ZXBldGl0aW9uQ291bnQgPSAyKTo8L3A+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJib3gi
IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgotICAgICAgICA8ZGl2IGNs
YXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+Ci0gICAgICAg
IDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2Pgot
ICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsi
PjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y
OiBibHVlOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91
bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KLSAgICA8L2Rpdj4KLSAgICA8ZGl2PgotICAgICAgICA8
cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbG9vcENvdW50ID0gMCwg
KHJlcGV0aXRpb25Db3VudCA9IGluZmluaXRlKTo8L3A+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJv
eCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2PgotICAgICAgICA8ZGl2IGNs
YXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgotICAgICAg
ICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+
Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsi
PjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2PgotICAgIDwvZGl2PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtaW1hZ2Ut
bG9vcC1jb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtaW1hZ2Ut
bG9vcC1jb3VudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZDNkZmU5MGVm
YTlkZWNlNmU1ZTkxNmI4ZGFkMzZjNTUzNDRiOWE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWlt
YWdlLWxvb3AtY291bnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08c3R5bGU+Ci0gICAgY2FudmFzIHsKLSAgICAgICAgd2lkdGg6
IDEwMHB4OwotICAgICAgICBoZWlnaHQ6IDEwMHB4OwotICAgIH0KLTwvc3R5bGU+ICAgIAotPGJv
ZHk+Ci0gICAgPGRpdj4KLSAgICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBhbmltYXRlZCBp
bWFnZSB3aXRoIG1pc3NpbmcgbG9vcENvdW50LCAocmVwZXRpdGlvbkNvdW50ID0gMSk6PC9wPgot
ICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtMSI+PC9jYW52YXM+Ci0gICAgICAgIDxjYW52YXMg
aWQ9ImNhbnZhcy0yIj48L2NhbnZhcz4KLSAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTMiPjwv
Y2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtNCI+PC9jYW52YXM+Ci0gICAgPC9k
aXY+Ci0gICAgPGRpdj4KLSAgICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBhbmltYXRlZCBp
bWFnZSB3aXRoIGxvb3BDb3VudCA9IDEsIChyZXBldGl0aW9uQ291bnQgPSAyKTo8L3A+Ci0gICAg
ICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1hIj48L2NhbnZhcz4KLSAgICAgICAgPGNhbnZhcyBpZD0i
Y2FudmFzLWIiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtYyI+PC9jYW52
YXM+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1kIj48L2NhbnZhcz4KLSAgICAgICAgPGNh
bnZhcyBpZD0iY2FudmFzLWUiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMt
ZiI+PC9jYW52YXM+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1nIj48L2NhbnZhcz4KLSAg
ICA8L2Rpdj4KLSAgICA8ZGl2PgotICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1h
dGVkIGltYWdlIHdpdGggbG9vcENvdW50ID0gMCwgKHJlcGV0aXRpb25Db3VudCA9IGluZmluaXRl
KTo8L3A+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1BIj48L2NhbnZhcz4KLSAgICAgICAg
PGNhbnZhcyBpZD0iY2FudmFzLUIiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFzIGlkPSJjYW52
YXMtQyI+PC9jYW52YXM+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1EIj48L2NhbnZhcz4K
LSAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLUUiPjwvY2FudmFzPgotICAgICAgICA8Y2FudmFz
IGlkPSJjYW52YXMtRiI+PC9jYW52YXM+Ci0gICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1HIj48
L2NhbnZhcz4KLSAgICA8L2Rpdj4KLSAgICA8c2NyaXB0PgotICAgICAgICBmdW5jdGlvbiBkcmF3
RnJhbWUoaW1hZ2UsIGNhbnZhc0lkKSB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2Uo
KHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgICAgICBsZXQgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhcy0iICsgY2FudmFzSWQpOwotICAgICAgICAgICAgICAgIGxldCBj
b250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7Ci0gICAgICAgICAgICAgICAgY29udGV4
dC5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7Ci0g
ICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
c29sdmUoU3RyaW5nLmZyb21DaGFyQ29kZShjYW52YXNJZC5jaGFyQ29kZUF0KCkgKyAxKSk7Ci0g
ICAgICAgICAgICAgICAgfSwgMzApOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBmdW5jdGlvbiBkcmF3SW1hZ2UoaW1hZ2UsIGNhbnZhc0lkLCBmcmFtZUNvdW50KSB7Ci0g
ICAgICAgICAgICBsZXQgcHJvbWlzZSA9IGRyYXdGcmFtZShpbWFnZSwgY2FudmFzSWQpOwotICAg
ICAgICAgICAgZm9yIChsZXQgZnJhbWUgPSAxOyBmcmFtZSA8IGZyYW1lQ291bnQ7ICsrZnJhbWUp
IHsKLSAgICAgICAgICAgICAgICBwcm9taXNlID0gcHJvbWlzZS50aGVuKChjYW52YXNJZCkgPT4g
ewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZHJhd0ZyYW1lKGltYWdlLCBjYW52YXNJZCk7
Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4g
cHJvbWlzZTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGxvYWRJbWFnZShzcmMsIGNh
bnZhc0lkLCBmcmFtZUNvdW50KSB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKLSAgICAgICAgICAgICAgICBsZXQgaW1hZ2UgPSBuZXcgSW1hZ2U7Ci0gICAg
ICAgICAgICAgICAgaW1hZ2Uub25sb2FkID0gKCgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAg
ZHJhd0ltYWdlKGltYWdlLCBjYW52YXNJZCwgZnJhbWVDb3VudCkudGhlbihyZXNvbHZlKTsKLSAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBpbWFnZS5zcmMgPSBzcmM7Ci0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfQotCi0gICAgICAgIChmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICAgICAgaW50ZXJuYWxzLmNs
ZWFyTWVtb3J5Q2FjaGUoKTsKLSAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
QW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFzRHJhd2luZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLQotICAgICAgICAgICAgdmFyIGltYWdlcyA9
IFsKLSAgICAgICAgICAgICAgICB7IHNyYzogInJlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4t
Ymx1ZS1yZXBlYXQtMS5naWYiLCBjYW52YXNJZDogJzEnLCBmcmFtZUNvdW50OiA0IH0sCi0gICAg
ICAgICAgICAgICAgeyBzcmM6ICJyZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVw
ZWF0LTIuZ2lmIiwgY2FudmFzSWQ6ICdhJywgZnJhbWVDb3VudDogNyB9LAotICAgICAgICAgICAg
ICAgIHsgc3JjOiAicmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC1pbmZp
bml0ZS5naWYiLCBjYW52YXNJZDogJ0EnLCBmcmFtZUNvdW50OiA3IH0KLSAgICAgICAgICAgIF07
Ci0KLSAgICAgICAgICAgIHZhciBwcm9taXNlcyA9IFtdOwotCi0gICAgICAgICAgICBmb3IgKGxl
dCBpbWFnZSBvZiBpbWFnZXMpCi0gICAgICAgICAgICAgICAgcHJvbWlzZXMucHVzaChsb2FkSW1h
Z2UoaW1hZ2Uuc3JjLCBpbWFnZS5jYW52YXNJZCwgaW1hZ2UuZnJhbWVDb3VudCkpOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBQcm9taXNlLmFsbChwcm9taXNlcykudGhlbigoKSA9PiB7Ci0g
ICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KSgp
OwotICAgIDwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy1sb29wLWNvdW50LWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjBjOGY3YTY2NjU0Mjc4ZTc5YzVjMzAwYzVjY2UxNjljODkxYzliNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy1s
b29wLWNvdW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxzdHlsZT4KKyAgICAuYm94IHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAg
fSAKKzwvc3R5bGU+ICAgIAorPGJvZHk+CisgICAgPGRpdj4KKyAgICAgICAgPHA+RnJhbWVzIG9m
IGEgMy1mcmFtZSBhbmltYXRlZCBpbWFnZSB3aXRoIG1pc3NpbmcgbG9vcENvdW50LCAocmVwZXRp
dGlvbkNvdW50ID0gMSk6PC9wPgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNr
Z3JvdW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHls
ZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
Ym94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+CisgICAg
PC9kaXY+CisgICAgPGRpdj4KKyAgICAgICAgPHA+RnJhbWVzIG9mIGEgMy1mcmFtZSBhbmltYXRl
ZCBpbWFnZSB3aXRoIGxvb3BDb3VudCA9IDEsIChyZXBldGl0aW9uQ291bnQgPSAyKTo8L3A+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwv
ZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5k
LWNvbG9yOiBibHVlOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0
eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7Ij48L2Rpdj4KKyAg
ICA8L2Rpdj4KKyAgICA8ZGl2PgorICAgICAgICA8cD5GcmFtZXMgb2YgYSAzLWZyYW1lIGFuaW1h
dGVkIGltYWdlIHdpdGggbG9vcENvdW50ID0gMCwgKHJlcGV0aXRpb25Db3VudCA9IGluZmluaXRl
KTo8L3A+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6
IHJlZDsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJi
YWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwv
ZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy1sb29wLWNvdW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRm
ODIwODg0Mzg4M2NmM2ZlNDk2ZjM3YmU2NDcyNzUxN2UxYzM0OQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy1sb29wLWNvdW50Lmh0bWwKQEAg
LTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxzdHlsZT4KKyAgICBjYW52
YXMgeworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
fQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYW5pbWF0ZWQtaW1hZ2UtbG9vcC1j
b3VudC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKyAgICA8ZGl2PgorICAgICAgICA8cD5GcmFtZXMg
b2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbWlzc2luZyBsb29wQ291bnQsIChyZXBl
dGl0aW9uQ291bnQgPSAxKTo8L3A+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy0xIj48L2Nh
bnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLTIiPjwvY2FudmFzPgorICAgICAgICA8
Y2FudmFzIGlkPSJjYW52YXMtMyI+PC9jYW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZh
cy00Ij48L2NhbnZhcz4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2PgorICAgICAgICA8cD5GcmFtZXMg
b2YgYSAzLWZyYW1lIGFuaW1hdGVkIGltYWdlIHdpdGggbG9vcENvdW50ID0gMSwgKHJlcGV0aXRp
b25Db3VudCA9IDIpOjwvcD4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWEiPjwvY2FudmFz
PgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtYiI+PC9jYW52YXM+CisgICAgICAgIDxjYW52
YXMgaWQ9ImNhbnZhcy1jIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzLWQi
PjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtZSI+PC9jYW52YXM+CisgICAg
ICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1mIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBpZD0i
Y2FudmFzLWciPjwvY2FudmFzPgorICAgIDwvZGl2PgorICAgIDxkaXY+CisgICAgICAgIDxwPkZy
YW1lcyBvZiBhIDMtZnJhbWUgYW5pbWF0ZWQgaW1hZ2Ugd2l0aCBsb29wQ291bnQgPSAwLCAocmVw
ZXRpdGlvbkNvdW50ID0gaW5maW5pdGUpOjwvcD4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFz
LUEiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtQiI+PC9jYW52YXM+Cisg
ICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1DIj48L2NhbnZhcz4KKyAgICAgICAgPGNhbnZhcyBp
ZD0iY2FudmFzLUQiPjwvY2FudmFzPgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMtRSI+PC9j
YW52YXM+CisgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcy1GIj48L2NhbnZhcz4KKyAgICAgICAg
PGNhbnZhcyBpZD0iY2FudmFzLUciPjwvY2FudmFzPgorICAgIDwvZGl2PgorICAgIDxzY3JpcHQ+
CisgICAgICAgIChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBpbWFnZXMgPSBbCisgICAg
ICAgICAgICAgICAgeyBzcmM6ICJyZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVw
ZWF0LTEucG5nIiwgY2FudmFzSWQ6ICcxJywgZnJhbWVDb3VudDogNCB9LAorICAgICAgICAgICAg
ICAgIHsgc3JjOiAicmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC0yLnBu
ZyIsIGNhbnZhc0lkOiAnYScsIGZyYW1lQ291bnQ6IDcgfSwKKyAgICAgICAgICAgICAgICB7IHNy
YzogInJlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtaW5maW5pdGUucG5n
IiwgY2FudmFzSWQ6ICdBJywgZnJhbWVDb3VudDogNyB9CisgICAgICAgICAgICBdOworICAgICAg
ICAgICAgcnVuVGVzdChpbWFnZXMpOworICAgICAgICB9KSgpOworICAgIDwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3Vy
Y2VzL2FuaW1hdGVkLWltYWdlLWxvb3AtY291bnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9yZXNvdXJjZXMvYW5pbWF0ZWQtaW1hZ2UtbG9vcC1jb3VudC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWNl
NDM5MGFkMDU3ZGU1ZDQ5Y2VlZWU5Nzg1ODc1YjA4OTFmMjkxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2FuaW1hdGVkLWltYWdlLWxvb3AtY291
bnQuanMKQEAgLTAsMCArMSw1MCBAQAorZnVuY3Rpb24gZHJhd0ZyYW1lKGltYWdlLCBjYW52YXNJ
ZCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBsZXQg
Y2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcy0iICsgY2FudmFzSWQpOwor
ICAgICAgICBsZXQgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOworICAgICAgICBj
b250ZXh0LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0
KTsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgICAgICByZXNvbHZlKFN0cmlu
Zy5mcm9tQ2hhckNvZGUoY2FudmFzSWQuY2hhckNvZGVBdCgpICsgMSkpOworICAgICAgICB9LCAz
MCk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIGRyYXdJbWFnZShpbWFnZSwgY2FudmFzSWQsIGZy
YW1lQ291bnQpIHsKKyAgICBsZXQgcHJvbWlzZSA9IGRyYXdGcmFtZShpbWFnZSwgY2FudmFzSWQp
OworICAgIGZvciAobGV0IGZyYW1lID0gMTsgZnJhbWUgPCBmcmFtZUNvdW50OyArK2ZyYW1lKSB7
CisgICAgICAgIHByb21pc2UgPSBwcm9taXNlLnRoZW4oKGNhbnZhc0lkKSA9PiB7CisgICAgICAg
ICAgICByZXR1cm4gZHJhd0ZyYW1lKGltYWdlLCBjYW52YXNJZCk7CisgICAgICAgIH0pOworICAg
IH0KKyAgICByZXR1cm4gcHJvbWlzZTsKK30KKworZnVuY3Rpb24gbG9hZEltYWdlKHNyYywgY2Fu
dmFzSWQsIGZyYW1lQ291bnQpIHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+
IHsKKyAgICAgICAgbGV0IGltYWdlID0gbmV3IEltYWdlOworICAgICAgICBpbWFnZS5vbmxvYWQg
PSAoKCkgPT4geworICAgICAgICAgICAgZHJhd0ltYWdlKGltYWdlLCBjYW52YXNJZCwgZnJhbWVD
b3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgICAgfSk7CisgICAgICAgIGltYWdlLnNyYyA9IHNy
YzsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gcnVuVGVzdChpbWFnZXMpIHsKKyAgICBpZiAod2lu
ZG93LmludGVybmFscykgeworICAgICAgICBpbnRlcm5hbHMuY2xlYXJNZW1vcnlDYWNoZSgpOwor
ICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFzRHJh
d2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworICAgIHZhciBwcm9taXNlcyA9
IFtdOworCisgICAgZm9yIChsZXQgaW1hZ2Ugb2YgaW1hZ2VzKQorICAgICAgICBwcm9taXNlcy5w
dXNoKGxvYWRJbWFnZShpbWFnZS5zcmMsIGltYWdlLmNhbnZhc0lkLCBpbWFnZS5mcmFtZUNvdW50
KSk7CisgICAgICAgICAgICAKKyAgICBQcm9taXNlLmFsbChwcm9taXNlcykudGhlbigoKSA9PiB7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvcmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVlLXJlcGVhdC0xLnBuZyBiL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1y
ZXBlYXQtMS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDMwYTJhMDg1ZjcxOWIxYjc1NjczMjk4YzI5YjYyM2Vm
NmI4ZjNjOApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDgwCnpjbWVBU0BOPyhvbEh5YHVWQnEh
aWEwdnBeREltPGozPyR1Y1FxekRHTWBDaF81MEN+NEc0NmNUNiRZZXYwKD9TVAp6Zml3ZmRlfSlE
aVc+flRDPVM/N3d1X1ZZWm44RCVNNFVrNXVHPkFyIUdPKCMyMXtnNGJffD0qWU19UnkjUFohNksK
empDKmctR0k5ZFZXbk9VYlM5eDZiVk1wIzZhdmQmODZGcFJmSSZvOX5Dbz85V0RLKHNAV0dldFAz
MSVON2tkNEtACnoyVGBqKXN2T2YmOTdCTEs2T3hAOXwxR0Ahc05lJEFHSWx+WDNaNDkpdmdFJj9x
SipEdTQzZD9ndSkkJl9AMHJTPAp6TkxJMlNTLUgwVTx5SCVzRWUkVWxAcH0+SXtaSUNpJnkzVXNY
R0RyfjB9WWNYYWc4Vm0mUUJ7VFBiXkFoTlk2fCYKZk4tVzRyKkRGcmIlUyRicF9Gd259UHp7NXB0
RG5te3ItVVd8ISUleTMKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBl
YXQtMi5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvYW5pbWF0ZWQtcmVk
LWdyZWVuLWJsdWUtcmVwZWF0LTIucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiYjMzN2RhNzljZGE2MDNhMmY1
ZmQ4ZDhiY2M5YWZlZDczNzhjYTkKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDQ4MAp6Y21lQVNA
Tj8ob2xIeWB1VkJxIWlhMHZwXkRJbTxqMz8kdWNRcXpER01gQ2hfNTBDfjRGKTJMMHtSVCskMW8o
dXcKejAlLTxAe3xwVTQlJj1uTiZ6bkZWVkBaJS1Gb1ZPaDh6N0JSWCVMTWRXbmZjNTNAfjU8QHZB
aSpqc1NVZm8tVTNkCno4VGEwdlcjan4hJWU+Jj11a3lJPSE7YWlEPFRfbEdDVkhwe2I+Z1B9UGk5
TyRRKSlPKiR5TllwNjNqa0VBUkNLKQp6NTI5OXFSNV8tbElFRGFlQ0x9dkl7IyR0Y1FOYWJLVyRj
Nyg2Z3Y0b1d5eWEoTUZ+SVM3JGhxfVZTfmo9LVpQYXkKemsqczd2dlR8K3glZEhrTlROKytBO2Bi
dVpgPTlKM3BCYnFPJldJR30xe3grJjt1PXZCb1MjLXdvPi1MMWtlLT1sCmZsdnQzTHUyLUM8bXpQ
Pkg/WjVCfHBjKTJHUzNqM15QNjxyX0l5LXkyCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdy
ZWVuLWJsdWUtcmVwZWF0LWluZmluaXRlLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jl
c291cmNlcy9hbmltYXRlZC1yZWQtZ3JlZW4tYmx1ZS1yZXBlYXQtaW5maW5pdGUucG5nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzZjdkZTI0M2RmNzY2NmE3NDQ2MjdkNGIxMzlhZWE2OWUyYTJkY2MKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDQ4MAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwXkRJbTxqMz8kdWNR
cXpER01gQ2hfNTBDfjRGYFJxNT5qMDRBM0dmTVYKejFAUmdGR2MqNyghLXxESlp2dUlZQnwoMHsz
PVlxM2ZIWD5fS3tTR3RmbFVRNXo8PiRGdWh3KXAwXzUzd3g7VGJwCnorPFNZTGtyUVl4Xk1ackYl
SHo1Wko5NXZFPnVeejs9JUZJaWlKU1VBbktBaUhzb157JlRMR1grRiM4eVJZJUtPWQp6aCp8fHc8
KFFWQDd5X2kza25HJn1ae2hWdjFzOWw+dUBrYVU9O1omRENJOV50Q0gjeklrZ05vUzRIaGVUJnM2
P0kKenZYVFlLJUMrP2B3XzM8LVg/V1IpLS18JStmM2xaK1d+NDRTQlR9M2pYcVpIYVllWSRLZXAq
UitWb0BxWGRTO3FZCmZWbkpUSVVVOGFVVVRWcC18SDNETFk4WDZTe2FuXkxCe1RzNT4lNHA8Cgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDJlNjk3NGJiYzE3NjVjNDUxNjhiMGJkOTlhYmVlYWU5NmMzNThlMzcuLmIw
MWRkMWZlZjRlOTgyMjQxZjgyMTg4OWJhZWI5MWFlMGM2NjU5MGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yODAyLDcgKzI4MDIsOCBAQCBjYW52YXMv
cGhpbGlwL3Rlc3RzLzJkLnBhdHRlcm4uYW5pbWF0ZWQuZ2lmLmh0bWwgWyBGYWlsdXJlIF0KIGZh
c3QvaW1hZ2VzL3Nsb3dlci1hbmltYXRpb24tdGhhbi1kZWNvZGluZy1pbWFnZS5odG1sIFsgRmFp
bHVyZSBdCiBmYXN0L2ltYWdlcy9zbG93ZXItZGVjb2RpbmctdGhhbi1hbmltYXRpb24taW1hZ2Uu
aHRtbCBbIEZhaWx1cmUgXQogZmFzdC9pbWFnZXMvcmVzZXQtaW1hZ2UtYW5pbWF0aW9uLmh0bWwg
WyBGYWlsdXJlIF0KLWZhc3QvaW1hZ2VzL2FuaW1hdGVkLWltYWdlLWxvb3AtY291bnQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQorZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLWxvb3AtY291bnQu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLWxvb3At
Y291bnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogZmFzdC9pbWFnZXMvYW5pbWF0ZWQtaW1h
Z2UtZGlmZmVyZW50LWRlc3Qtc2l6ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKICMgPHJk
YXI6Ly9wcm9ibGVtLzMyNjU5NTk1PiBpT1MgMTE6IExheW91dFRlc3QgZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvc3lzdGVtLWxhbmd1YWdlL2FyYWJpYy1nbHlwaC1jYWNoZS1maWxsLWNvbWJpbmUu
aHRtbCBpcyBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggYmVjMmM5ZWI2ZDkyODU5Mzg0YzhhNWYyZWIzMTNhMzViYmJlYWVlZi4u
YWRhNDI1NGZlNmQwNzRlYTI4MzNlYWU2NzJiN2JkYjQ1Y2RhY2Q4MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzgzLDcgKzc4Myw4IEBA
IHdlYmtpdC5vcmcvYi8xOTA4NDkgaHR0cC90ZXN0cy9zZWN1cml0eS9YRnJhbWVPcHRpb25zL3gt
ZnJhbWUtb3B0aW9ucy1tdWx0aXBsZS1oCiAKIHdlYmtpdC5vcmcvYi8xODY0MDYgWyBNb2phdmUr
IF0gY29tcG9zaXRpbmcvaWZyYW1lcy9kaXNwbGF5LW5vbmUtc3ViZnJhbWUuaHRtbCBbIFBhc3Mg
RmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8xOTAzODMgZmFzdC9pbWFnZXMvYW5pbWF0ZWQtaW1h
Z2UtbG9vcC1jb3VudC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi8xOTAzODMgZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLWxvb3AtY291bnQuaHRtbCBbIFBhc3Mg
SW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTkwMzgzIGZhc3QvaW1hZ2VzL2FuaW1h
dGVkLXBuZy1sb29wLWNvdW50Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzE5MDM4MyBmYXN0L2ltYWdlcy9hbmltYXRlZC1pbWFnZS1kaWZmZXJlbnQtZGVzdC1z
aXplLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTkxNjM5
IGltcG9ydGVkL2JsaW5rL2NvbXBvc2l0aW5nL3NxdWFzaGluZy9zcXVhc2hpbmctaW50by1hbmNl
c3Rvci1wYWludGVkLWxheWVyLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkMjQ4YzJkNzc5NmViNzE4
OGY3ZWRlYjA3NGYwNGM0OTVhNmM1MDZkLi45NTk0MzBjYWZhOTM4ZTBiNmY5NWEwMWFkNjczOTJj
ZjQ4NTQ3ZTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNDEyLDcgKzQxMiw3IEBAIGh0dHAvd3B0L2Nzcy9jc3MtaGlnaGxpZ2h0LWFwaS8gWyBTa2lw
IF0KICMgUHJlLUhNVEw1IHBhcnNlciBxdWlya3Mgb25seSBhcHBseSB0byB0aGUgbWFjIHBvcnQg
Zm9yIG5vdy4KIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmtzLmh0bWwgWyBTa2lw
IF0KIAotIyBSZXF1aXJlcyBXZWJQIHN1cHBvcnQuCisjIFJlcXVpcmVzIEFQTkcgYW5kIFdlYlAg
c3VwcG9ydC4KIGZhc3QvY2FudmFzL2NhbnZhcy10b0RhdGFVUkwtd2VicC5odG1sIFsgU2tpcCBd
CiBmYXN0L2ltYWdlcy93ZWJwLWltYWdlLWRlY29kaW5nLmh0bWwgWyBTa2lwIF0KIGZhc3QvaW1h
Z2VzL3dlYnAtY29sb3ItcHJvZmlsZS1sb3NzbGVzcy5odG1sIFsgU2tpcCBdCkBAIC00MjEsNiAr
NDIxLDcgQEAgZmFzdC9pbWFnZXMvd2VicC1jb2xvci1wcm9maWxlLWxvc3N5Lmh0bWwgWyBTa2lw
IF0KIGh0dHAvdGVzdHMvaW1hZ2VzL3dlYnAtcGFydGlhbC1sb2FkLmh0bWwgWyBTa2lwIF0KIGh0
dHAvdGVzdHMvaW1hZ2VzL3dlYnAtcHJvZ3Jlc3NpdmUtbG9hZC5odG1sIFsgU2tpcCBdCiBmYXN0
L2ltYWdlcy9hbmltYXRlZC13ZWJwLWV4cGVjdGVkLmh0bWwgWyBTa2lwIF0KK2Zhc3QvaW1hZ2Vz
L2FuaW1hdGVkLXBuZy1sb29wLWNvdW50Lmh0bWwgWyBTa2lwIF0KIAogIyBUT0RPIFRoZSBmb2xs
b3dpbmcgdGVzdHMgcmVxdWlyZXMgdGhlIERSVCdzIGR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2Fk
Q2FsbGJhY2tzCiAjIG1ldGhvZC4gQnV0IHRoYXQgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCBp
biB3aW4gcG9ydCBzaW5jZSB3aW4gcG9ydCBjYW4ndAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>