<?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>167390</bug_id>
          
          <creation_ts>2017-01-24 15:09:53 -0800</creation_ts>
          <short_desc>Notify clients when the user plays media otherwise prevented from autoplaying</short_desc>
          <delta_ts>2017-01-26 12:42:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Rajca">mrajca</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1269575</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-01-24 15:09:53 -0800</bug_when>
    <thetext>Notify clients when the user plays media (with a user gesture) otherwise prevented from autoplaying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269577</commentid>
    <comment_count>1</comment_count>
      <attachid>299637</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-01-24 15:14:19 -0800</bug_when>
    <thetext>Created attachment 299637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269594</commentid>
    <comment_count>2</comment_count>
      <attachid>299644</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-01-24 15:50:55 -0800</bug_when>
    <thetext>Created attachment 299644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269661</commentid>
    <comment_count>3</comment_count>
      <attachid>299644</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-24 18:57:15 -0800</bug_when>
    <thetext>Comment on attachment 299644
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/WKPageUIClient.h:729
&gt;      WKRequestPointerLockCallback                                        requestPointerLock;
&gt;      WKDidLosePointerLockCallback                                        didLosePointerLock;
&gt; +    WKDidPlayMediaPreventedFromPlayingWithoutUserGesture                didPlayMediaPreventedFromPlayingWithoutUserGesture;

I&apos;m not sure if we need to make another version of the client to maintain binary compatibility.  It seems like the pointer lock stuff was added recently enough that maybe the answer is no.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269999</commentid>
    <comment_count>4</comment_count>
      <attachid>299644</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-25 15:37:10 -0800</bug_when>
    <thetext>Comment on attachment 299644
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.messages.in:441
&gt; +    DidPlayMediaPreventedFromPlayingWithoutUserGesture()

This name is a bit verbose, but I can&apos;t think of anything better.

&gt; Tools/TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:5
&gt; +                setTimeout(function() {

Could we remove this setTimeout?

&gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:217
&gt; +TEST(WebKit2, WebsitePoliciesPlayAfterPreventedAutoplay)

It would be good to test that a video that shouldn&apos;t autoplay doesn&apos;t call the didPlayMediaPreventedFromPlayingWithoutUserGesture when you play it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270019</commentid>
    <comment_count>5</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-01-25 16:13:45 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 299644 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=299644&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.messages.in:441
&gt; &gt; +    DidPlayMediaPreventedFromPlayingWithoutUserGesture()
&gt; 
&gt; This name is a bit verbose, but I can&apos;t think of anything better.
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:5
&gt; &gt; +                setTimeout(function() {
&gt; 
&gt; Could we remove this setTimeout?

Done.

&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:217
&gt; &gt; +TEST(WebKit2, WebsitePoliciesPlayAfterPreventedAutoplay)
&gt; 
&gt; It would be good to test that a video that shouldn&apos;t autoplay doesn&apos;t call
&gt; the didPlayMediaPreventedFromPlayingWithoutUserGesture when you play it.

I&apos;ll add one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270020</commentid>
    <comment_count>6</comment_count>
      <attachid>299762</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-01-25 16:13:59 -0800</bug_when>
    <thetext>Created attachment 299762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270052</commentid>
    <comment_count>7</comment_count>
      <attachid>299773</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-01-25 17:09:09 -0800</bug_when>
    <thetext>Created attachment 299773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270068</commentid>
    <comment_count>8</comment_count>
      <attachid>299779</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-01-25 17:42:17 -0800</bug_when>
    <thetext>Created attachment 299779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270078</commentid>
    <comment_count>9</comment_count>
      <attachid>299779</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-25 18:19:19 -0800</bug_when>
    <thetext>Comment on attachment 299779
Patch

Clearing flags on attachment: 299779

Committed r211193: &lt;http://trac.webkit.org/changeset/211193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270079</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-25 18:19:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270125</commentid>
    <comment_count>11</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-01-25 20:25:35 -0800</bug_when>
    <thetext>Reverted r211193 for reason:

This change broke internal builds.

Committed r211200: &lt;http://trac.webkit.org/changeset/211200&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270240</commentid>
    <comment_count>12</comment_count>
      <attachid>299820</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-01-26 11:05:56 -0800</bug_when>
    <thetext>Created attachment 299820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270289</commentid>
    <comment_count>13</comment_count>
      <attachid>299820</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-26 12:42:33 -0800</bug_when>
    <thetext>Comment on attachment 299820
Patch

Clearing flags on attachment: 299820

Committed r211226: &lt;http://trac.webkit.org/changeset/211226&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270290</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-26 12:42:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299637</attachid>
            <date>2017-01-24 15:14:19 -0800</date>
            <delta_ts>2017-01-24 15:50:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167390-20170124151219.patch</filename>
            <type>text/plain</type>
            <size>21969</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI4N2QxYjQ0ZjE3ZWZh
NjBhZWMyYjcxNTYzOThkOWQ1NDg5Njc1Zi4uMTVkN2FmODhlNjA0MTQ2MDQ0Y2M1MjY2OGY3NGIz
YTZjZjljYmFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAxLTI0ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBOb3RpZnkgY2xpZW50cyB3aGVu
IHRoZSB1c2VyIHBsYXlzIG1lZGlhIG90aGVyd2lzZSBwcmV2ZW50ZWQgZnJvbSBhdXRvcGxheWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3Mzkw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIEFQ
SSBpcyB0ZXN0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheUludGVybmFsKToKKyAgICAgICAg
KiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2ll
cyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGEzZDc0YzViZDkzMzQ2ZDE2OTU1Y2Ex
ZGFkODQwOWEyOTE4ODdlZWQuLmZjNzhiZTY0NTUxYTFjZjVjMDU4Mjk3Nzg1NTFkNzA3OThiY2U2
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNy0wMS0yNCAgTWF0dCBSYWpjYSAg
PG1yYWpjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTm90aWZ5IGNsaWVudHMgd2hlbiB0aGUgdXNl
ciBwbGF5cyBtZWRpYSBvdGhlcndpc2UgcHJldmVudGVkIGZyb20gYXV0b3BsYXlpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzM5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElVSUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6ZGlkUGxheU1lZGlhUHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0UGFnZVVJQ2xpZW50KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNz
IGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNjA3NGNjMzI5Mjg0ZTZhNWYy
ZDdhOTY1ODFhNDk1NGQxYmQzZGJjYi4uMDI1MGYxYTA2YmFhYWJhYTFiMGY2NDhhNTUyMDE4NGE4
ZDNmYjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0z
MTY3LDcgKzMxNjcsOCBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnBsYXlJbnRlcm5hbCgpCiAg
ICAgICAgIHNjaGVkdWxlUmVzb2x2ZVBlbmRpbmdQbGF5UHJvbWlzZXMoKTsKIAogICAgIGlmIChT
Y3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpICYmIG1fcHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpIHsKLSAgICAgICAgLy8gRklYTUU6
IG5vdGlmeSBjbGllbnRzIGEgdXNlciBnZXN0dXJlIHdhcyBtYWRlIGFuZCBzdGFydGVkIHBsYXli
YWNrIG9mIGFuIGVsZW1lbnQgdGhhdCB3YXMgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIHBsYXlp
bmcuCisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkpCisgICAgICAg
ICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxh
eWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpOwogICAgICAgICBtX3ByZXZlbnRlZEZyb21QbGF5aW5n
V2l0aG91dFVzZXJHZXN0dXJlID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAppbmRleCBiMTM4ZmQ3ZTdhNjVkNTA3NjVkNWQyZTA2ZDczOGVlZjJlMDkxZWIwLi4x
YTQyOThjNTAzY2JmNTY3NzdjMzRkYTZiOTFhMjQyMjk1YTQ5NmE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKQEAgLTQyMCw2ICs0MjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGlzUGxheWluZ01lZGlh
RGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgpIHsgfQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdmlydHVh
bCB2b2lkIGhhc01lZGlhU2Vzc2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJv
b2wpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4
IDkxODZkZTI0NTQwYzhmOGY5NmNmY2U5ODU1OWNmZjVmMDNlZWNlMGYuLjQ0YTNlMjJlZmZlMmQ3
ZTA0NGRmZDE4YTUxYWYxMDQxNmFkM2VhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVVJQ2xpZW50LmgKQEAgLTE1Miw2ICsxNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luQ2FwdHVyZVNlc3Npb24oKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkRW5kQ2FwdHVyZVNlc3Npb24oKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkmKSB7IH0KIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSYsIFdlYktpdDo6V2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEqKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNzExNzEwNjg3MWM0Y2UzZGQ0ZjRlZjY4
MWQxNWRmNjAxNWZlOTc0Ny4uNzAzYTJkNDRhYmY2YjI5NGE5NmQ4NTUzODZlNjVjODQwMDIwMjQx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTIyMzUs
NiArMjIzNSwxNCBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJl
ZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudAogICAgICAgICAgICAgbV9jbGll
bnQuZGlkTG9zZVBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudElu
Zm8pOwogICAgICAgICB9CiAjZW5kaWYKKworICAgICAgICB2b2lkIGRpZFBsYXlNZWRpYVByZXZl
bnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkgb3Zl
cnJpZGUKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5kaWRQbGF5TWVkaWFQ
cmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21Q
bGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKKyAgICAgICAgfQogICAgIH07CiAKICAgICB0b0ltcGwocGFnZVJlZiktPnNldFVJ
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IDI5YjhlMTBh
YmNjYjQwOTkyYjBkZTcwNDc5ZDNkNDFiNmVmZDZlYjMuLjkzNGU3YWYyZTU0NGY2MzI1OWI5ODJh
ZDZjNjdmZGFmZDYzZjgyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VVSUNsaWVudC5oCkBAIC0xMDIsNiArMTAyLDcgQEAgdHlwZWRlZiB2b2lkICgqV0tQ
YWdlRGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjaykoV0tQ
YWdlUmUKIHR5cGVkZWYgdm9pZCAoKldLQ2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sp
KFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHVz
ZXJNZWRpYURvY3VtZW50T3JpZ2luLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHRvcExldmVsRG9jdW1l
bnRPcmlnaW4sIFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUmVmIGRldmljZXNSZXF1ZXN0LCBj
b25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENsaWNrQXV0
b0ZpbGxCdXR0b25DYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VNZWRpYVNlc3Np
b25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tNZWRpYVNlc3Np
b25NZXRhZGF0YVJlZiBtZXRhZGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0RpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0
dXJlKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZv
aWQgKCpXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHR5cGVkZWYgdm9pZCAoKldLUmVxdWVzdFBv
aW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKQEAgLTcyNSw2ICs3MjYsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY4IHsK
ICAgICAvLyBWZXJzaW9uIDguCiAgICAgV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2s7CiAg
ICAgV0tEaWRMb3NlUG9pbnRlckxvY2tDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaWRMb3NlUG9pbnRlckxvY2s7CisgICAgV0tEaWRQbGF5TWVkaWFQcmV2
ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSAgICAgICAgICAgICAgICBkaWRQbGF5
TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZTsKIH0gV0tQYWdlVUlD
bGllbnRWODsKICAgICAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1YzZiNzY4YWYyOGU5MzcxZTI5ZTZjOWUzYmNhNDRk
YjMxODk4ZjNiLi43OGU5YTdhYThkNDc2NzI1OGYxYzk3NzFkNDhhN2EyOThmYTBlYjdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjUyNCw2ICs2NTI0
LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpmb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudERpZENo
YW5nZSh1aW50NjRfdCBlbGVtZW50SUQpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkKK3sK
KyAgICBtX3VpQ2xpZW50LT5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgqdGhpcyk7Cit9CisKICNpZiBQTEFURk9STShNQUMpCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNjI3YzIxODkxY2M1Mjg4NDQ3NWFhOGUxNjQ0
ZDlhYTRmN2M1MTJjZC4uYmJmZTJiYTBiZGRmNzFjYjZiNWUzNzRmN2Q5MGRmNTAxNjQ2MmVjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTA1OCw2ICsxMDU4
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQWN0aXZlQXVkaW9TdHJlYW0oKSBjb25zdCB7IHJl
dHVybiBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpIYXNBY3RpdmVBdWRp
b0NhcHR1cmVEZXZpY2U7IH0KICAgICBib29sIGhhc0FjdGl2ZVZpZGVvU3RyZWFtKCkgY29uc3Qg
eyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFzQWN0aXZl
VmlkZW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFT
dGF0ZUZsYWdzIG1lZGlhU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZTsg
fQorICAgIHZvaWQgZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHZpZGVvQ29udHJvbHNNYW5h
Z2VyRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCAzNTNmZGFjYWI5Mzc1Nzc5NzYwYTRkYzFmMjdjODU1NjRk
ZmE1MWIxLi42M2QyNmJkNjZmNDI1MjU0NDQ4MWIxOWY4NTI5NzZhNDRlYzA5ZTVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTQzOCw2ICs0MzgsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICAg
ICBJc1BsYXlpbmdNZWRpYURpZENoYW5nZSh1bnNpZ25lZCBzdGF0ZSwgdWludDY0X3Qgc291cmNl
RWxlbWVudElEKQorICAgIERpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVz
ZXJHZXN0dXJlKCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEhhc01lZGlhU2Vz
c2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJvb2wgc3RhdGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggMzFkYTE3NTZlYTI3MzVjNzQ0MGViY2ViMDM5ZjZiYWNmMjc1
MWZlMy4uODQ4ZTc2MjJhZGRjOTMwODU2N2VlMTlkZWJhNWNkNzExZDhjOWMwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcApAQCAtMTA4NCw2ICsxMDg0LDExIEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxh
Z3Mgc3RhCiAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SXNQbGF5aW5n
TWVkaWFEaWRDaGFuZ2Uoc3RhdGUsIHNvdXJjZUVsZW1lbnRJRCkpOwogfQogCit2b2lkIFdlYkNo
cm9tZUNsaWVudDo6ZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKQoreworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBs
YXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkpOworfQorCiAj
aWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpoYXNNZWRp
YVNlc3Npb25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sIHN0YXRlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKaW5kZXggNjg0MDYzNzlkYjRlZjU0YjRiMWY2MzExMDIyMjdhYjBlZDJm
NDBmOS4uYTJkNWU3Y2M0YmYwODNhNDBiMmI1Zjc1YzVhNDc4ZjdlMDU4ODMzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC0yOTcsNiArMjk3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3Vs
ZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBXZWJDb3JlOjpGcmFtZVZpZXcmKSBj
b25zdCBmaW5hbDsKIAogICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzLCB1aW50NjRfdCkgZmluYWw7CisgICAgdm9p
ZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpIGZp
bmFsOwogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdm9pZCBoYXNNZWRpYVNlc3Np
b25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sKSBmaW5hbDsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyMGQwYmEyMWZmNjUz
ZTE2NWU1NWY3ZDRkNjJlZjc0M2U2MGM1Y2FlLi4yYzAwZjkyOWI1OGExMGVkYTk3NGVjZjYzMzE4
YTcxMGJkNTU2MGI5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDEtMjQgIE1hdHQgUmFqY2EgIDxtcmFqY2FA
YXBwbGUuY29tPgorCisgICAgICAgIE5vdGlmeSBjbGllbnRzIHdoZW4gdGhlIHVzZXIgcGxheXMg
bWVkaWEgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIGF1dG9wbGF5aW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczOTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2Ev
V2Vic2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBs
YXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lmg6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtUZXN0V0tXZWJWaWV3SG9zdFdp
bmRvdyBfbW91c2VVcEF0UG9pbnQ6XSk6CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXcgd2FpdEZv
ckxvYWRdKToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlldyBtb3VzZVVwQXRQb2ludDpdKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMpOgorCiAyMDE3LTAxLTIzICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBh
dXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmOGY5YzY5OGNiY2I3MWM2NTQ1ZThiNTFjNGM0M2NhMGYxNDllOTk2Li43MmQxMGViOTM4
N2JiZWFiMjA1YzlhYzdlYmI2NjNiNWVlNDk3YWYyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNTA5LDYgKzUwOSw4IEBACiAJCUM5NTk4NEY0MUUzNkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxh
eS1jaGVjay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM5NTk4NEYyMUUzNkJDNTUwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1s
ICovOyB9OwogCQlDOTU5ODRGNTFFMzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8t
Y2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hl
Y2suaHRtbCAqLzsgfTsKIAkJQzk1OTg0RjcxRTM2QkNFRjAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91
dC1hdWRpby10cmFjay5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91dC1h
dWRpby10cmFjay5tcDQgKi87IH07CisJCUM5NzNERjU5MUUzODA3NjYwMDAyRjNBRiAvKiBhdXRv
cGxheS13aXRoLWNvbnRyb2xzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzk3M0RGNTgxRTM4MDc0MjAwMDJGM0FGIC8qIGF1dG9wbGF5
LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKKwkJQzk3M0RGNUIxRTM4MEUwQjAwMDJGM0FGIC8q
IGpzLXBsYXktd2l0aC1jb250cm9scy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NzNERjVBMUUzODBERUIwMDAyRjNBRiAvKiBqcy1w
bGF5LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKIAkJQ0Q1OUY1MzQxOUU5MTEwRDAwQ0YxODM1
IC8qIGZpbGUtd2l0aC1tc2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDU5RjUzMjE5RTkxMEFBMDBDRjE4MzUgLyogZmlsZS13aXRo
LW1zZS5odG1sICovOyB9OwogCQlDRDU5RjUzNTE5RTkxMTBEMDBDRjE4MzUgLyogdGVzdC1tc2Uu
bXA0IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENENTlGNTMzMTlFOTEwQkMwMENGMTgzNSAvKiB0ZXN0LW1zZS5tcDQgKi87IH07CiAJCUNENzhF
MTFEMURCN0VBNjYwMDE0QTJERSAvKiBGdWxsc2NyZWVuRGVsZWdhdGUubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDc4RTExQTFEQjdFQTM2MDAxNEEy
REUgLyogRnVsbHNjcmVlbkRlbGVnYXRlLm1tICovOyB9OwpAQCAtNjA3LDYgKzYwOSw4IEBACiAJ
CQlkc3RQYXRoID0gVGVzdFdlYktpdEFQSS5yZXNvdXJjZXM7CiAJCQlkc3RTdWJmb2xkZXJTcGVj
ID0gNzsKIAkJCWZpbGVzID0gKAorCQkJCUM5NzNERjVCMUUzODBFMEIwMDAyRjNBRiAvKiBqcy1w
bGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlDOTczREY1
OTFFMzgwNzY2MDAwMkYzQUYgLyogYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCUM5NTk4NEY3MUUzNkJDRUYwMDJDMEQ0NSAvKiB0ZXN0LXdpdGhv
dXQtYXVkaW8tdHJhY2subXA0IGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUM5NTk4NEY0MUUz
NkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAogCQkJCUM5NTk4NEY1MUUzNkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxheS1uby1hdWRpby1jaGVj
ay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMTk2MSw2ICsxOTY1LDcgQEAKIAkJCQk3
NkUxODJERTE1NDc1QTgzMDBGMUZBREQgLyogYXV0by1zdWJtaXR0aW5nLWZvcm0uaHRtbCAqLywK
IAkJCQlDOTU5ODRGMjFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktY2hlY2suaHRtbCAqLywK
IAkJCQlDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2su
aHRtbCAqLywKKwkJCQlDOTczREY1ODFFMzgwNzQyMDAwMkYzQUYgLyogYXV0b3BsYXktd2l0aC1j
b250cm9scy5odG1sICovLAogCQkJCTdDNDg2QkEwMUFBMTI1NEIwMDNGNkY5QiAvKiBidW5kbGUt
ZmlsZS5odG1sICovLAogCQkJCTlCRDQyMzlCMUUwNEJGRDAwMDIwMDM5NSAvKiBjaGluZXNlLWNo
YXJhY3Rlci13aXRoLWltYWdlLmh0bWwgKi8sCiAJCQkJMUE1MEFBMUYxQTJBNEVBNTAwRjRDMzQ1
IC8qIGNsb3NlLWZyb20td2l0aGluLWNyZWF0ZS1wYWdlLmh0bWwgKi8sCkBAIC0xOTgxLDYgKzE5
ODYsNyBAQAogCQkJCTRBNDEwRjREMTlBRjdCRUYwMDJFQkFCNSAvKiBnZXRVc2VyTWVkaWEuaHRt
bCAqLywKIAkJCQlCQ0JEMzcyRTEyNUFCQkU2MDBEMkMyOUYgLyogaWNvbi5wbmcgKi8sCiAJCQkJ
Q0UzNTI0RjUxQjE0MkJCQjAwMjhBN0M1IC8qIGlucHV0LWZvY3VzLWJsdXIuaHRtbCAqLywKKwkJ
CQlDOTczREY1QTFFMzgwREVCMDAwMkYzQUYgLyoganMtcGxheS13aXRoLWNvbnRyb2xzLmh0bWwg
Ki8sCiAJCQkJODM0OUQzQzMxREI5NzI0RjAwNEE5RjY1IC8qIGxpbmstd2l0aC1kb3dubG9hZC1h
dHRyaWJ1dGUuaHRtbCAqLywKIAkJCQkzNzhFNjQ3ODE2MzI2RkRGMDBCNkM2NzYgLyogbGluay13
aXRoLXRpdGxlLmh0bWwgKi8sCiAJCQkJOTM2MTAwMjgxNERDOTU3QjAwNjEzNzlEIC8qIGxvdHMt
b2YtaWZyYW1lcy5odG1sICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL2F1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzcxOTliYWRmYTRiZGMzYTU0NGFlMDA5YmU4NGZmYjg1ZThkYjA0OQotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRy
b2xzLmh0bWwKQEAgLTAsMCArMSw3IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDx2aWRlbyBhdXRvcGxheSBjb250cm9scyBzcmM9InRlc3Qu
bXA0IiAvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mN2IzYzNkOGQ3MTUxMGE3ZGQ1YjM1NWMwZjY2ZGM5ZWZjNzdlZDE1Ci0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL2pzLXBsYXktd2l0
aC1jb250cm9scy5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gcGFnZUxvYWRlZCgpIHsKKyAgICAg
ICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlkZW8iKS5wbGF5KCk7CisgICAgICAgICAgICAgICAg
fSwgMjAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5IG9ubG9hZD0icGFnZUxvYWRlZCgpIj4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRl
byIgY29udHJvbHMgc3JjPSJ0ZXN0Lm1wNCIgLz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJzaXRlUG9s
aWNpZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJzaXRl
UG9saWNpZXMubW0KaW5kZXggNjgwYTdlZjhiNGEzMjhkMjRkZTVkOTM3NTdmYmVlNmY2OTZkYzlk
NS4uNGZhODQxMmQ3Yjc5OGMwZGY5MjMyOTc1ZDA5ZGRhY2IwOWY5YmMxMCAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQb2xp
Y2llcy5tbQpAQCAtMzUsNiArMzUsMTAgQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKK0BpbnRl
cmZhY2UgV0tXZWJWaWV3ICgpCistIChXS1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5nOworQGVuZAor
CiBzdGF0aWMgYm9vbCBkb25lQ29tcGlsaW5nOwogc3RhdGljIGJvb2wgcmVjZWl2ZWRBbGVydDsK
IHN0YXRpYyBzaXplX3QgYWxlcnRDb3VudDsKQEAgLTIwNCw0ICsyMDgsNDQgQEAgVEVTVChXZWJL
aXQyLCBXZWJzaXRlUG9saWNpZXNBdXRvcGxheUVuYWJsZWQpCiAgICAgW3dlYlZpZXcgd2FpdEZv
ck1lc3NhZ2U6QCJhdXRvcGxheWVkIl07CiB9CiAKK3N0YXRpYyB2b2lkIGRpZFBsYXlNZWRpYVBy
ZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKFdLUGFnZVJlZiBwYWdlLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHJlY2VpdmVkQWxlcnQgPSB0cnVlOworfQorCitU
RVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc1BsYXlBZnRlclByZXZlbnRlZEF1dG9wbGF5KQor
eworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0
aW9uIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMzYsIDI1NikgY29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBhdXRvIGRlbGVnYXRlID0g
YWRvcHROUyhbW0F1dG9wbGF5UG9saWNpZXNEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3
ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgW2RlbGVn
YXRlIHNldEF1dG9wbGF5UG9saWN5Ol9XS1dlYnNpdGVBdXRvcGxheVBvbGljeURlbnldOworCisg
ICAgV0tQYWdlVUlDbGllbnRWOCB1aUNsaWVudDsKKyAgICBtZW1zZXQoJnVpQ2xpZW50LCAwLCBz
aXplb2YodWlDbGllbnQpKTsKKworICAgIHVpQ2xpZW50LmJhc2UudmVyc2lvbiA9IDg7CisgICAg
dWlDbGllbnQuZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1
cmUgPSBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZTsK
KworICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChbd2ViVmlldyBfcGFnZUZvclRlc3RpbmddLCAm
dWlDbGllbnQuYmFzZSk7CisKKyAgICByZWNlaXZlZEFsZXJ0ID0gZmFsc2U7CisgICAgTlNVUkxS
ZXF1ZXN0ICpqc1BsYXlSZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05T
QnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAianMtcGxheS13aXRoLWNvbnRyb2xz
IiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNv
dXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6anNQbGF5UmVxdWVzdF07CisgICAg
Q0ZSdW5Mb29wUnVuSW5Nb2RlKGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSwgMiwgZmFsc2UpOworICAg
IFt3ZWJWaWV3IG1vdXNlRG93bkF0UG9pbnQ6TlNNYWtlUG9pbnQoMTY4LCAxMjgpIHNpbXVsYXRl
UHJlc3N1cmU6Tk9dOworICAgIFt3ZWJWaWV3IG1vdXNlVXBBdFBvaW50Ok5TTWFrZVBvaW50KDE2
OCwgMTI4KV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZEFsZXJ0KTsK
KworICAgIHJlY2VpdmVkQWxlcnQgPSBmYWxzZTsKKyAgICBOU1VSTFJlcXVlc3QgKmF1dG9wbGF5
UmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBVUkxGb3JSZXNvdXJjZTpAImF1dG9wbGF5LXdpdGgtY29udHJvbHMiIHdpdGhFeHRlbnNp
b246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAg
ICBbd2ViVmlldyBsb2FkUmVxdWVzdDphdXRvcGxheVJlcXVlc3RdOworICAgIFt3ZWJWaWV3IHdh
aXRGb3JMb2FkXTsKKyAgICBDRlJ1bkxvb3BSdW5Jbk1vZGUoa0NGUnVuTG9vcERlZmF1bHRNb2Rl
LCAwLjUsIGZhbHNlKTsKKyAgICBbd2ViVmlldyBtb3VzZURvd25BdFBvaW50Ok5TTWFrZVBvaW50
KDUwLCA1MCkgc2ltdWxhdGVQcmVzc3VyZTpOT107CisgICAgW3dlYlZpZXcgbW91c2VVcEF0UG9p
bnQ6TlNNYWtlUG9pbnQoNTAsIDUwKV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZy
ZWNlaXZlZEFsZXJ0KTsKK30KKwogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVz
dFdLV2ViVmlldy5oCmluZGV4IGExZTgyNzAyNjZiZTVlZTQ1MzNjZjUyY2M0NGY2OTE3NjA0MDg2
NTEuLmIzMjczYTgwNzY0MDZhNzg3ZWE0MzRjN2IwOGRkODU0MWRlNDMzOTMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCkBAIC0zNyw2ICszNyw3IEBACiAtICh2
b2lkKXN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDooTlNTdHJpbmcgKilwYWdlTmFtZTsK
IC0gKE5TU3RyaW5nICopc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDooTlNTdHJpbmcgKilz
Y3JpcHQ7CiAtICh2b2lkKXdhaXRGb3JNZXNzYWdlOihOU1N0cmluZyAqKW1lc3NhZ2U7CistICh2
b2lkKXdhaXRGb3JMb2FkOwogLSAodm9pZClwZXJmb3JtQWZ0ZXJMb2FkaW5nOihkaXNwYXRjaF9i
bG9ja190KWFjdGlvbnM7CiBAZW5kCiAKQEAgLTQ0LDYgKzQ1LDcgQEAKIEBpbnRlcmZhY2UgVGVz
dFdLV2ViVmlldyAoTWFjT25seSkKIC8vIFNpbXVsYXRlcyBjbGlja2luZyB3aXRoIGEgcHJlc3N1
cmUtc2Vuc2l0aXZlIGRldmljZSwgaWYgcG9zc2libGUuCiAtICh2b2lkKW1vdXNlRG93bkF0UG9p
bnQ6KE5TUG9pbnQpcG9pbnQgc2ltdWxhdGVQcmVzc3VyZTooQk9PTClzaW11bGF0ZVByZXNzdXJl
OworLSAodm9pZCltb3VzZVVwQXRQb2ludDooTlNQb2ludClwb2ludDsKIC0gKHZvaWQpdHlwZUNo
YXJhY3RlcjooY2hhciljaGFyYWN0ZXI7CiBAZW5kCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQppbmRleCAyYmNlMjBmMWJhZDNlYjhiMjE2ZWNjNjEx
OGU5ZjQzYmM1MTI0YmYyLi43MzU3YzMyY2JhNjhjMjY4YzQ5NWI0MzM5ZmRlOTdjOTUyYTIyMWI3
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tCkBAIC0xMjAs
NiArMTIwLDExIEBAIC0gKHZvaWQpX21vdXNlRG93bkF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgc2lt
dWxhdGVQcmVzc3VyZTooQk9PTClzaW11bGF0ZVByZXNzdXJlCiAgICAgfQogI2VuZGlmCiB9CisK
Ky0gKHZvaWQpX21vdXNlVXBBdFBvaW50OihOU1BvaW50KXBvaW50Cit7CisgICAgW3NlbGYgc2Vu
ZEV2ZW50OltOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU0V2ZW50VHlwZUxlZnRNb3VzZVVw
IGxvY2F0aW9uOnBvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6R2V0Q3VycmVudEV2ZW50
VGltZSgpIHdpbmRvd051bWJlcjpzZWxmLndpbmRvd051bWJlciBjb250ZXh0OltOU0dyYXBoaWNz
Q29udGV4dCBjdXJyZW50Q29udGV4dF0gZXZlbnROdW1iZXI6KytnRXZlbnROdW1iZXIgY2xpY2tD
b3VudDoxIHByZXNzdXJlOjBdXTsKK30KICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKIC0gKEJP
T0wpaXNLZXlXaW5kb3cKQEAgLTI0MSw2ICsyNDYsMTUgQEAgLSAodm9pZClwZXJmb3JtQWZ0ZXJM
b2FkaW5nOihkaXNwYXRjaF9ibG9ja190KWFjdGlvbnMgewogICAgIFtjb250ZW50Q29udHJvbGxl
ciBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyIG5hbWU6QCJvbmxvYWRIYW5kbGVyIl07
CiB9CiAKKy0gKHZvaWQpd2FpdEZvckxvYWQKK3sKKyAgICBfX2Jsb2NrIGJvb2wgaXNEb25lV2Fp
dGluZyA9IGZhbHNlOworICAgIFtzZWxmIHBlcmZvcm1BZnRlckxvYWRpbmc6XiB7CisgICAgICAg
IGlzRG9uZVdhaXRpbmcgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmaXNEb25lV2FpdGluZyk7Cit9CisKIEBlbmQKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAg
LTI1MCw2ICsyNjQsMTEgQEAgLSAodm9pZCltb3VzZURvd25BdFBvaW50OihOU1BvaW50KXBvaW50
IHNpbXVsYXRlUHJlc3N1cmU6KEJPT0wpc2ltdWxhdGVQcmVzc3VyZQogICAgIFtfaG9zdFdpbmRv
dyBfbW91c2VEb3duQXRQb2ludDpwb2ludCBzaW11bGF0ZVByZXNzdXJlOnNpbXVsYXRlUHJlc3N1
cmVdOwogfQogCistICh2b2lkKW1vdXNlVXBBdFBvaW50OihOU1BvaW50KXBvaW50Cit7CisgICAg
W19ob3N0V2luZG93IF9tb3VzZVVwQXRQb2ludDpwb2ludF07Cit9CisKIC0gKHZvaWQpdHlwZUNo
YXJhY3RlcjooY2hhciljaGFyYWN0ZXIgewogICAgIE5TU3RyaW5nICpjaGFyYWN0ZXJBc1N0cmlu
ZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiJWMiICwgY2hhcmFjdGVyXTsKICAgICBO
U0V2ZW50VHlwZSBrZXlEb3duRXZlbnRUeXBlID0gTlNFdmVudFR5cGVLZXlEb3duOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAzYWYyMTk3ZWM3NTQ0YzM2
MTBmMjcxZjc1NGU0NDA4NmJmZjYxMzUzLi4yNTE1MjFhOGFkOGYxMjcwZWFhN2ViZTZjYjEzOGUy
N2EyYTVjMDg0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApA
QCAtMjc5LDYgKzI3OSw3IEBAIFdLUGFnZVJlZiBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQ
YWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1BhZ2VDb25maWd1cmF0aW9uCiAgICAgICAgIDAsIC8v
IGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZQogICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2ss
CiAgICAgICAgIDAsCisgICAgICAgIDAsIC8vIGRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5
aW5nV2l0aG91dFVzZXJHZXN0dXJlCiAgICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQo
bmV3UGFnZSwgJm90aGVyUGFnZVVJQ2xpZW50LmJhc2UpOwogICAgIApAQCAtNTUxLDYgKzU1Miw3
IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhjb25zdCBU
ZXN0T3B0aW9ucyYgb3B0aW9ucykKICAgICAgICAgMCwgLy8gZnVsbHNjcmVlbk1heVJldHVyblRv
SW5saW5lCiAgICAgICAgIHJlcXVlc3RQb2ludGVyTG9jaywKICAgICAgICAgMCwKKyAgICAgICAg
MCwgLy8gZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUK
ICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCks
ICZwYWdlVUlDbGllbnQuYmFzZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299644</attachid>
            <date>2017-01-24 15:50:55 -0800</date>
            <delta_ts>2017-01-25 17:14:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167390-20170124154855.patch</filename>
            <type>text/plain</type>
            <size>21996</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI4N2QxYjQ0ZjE3ZWZh
NjBhZWMyYjcxNTYzOThkOWQ1NDg5Njc1Zi4uMTVkN2FmODhlNjA0MTQ2MDQ0Y2M1MjY2OGY3NGIz
YTZjZjljYmFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAxLTI0ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBOb3RpZnkgY2xpZW50cyB3aGVu
IHRoZSB1c2VyIHBsYXlzIG1lZGlhIG90aGVyd2lzZSBwcmV2ZW50ZWQgZnJvbSBhdXRvcGxheWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3Mzkw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIEFQ
SSBpcyB0ZXN0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheUludGVybmFsKToKKyAgICAgICAg
KiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2ll
cyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGEzZDc0YzViZDkzMzQ2ZDE2OTU1Y2Ex
ZGFkODQwOWEyOTE4ODdlZWQuLmZjNzhiZTY0NTUxYTFjZjVjMDU4Mjk3Nzg1NTFkNzA3OThiY2U2
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNy0wMS0yNCAgTWF0dCBSYWpjYSAg
PG1yYWpjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTm90aWZ5IGNsaWVudHMgd2hlbiB0aGUgdXNl
ciBwbGF5cyBtZWRpYSBvdGhlcndpc2UgcHJldmVudGVkIGZyb20gYXV0b3BsYXlpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzM5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElVSUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6ZGlkUGxheU1lZGlhUHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0UGFnZVVJQ2xpZW50KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNz
IGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNjA3NGNjMzI5Mjg0ZTZhNWYy
ZDdhOTY1ODFhNDk1NGQxYmQzZGJjYi4uMDI1MGYxYTA2YmFhYWJhYTFiMGY2NDhhNTUyMDE4NGE4
ZDNmYjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0z
MTY3LDcgKzMxNjcsOCBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnBsYXlJbnRlcm5hbCgpCiAg
ICAgICAgIHNjaGVkdWxlUmVzb2x2ZVBlbmRpbmdQbGF5UHJvbWlzZXMoKTsKIAogICAgIGlmIChT
Y3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpICYmIG1fcHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpIHsKLSAgICAgICAgLy8gRklYTUU6
IG5vdGlmeSBjbGllbnRzIGEgdXNlciBnZXN0dXJlIHdhcyBtYWRlIGFuZCBzdGFydGVkIHBsYXli
YWNrIG9mIGFuIGVsZW1lbnQgdGhhdCB3YXMgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIHBsYXlp
bmcuCisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkpCisgICAgICAg
ICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxh
eWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpOwogICAgICAgICBtX3ByZXZlbnRlZEZyb21QbGF5aW5n
V2l0aG91dFVzZXJHZXN0dXJlID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAppbmRleCBiMTM4ZmQ3ZTdhNjVkNTA3NjVkNWQyZTA2ZDczOGVlZjJlMDkxZWIwLi4x
YTQyOThjNTAzY2JmNTY3NzdjMzRkYTZiOTFhMjQyMjk1YTQ5NmE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKQEAgLTQyMCw2ICs0MjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGlzUGxheWluZ01lZGlh
RGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgpIHsgfQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdmlydHVh
bCB2b2lkIGhhc01lZGlhU2Vzc2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJv
b2wpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4
IDkxODZkZTI0NTQwYzhmOGY5NmNmY2U5ODU1OWNmZjVmMDNlZWNlMGYuLjQ0YTNlMjJlZmZlMmQ3
ZTA0NGRmZDE4YTUxYWYxMDQxNmFkM2VhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVVJQ2xpZW50LmgKQEAgLTE1Miw2ICsxNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luQ2FwdHVyZVNlc3Npb24oKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkRW5kQ2FwdHVyZVNlc3Npb24oKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkmKSB7IH0KIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSYsIFdlYktpdDo6V2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEqKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNzExNzEwNjg3MWM0Y2UzZGQ0ZjRlZjY4
MWQxNWRmNjAxNWZlOTc0Ny4uNzAzYTJkNDRhYmY2YjI5NGE5NmQ4NTUzODZlNjVjODQwMDIwMjQx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTIyMzUs
NiArMjIzNSwxNCBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJl
ZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudAogICAgICAgICAgICAgbV9jbGll
bnQuZGlkTG9zZVBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudElu
Zm8pOwogICAgICAgICB9CiAjZW5kaWYKKworICAgICAgICB2b2lkIGRpZFBsYXlNZWRpYVByZXZl
bnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkgb3Zl
cnJpZGUKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5kaWRQbGF5TWVkaWFQ
cmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21Q
bGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKKyAgICAgICAgfQogICAgIH07CiAKICAgICB0b0ltcGwocGFnZVJlZiktPnNldFVJ
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IDI5YjhlMTBh
YmNjYjQwOTkyYjBkZTcwNDc5ZDNkNDFiNmVmZDZlYjMuLjkzNGU3YWYyZTU0NGY2MzI1OWI5ODJh
ZDZjNjdmZGFmZDYzZjgyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VVSUNsaWVudC5oCkBAIC0xMDIsNiArMTAyLDcgQEAgdHlwZWRlZiB2b2lkICgqV0tQ
YWdlRGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjaykoV0tQ
YWdlUmUKIHR5cGVkZWYgdm9pZCAoKldLQ2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sp
KFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHVz
ZXJNZWRpYURvY3VtZW50T3JpZ2luLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHRvcExldmVsRG9jdW1l
bnRPcmlnaW4sIFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUmVmIGRldmljZXNSZXF1ZXN0LCBj
b25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENsaWNrQXV0
b0ZpbGxCdXR0b25DYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VNZWRpYVNlc3Np
b25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tNZWRpYVNlc3Np
b25NZXRhZGF0YVJlZiBtZXRhZGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0RpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0
dXJlKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZv
aWQgKCpXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHR5cGVkZWYgdm9pZCAoKldLUmVxdWVzdFBv
aW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKQEAgLTcyNSw2ICs3MjYsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY4IHsK
ICAgICAvLyBWZXJzaW9uIDguCiAgICAgV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2s7CiAg
ICAgV0tEaWRMb3NlUG9pbnRlckxvY2tDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaWRMb3NlUG9pbnRlckxvY2s7CisgICAgV0tEaWRQbGF5TWVkaWFQcmV2
ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSAgICAgICAgICAgICAgICBkaWRQbGF5
TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZTsKIH0gV0tQYWdlVUlD
bGllbnRWODsKICAgICAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1YzZiNzY4YWYyOGU5MzcxZTI5ZTZjOWUzYmNhNDRk
YjMxODk4ZjNiLi43OGU5YTdhYThkNDc2NzI1OGYxYzk3NzFkNDhhN2EyOThmYTBlYjdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjUyNCw2ICs2NTI0
LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpmb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudERpZENo
YW5nZSh1aW50NjRfdCBlbGVtZW50SUQpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkKK3sK
KyAgICBtX3VpQ2xpZW50LT5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgqdGhpcyk7Cit9CisKICNpZiBQTEFURk9STShNQUMpCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNjI3YzIxODkxY2M1Mjg4NDQ3NWFhOGUxNjQ0
ZDlhYTRmN2M1MTJjZC4uYmJmZTJiYTBiZGRmNzFjYjZiNWUzNzRmN2Q5MGRmNTAxNjQ2MmVjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTA1OCw2ICsxMDU4
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQWN0aXZlQXVkaW9TdHJlYW0oKSBjb25zdCB7IHJl
dHVybiBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpIYXNBY3RpdmVBdWRp
b0NhcHR1cmVEZXZpY2U7IH0KICAgICBib29sIGhhc0FjdGl2ZVZpZGVvU3RyZWFtKCkgY29uc3Qg
eyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFzQWN0aXZl
VmlkZW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFT
dGF0ZUZsYWdzIG1lZGlhU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZTsg
fQorICAgIHZvaWQgZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHZpZGVvQ29udHJvbHNNYW5h
Z2VyRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCAzNTNmZGFjYWI5Mzc1Nzc5NzYwYTRkYzFmMjdjODU1NjRk
ZmE1MWIxLi42M2QyNmJkNjZmNDI1MjU0NDQ4MWIxOWY4NTI5NzZhNDRlYzA5ZTVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTQzOCw2ICs0MzgsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICAg
ICBJc1BsYXlpbmdNZWRpYURpZENoYW5nZSh1bnNpZ25lZCBzdGF0ZSwgdWludDY0X3Qgc291cmNl
RWxlbWVudElEKQorICAgIERpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVz
ZXJHZXN0dXJlKCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEhhc01lZGlhU2Vz
c2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJvb2wgc3RhdGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggMzFkYTE3NTZlYTI3MzVjNzQ0MGViY2ViMDM5ZjZiYWNmMjc1
MWZlMy4uODQ4ZTc2MjJhZGRjOTMwODU2N2VlMTlkZWJhNWNkNzExZDhjOWMwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcApAQCAtMTA4NCw2ICsxMDg0LDExIEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxh
Z3Mgc3RhCiAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SXNQbGF5aW5n
TWVkaWFEaWRDaGFuZ2Uoc3RhdGUsIHNvdXJjZUVsZW1lbnRJRCkpOwogfQogCit2b2lkIFdlYkNo
cm9tZUNsaWVudDo6ZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKQoreworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBs
YXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkpOworfQorCiAj
aWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpoYXNNZWRp
YVNlc3Npb25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sIHN0YXRlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKaW5kZXggNjg0MDYzNzlkYjRlZjU0YjRiMWY2MzExMDIyMjdhYjBlZDJm
NDBmOS4uYTJkNWU3Y2M0YmYwODNhNDBiMmI1Zjc1YzVhNDc4ZjdlMDU4ODMzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC0yOTcsNiArMjk3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3Vs
ZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBXZWJDb3JlOjpGcmFtZVZpZXcmKSBj
b25zdCBmaW5hbDsKIAogICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzLCB1aW50NjRfdCkgZmluYWw7CisgICAgdm9p
ZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpIGZp
bmFsOwogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdm9pZCBoYXNNZWRpYVNlc3Np
b25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sKSBmaW5hbDsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyMGQwYmEyMWZmNjUz
ZTE2NWU1NWY3ZDRkNjJlZjc0M2U2MGM1Y2FlLi4yYzAwZjkyOWI1OGExMGVkYTk3NGVjZjYzMzE4
YTcxMGJkNTU2MGI5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDEtMjQgIE1hdHQgUmFqY2EgIDxtcmFqY2FA
YXBwbGUuY29tPgorCisgICAgICAgIE5vdGlmeSBjbGllbnRzIHdoZW4gdGhlIHVzZXIgcGxheXMg
bWVkaWEgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIGF1dG9wbGF5aW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczOTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2Ev
V2Vic2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBs
YXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lmg6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtUZXN0V0tXZWJWaWV3SG9zdFdp
bmRvdyBfbW91c2VVcEF0UG9pbnQ6XSk6CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXcgd2FpdEZv
ckxvYWRdKToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlldyBtb3VzZVVwQXRQb2ludDpdKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMpOgorCiAyMDE3LTAxLTIzICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBh
dXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmOGY5YzY5OGNiY2I3MWM2NTQ1ZThiNTFjNGM0M2NhMGYxNDllOTk2Li43MmQxMGViOTM4
N2JiZWFiMjA1YzlhYzdlYmI2NjNiNWVlNDk3YWYyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNTA5LDYgKzUwOSw4IEBACiAJCUM5NTk4NEY0MUUzNkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxh
eS1jaGVjay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM5NTk4NEYyMUUzNkJDNTUwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1s
ICovOyB9OwogCQlDOTU5ODRGNTFFMzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8t
Y2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hl
Y2suaHRtbCAqLzsgfTsKIAkJQzk1OTg0RjcxRTM2QkNFRjAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91
dC1hdWRpby10cmFjay5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91dC1h
dWRpby10cmFjay5tcDQgKi87IH07CisJCUM5NzNERjU5MUUzODA3NjYwMDAyRjNBRiAvKiBhdXRv
cGxheS13aXRoLWNvbnRyb2xzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzk3M0RGNTgxRTM4MDc0MjAwMDJGM0FGIC8qIGF1dG9wbGF5
LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKKwkJQzk3M0RGNUIxRTM4MEUwQjAwMDJGM0FGIC8q
IGpzLXBsYXktd2l0aC1jb250cm9scy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NzNERjVBMUUzODBERUIwMDAyRjNBRiAvKiBqcy1w
bGF5LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKIAkJQ0Q1OUY1MzQxOUU5MTEwRDAwQ0YxODM1
IC8qIGZpbGUtd2l0aC1tc2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDU5RjUzMjE5RTkxMEFBMDBDRjE4MzUgLyogZmlsZS13aXRo
LW1zZS5odG1sICovOyB9OwogCQlDRDU5RjUzNTE5RTkxMTBEMDBDRjE4MzUgLyogdGVzdC1tc2Uu
bXA0IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENENTlGNTMzMTlFOTEwQkMwMENGMTgzNSAvKiB0ZXN0LW1zZS5tcDQgKi87IH07CiAJCUNENzhF
MTFEMURCN0VBNjYwMDE0QTJERSAvKiBGdWxsc2NyZWVuRGVsZWdhdGUubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDc4RTExQTFEQjdFQTM2MDAxNEEy
REUgLyogRnVsbHNjcmVlbkRlbGVnYXRlLm1tICovOyB9OwpAQCAtNjA3LDYgKzYwOSw4IEBACiAJ
CQlkc3RQYXRoID0gVGVzdFdlYktpdEFQSS5yZXNvdXJjZXM7CiAJCQlkc3RTdWJmb2xkZXJTcGVj
ID0gNzsKIAkJCWZpbGVzID0gKAorCQkJCUM5NzNERjVCMUUzODBFMEIwMDAyRjNBRiAvKiBqcy1w
bGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlDOTczREY1
OTFFMzgwNzY2MDAwMkYzQUYgLyogYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCUM5NTk4NEY3MUUzNkJDRUYwMDJDMEQ0NSAvKiB0ZXN0LXdpdGhv
dXQtYXVkaW8tdHJhY2subXA0IGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUM5NTk4NEY0MUUz
NkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAogCQkJCUM5NTk4NEY1MUUzNkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxheS1uby1hdWRpby1jaGVj
ay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMTk2MSw2ICsxOTY1LDcgQEAKIAkJCQk3
NkUxODJERTE1NDc1QTgzMDBGMUZBREQgLyogYXV0by1zdWJtaXR0aW5nLWZvcm0uaHRtbCAqLywK
IAkJCQlDOTU5ODRGMjFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktY2hlY2suaHRtbCAqLywK
IAkJCQlDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2su
aHRtbCAqLywKKwkJCQlDOTczREY1ODFFMzgwNzQyMDAwMkYzQUYgLyogYXV0b3BsYXktd2l0aC1j
b250cm9scy5odG1sICovLAogCQkJCTdDNDg2QkEwMUFBMTI1NEIwMDNGNkY5QiAvKiBidW5kbGUt
ZmlsZS5odG1sICovLAogCQkJCTlCRDQyMzlCMUUwNEJGRDAwMDIwMDM5NSAvKiBjaGluZXNlLWNo
YXJhY3Rlci13aXRoLWltYWdlLmh0bWwgKi8sCiAJCQkJMUE1MEFBMUYxQTJBNEVBNTAwRjRDMzQ1
IC8qIGNsb3NlLWZyb20td2l0aGluLWNyZWF0ZS1wYWdlLmh0bWwgKi8sCkBAIC0xOTgxLDYgKzE5
ODYsNyBAQAogCQkJCTRBNDEwRjREMTlBRjdCRUYwMDJFQkFCNSAvKiBnZXRVc2VyTWVkaWEuaHRt
bCAqLywKIAkJCQlCQ0JEMzcyRTEyNUFCQkU2MDBEMkMyOUYgLyogaWNvbi5wbmcgKi8sCiAJCQkJ
Q0UzNTI0RjUxQjE0MkJCQjAwMjhBN0M1IC8qIGlucHV0LWZvY3VzLWJsdXIuaHRtbCAqLywKKwkJ
CQlDOTczREY1QTFFMzgwREVCMDAwMkYzQUYgLyoganMtcGxheS13aXRoLWNvbnRyb2xzLmh0bWwg
Ki8sCiAJCQkJODM0OUQzQzMxREI5NzI0RjAwNEE5RjY1IC8qIGxpbmstd2l0aC1kb3dubG9hZC1h
dHRyaWJ1dGUuaHRtbCAqLywKIAkJCQkzNzhFNjQ3ODE2MzI2RkRGMDBCNkM2NzYgLyogbGluay13
aXRoLXRpdGxlLmh0bWwgKi8sCiAJCQkJOTM2MTAwMjgxNERDOTU3QjAwNjEzNzlEIC8qIGxvdHMt
b2YtaWZyYW1lcy5odG1sICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL2F1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzcxOTliYWRmYTRiZGMzYTU0NGFlMDA5YmU4NGZmYjg1ZThkYjA0OQotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRy
b2xzLmh0bWwKQEAgLTAsMCArMSw3IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDx2aWRlbyBhdXRvcGxheSBjb250cm9scyBzcmM9InRlc3Qu
bXA0IiAvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mN2IzYzNkOGQ3MTUxMGE3ZGQ1YjM1NWMwZjY2ZGM5ZWZjNzdlZDE1Ci0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL2pzLXBsYXktd2l0
aC1jb250cm9scy5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gcGFnZUxvYWRlZCgpIHsKKyAgICAg
ICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlkZW8iKS5wbGF5KCk7CisgICAgICAgICAgICAgICAg
fSwgMjAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5IG9ubG9hZD0icGFnZUxvYWRlZCgpIj4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRl
byIgY29udHJvbHMgc3JjPSJ0ZXN0Lm1wNCIgLz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJzaXRlUG9s
aWNpZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJzaXRl
UG9saWNpZXMubW0KaW5kZXggNjgwYTdlZjhiNGEzMjhkMjRkZTVkOTM3NTdmYmVlNmY2OTZkYzlk
NS4uOGIwNGNiMWU1ODI4MWJiZWY5MGE1OThlY2Y3YWI2Mzg0ZGRhM2I2OSAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQb2xp
Y2llcy5tbQpAQCAtMzUsNiArMzUsMTAgQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKK0BpbnRl
cmZhY2UgV0tXZWJWaWV3ICgpCistIChXS1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5nOworQGVuZAor
CiBzdGF0aWMgYm9vbCBkb25lQ29tcGlsaW5nOwogc3RhdGljIGJvb2wgcmVjZWl2ZWRBbGVydDsK
IHN0YXRpYyBzaXplX3QgYWxlcnRDb3VudDsKQEAgLTIwNCw0ICsyMDgsNDYgQEAgVEVTVChXZWJL
aXQyLCBXZWJzaXRlUG9saWNpZXNBdXRvcGxheUVuYWJsZWQpCiAgICAgW3dlYlZpZXcgd2FpdEZv
ck1lc3NhZ2U6QCJhdXRvcGxheWVkIl07CiB9CiAKKyNpZiBQTEFURk9STShNQUMpCitzdGF0aWMg
dm9pZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZShX
S1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICByZWNlaXZlZEFs
ZXJ0ID0gdHJ1ZTsKK30KKworVEVTVChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNQbGF5QWZ0ZXJQ
cmV2ZW50ZWRBdXRvcGxheSkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtb
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3Qo
MCwgMCwgMzM2LCAyNTYpIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworCisg
ICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tBdXRvcGxheVBvbGljaWVzRGVsZWdhdGUgYWxs
b2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUu
Z2V0KCldOworICAgIFtkZWxlZ2F0ZSBzZXRBdXRvcGxheVBvbGljeTpfV0tXZWJzaXRlQXV0b3Bs
YXlQb2xpY3lEZW55XTsKKworICAgIFdLUGFnZVVJQ2xpZW50VjggdWlDbGllbnQ7CisgICAgbWVt
c2V0KCZ1aUNsaWVudCwgMCwgc2l6ZW9mKHVpQ2xpZW50KSk7CisKKyAgICB1aUNsaWVudC5iYXNl
LnZlcnNpb24gPSA4OworICAgIHVpQ2xpZW50LmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5
aW5nV2l0aG91dFVzZXJHZXN0dXJlID0gZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdX
aXRob3V0VXNlckdlc3R1cmU7CisKKyAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoW3dlYlZpZXcg
X3BhZ2VGb3JUZXN0aW5nXSwgJnVpQ2xpZW50LmJhc2UpOworCisgICAgcmVjZWl2ZWRBbGVydCA9
IGZhbHNlOworICAgIE5TVVJMUmVxdWVzdCAqanNQbGF5UmVxdWVzdCA9IFtOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImpz
LXBsYXktd2l0aC1jb250cm9scyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpA
IlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0Ompz
UGxheVJlcXVlc3RdOworICAgIENGUnVuTG9vcFJ1bkluTW9kZShrQ0ZSdW5Mb29wRGVmYXVsdE1v
ZGUsIDIsIGZhbHNlKTsKKyAgICBbd2ViVmlldyBtb3VzZURvd25BdFBvaW50Ok5TTWFrZVBvaW50
KDE2OCwgMTI4KSBzaW11bGF0ZVByZXNzdXJlOk5PXTsKKyAgICBbd2ViVmlldyBtb3VzZVVwQXRQ
b2ludDpOU01ha2VQb2ludCgxNjgsIDEyOCldOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmcmVjZWl2ZWRBbGVydCk7CisKKyAgICByZWNlaXZlZEFsZXJ0ID0gZmFsc2U7CisgICAgTlNV
UkxSZXF1ZXN0ICphdXRvcGxheVJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJM
OltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJhdXRvcGxheS13aXRoLWNv
bnRyb2xzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQ
SS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6YXV0b3BsYXlSZXF1ZXN0
XTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTG9hZF07CisgICAgQ0ZSdW5Mb29wUnVuSW5Nb2RlKGtD
RlJ1bkxvb3BEZWZhdWx0TW9kZSwgMC41LCBmYWxzZSk7CisgICAgW3dlYlZpZXcgbW91c2VEb3du
QXRQb2ludDpOU01ha2VQb2ludCg1MCwgNTApIHNpbXVsYXRlUHJlc3N1cmU6Tk9dOworICAgIFt3
ZWJWaWV3IG1vdXNlVXBBdFBvaW50Ok5TTWFrZVBvaW50KDUwLCA1MCldOworICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRBbGVydCk7Cit9CisjZW5kaWYKKwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCmluZGV4IGExZTgyNzAyNjZi
ZTVlZTQ1MzNjZjUyY2M0NGY2OTE3NjA0MDg2NTEuLmIzMjczYTgwNzY0MDZhNzg3ZWE0MzRjN2Iw
OGRkODU0MWRlNDMzOTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVz
dFdLV2ViVmlldy5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmll
dy5oCkBAIC0zNyw2ICszNyw3IEBACiAtICh2b2lkKXN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VO
YW1lZDooTlNTdHJpbmcgKilwYWdlTmFtZTsKIC0gKE5TU3RyaW5nICopc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDooTlNTdHJpbmcgKilzY3JpcHQ7CiAtICh2b2lkKXdhaXRGb3JNZXNzYWdl
OihOU1N0cmluZyAqKW1lc3NhZ2U7CistICh2b2lkKXdhaXRGb3JMb2FkOwogLSAodm9pZClwZXJm
b3JtQWZ0ZXJMb2FkaW5nOihkaXNwYXRjaF9ibG9ja190KWFjdGlvbnM7CiBAZW5kCiAKQEAgLTQ0
LDYgKzQ1LDcgQEAKIEBpbnRlcmZhY2UgVGVzdFdLV2ViVmlldyAoTWFjT25seSkKIC8vIFNpbXVs
YXRlcyBjbGlja2luZyB3aXRoIGEgcHJlc3N1cmUtc2Vuc2l0aXZlIGRldmljZSwgaWYgcG9zc2li
bGUuCiAtICh2b2lkKW1vdXNlRG93bkF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgc2ltdWxhdGVQcmVz
c3VyZTooQk9PTClzaW11bGF0ZVByZXNzdXJlOworLSAodm9pZCltb3VzZVVwQXRQb2ludDooTlNQ
b2ludClwb2ludDsKIC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hhciljaGFyYWN0ZXI7CiBAZW5k
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2Vi
Vmlldy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQppbmRl
eCAyYmNlMjBmMWJhZDNlYjhiMjE2ZWNjNjExOGU5ZjQzYmM1MTI0YmYyLi43MzU3YzMyY2JhNjhj
MjY4YzQ5NWI0MzM5ZmRlOTdjOTUyYTIyMWI3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2Nv
YS9UZXN0V0tXZWJWaWV3Lm1tCkBAIC0xMjAsNiArMTIwLDExIEBAIC0gKHZvaWQpX21vdXNlRG93
bkF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgc2ltdWxhdGVQcmVzc3VyZTooQk9PTClzaW11bGF0ZVBy
ZXNzdXJlCiAgICAgfQogI2VuZGlmCiB9CisKKy0gKHZvaWQpX21vdXNlVXBBdFBvaW50OihOU1Bv
aW50KXBvaW50Cit7CisgICAgW3NlbGYgc2VuZEV2ZW50OltOU0V2ZW50IG1vdXNlRXZlbnRXaXRo
VHlwZTpOU0V2ZW50VHlwZUxlZnRNb3VzZVVwIGxvY2F0aW9uOnBvaW50IG1vZGlmaWVyRmxhZ3M6
MCB0aW1lc3RhbXA6R2V0Q3VycmVudEV2ZW50VGltZSgpIHdpbmRvd051bWJlcjpzZWxmLndpbmRv
d051bWJlciBjb250ZXh0OltOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gZXZlbnRO
dW1iZXI6KytnRXZlbnROdW1iZXIgY2xpY2tDb3VudDoxIHByZXNzdXJlOjBdXTsKK30KICNlbmRp
ZiAvLyBQTEFURk9STShNQUMpCiAKIC0gKEJPT0wpaXNLZXlXaW5kb3cKQEAgLTI0MSw2ICsyNDYs
MTUgQEAgLSAodm9pZClwZXJmb3JtQWZ0ZXJMb2FkaW5nOihkaXNwYXRjaF9ibG9ja190KWFjdGlv
bnMgewogICAgIFtjb250ZW50Q29udHJvbGxlciBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5k
bGVyIG5hbWU6QCJvbmxvYWRIYW5kbGVyIl07CiB9CiAKKy0gKHZvaWQpd2FpdEZvckxvYWQKK3sK
KyAgICBfX2Jsb2NrIGJvb2wgaXNEb25lV2FpdGluZyA9IGZhbHNlOworICAgIFtzZWxmIHBlcmZv
cm1BZnRlckxvYWRpbmc6XiB7CisgICAgICAgIGlzRG9uZVdhaXRpbmcgPSB0cnVlOworICAgIH1d
OworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lV2FpdGluZyk7Cit9CisKIEBl
bmQKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTI1MCw2ICsyNjQsMTEgQEAgLSAodm9pZCltb3Vz
ZURvd25BdFBvaW50OihOU1BvaW50KXBvaW50IHNpbXVsYXRlUHJlc3N1cmU6KEJPT0wpc2ltdWxh
dGVQcmVzc3VyZQogICAgIFtfaG9zdFdpbmRvdyBfbW91c2VEb3duQXRQb2ludDpwb2ludCBzaW11
bGF0ZVByZXNzdXJlOnNpbXVsYXRlUHJlc3N1cmVdOwogfQogCistICh2b2lkKW1vdXNlVXBBdFBv
aW50OihOU1BvaW50KXBvaW50Cit7CisgICAgW19ob3N0V2luZG93IF9tb3VzZVVwQXRQb2ludDpw
b2ludF07Cit9CisKIC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hhciljaGFyYWN0ZXIgewogICAg
IE5TU3RyaW5nICpjaGFyYWN0ZXJBc1N0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0
OkAiJWMiICwgY2hhcmFjdGVyXTsKICAgICBOU0V2ZW50VHlwZSBrZXlEb3duRXZlbnRUeXBlID0g
TlNFdmVudFR5cGVLZXlEb3duOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcAppbmRleCAzYWYyMTk3ZWM3NTQ0YzM2MTBmMjcxZjc1NGU0NDA4NmJmZjYxMzUzLi4yNTE1
MjFhOGFkOGYxMjcwZWFhN2ViZTZjYjEzOGUyN2EyYTVjMDg0IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMjc5LDYgKzI3OSw3IEBAIFdLUGFnZVJlZiBU
ZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1BhZ2VD
b25maWd1cmF0aW9uCiAgICAgICAgIDAsIC8vIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZQog
ICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2ssCiAgICAgICAgIDAsCisgICAgICAgIDAsIC8vIGRp
ZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlCiAgICAgfTsK
ICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobmV3UGFnZSwgJm90aGVyUGFnZVVJQ2xpZW50LmJh
c2UpOwogICAgIApAQCAtNTUxLDYgKzU1Miw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0
ZVdlYlZpZXdXaXRoT3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKICAgICAgICAg
MCwgLy8gZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lCiAgICAgICAgIHJlcXVlc3RQb2ludGVy
TG9jaywKICAgICAgICAgMCwKKyAgICAgICAgMCwgLy8gZGlkUGxheU1lZGlhUHJldmVudGVkRnJv
bVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUKICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNs
aWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlVUlDbGllbnQuYmFzZSk7CiAK
</data>
<flag name="review"
          id="321706"
          type_id="1"
          status="-"
          setter="mrajca"
    />
    <flag name="commit-queue"
          id="321707"
          type_id="3"
          status="-"
          setter="mrajca"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299762</attachid>
            <date>2017-01-25 16:13:59 -0800</date>
            <delta_ts>2017-01-25 17:09:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167390-20170125161157.patch</filename>
            <type>text/plain</type>
            <size>25692</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRjNzlkZWNkZDcwM2Zh
MjEyMjI0YTJjM2UzNmJiNDJlNjM4NjkxMi4uZTRmMWYxN2FlYzZmODM3YTUwODFmZGE3NzRhYzdl
YjFmMTAwZThhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAxLTI0ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBOb3RpZnkgY2xpZW50cyB3aGVu
IHRoZSB1c2VyIHBsYXlzIG1lZGlhIG90aGVyd2lzZSBwcmV2ZW50ZWQgZnJvbSBhdXRvcGxheWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3Mzkw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIEFQ
SSBpcyB0ZXN0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheUludGVybmFsKToKKyAgICAgICAg
KiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2ll
cyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNkYTc3ZDg0NTBkMDYzNTkxZTY1MTk2
NDJmYWFiYzg3YjM0N2E0MGIuLmUyYjg2ZGIxMTZjZGIzMTE5MjUxMTIxOWJkYTE1YTZlNmQ2Mjdk
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNy0wMS0yNCAgTWF0dCBSYWpjYSAg
PG1yYWpjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTm90aWZ5IGNsaWVudHMgd2hlbiB0aGUgdXNl
ciBwbGF5cyBtZWRpYSBvdGhlcndpc2UgcHJldmVudGVkIGZyb20gYXV0b3BsYXlpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzM5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElVSUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6ZGlkUGxheU1lZGlhUHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0UGFnZVVJQ2xpZW50KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNz
IGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNjA3NGNjMzI5Mjg0ZTZhNWYy
ZDdhOTY1ODFhNDk1NGQxYmQzZGJjYi4uMDI1MGYxYTA2YmFhYWJhYTFiMGY2NDhhNTUyMDE4NGE4
ZDNmYjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0z
MTY3LDcgKzMxNjcsOCBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnBsYXlJbnRlcm5hbCgpCiAg
ICAgICAgIHNjaGVkdWxlUmVzb2x2ZVBlbmRpbmdQbGF5UHJvbWlzZXMoKTsKIAogICAgIGlmIChT
Y3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpICYmIG1fcHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpIHsKLSAgICAgICAgLy8gRklYTUU6
IG5vdGlmeSBjbGllbnRzIGEgdXNlciBnZXN0dXJlIHdhcyBtYWRlIGFuZCBzdGFydGVkIHBsYXli
YWNrIG9mIGFuIGVsZW1lbnQgdGhhdCB3YXMgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIHBsYXlp
bmcuCisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkpCisgICAgICAg
ICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxh
eWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpOwogICAgICAgICBtX3ByZXZlbnRlZEZyb21QbGF5aW5n
V2l0aG91dFVzZXJHZXN0dXJlID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAppbmRleCBiMTM4ZmQ3ZTdhNjVkNTA3NjVkNWQyZTA2ZDczOGVlZjJlMDkxZWIwLi4x
YTQyOThjNTAzY2JmNTY3NzdjMzRkYTZiOTFhMjQyMjk1YTQ5NmE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKQEAgLTQyMCw2ICs0MjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGlzUGxheWluZ01lZGlh
RGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgpIHsgfQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdmlydHVh
bCB2b2lkIGhhc01lZGlhU2Vzc2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJv
b2wpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4
IDkxODZkZTI0NTQwYzhmOGY5NmNmY2U5ODU1OWNmZjVmMDNlZWNlMGYuLjQ0YTNlMjJlZmZlMmQ3
ZTA0NGRmZDE4YTUxYWYxMDQxNmFkM2VhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVVJQ2xpZW50LmgKQEAgLTE1Miw2ICsxNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luQ2FwdHVyZVNlc3Npb24oKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkRW5kQ2FwdHVyZVNlc3Npb24oKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkmKSB7IH0KIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSYsIFdlYktpdDo6V2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEqKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNzExNzEwNjg3MWM0Y2UzZGQ0ZjRlZjY4
MWQxNWRmNjAxNWZlOTc0Ny4uNzAzYTJkNDRhYmY2YjI5NGE5NmQ4NTUzODZlNjVjODQwMDIwMjQx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTIyMzUs
NiArMjIzNSwxNCBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJl
ZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudAogICAgICAgICAgICAgbV9jbGll
bnQuZGlkTG9zZVBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudElu
Zm8pOwogICAgICAgICB9CiAjZW5kaWYKKworICAgICAgICB2b2lkIGRpZFBsYXlNZWRpYVByZXZl
bnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkgb3Zl
cnJpZGUKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5kaWRQbGF5TWVkaWFQ
cmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21Q
bGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKKyAgICAgICAgfQogICAgIH07CiAKICAgICB0b0ltcGwocGFnZVJlZiktPnNldFVJ
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IDI5YjhlMTBh
YmNjYjQwOTkyYjBkZTcwNDc5ZDNkNDFiNmVmZDZlYjMuLjkzNGU3YWYyZTU0NGY2MzI1OWI5ODJh
ZDZjNjdmZGFmZDYzZjgyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VVSUNsaWVudC5oCkBAIC0xMDIsNiArMTAyLDcgQEAgdHlwZWRlZiB2b2lkICgqV0tQ
YWdlRGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjaykoV0tQ
YWdlUmUKIHR5cGVkZWYgdm9pZCAoKldLQ2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sp
KFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHVz
ZXJNZWRpYURvY3VtZW50T3JpZ2luLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHRvcExldmVsRG9jdW1l
bnRPcmlnaW4sIFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUmVmIGRldmljZXNSZXF1ZXN0LCBj
b25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENsaWNrQXV0
b0ZpbGxCdXR0b25DYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VNZWRpYVNlc3Np
b25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tNZWRpYVNlc3Np
b25NZXRhZGF0YVJlZiBtZXRhZGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0RpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0
dXJlKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZv
aWQgKCpXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHR5cGVkZWYgdm9pZCAoKldLUmVxdWVzdFBv
aW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKQEAgLTcyNSw2ICs3MjYsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY4IHsK
ICAgICAvLyBWZXJzaW9uIDguCiAgICAgV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2s7CiAg
ICAgV0tEaWRMb3NlUG9pbnRlckxvY2tDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaWRMb3NlUG9pbnRlckxvY2s7CisgICAgV0tEaWRQbGF5TWVkaWFQcmV2
ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSAgICAgICAgICAgICAgICBkaWRQbGF5
TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZTsKIH0gV0tQYWdlVUlD
bGllbnRWODsKICAgICAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAyZjgxNGNkYmZkNzkxMjhkZGU3MWNjYmIwNTRlZWE1
YWJkMWY2ZWQ5Li41Y2M3NzI0YmNmZTFlNDI1ZTYxOTk0MWQ5NDk0OTI4ZDQyOTc0N2E4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjUyNyw2ICs2NTI3
LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpmb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudERpZENo
YW5nZSh1aW50NjRfdCBlbGVtZW50SUQpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkKK3sK
KyAgICBtX3VpQ2xpZW50LT5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgqdGhpcyk7Cit9CisKICNpZiBQTEFURk9STShNQUMpCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNzcwMjg5YTAzNWNlMjg5MjYwZmM4MTYyNmYx
NDM0ZGUwN2MwZTdmNS4uMjg4ZjZkMzM1MzZkMGVkZWZiY2JlNjhlMjU5MGE1NDMyOTUzYTIyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTA1OCw2ICsxMDU4
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQWN0aXZlQXVkaW9TdHJlYW0oKSBjb25zdCB7IHJl
dHVybiBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpIYXNBY3RpdmVBdWRp
b0NhcHR1cmVEZXZpY2U7IH0KICAgICBib29sIGhhc0FjdGl2ZVZpZGVvU3RyZWFtKCkgY29uc3Qg
eyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFzQWN0aXZl
VmlkZW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFT
dGF0ZUZsYWdzIG1lZGlhU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZTsg
fQorICAgIHZvaWQgZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHZpZGVvQ29udHJvbHNNYW5h
Z2VyRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCBmNmE5ZDEwM2M2YjhmNGYzNDY0ZjdhNTAzZmQzM2JmNmFl
NTk3ZjFlLi42N2VkYWIzYjRkNDk2OTE3ODkwOWUyMDUxODBkZWQ0ZTM0Y2ZkY2YzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTQzOSw2ICs0MzksNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICAg
ICBJc1BsYXlpbmdNZWRpYURpZENoYW5nZSh1bnNpZ25lZCBzdGF0ZSwgdWludDY0X3Qgc291cmNl
RWxlbWVudElEKQorICAgIERpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVz
ZXJHZXN0dXJlKCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEhhc01lZGlhU2Vz
c2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJvb2wgc3RhdGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggMzFkYTE3NTZlYTI3MzVjNzQ0MGViY2ViMDM5ZjZiYWNmMjc1
MWZlMy4uODQ4ZTc2MjJhZGRjOTMwODU2N2VlMTlkZWJhNWNkNzExZDhjOWMwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcApAQCAtMTA4NCw2ICsxMDg0LDExIEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxh
Z3Mgc3RhCiAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SXNQbGF5aW5n
TWVkaWFEaWRDaGFuZ2Uoc3RhdGUsIHNvdXJjZUVsZW1lbnRJRCkpOwogfQogCit2b2lkIFdlYkNo
cm9tZUNsaWVudDo6ZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKQoreworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBs
YXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkpOworfQorCiAj
aWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpoYXNNZWRp
YVNlc3Npb25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sIHN0YXRlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKaW5kZXggNjg0MDYzNzlkYjRlZjU0YjRiMWY2MzExMDIyMjdhYjBlZDJm
NDBmOS4uYTJkNWU3Y2M0YmYwODNhNDBiMmI1Zjc1YzVhNDc4ZjdlMDU4ODMzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC0yOTcsNiArMjk3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3Vs
ZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBXZWJDb3JlOjpGcmFtZVZpZXcmKSBj
b25zdCBmaW5hbDsKIAogICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzLCB1aW50NjRfdCkgZmluYWw7CisgICAgdm9p
ZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpIGZp
bmFsOwogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdm9pZCBoYXNNZWRpYVNlc3Np
b25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sKSBmaW5hbDsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMjkyODdlYjcyMjBj
ZmE2MDcwYWVhY2NkZTRiNDg0ODcxMDI2MGMzLi4zZWQ1ZjVmZjIwYzc2NjM1NjIyZDBjYmFiOThh
NzQ0Njc3M2RmYzQzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDEtMjQgIE1hdHQgUmFqY2EgIDxtcmFqY2FA
YXBwbGUuY29tPgorCisgICAgICAgIE5vdGlmeSBjbGllbnRzIHdoZW4gdGhlIHVzZXIgcGxheXMg
bWVkaWEgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIGF1dG9wbGF5aW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczOTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2Ev
V2Vic2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBs
YXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lmg6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtUZXN0V0tXZWJWaWV3SG9zdFdp
bmRvdyBfbW91c2VVcEF0UG9pbnQ6XSk6CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXcgd2FpdEZv
ckxvYWRdKToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlldyBtb3VzZVVwQXRQb2ludDpdKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMpOgorCiAyMDE3LTAxLTIzICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBh
dXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmOGY5YzY5OGNiY2I3MWM2NTQ1ZThiNTFjNGM0M2NhMGYxNDllOTk2Li44NWI1MDM2MjA1
NDlmNmQ2MTA5OTA1YzBkNWYzZDczNzQ5OWNiNjA0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNTA5LDYgKzUwOSw5IEBACiAJCUM5NTk4NEY0MUUzNkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxh
eS1jaGVjay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM5NTk4NEYyMUUzNkJDNTUwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1s
ICovOyB9OwogCQlDOTU5ODRGNTFFMzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8t
Y2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hl
Y2suaHRtbCAqLzsgfTsKIAkJQzk1OTg0RjcxRTM2QkNFRjAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91
dC1hdWRpby10cmFjay5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91dC1h
dWRpby10cmFjay5tcDQgKi87IH07CisJCUM5OUI2NzVDMUUzOTcyMUEwMEZDNkM4MCAvKiBhdXRv
cGxheS13aXRoLWNvbnRyb2xzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzk5QjY3NUExRTM5NzFGQzAwRkM2QzgwIC8qIGF1dG9wbGF5
LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKKwkJQzk5QjY3NUQxRTM5NzIyMDAwRkM2QzgwIC8q
IGpzLXBsYXktd2l0aC1jb250cm9scy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5OUI2NzVCMUUzOTcxRkMwMEZDNkM4MCAvKiBqcy1w
bGF5LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKKwkJQzk5QjY3NUYxRTM5NzM2RjAwRkM2Qzgw
IC8qIG5vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTlCNjc1RTFFMzk3MzVDMDBGQzZDODAg
Lyogbm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovOyB9OwogCQlDRDU5RjUzNDE5RTkx
MTBEMDBDRjE4MzUgLyogZmlsZS13aXRoLW1zZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTlGNTMyMTlFOTEwQUEwMENGMTgzNSAv
KiBmaWxlLXdpdGgtbXNlLmh0bWwgKi87IH07CiAJCUNENTlGNTM1MTlFOTExMEQwMENGMTgzNSAv
KiB0ZXN0LW1zZS5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0Q1OUY1MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRlc3QtbXNlLm1wNCAqLzsg
fTsKIAkJQ0Q3OEUxMUQxREI3RUE2NjAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5EZWxlZ2F0ZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENzhFMTFBMURC
N0VBMzYwMDE0QTJERSAvKiBGdWxsc2NyZWVuRGVsZWdhdGUubW0gKi87IH07CkBAIC02MDcsNiAr
NjEwLDkgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNlczsKIAkJCWRzdFN1
YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJQzk5QjY3NUYxRTM5NzM2RjAwRkM2
QzgwIC8qIG5vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKKwkJCQlDOTlCNjc1RDFFMzk3MjIwMDBGQzZDODAgLyoganMtcGxheS13aXRoLWNvbnRyb2xz
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJQzk5QjY3NUMxRTM5NzIxQTAwRkM2Qzgw
IC8qIGF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CQlDOTU5ODRGNzFFMzZCQ0VGMDAyQzBENDUgLyogdGVzdC13aXRob3V0LWF1ZGlvLXRyYWNrLm1w
NCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDOTU5ODRGNDFFMzZCQzZCMDAyQzBENDUgLyog
YXV0b3BsYXktY2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDOTU5ODRGNTFF
MzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLywKQEAgLTEyNzQsNiArMTI4MCw5IEBACiAJCUM5NTk4NEYyMUUzNkJDNTUwMDJD
MEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0g
ImF1dG9wbGF5LWNoZWNrLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOTU5
ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhdXRvcGxheS1uby1hdWRpby1jaGVjay5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8q
IHRlc3Qtd2l0aG91dC1hdWRpby10cmFjay5tcDQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gInRlc3Qtd2l0aG91dC1hdWRpby10
cmFjay5tcDQiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDOTlCNjc1QTFFMzk3MUZD
MDBGQzZDODAgLyogYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5o
dG1sOyBwYXRoID0gImF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUM5OUI2NzVCMUUzOTcxRkMwMEZDNkM4MCAvKiBqcy1wbGF5LXdpdGgt
Y29udHJvbHMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJqcy1wbGF5LXdpdGgt
Y29udHJvbHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM5OUI2NzVFMUUz
OTczNUMwMEZDNkM4MCAvKiBuby1hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSAibm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QyMjVDMDcxQzQ1QTY5MjAwMTQwNzYxIC8qIFBh
cnNlZENvbnRlbnRSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBQYXJzZWRDb250ZW50UmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDUzOTNDNzE3NTdCQTk3MDBDMDcxMjMgLyogTUQ1LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1ENS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNE
NTM5M0M5MTc1N0JBQzQwMEMwNzEyMyAvKiBTSEExLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNIQTEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTk2MSw2ICsxOTcwLDcgQEAKIAkJCQk3NkUxODJERTE1NDc1QTgzMDBGMUZBREQgLyogYXV0by1z
dWJtaXR0aW5nLWZvcm0uaHRtbCAqLywKIAkJCQlDOTU5ODRGMjFFMzZCQzU1MDAyQzBENDUgLyog
YXV0b3BsYXktY2hlY2suaHRtbCAqLywKIAkJCQlDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyog
YXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLywKKwkJCQlDOTlCNjc1QTFFMzk3MUZDMDBG
QzZDODAgLyogYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovLAogCQkJCTdDNDg2QkEwMUFB
MTI1NEIwMDNGNkY5QiAvKiBidW5kbGUtZmlsZS5odG1sICovLAogCQkJCTlCRDQyMzlCMUUwNEJG
RDAwMDIwMDM5NSAvKiBjaGluZXNlLWNoYXJhY3Rlci13aXRoLWltYWdlLmh0bWwgKi8sCiAJCQkJ
MUE1MEFBMUYxQTJBNEVBNTAwRjRDMzQ1IC8qIGNsb3NlLWZyb20td2l0aGluLWNyZWF0ZS1wYWdl
Lmh0bWwgKi8sCkBAIC0xOTgxLDYgKzE5OTEsNyBAQAogCQkJCTRBNDEwRjREMTlBRjdCRUYwMDJF
QkFCNSAvKiBnZXRVc2VyTWVkaWEuaHRtbCAqLywKIAkJCQlCQ0JEMzcyRTEyNUFCQkU2MDBEMkMy
OUYgLyogaWNvbi5wbmcgKi8sCiAJCQkJQ0UzNTI0RjUxQjE0MkJCQjAwMjhBN0M1IC8qIGlucHV0
LWZvY3VzLWJsdXIuaHRtbCAqLywKKwkJCQlDOTlCNjc1QjFFMzk3MUZDMDBGQzZDODAgLyoganMt
cGxheS13aXRoLWNvbnRyb2xzLmh0bWwgKi8sCiAJCQkJODM0OUQzQzMxREI5NzI0RjAwNEE5RjY1
IC8qIGxpbmstd2l0aC1kb3dubG9hZC1hdHRyaWJ1dGUuaHRtbCAqLywKIAkJCQkzNzhFNjQ3ODE2
MzI2RkRGMDBCNkM2NzYgLyogbGluay13aXRoLXRpdGxlLmh0bWwgKi8sCiAJCQkJOTM2MTAwMjgx
NERDOTU3QjAwNjEzNzlEIC8qIGxvdHMtb2YtaWZyYW1lcy5odG1sICovLApAQCAtMTk5MSw2ICsy
MDAyLDcgQEAKIAkJCQk1MUNEMUM3MTFCMzhENDg0MDAxNDJDQTUgLyogbW9kYWwtYWxlcnRzLWlu
LW5ldy1hYm91dC1ibGFuay13aW5kb3cuaHRtbCAqLywKIAkJCQk3QTE0NThGQjFBRDVDMDM1MDBF
MDY3NzIgLyogbW91c2UtYnV0dG9uLWxpc3RlbmVyLmh0bWwgKi8sCiAJCQkJMzNFNzlFMDUxMzdC
NUZDRTAwRTMyRDk5IC8qIG1vdXNlLW1vdmUtbGlzdGVuZXIuaHRtbCAqLywKKwkJCQlDOTlCNjc1
RTFFMzk3MzVDMDBGQzZDODAgLyogbm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovLAog
CQkJCUNFQTZDRjI3MTlDQ0Y2OUQwMDY0RjVBNyAvKiBvcGVuLWFuZC1jbG9zZS13aW5kb3cuaHRt
bCAqLywKIAkJCQlGNkZERERENTE0MjQxQzQ4MDA0RjE3MjkgLyogcHVzaC1zdGF0ZS5odG1sICov
LAogCQkJCUNFQkFCRDQ4MUI3MTY4N0MwMDUxMjEwQSAvKiBzaG91bGQtb3Blbi1leHRlcm5hbC1z
Y2hlbWVzLmh0bWwgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL2F1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzE5
OWJhZGZhNGJkYzNhNTQ0YWUwMDliZTg0ZmZiODVlOGRiMDQ5Ci0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL2F1dG9wbGF5LXdpdGgtY29udHJvbHMu
aHRtbApAQCAtMCwwICsxLDcgQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPHZpZGVvIGF1dG9wbGF5IGNvbnRyb2xzIHNyYz0idGVzdC5tcDQi
IC8+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyL2pzLXBsYXktd2l0aC1jb250cm9scy5odG1sIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyL2pzLXBsYXktd2l0aC1jb250cm9scy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE2NjAxZDI4MjZjZTcxNDYzZWI1ODkyOWQ1Y2I3ZGNhZjdmYWQ2ZjkKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvanMtcGxheS13aXRoLWNv
bnRyb2xzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiBwYWdlTG9hZGVkKCkgeworICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2aWRlbyIpLnBsYXkoKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0i
cGFnZUxvYWRlZCgpIj4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlbyIgY29udHJvbHMgc3JjPSJ0
ZXN0Lm1wNCIgLz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvbm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL25vLWF1dG9wbGF5LXdpdGgtY29udHJv
bHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42ODM5ZjIxYTQ0MWNjNmQxODJlZTk4ZWRhNjZiNzJjZTUwYTRl
MmM0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L25vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIGJlZ2Fu
UGxheWluZygpIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICB3
aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgicGxh
eWVkIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8dmlkZW8g
Y29udHJvbHMgb25wbGF5aW5nPWJlZ2FuUGxheWluZygpIHNyYz0idGVzdC5tcDQiIC8+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCmluZGV4IGQ1ODhiNTI2YmI4ZmIyNWQy
NzNiOTc2Y2UzNTdkMGIwNjM4ZDcxMGMuLjc2MzVlYzFlMWFmNzYyN2E3OWRhNmU5YTQ1NzMyOTU2
YjJlZGFjNzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL1dlYnNpdGVQb2xpY2llcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KQEAgLTM5LDYgKzM5LDEwIEBACiAKICNpZiBX
S19BUElfRU5BQkxFRAogCitAaW50ZXJmYWNlIFdLV2ViVmlldyAoKQorLSAoV0tQYWdlUmVmKV9w
YWdlRm9yVGVzdGluZzsKK0BlbmQKKwogc3RhdGljIGJvb2wgZG9uZUNvbXBpbGluZzsKIHN0YXRp
YyBib29sIHJlY2VpdmVkQWxlcnQ7CiBzdGF0aWMgc2l6ZV90IGFsZXJ0Q291bnQ7CkBAIC0yMTMs
NCArMjE3LDU1IEBAIFRFU1QoV2ViS2l0MiwgV2Vic2l0ZVBvbGljaWVzQXV0b3BsYXlFbmFibGVk
KQogICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAiYXV0b3BsYXllZCJdOwogfQogCisjaWYg
UExBVEZPUk0oTUFDKQorc3RhdGljIHZvaWQgZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlp
bmdXaXRob3V0VXNlckdlc3R1cmUoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCit7CisgICAgcmVjZWl2ZWRBbGVydCA9IHRydWU7Cit9CisKK1RFU1QoV2ViS2l0MiwgV2Vi
c2l0ZVBvbGljaWVzUGxheUFmdGVyUHJldmVudGVkQXV0b3BsYXkpCit7CisgICAgYXV0byBjb25m
aWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRd
KTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMzNiwgMjU2KSBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbQXV0b3Bs
YXlQb2xpY2llc0RlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdh
dGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKyAgICBbZGVsZWdhdGUgc2V0QXV0b3BsYXlQ
b2xpY3k6X1dLV2Vic2l0ZUF1dG9wbGF5UG9saWN5RGVueV07CisKKyAgICBXS1BhZ2VVSUNsaWVu
dFY4IHVpQ2xpZW50OworICAgIG1lbXNldCgmdWlDbGllbnQsIDAsIHNpemVvZih1aUNsaWVudCkp
OworCisgICAgdWlDbGllbnQuYmFzZS52ZXJzaW9uID0gODsKKyAgICB1aUNsaWVudC5kaWRQbGF5
TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSA9IGRpZFBsYXlNZWRp
YVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlOworCisgICAgV0tQYWdlU2V0
UGFnZVVJQ2xpZW50KFt3ZWJWaWV3IF9wYWdlRm9yVGVzdGluZ10sICZ1aUNsaWVudC5iYXNlKTsK
KworICAgIHJlY2VpdmVkQWxlcnQgPSBmYWxzZTsKKyAgICBOU1VSTFJlcXVlc3QgKmpzUGxheVJl
cXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRs
ZV0gVVJMRm9yUmVzb3VyY2U6QCJqcy1wbGF5LXdpdGgtY29udHJvbHMiIHdpdGhFeHRlbnNpb246
QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBb
d2ViVmlldyBsb2FkUmVxdWVzdDpqc1BsYXlSZXF1ZXN0XTsKKyAgICBDRlJ1bkxvb3BSdW5Jbk1v
ZGUoa0NGUnVuTG9vcERlZmF1bHRNb2RlLCAyLCBmYWxzZSk7CisgICAgW3dlYlZpZXcgbW91c2VE
b3duQXRQb2ludDpOU01ha2VQb2ludCgxNjgsIDEyOCkgc2ltdWxhdGVQcmVzc3VyZTpOT107Cisg
ICAgW3dlYlZpZXcgbW91c2VVcEF0UG9pbnQ6TlNNYWtlUG9pbnQoMTY4LCAxMjgpXTsKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVkQWxlcnQpOworCisgICAgcmVjZWl2ZWRB
bGVydCA9IGZhbHNlOworICAgIE5TVVJMUmVxdWVzdCAqYXV0b3BsYXlSZXF1ZXN0ID0gW05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291
cmNlOkAiYXV0b3BsYXktd2l0aC1jb250cm9scyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRp
cmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OmF1dG9wbGF5UmVxdWVzdF07CisgICAgW3dlYlZpZXcgd2FpdEZvckxvYWRdOworICAg
IENGUnVuTG9vcFJ1bkluTW9kZShrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUsIDAuNSwgZmFsc2UpOwor
ICAgIFt3ZWJWaWV3IG1vdXNlRG93bkF0UG9pbnQ6TlNNYWtlUG9pbnQoNTAsIDUwKSBzaW11bGF0
ZVByZXNzdXJlOk5PXTsKKyAgICBbd2ViVmlldyBtb3VzZVVwQXRQb2ludDpOU01ha2VQb2ludCg1
MCwgNTApXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVkQWxlcnQpOwor
CisgICAgcmVjZWl2ZWRBbGVydCA9IGZhbHNlOworICAgIE5TVVJMUmVxdWVzdCAqbm9BdXRvcGxh
eVJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJuby1hdXRvcGxheS13aXRoLWNvbnRyb2xzIiB3aXRoRXh0
ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07
CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6bm9BdXRvcGxheVJlcXVlc3RdOworICAgIENGUnVu
TG9vcFJ1bkluTW9kZShrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUsIDAuNSwgZmFsc2UpOworICAgIFt3
ZWJWaWV3IG1vdXNlRG93bkF0UG9pbnQ6TlNNYWtlUG9pbnQoMTY4LCAxMjgpIHNpbXVsYXRlUHJl
c3N1cmU6Tk9dOworICAgIFt3ZWJWaWV3IG1vdXNlVXBBdFBvaW50Ok5TTWFrZVBvaW50KDE2OCwg
MTI4KV07CisgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJwbGF5ZWQiXTsKKyAgICBBU1NF
UlRfRkFMU0UocmVjZWl2ZWRBbGVydCk7Cit9CisjZW5kaWYKKwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCmluZGV4IGExZTgyNzAyNjZiZTVlZTQ1MzNj
ZjUyY2M0NGY2OTE3NjA0MDg2NTEuLmIzMjczYTgwNzY0MDZhNzg3ZWE0MzRjN2IwOGRkODU0MWRl
NDMzOTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmll
dy5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCkBAIC0z
Nyw2ICszNyw3IEBACiAtICh2b2lkKXN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDooTlNT
dHJpbmcgKilwYWdlTmFtZTsKIC0gKE5TU3RyaW5nICopc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNj
cmlwdDooTlNTdHJpbmcgKilzY3JpcHQ7CiAtICh2b2lkKXdhaXRGb3JNZXNzYWdlOihOU1N0cmlu
ZyAqKW1lc3NhZ2U7CistICh2b2lkKXdhaXRGb3JMb2FkOwogLSAodm9pZClwZXJmb3JtQWZ0ZXJM
b2FkaW5nOihkaXNwYXRjaF9ibG9ja190KWFjdGlvbnM7CiBAZW5kCiAKQEAgLTQ0LDYgKzQ1LDcg
QEAKIEBpbnRlcmZhY2UgVGVzdFdLV2ViVmlldyAoTWFjT25seSkKIC8vIFNpbXVsYXRlcyBjbGlj
a2luZyB3aXRoIGEgcHJlc3N1cmUtc2Vuc2l0aXZlIGRldmljZSwgaWYgcG9zc2libGUuCiAtICh2
b2lkKW1vdXNlRG93bkF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgc2ltdWxhdGVQcmVzc3VyZTooQk9P
TClzaW11bGF0ZVByZXNzdXJlOworLSAodm9pZCltb3VzZVVwQXRQb2ludDooTlNQb2ludClwb2lu
dDsKIC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hhciljaGFyYWN0ZXI7CiBAZW5kCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQppbmRleCAyYmNlMjBm
MWJhZDNlYjhiMjE2ZWNjNjExOGU5ZjQzYmM1MTI0YmYyLi43MzU3YzMyY2JhNjhjMjY4YzQ5NWI0
MzM5ZmRlOTdjOTUyYTIyMWI3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29h
L1Rlc3RXS1dlYlZpZXcubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tX
ZWJWaWV3Lm1tCkBAIC0xMjAsNiArMTIwLDExIEBAIC0gKHZvaWQpX21vdXNlRG93bkF0UG9pbnQ6
KE5TUG9pbnQpcG9pbnQgc2ltdWxhdGVQcmVzc3VyZTooQk9PTClzaW11bGF0ZVByZXNzdXJlCiAg
ICAgfQogI2VuZGlmCiB9CisKKy0gKHZvaWQpX21vdXNlVXBBdFBvaW50OihOU1BvaW50KXBvaW50
Cit7CisgICAgW3NlbGYgc2VuZEV2ZW50OltOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU0V2
ZW50VHlwZUxlZnRNb3VzZVVwIGxvY2F0aW9uOnBvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3Rh
bXA6R2V0Q3VycmVudEV2ZW50VGltZSgpIHdpbmRvd051bWJlcjpzZWxmLndpbmRvd051bWJlciBj
b250ZXh0OltOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gZXZlbnROdW1iZXI6Kytn
RXZlbnROdW1iZXIgY2xpY2tDb3VudDoxIHByZXNzdXJlOjBdXTsKK30KICNlbmRpZiAvLyBQTEFU
Rk9STShNQUMpCiAKIC0gKEJPT0wpaXNLZXlXaW5kb3cKQEAgLTI0MSw2ICsyNDYsMTUgQEAgLSAo
dm9pZClwZXJmb3JtQWZ0ZXJMb2FkaW5nOihkaXNwYXRjaF9ibG9ja190KWFjdGlvbnMgewogICAg
IFtjb250ZW50Q29udHJvbGxlciBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyIG5hbWU6
QCJvbmxvYWRIYW5kbGVyIl07CiB9CiAKKy0gKHZvaWQpd2FpdEZvckxvYWQKK3sKKyAgICBfX2Js
b2NrIGJvb2wgaXNEb25lV2FpdGluZyA9IGZhbHNlOworICAgIFtzZWxmIHBlcmZvcm1BZnRlckxv
YWRpbmc6XiB7CisgICAgICAgIGlzRG9uZVdhaXRpbmcgPSB0cnVlOworICAgIH1dOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lV2FpdGluZyk7Cit9CisKIEBlbmQKIAogI2lm
IFBMQVRGT1JNKE1BQykKQEAgLTI1MCw2ICsyNjQsMTEgQEAgLSAodm9pZCltb3VzZURvd25BdFBv
aW50OihOU1BvaW50KXBvaW50IHNpbXVsYXRlUHJlc3N1cmU6KEJPT0wpc2ltdWxhdGVQcmVzc3Vy
ZQogICAgIFtfaG9zdFdpbmRvdyBfbW91c2VEb3duQXRQb2ludDpwb2ludCBzaW11bGF0ZVByZXNz
dXJlOnNpbXVsYXRlUHJlc3N1cmVdOwogfQogCistICh2b2lkKW1vdXNlVXBBdFBvaW50OihOU1Bv
aW50KXBvaW50Cit7CisgICAgW19ob3N0V2luZG93IF9tb3VzZVVwQXRQb2ludDpwb2ludF07Cit9
CisKIC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hhciljaGFyYWN0ZXIgewogICAgIE5TU3RyaW5n
ICpjaGFyYWN0ZXJBc1N0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiJWMiICwg
Y2hhcmFjdGVyXTsKICAgICBOU0V2ZW50VHlwZSBrZXlEb3duRXZlbnRUeXBlID0gTlNFdmVudFR5
cGVLZXlEb3duOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRl
eCAzYWYyMTk3ZWM3NTQ0YzM2MTBmMjcxZjc1NGU0NDA4NmJmZjYxMzUzLi4yNTE1MjFhOGFkOGYx
MjcwZWFhN2ViZTZjYjEzOGUyN2EyYTVjMDg0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcApAQCAtMjc5LDYgKzI3OSw3IEBAIFdLUGFnZVJlZiBUZXN0Q29udHJv
bGxlcjo6Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1BhZ2VDb25maWd1cmF0
aW9uCiAgICAgICAgIDAsIC8vIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZQogICAgICAgICBy
ZXF1ZXN0UG9pbnRlckxvY2ssCiAgICAgICAgIDAsCisgICAgICAgIDAsIC8vIGRpZFBsYXlNZWRp
YVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlCiAgICAgfTsKICAgICBXS1Bh
Z2VTZXRQYWdlVUlDbGllbnQobmV3UGFnZSwgJm90aGVyUGFnZVVJQ2xpZW50LmJhc2UpOwogICAg
IApAQCAtNTUxLDYgKzU1Miw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdX
aXRoT3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKICAgICAgICAgMCwgLy8gZnVs
bHNjcmVlbk1heVJldHVyblRvSW5saW5lCiAgICAgICAgIHJlcXVlc3RQb2ludGVyTG9jaywKICAg
ICAgICAgMCwKKyAgICAgICAgMCwgLy8gZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdX
aXRob3V0VXNlckdlc3R1cmUKICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21h
aW5XZWJWaWV3LT5wYWdlKCksICZwYWdlVUlDbGllbnQuYmFzZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299773</attachid>
            <date>2017-01-25 17:09:09 -0800</date>
            <delta_ts>2017-01-25 17:42:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167390-20170125170708.patch</filename>
            <type>text/plain</type>
            <size>25666</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRjNzlkZWNkZDcwM2Zh
MjEyMjI0YTJjM2UzNmJiNDJlNjM4NjkxMi4uZTRmMWYxN2FlYzZmODM3YTUwODFmZGE3NzRhYzdl
YjFmMTAwZThhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAxLTI0ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBOb3RpZnkgY2xpZW50cyB3aGVu
IHRoZSB1c2VyIHBsYXlzIG1lZGlhIG90aGVyd2lzZSBwcmV2ZW50ZWQgZnJvbSBhdXRvcGxheWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3Mzkw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIEFQ
SSBpcyB0ZXN0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheUludGVybmFsKToKKyAgICAgICAg
KiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2ll
cyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNkYTc3ZDg0NTBkMDYzNTkxZTY1MTk2
NDJmYWFiYzg3YjM0N2E0MGIuLmUyYjg2ZGIxMTZjZGIzMTE5MjUxMTIxOWJkYTE1YTZlNmQ2Mjdk
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNy0wMS0yNCAgTWF0dCBSYWpjYSAg
PG1yYWpjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTm90aWZ5IGNsaWVudHMgd2hlbiB0aGUgdXNl
ciBwbGF5cyBtZWRpYSBvdGhlcndpc2UgcHJldmVudGVkIGZyb20gYXV0b3BsYXlpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzM5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElVSUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6ZGlkUGxheU1lZGlhUHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0UGFnZVVJQ2xpZW50KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNz
IGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNjA3NGNjMzI5Mjg0ZTZhNWYy
ZDdhOTY1ODFhNDk1NGQxYmQzZGJjYi4uMDI1MGYxYTA2YmFhYWJhYTFiMGY2NDhhNTUyMDE4NGE4
ZDNmYjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0z
MTY3LDcgKzMxNjcsOCBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnBsYXlJbnRlcm5hbCgpCiAg
ICAgICAgIHNjaGVkdWxlUmVzb2x2ZVBlbmRpbmdQbGF5UHJvbWlzZXMoKTsKIAogICAgIGlmIChT
Y3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpICYmIG1fcHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpIHsKLSAgICAgICAgLy8gRklYTUU6
IG5vdGlmeSBjbGllbnRzIGEgdXNlciBnZXN0dXJlIHdhcyBtYWRlIGFuZCBzdGFydGVkIHBsYXli
YWNrIG9mIGFuIGVsZW1lbnQgdGhhdCB3YXMgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIHBsYXlp
bmcuCisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkpCisgICAgICAg
ICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxh
eWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpOwogICAgICAgICBtX3ByZXZlbnRlZEZyb21QbGF5aW5n
V2l0aG91dFVzZXJHZXN0dXJlID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAppbmRleCBiMTM4ZmQ3ZTdhNjVkNTA3NjVkNWQyZTA2ZDczOGVlZjJlMDkxZWIwLi4x
YTQyOThjNTAzY2JmNTY3NzdjMzRkYTZiOTFhMjQyMjk1YTQ5NmE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKQEAgLTQyMCw2ICs0MjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGlzUGxheWluZ01lZGlh
RGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgpIHsgfQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdmlydHVh
bCB2b2lkIGhhc01lZGlhU2Vzc2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJv
b2wpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4
IDkxODZkZTI0NTQwYzhmOGY5NmNmY2U5ODU1OWNmZjVmMDNlZWNlMGYuLjQ0YTNlMjJlZmZlMmQ3
ZTA0NGRmZDE4YTUxYWYxMDQxNmFkM2VhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVVJQ2xpZW50LmgKQEAgLTE1Miw2ICsxNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luQ2FwdHVyZVNlc3Npb24oKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkRW5kQ2FwdHVyZVNlc3Npb24oKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkmKSB7IH0KIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSYsIFdlYktpdDo6V2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEqKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNzExNzEwNjg3MWM0Y2UzZGQ0ZjRlZjY4
MWQxNWRmNjAxNWZlOTc0Ny4uNzAzYTJkNDRhYmY2YjI5NGE5NmQ4NTUzODZlNjVjODQwMDIwMjQx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTIyMzUs
NiArMjIzNSwxNCBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJl
ZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudAogICAgICAgICAgICAgbV9jbGll
bnQuZGlkTG9zZVBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudElu
Zm8pOwogICAgICAgICB9CiAjZW5kaWYKKworICAgICAgICB2b2lkIGRpZFBsYXlNZWRpYVByZXZl
bnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkgb3Zl
cnJpZGUKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5kaWRQbGF5TWVkaWFQ
cmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21Q
bGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKKyAgICAgICAgfQogICAgIH07CiAKICAgICB0b0ltcGwocGFnZVJlZiktPnNldFVJ
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IDI5YjhlMTBh
YmNjYjQwOTkyYjBkZTcwNDc5ZDNkNDFiNmVmZDZlYjMuLjkzNGU3YWYyZTU0NGY2MzI1OWI5ODJh
ZDZjNjdmZGFmZDYzZjgyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VVSUNsaWVudC5oCkBAIC0xMDIsNiArMTAyLDcgQEAgdHlwZWRlZiB2b2lkICgqV0tQ
YWdlRGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjaykoV0tQ
YWdlUmUKIHR5cGVkZWYgdm9pZCAoKldLQ2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sp
KFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHVz
ZXJNZWRpYURvY3VtZW50T3JpZ2luLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHRvcExldmVsRG9jdW1l
bnRPcmlnaW4sIFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUmVmIGRldmljZXNSZXF1ZXN0LCBj
b25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENsaWNrQXV0
b0ZpbGxCdXR0b25DYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VNZWRpYVNlc3Np
b25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tNZWRpYVNlc3Np
b25NZXRhZGF0YVJlZiBtZXRhZGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0RpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0
dXJlKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZv
aWQgKCpXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHR5cGVkZWYgdm9pZCAoKldLUmVxdWVzdFBv
aW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKQEAgLTcyNSw2ICs3MjYsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY4IHsK
ICAgICAvLyBWZXJzaW9uIDguCiAgICAgV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2s7CiAg
ICAgV0tEaWRMb3NlUG9pbnRlckxvY2tDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaWRMb3NlUG9pbnRlckxvY2s7CisgICAgV0tEaWRQbGF5TWVkaWFQcmV2
ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSAgICAgICAgICAgICAgICBkaWRQbGF5
TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZTsKIH0gV0tQYWdlVUlD
bGllbnRWODsKICAgICAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAyZjgxNGNkYmZkNzkxMjhkZGU3MWNjYmIwNTRlZWE1
YWJkMWY2ZWQ5Li41Y2M3NzI0YmNmZTFlNDI1ZTYxOTk0MWQ5NDk0OTI4ZDQyOTc0N2E4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjUyNyw2ICs2NTI3
LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpmb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudERpZENo
YW5nZSh1aW50NjRfdCBlbGVtZW50SUQpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkKK3sK
KyAgICBtX3VpQ2xpZW50LT5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgqdGhpcyk7Cit9CisKICNpZiBQTEFURk9STShNQUMpCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNzcwMjg5YTAzNWNlMjg5MjYwZmM4MTYyNmYx
NDM0ZGUwN2MwZTdmNS4uMjg4ZjZkMzM1MzZkMGVkZWZiY2JlNjhlMjU5MGE1NDMyOTUzYTIyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTA1OCw2ICsxMDU4
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQWN0aXZlQXVkaW9TdHJlYW0oKSBjb25zdCB7IHJl
dHVybiBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpIYXNBY3RpdmVBdWRp
b0NhcHR1cmVEZXZpY2U7IH0KICAgICBib29sIGhhc0FjdGl2ZVZpZGVvU3RyZWFtKCkgY29uc3Qg
eyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFzQWN0aXZl
VmlkZW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFT
dGF0ZUZsYWdzIG1lZGlhU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZTsg
fQorICAgIHZvaWQgZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHZpZGVvQ29udHJvbHNNYW5h
Z2VyRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCBmNmE5ZDEwM2M2YjhmNGYzNDY0ZjdhNTAzZmQzM2JmNmFl
NTk3ZjFlLi42N2VkYWIzYjRkNDk2OTE3ODkwOWUyMDUxODBkZWQ0ZTM0Y2ZkY2YzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTQzOSw2ICs0MzksNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICAg
ICBJc1BsYXlpbmdNZWRpYURpZENoYW5nZSh1bnNpZ25lZCBzdGF0ZSwgdWludDY0X3Qgc291cmNl
RWxlbWVudElEKQorICAgIERpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVz
ZXJHZXN0dXJlKCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEhhc01lZGlhU2Vz
c2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJvb2wgc3RhdGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggMzFkYTE3NTZlYTI3MzVjNzQ0MGViY2ViMDM5ZjZiYWNmMjc1
MWZlMy4uODQ4ZTc2MjJhZGRjOTMwODU2N2VlMTlkZWJhNWNkNzExZDhjOWMwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcApAQCAtMTA4NCw2ICsxMDg0LDExIEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxh
Z3Mgc3RhCiAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SXNQbGF5aW5n
TWVkaWFEaWRDaGFuZ2Uoc3RhdGUsIHNvdXJjZUVsZW1lbnRJRCkpOwogfQogCit2b2lkIFdlYkNo
cm9tZUNsaWVudDo6ZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKQoreworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBs
YXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkpOworfQorCiAj
aWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpoYXNNZWRp
YVNlc3Npb25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sIHN0YXRlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKaW5kZXggNjg0MDYzNzlkYjRlZjU0YjRiMWY2MzExMDIyMjdhYjBlZDJm
NDBmOS4uYTJkNWU3Y2M0YmYwODNhNDBiMmI1Zjc1YzVhNDc4ZjdlMDU4ODMzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC0yOTcsNiArMjk3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3Vs
ZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBXZWJDb3JlOjpGcmFtZVZpZXcmKSBj
b25zdCBmaW5hbDsKIAogICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzLCB1aW50NjRfdCkgZmluYWw7CisgICAgdm9p
ZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpIGZp
bmFsOwogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdm9pZCBoYXNNZWRpYVNlc3Np
b25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sKSBmaW5hbDsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMjkyODdlYjcyMjBj
ZmE2MDcwYWVhY2NkZTRiNDg0ODcxMDI2MGMzLi4zZWQ1ZjVmZjIwYzc2NjM1NjIyZDBjYmFiOThh
NzQ0Njc3M2RmYzQzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDEtMjQgIE1hdHQgUmFqY2EgIDxtcmFqY2FA
YXBwbGUuY29tPgorCisgICAgICAgIE5vdGlmeSBjbGllbnRzIHdoZW4gdGhlIHVzZXIgcGxheXMg
bWVkaWEgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIGF1dG9wbGF5aW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczOTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2Ev
V2Vic2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBs
YXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lmg6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtUZXN0V0tXZWJWaWV3SG9zdFdp
bmRvdyBfbW91c2VVcEF0UG9pbnQ6XSk6CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXcgd2FpdEZv
ckxvYWRdKToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlldyBtb3VzZVVwQXRQb2ludDpdKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMpOgorCiAyMDE3LTAxLTIzICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBh
dXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmOGY5YzY5OGNiY2I3MWM2NTQ1ZThiNTFjNGM0M2NhMGYxNDllOTk2Li44NWI1MDM2MjA1
NDlmNmQ2MTA5OTA1YzBkNWYzZDczNzQ5OWNiNjA0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNTA5LDYgKzUwOSw5IEBACiAJCUM5NTk4NEY0MUUzNkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxh
eS1jaGVjay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM5NTk4NEYyMUUzNkJDNTUwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1s
ICovOyB9OwogCQlDOTU5ODRGNTFFMzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8t
Y2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hl
Y2suaHRtbCAqLzsgfTsKIAkJQzk1OTg0RjcxRTM2QkNFRjAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91
dC1hdWRpby10cmFjay5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91dC1h
dWRpby10cmFjay5tcDQgKi87IH07CisJCUM5OUI2NzVDMUUzOTcyMUEwMEZDNkM4MCAvKiBhdXRv
cGxheS13aXRoLWNvbnRyb2xzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzk5QjY3NUExRTM5NzFGQzAwRkM2QzgwIC8qIGF1dG9wbGF5
LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKKwkJQzk5QjY3NUQxRTM5NzIyMDAwRkM2QzgwIC8q
IGpzLXBsYXktd2l0aC1jb250cm9scy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5OUI2NzVCMUUzOTcxRkMwMEZDNkM4MCAvKiBqcy1w
bGF5LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKKwkJQzk5QjY3NUYxRTM5NzM2RjAwRkM2Qzgw
IC8qIG5vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTlCNjc1RTFFMzk3MzVDMDBGQzZDODAg
Lyogbm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovOyB9OwogCQlDRDU5RjUzNDE5RTkx
MTBEMDBDRjE4MzUgLyogZmlsZS13aXRoLW1zZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTlGNTMyMTlFOTEwQUEwMENGMTgzNSAv
KiBmaWxlLXdpdGgtbXNlLmh0bWwgKi87IH07CiAJCUNENTlGNTM1MTlFOTExMEQwMENGMTgzNSAv
KiB0ZXN0LW1zZS5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0Q1OUY1MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRlc3QtbXNlLm1wNCAqLzsg
fTsKIAkJQ0Q3OEUxMUQxREI3RUE2NjAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5EZWxlZ2F0ZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENzhFMTFBMURC
N0VBMzYwMDE0QTJERSAvKiBGdWxsc2NyZWVuRGVsZWdhdGUubW0gKi87IH07CkBAIC02MDcsNiAr
NjEwLDkgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNlczsKIAkJCWRzdFN1
YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJQzk5QjY3NUYxRTM5NzM2RjAwRkM2
QzgwIC8qIG5vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKKwkJCQlDOTlCNjc1RDFFMzk3MjIwMDBGQzZDODAgLyoganMtcGxheS13aXRoLWNvbnRyb2xz
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJQzk5QjY3NUMxRTM5NzIxQTAwRkM2Qzgw
IC8qIGF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CQlDOTU5ODRGNzFFMzZCQ0VGMDAyQzBENDUgLyogdGVzdC13aXRob3V0LWF1ZGlvLXRyYWNrLm1w
NCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDOTU5ODRGNDFFMzZCQzZCMDAyQzBENDUgLyog
YXV0b3BsYXktY2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDOTU5ODRGNTFF
MzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLywKQEAgLTEyNzQsNiArMTI4MCw5IEBACiAJCUM5NTk4NEYyMUUzNkJDNTUwMDJD
MEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0g
ImF1dG9wbGF5LWNoZWNrLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOTU5
ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhdXRvcGxheS1uby1hdWRpby1jaGVjay5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8q
IHRlc3Qtd2l0aG91dC1hdWRpby10cmFjay5tcDQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gInRlc3Qtd2l0aG91dC1hdWRpby10
cmFjay5tcDQiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDOTlCNjc1QTFFMzk3MUZD
MDBGQzZDODAgLyogYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5o
dG1sOyBwYXRoID0gImF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUM5OUI2NzVCMUUzOTcxRkMwMEZDNkM4MCAvKiBqcy1wbGF5LXdpdGgt
Y29udHJvbHMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJqcy1wbGF5LXdpdGgt
Y29udHJvbHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM5OUI2NzVFMUUz
OTczNUMwMEZDNkM4MCAvKiBuby1hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSAibm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QyMjVDMDcxQzQ1QTY5MjAwMTQwNzYxIC8qIFBh
cnNlZENvbnRlbnRSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBQYXJzZWRDb250ZW50UmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDUzOTNDNzE3NTdCQTk3MDBDMDcxMjMgLyogTUQ1LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1ENS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNE
NTM5M0M5MTc1N0JBQzQwMEMwNzEyMyAvKiBTSEExLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNIQTEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTk2MSw2ICsxOTcwLDcgQEAKIAkJCQk3NkUxODJERTE1NDc1QTgzMDBGMUZBREQgLyogYXV0by1z
dWJtaXR0aW5nLWZvcm0uaHRtbCAqLywKIAkJCQlDOTU5ODRGMjFFMzZCQzU1MDAyQzBENDUgLyog
YXV0b3BsYXktY2hlY2suaHRtbCAqLywKIAkJCQlDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyog
YXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLywKKwkJCQlDOTlCNjc1QTFFMzk3MUZDMDBG
QzZDODAgLyogYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovLAogCQkJCTdDNDg2QkEwMUFB
MTI1NEIwMDNGNkY5QiAvKiBidW5kbGUtZmlsZS5odG1sICovLAogCQkJCTlCRDQyMzlCMUUwNEJG
RDAwMDIwMDM5NSAvKiBjaGluZXNlLWNoYXJhY3Rlci13aXRoLWltYWdlLmh0bWwgKi8sCiAJCQkJ
MUE1MEFBMUYxQTJBNEVBNTAwRjRDMzQ1IC8qIGNsb3NlLWZyb20td2l0aGluLWNyZWF0ZS1wYWdl
Lmh0bWwgKi8sCkBAIC0xOTgxLDYgKzE5OTEsNyBAQAogCQkJCTRBNDEwRjREMTlBRjdCRUYwMDJF
QkFCNSAvKiBnZXRVc2VyTWVkaWEuaHRtbCAqLywKIAkJCQlCQ0JEMzcyRTEyNUFCQkU2MDBEMkMy
OUYgLyogaWNvbi5wbmcgKi8sCiAJCQkJQ0UzNTI0RjUxQjE0MkJCQjAwMjhBN0M1IC8qIGlucHV0
LWZvY3VzLWJsdXIuaHRtbCAqLywKKwkJCQlDOTlCNjc1QjFFMzk3MUZDMDBGQzZDODAgLyoganMt
cGxheS13aXRoLWNvbnRyb2xzLmh0bWwgKi8sCiAJCQkJODM0OUQzQzMxREI5NzI0RjAwNEE5RjY1
IC8qIGxpbmstd2l0aC1kb3dubG9hZC1hdHRyaWJ1dGUuaHRtbCAqLywKIAkJCQkzNzhFNjQ3ODE2
MzI2RkRGMDBCNkM2NzYgLyogbGluay13aXRoLXRpdGxlLmh0bWwgKi8sCiAJCQkJOTM2MTAwMjgx
NERDOTU3QjAwNjEzNzlEIC8qIGxvdHMtb2YtaWZyYW1lcy5odG1sICovLApAQCAtMTk5MSw2ICsy
MDAyLDcgQEAKIAkJCQk1MUNEMUM3MTFCMzhENDg0MDAxNDJDQTUgLyogbW9kYWwtYWxlcnRzLWlu
LW5ldy1hYm91dC1ibGFuay13aW5kb3cuaHRtbCAqLywKIAkJCQk3QTE0NThGQjFBRDVDMDM1MDBF
MDY3NzIgLyogbW91c2UtYnV0dG9uLWxpc3RlbmVyLmh0bWwgKi8sCiAJCQkJMzNFNzlFMDUxMzdC
NUZDRTAwRTMyRDk5IC8qIG1vdXNlLW1vdmUtbGlzdGVuZXIuaHRtbCAqLywKKwkJCQlDOTlCNjc1
RTFFMzk3MzVDMDBGQzZDODAgLyogbm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovLAog
CQkJCUNFQTZDRjI3MTlDQ0Y2OUQwMDY0RjVBNyAvKiBvcGVuLWFuZC1jbG9zZS13aW5kb3cuaHRt
bCAqLywKIAkJCQlGNkZERERENTE0MjQxQzQ4MDA0RjE3MjkgLyogcHVzaC1zdGF0ZS5odG1sICov
LAogCQkJCUNFQkFCRDQ4MUI3MTY4N0MwMDUxMjEwQSAvKiBzaG91bGQtb3Blbi1leHRlcm5hbC1z
Y2hlbWVzLmh0bWwgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL2F1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDM4
YWRjMDliYmNhMWQyY2ZhMDE0NzlmZDUzZTBlMzUzZDcxNTg3Ci0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL2F1dG9wbGF5LXdpdGgtY29udHJvbHMu
aHRtbApAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIHBhZ2VMb2FkZWQoKSB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMu
dGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoImxvYWRlZCIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keSBvbmxvYWQ9InBhZ2VMb2FkZWQoKSI+CisgICAgICAgIDx2aWRlbyBhdXRvcGxh
eSBjb250cm9scyBzcmM9InRlc3QubXA0IiAvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29u
dHJvbHMuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdp
dGgtY29udHJvbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNmU1MzhlYmZmZTAyMWM2ZjdmMjRlODY3Nzk2
NzdmNjUxMTdkMTdhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL2pzLXBsYXktd2l0aC1jb250cm9scy5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24g
cGFnZUxvYWRlZCgpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dmlkZW8iKS5wbGF5KCk7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2Uo
ImxvYWRlZCIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InBhZ2VM
b2FkZWQoKSI+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIGNvbnRyb2xzIHNyYz0idGVzdC5t
cDQiIC8+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyL25vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9uby1hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODk3OWYyODQ4NTdiNGExZmMwZTg5NzY5OTI0MGE1Y2MxOGI0ZmMyYgot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9uby1h
dXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+CisgICAg
PGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiBwYWdlTG9hZGVk
KCkgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy53
ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJsb2FkZWQiKTsK
KyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiBiZWdhblBsYXlpbmcoKSB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRs
ZXIucG9zdE1lc3NhZ2UoInBsYXllZCIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eSBvbmxvYWQ9InBhZ2VMb2FkZWQoKSI+CisgICAgICAgIDx2aWRlbyBjb250cm9scyBvbnBsYXlp
bmc9YmVnYW5QbGF5aW5nKCkgc3JjPSJ0ZXN0Lm1wNCIgLz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJz
aXRlUG9saWNpZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9X
ZWJzaXRlUG9saWNpZXMubW0KaW5kZXggZDU4OGI1MjZiYjhmYjI1ZDI3M2I5NzZjZTM1N2QwYjA2
MzhkNzEwYy4uNmM0Njc1ZmM3NjM4ZGEyNTU0NzA3ODRhODQyMWY4YmYxYjJiMTYyOCAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGlj
aWVzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNp
dGVQb2xpY2llcy5tbQpAQCAtMzksNiArMzksMTAgQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAK
K0BpbnRlcmZhY2UgV0tXZWJWaWV3ICgpCistIChXS1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5nOwor
QGVuZAorCiBzdGF0aWMgYm9vbCBkb25lQ29tcGlsaW5nOwogc3RhdGljIGJvb2wgcmVjZWl2ZWRB
bGVydDsKIHN0YXRpYyBzaXplX3QgYWxlcnRDb3VudDsKQEAgLTIxMyw0ICsyMTcsNTggQEAgVEVT
VChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNBdXRvcGxheUVuYWJsZWQpCiAgICAgW3dlYlZpZXcg
d2FpdEZvck1lc3NhZ2U6QCJhdXRvcGxheWVkIl07CiB9CiAKKyNpZiBQTEFURk9STShNQUMpCitz
dGF0aWMgdm9pZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2Vz
dHVyZShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICByZWNl
aXZlZEFsZXJ0ID0gdHJ1ZTsKK30KKworVEVTVChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNQbGF5
QWZ0ZXJQcmV2ZW50ZWRBdXRvcGxheSkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9w
dE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgMzM2LCAyNTYpIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0p
OworCisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tBdXRvcGxheVBvbGljaWVzRGVsZWdh
dGUgYWxsb2NdIGluaXRdKTsKKyAgICBbZGVsZWdhdGUgc2V0QXV0b3BsYXlQb2xpY3k6X1dLV2Vi
c2l0ZUF1dG9wbGF5UG9saWN5RGVueV07CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVn
YXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIFdLUGFnZVVJQ2xpZW50VjggdWlDbGllbnQ7Cisg
ICAgbWVtc2V0KCZ1aUNsaWVudCwgMCwgc2l6ZW9mKHVpQ2xpZW50KSk7CisKKyAgICB1aUNsaWVu
dC5iYXNlLnZlcnNpb24gPSA4OworICAgIHVpQ2xpZW50LmRpZFBsYXlNZWRpYVByZXZlbnRlZEZy
b21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlID0gZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBs
YXlpbmdXaXRob3V0VXNlckdlc3R1cmU7CisKKyAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoW3dl
YlZpZXcgX3BhZ2VGb3JUZXN0aW5nXSwgJnVpQ2xpZW50LmJhc2UpOworCisgICAgcmVjZWl2ZWRB
bGVydCA9IGZhbHNlOworICAgIE5TVVJMUmVxdWVzdCAqanNQbGF5UmVxdWVzdCA9IFtOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJj
ZTpAImpzLXBsYXktd2l0aC1jb250cm9scyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVj
dG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1
ZXN0OmpzUGxheVJlcXVlc3RdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAibG9hZGVk
Il07CisgICAgW3dlYlZpZXcgbW91c2VEb3duQXRQb2ludDpOU01ha2VQb2ludCgxNjgsIDEyOCkg
c2ltdWxhdGVQcmVzc3VyZTpOT107CisgICAgW3dlYlZpZXcgbW91c2VVcEF0UG9pbnQ6TlNNYWtl
UG9pbnQoMTY4LCAxMjgpXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVk
QWxlcnQpOworCisgICAgcmVjZWl2ZWRBbGVydCA9IGZhbHNlOworICAgIFt3ZWJWaWV3IGxvYWRI
VE1MU3RyaW5nOkAiIiBiYXNlVVJMOm5pbF07CisgICAgCisgICAgTlNVUkxSZXF1ZXN0ICphdXRv
cGxheVJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJhdXRvcGxheS13aXRoLWNvbnRyb2xzIiB3aXRoRXh0
ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07
CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6YXV0b3BsYXlSZXF1ZXN0XTsKKyAgICBbd2ViVmll
dyB3YWl0Rm9yTWVzc2FnZTpAImxvYWRlZCJdOworICAgIFt3ZWJWaWV3IG1vdXNlRG93bkF0UG9p
bnQ6TlNNYWtlUG9pbnQoNTAsIDUwKSBzaW11bGF0ZVByZXNzdXJlOk5PXTsKKyAgICBbd2ViVmll
dyBtb3VzZVVwQXRQb2ludDpOU01ha2VQb2ludCg1MCwgNTApXTsKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJnJlY2VpdmVkQWxlcnQpOworCisgICAgcmVjZWl2ZWRBbGVydCA9IGZhbHNl
OworICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkAiIiBiYXNlVVJMOm5pbF07CisKKyAgICBO
U1VSTFJlcXVlc3QgKm5vQXV0b3BsYXlSZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAibm8tYXV0b3BsYXkt
d2l0aC1jb250cm9scyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RX
ZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0Om5vQXV0b3Bs
YXlSZXF1ZXN0XTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAImxvYWRlZCJdOworICAg
IFt3ZWJWaWV3IG1vdXNlRG93bkF0UG9pbnQ6TlNNYWtlUG9pbnQoMTY4LCAxMjgpIHNpbXVsYXRl
UHJlc3N1cmU6Tk9dOworICAgIFt3ZWJWaWV3IG1vdXNlVXBBdFBvaW50Ok5TTWFrZVBvaW50KDE2
OCwgMTI4KV07CisgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJwbGF5ZWQiXTsKKyAgICBB
U1NFUlRfRkFMU0UocmVjZWl2ZWRBbGVydCk7Cit9CisjZW5kaWYKKwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCmluZGV4IGExZTgyNzAyNjZiZTVlZTQ1
MzNjZjUyY2M0NGY2OTE3NjA0MDg2NTEuLmUzODM1YzRhMTk4YjZjZDZhN2I0NjA3N2I4ZGRiNWY5
YmI5MzExY2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2Vi
Vmlldy5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCkBA
IC00NCw2ICs0NCw3IEBACiBAaW50ZXJmYWNlIFRlc3RXS1dlYlZpZXcgKE1hY09ubHkpCiAvLyBT
aW11bGF0ZXMgY2xpY2tpbmcgd2l0aCBhIHByZXNzdXJlLXNlbnNpdGl2ZSBkZXZpY2UsIGlmIHBv
c3NpYmxlLgogLSAodm9pZCltb3VzZURvd25BdFBvaW50OihOU1BvaW50KXBvaW50IHNpbXVsYXRl
UHJlc3N1cmU6KEJPT0wpc2ltdWxhdGVQcmVzc3VyZTsKKy0gKHZvaWQpbW91c2VVcEF0UG9pbnQ6
KE5TUG9pbnQpcG9pbnQ7CiAtICh2b2lkKXR5cGVDaGFyYWN0ZXI6KGNoYXIpY2hhcmFjdGVyOwog
QGVuZAogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RX
S1dlYlZpZXcubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0K
aW5kZXggMmJjZTIwZjFiYWQzZWI4YjIxNmVjYzYxMThlOWY0M2JjNTEyNGJmMi4uZGJmN2U3YjM5
NWNiNDBmNjAxZmU0ZGZkOGJkZjZiNGRhMWM5OTQxYiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Y29jb2EvVGVzdFdLV2ViVmlldy5tbQpAQCAtMTIwLDYgKzEyMCwxMSBAQCAtICh2b2lkKV9tb3Vz
ZURvd25BdFBvaW50OihOU1BvaW50KXBvaW50IHNpbXVsYXRlUHJlc3N1cmU6KEJPT0wpc2ltdWxh
dGVQcmVzc3VyZQogICAgIH0KICNlbmRpZgogfQorCistICh2b2lkKV9tb3VzZVVwQXRQb2ludDoo
TlNQb2ludClwb2ludAoreworICAgIFtzZWxmIHNlbmRFdmVudDpbTlNFdmVudCBtb3VzZUV2ZW50
V2l0aFR5cGU6TlNFdmVudFR5cGVMZWZ0TW91c2VVcCBsb2NhdGlvbjpwb2ludCBtb2RpZmllckZs
YWdzOjAgdGltZXN0YW1wOkdldEN1cnJlbnRFdmVudFRpbWUoKSB3aW5kb3dOdW1iZXI6c2VsZi53
aW5kb3dOdW1iZXIgY29udGV4dDpbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENvbnRleHRdIGV2
ZW50TnVtYmVyOisrZ0V2ZW50TnVtYmVyIGNsaWNrQ291bnQ6MSBwcmVzc3VyZTowXV07Cit9CiAj
ZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAtIChCT09MKWlzS2V5V2luZG93CkBAIC0yNTAsNiAr
MjU1LDExIEBAIC0gKHZvaWQpbW91c2VEb3duQXRQb2ludDooTlNQb2ludClwb2ludCBzaW11bGF0
ZVByZXNzdXJlOihCT09MKXNpbXVsYXRlUHJlc3N1cmUKICAgICBbX2hvc3RXaW5kb3cgX21vdXNl
RG93bkF0UG9pbnQ6cG9pbnQgc2ltdWxhdGVQcmVzc3VyZTpzaW11bGF0ZVByZXNzdXJlXTsKIH0K
IAorLSAodm9pZCltb3VzZVVwQXRQb2ludDooTlNQb2ludClwb2ludAoreworICAgIFtfaG9zdFdp
bmRvdyBfbW91c2VVcEF0UG9pbnQ6cG9pbnRdOworfQorCiAtICh2b2lkKXR5cGVDaGFyYWN0ZXI6
KGNoYXIpY2hhcmFjdGVyIHsKICAgICBOU1N0cmluZyAqY2hhcmFjdGVyQXNTdHJpbmcgPSBbTlNT
dHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVjIiAsIGNoYXJhY3Rlcl07CiAgICAgTlNFdmVudFR5
cGUga2V5RG93bkV2ZW50VHlwZSA9IE5TRXZlbnRUeXBlS2V5RG93bjsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggM2FmMjE5N2VjNzU0NGMzNjEwZjI3MWY3
NTRlNDQwODZiZmY2MTM1My4uMjUxNTIxYThhZDhmMTI3MGVhYTdlYmU2Y2IxMzhlMjdhMmE1YzA4
NCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTI3OSw2
ICsyNzksNyBAQCBXS1BhZ2VSZWYgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZShXS1Bh
Z2VSZWYgb2xkUGFnZSwgV0tQYWdlQ29uZmlndXJhdGlvbgogICAgICAgICAwLCAvLyBmdWxsc2Ny
ZWVuTWF5UmV0dXJuVG9JbmxpbmUKICAgICAgICAgcmVxdWVzdFBvaW50ZXJMb2NrLAogICAgICAg
ICAwLAorICAgICAgICAwLCAvLyBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhv
dXRVc2VyR2VzdHVyZQogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KG5ld1BhZ2Us
ICZvdGhlclBhZ2VVSUNsaWVudC5iYXNlKTsKICAgICAKQEAgLTU1MSw2ICs1NTIsNyBAQCB2b2lk
IFRlc3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMoY29uc3QgVGVzdE9wdGlv
bnMmIG9wdGlvbnMpCiAgICAgICAgIDAsIC8vIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZQog
ICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2ssCiAgICAgICAgIDAsCisgICAgICAgIDAsIC8vIGRp
ZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlCiAgICAgfTsK
ICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCAmcGFnZVVJ
Q2xpZW50LmJhc2UpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299779</attachid>
            <date>2017-01-25 17:42:17 -0800</date>
            <delta_ts>2017-01-26 11:05:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167390-20170125174016.patch</filename>
            <type>text/plain</type>
            <size>26175</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRjNzlkZWNkZDcwM2Zh
MjEyMjI0YTJjM2UzNmJiNDJlNjM4NjkxMi4uZTRmMWYxN2FlYzZmODM3YTUwODFmZGE3NzRhYzdl
YjFmMTAwZThhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAxLTI0ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBOb3RpZnkgY2xpZW50cyB3aGVu
IHRoZSB1c2VyIHBsYXlzIG1lZGlhIG90aGVyd2lzZSBwcmV2ZW50ZWQgZnJvbSBhdXRvcGxheWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3Mzkw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIEFQ
SSBpcyB0ZXN0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheUludGVybmFsKToKKyAgICAgICAg
KiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2ll
cyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNkYTc3ZDg0NTBkMDYzNTkxZTY1MTk2
NDJmYWFiYzg3YjM0N2E0MGIuLmUyYjg2ZGIxMTZjZGIzMTE5MjUxMTIxOWJkYTE1YTZlNmQ2Mjdk
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNy0wMS0yNCAgTWF0dCBSYWpjYSAg
PG1yYWpjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTm90aWZ5IGNsaWVudHMgd2hlbiB0aGUgdXNl
ciBwbGF5cyBtZWRpYSBvdGhlcndpc2UgcHJldmVudGVkIGZyb20gYXV0b3BsYXlpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzM5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElVSUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6ZGlkUGxheU1lZGlhUHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0UGFnZVVJQ2xpZW50KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNz
IGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNjA3NGNjMzI5Mjg0ZTZhNWYy
ZDdhOTY1ODFhNDk1NGQxYmQzZGJjYi4uMDI1MGYxYTA2YmFhYWJhYTFiMGY2NDhhNTUyMDE4NGE4
ZDNmYjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0z
MTY3LDcgKzMxNjcsOCBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnBsYXlJbnRlcm5hbCgpCiAg
ICAgICAgIHNjaGVkdWxlUmVzb2x2ZVBlbmRpbmdQbGF5UHJvbWlzZXMoKTsKIAogICAgIGlmIChT
Y3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpICYmIG1fcHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpIHsKLSAgICAgICAgLy8gRklYTUU6
IG5vdGlmeSBjbGllbnRzIGEgdXNlciBnZXN0dXJlIHdhcyBtYWRlIGFuZCBzdGFydGVkIHBsYXli
YWNrIG9mIGFuIGVsZW1lbnQgdGhhdCB3YXMgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIHBsYXlp
bmcuCisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkpCisgICAgICAg
ICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxh
eWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpOwogICAgICAgICBtX3ByZXZlbnRlZEZyb21QbGF5aW5n
V2l0aG91dFVzZXJHZXN0dXJlID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAppbmRleCBiMTM4ZmQ3ZTdhNjVkNTA3NjVkNWQyZTA2ZDczOGVlZjJlMDkxZWIwLi4x
YTQyOThjNTAzY2JmNTY3NzdjMzRkYTZiOTFhMjQyMjk1YTQ5NmE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKQEAgLTQyMCw2ICs0MjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGlzUGxheWluZ01lZGlh
RGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgpIHsgfQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdmlydHVh
bCB2b2lkIGhhc01lZGlhU2Vzc2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJv
b2wpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4
IDkxODZkZTI0NTQwYzhmOGY5NmNmY2U5ODU1OWNmZjVmMDNlZWNlMGYuLjQ0YTNlMjJlZmZlMmQ3
ZTA0NGRmZDE4YTUxYWYxMDQxNmFkM2VhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVVJQ2xpZW50LmgKQEAgLTE1Miw2ICsxNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luQ2FwdHVyZVNlc3Npb24oKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkRW5kQ2FwdHVyZVNlc3Npb24oKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkmKSB7IH0KIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSYsIFdlYktpdDo6V2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEqKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNzExNzEwNjg3MWM0Y2UzZGQ0ZjRlZjY4
MWQxNWRmNjAxNWZlOTc0Ny4uNzAzYTJkNDRhYmY2YjI5NGE5NmQ4NTUzODZlNjVjODQwMDIwMjQx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTIyMzUs
NiArMjIzNSwxNCBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJl
ZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudAogICAgICAgICAgICAgbV9jbGll
bnQuZGlkTG9zZVBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudElu
Zm8pOwogICAgICAgICB9CiAjZW5kaWYKKworICAgICAgICB2b2lkIGRpZFBsYXlNZWRpYVByZXZl
bnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkgb3Zl
cnJpZGUKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5kaWRQbGF5TWVkaWFQ
cmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21Q
bGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKKyAgICAgICAgfQogICAgIH07CiAKICAgICB0b0ltcGwocGFnZVJlZiktPnNldFVJ
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IDI5YjhlMTBh
YmNjYjQwOTkyYjBkZTcwNDc5ZDNkNDFiNmVmZDZlYjMuLjkzNGU3YWYyZTU0NGY2MzI1OWI5ODJh
ZDZjNjdmZGFmZDYzZjgyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VVSUNsaWVudC5oCkBAIC0xMDIsNiArMTAyLDcgQEAgdHlwZWRlZiB2b2lkICgqV0tQ
YWdlRGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjaykoV0tQ
YWdlUmUKIHR5cGVkZWYgdm9pZCAoKldLQ2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sp
KFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHVz
ZXJNZWRpYURvY3VtZW50T3JpZ2luLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHRvcExldmVsRG9jdW1l
bnRPcmlnaW4sIFdLVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUmVmIGRldmljZXNSZXF1ZXN0LCBj
b25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENsaWNrQXV0
b0ZpbGxCdXR0b25DYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VNZWRpYVNlc3Np
b25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tNZWRpYVNlc3Np
b25NZXRhZGF0YVJlZiBtZXRhZGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0RpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0
dXJlKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZv
aWQgKCpXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHR5cGVkZWYgdm9pZCAoKldLUmVxdWVzdFBv
aW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKQEAgLTcyNSw2ICs3MjYsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY4IHsK
ICAgICAvLyBWZXJzaW9uIDguCiAgICAgV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2s7CiAg
ICAgV0tEaWRMb3NlUG9pbnRlckxvY2tDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaWRMb3NlUG9pbnRlckxvY2s7CisgICAgV0tEaWRQbGF5TWVkaWFQcmV2
ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSAgICAgICAgICAgICAgICBkaWRQbGF5
TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZTsKIH0gV0tQYWdlVUlD
bGllbnRWODsKICAgICAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAyZjgxNGNkYmZkNzkxMjhkZGU3MWNjYmIwNTRlZWE1
YWJkMWY2ZWQ5Li41Y2M3NzI0YmNmZTFlNDI1ZTYxOTk0MWQ5NDk0OTI4ZDQyOTc0N2E4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjUyNyw2ICs2NTI3
LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpmb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudERpZENo
YW5nZSh1aW50NjRfdCBlbGVtZW50SUQpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkKK3sK
KyAgICBtX3VpQ2xpZW50LT5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgqdGhpcyk7Cit9CisKICNpZiBQTEFURk9STShNQUMpCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNzcwMjg5YTAzNWNlMjg5MjYwZmM4MTYyNmYx
NDM0ZGUwN2MwZTdmNS4uMjg4ZjZkMzM1MzZkMGVkZWZiY2JlNjhlMjU5MGE1NDMyOTUzYTIyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTA1OCw2ICsxMDU4
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQWN0aXZlQXVkaW9TdHJlYW0oKSBjb25zdCB7IHJl
dHVybiBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpIYXNBY3RpdmVBdWRp
b0NhcHR1cmVEZXZpY2U7IH0KICAgICBib29sIGhhc0FjdGl2ZVZpZGVvU3RyZWFtKCkgY29uc3Qg
eyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFzQWN0aXZl
VmlkZW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFT
dGF0ZUZsYWdzIG1lZGlhU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZTsg
fQorICAgIHZvaWQgZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHZpZGVvQ29udHJvbHNNYW5h
Z2VyRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCBmNmE5ZDEwM2M2YjhmNGYzNDY0ZjdhNTAzZmQzM2JmNmFl
NTk3ZjFlLi42N2VkYWIzYjRkNDk2OTE3ODkwOWUyMDUxODBkZWQ0ZTM0Y2ZkY2YzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTQzOSw2ICs0MzksNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICAg
ICBJc1BsYXlpbmdNZWRpYURpZENoYW5nZSh1bnNpZ25lZCBzdGF0ZSwgdWludDY0X3Qgc291cmNl
RWxlbWVudElEKQorICAgIERpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVz
ZXJHZXN0dXJlKCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEhhc01lZGlhU2Vz
c2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJvb2wgc3RhdGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggMzFkYTE3NTZlYTI3MzVjNzQ0MGViY2ViMDM5ZjZiYWNmMjc1
MWZlMy4uODQ4ZTc2MjJhZGRjOTMwODU2N2VlMTlkZWJhNWNkNzExZDhjOWMwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcApAQCAtMTA4NCw2ICsxMDg0LDExIEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxh
Z3Mgc3RhCiAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SXNQbGF5aW5n
TWVkaWFEaWRDaGFuZ2Uoc3RhdGUsIHNvdXJjZUVsZW1lbnRJRCkpOwogfQogCit2b2lkIFdlYkNo
cm9tZUNsaWVudDo6ZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoKQoreworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBs
YXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkpOworfQorCiAj
aWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpoYXNNZWRp
YVNlc3Npb25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sIHN0YXRlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKaW5kZXggNjg0MDYzNzlkYjRlZjU0YjRiMWY2MzExMDIyMjdhYjBlZDJm
NDBmOS4uYTJkNWU3Y2M0YmYwODNhNDBiMmI1Zjc1YzVhNDc4ZjdlMDU4ODMzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC0yOTcsNiArMjk3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3Vs
ZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBXZWJDb3JlOjpGcmFtZVZpZXcmKSBj
b25zdCBmaW5hbDsKIAogICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzLCB1aW50NjRfdCkgZmluYWw7CisgICAgdm9p
ZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpIGZp
bmFsOwogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdm9pZCBoYXNNZWRpYVNlc3Np
b25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENoYW5nZShib29sKSBmaW5hbDsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMjkyODdlYjcyMjBj
ZmE2MDcwYWVhY2NkZTRiNDg0ODcxMDI2MGMzLi4zZWQ1ZjVmZjIwYzc2NjM1NjIyZDBjYmFiOThh
NzQ0Njc3M2RmYzQzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDEtMjQgIE1hdHQgUmFqY2EgIDxtcmFqY2FA
YXBwbGUuY29tPgorCisgICAgICAgIE5vdGlmeSBjbGllbnRzIHdoZW4gdGhlIHVzZXIgcGxheXMg
bWVkaWEgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIGF1dG9wbGF5aW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczOTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2Ev
V2Vic2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBs
YXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lmg6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtUZXN0V0tXZWJWaWV3SG9zdFdp
bmRvdyBfbW91c2VVcEF0UG9pbnQ6XSk6CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXcgd2FpdEZv
ckxvYWRdKToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlldyBtb3VzZVVwQXRQb2ludDpdKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMpOgorCiAyMDE3LTAxLTIzICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBh
dXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmOGY5YzY5OGNiY2I3MWM2NTQ1ZThiNTFjNGM0M2NhMGYxNDllOTk2Li44NWI1MDM2MjA1
NDlmNmQ2MTA5OTA1YzBkNWYzZDczNzQ5OWNiNjA0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNTA5LDYgKzUwOSw5IEBACiAJCUM5NTk4NEY0MUUzNkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxh
eS1jaGVjay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM5NTk4NEYyMUUzNkJDNTUwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1s
ICovOyB9OwogCQlDOTU5ODRGNTFFMzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8t
Y2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hl
Y2suaHRtbCAqLzsgfTsKIAkJQzk1OTg0RjcxRTM2QkNFRjAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91
dC1hdWRpby10cmFjay5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91dC1h
dWRpby10cmFjay5tcDQgKi87IH07CisJCUM5OUI2NzVDMUUzOTcyMUEwMEZDNkM4MCAvKiBhdXRv
cGxheS13aXRoLWNvbnRyb2xzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzk5QjY3NUExRTM5NzFGQzAwRkM2QzgwIC8qIGF1dG9wbGF5
LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKKwkJQzk5QjY3NUQxRTM5NzIyMDAwRkM2QzgwIC8q
IGpzLXBsYXktd2l0aC1jb250cm9scy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5OUI2NzVCMUUzOTcxRkMwMEZDNkM4MCAvKiBqcy1w
bGF5LXdpdGgtY29udHJvbHMuaHRtbCAqLzsgfTsKKwkJQzk5QjY3NUYxRTM5NzM2RjAwRkM2Qzgw
IC8qIG5vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTlCNjc1RTFFMzk3MzVDMDBGQzZDODAg
Lyogbm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovOyB9OwogCQlDRDU5RjUzNDE5RTkx
MTBEMDBDRjE4MzUgLyogZmlsZS13aXRoLW1zZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTlGNTMyMTlFOTEwQUEwMENGMTgzNSAv
KiBmaWxlLXdpdGgtbXNlLmh0bWwgKi87IH07CiAJCUNENTlGNTM1MTlFOTExMEQwMENGMTgzNSAv
KiB0ZXN0LW1zZS5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0Q1OUY1MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRlc3QtbXNlLm1wNCAqLzsg
fTsKIAkJQ0Q3OEUxMUQxREI3RUE2NjAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5EZWxlZ2F0ZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENzhFMTFBMURC
N0VBMzYwMDE0QTJERSAvKiBGdWxsc2NyZWVuRGVsZWdhdGUubW0gKi87IH07CkBAIC02MDcsNiAr
NjEwLDkgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNlczsKIAkJCWRzdFN1
YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJQzk5QjY3NUYxRTM5NzM2RjAwRkM2
QzgwIC8qIG5vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKKwkJCQlDOTlCNjc1RDFFMzk3MjIwMDBGQzZDODAgLyoganMtcGxheS13aXRoLWNvbnRyb2xz
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJQzk5QjY3NUMxRTM5NzIxQTAwRkM2Qzgw
IC8qIGF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CQlDOTU5ODRGNzFFMzZCQ0VGMDAyQzBENDUgLyogdGVzdC13aXRob3V0LWF1ZGlvLXRyYWNrLm1w
NCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDOTU5ODRGNDFFMzZCQzZCMDAyQzBENDUgLyog
YXV0b3BsYXktY2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDOTU5ODRGNTFF
MzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLywKQEAgLTEyNzQsNiArMTI4MCw5IEBACiAJCUM5NTk4NEYyMUUzNkJDNTUwMDJD
MEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0g
ImF1dG9wbGF5LWNoZWNrLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOTU5
ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhdXRvcGxheS1uby1hdWRpby1jaGVjay5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8q
IHRlc3Qtd2l0aG91dC1hdWRpby10cmFjay5tcDQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gInRlc3Qtd2l0aG91dC1hdWRpby10
cmFjay5tcDQiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDOTlCNjc1QTFFMzk3MUZD
MDBGQzZDODAgLyogYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5o
dG1sOyBwYXRoID0gImF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUM5OUI2NzVCMUUzOTcxRkMwMEZDNkM4MCAvKiBqcy1wbGF5LXdpdGgt
Y29udHJvbHMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJqcy1wbGF5LXdpdGgt
Y29udHJvbHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM5OUI2NzVFMUUz
OTczNUMwMEZDNkM4MCAvKiBuby1hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSAibm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QyMjVDMDcxQzQ1QTY5MjAwMTQwNzYxIC8qIFBh
cnNlZENvbnRlbnRSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBQYXJzZWRDb250ZW50UmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDUzOTNDNzE3NTdCQTk3MDBDMDcxMjMgLyogTUQ1LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1ENS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNE
NTM5M0M5MTc1N0JBQzQwMEMwNzEyMyAvKiBTSEExLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNIQTEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTk2MSw2ICsxOTcwLDcgQEAKIAkJCQk3NkUxODJERTE1NDc1QTgzMDBGMUZBREQgLyogYXV0by1z
dWJtaXR0aW5nLWZvcm0uaHRtbCAqLywKIAkJCQlDOTU5ODRGMjFFMzZCQzU1MDAyQzBENDUgLyog
YXV0b3BsYXktY2hlY2suaHRtbCAqLywKIAkJCQlDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyog
YXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLywKKwkJCQlDOTlCNjc1QTFFMzk3MUZDMDBG
QzZDODAgLyogYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovLAogCQkJCTdDNDg2QkEwMUFB
MTI1NEIwMDNGNkY5QiAvKiBidW5kbGUtZmlsZS5odG1sICovLAogCQkJCTlCRDQyMzlCMUUwNEJG
RDAwMDIwMDM5NSAvKiBjaGluZXNlLWNoYXJhY3Rlci13aXRoLWltYWdlLmh0bWwgKi8sCiAJCQkJ
MUE1MEFBMUYxQTJBNEVBNTAwRjRDMzQ1IC8qIGNsb3NlLWZyb20td2l0aGluLWNyZWF0ZS1wYWdl
Lmh0bWwgKi8sCkBAIC0xOTgxLDYgKzE5OTEsNyBAQAogCQkJCTRBNDEwRjREMTlBRjdCRUYwMDJF
QkFCNSAvKiBnZXRVc2VyTWVkaWEuaHRtbCAqLywKIAkJCQlCQ0JEMzcyRTEyNUFCQkU2MDBEMkMy
OUYgLyogaWNvbi5wbmcgKi8sCiAJCQkJQ0UzNTI0RjUxQjE0MkJCQjAwMjhBN0M1IC8qIGlucHV0
LWZvY3VzLWJsdXIuaHRtbCAqLywKKwkJCQlDOTlCNjc1QjFFMzk3MUZDMDBGQzZDODAgLyoganMt
cGxheS13aXRoLWNvbnRyb2xzLmh0bWwgKi8sCiAJCQkJODM0OUQzQzMxREI5NzI0RjAwNEE5RjY1
IC8qIGxpbmstd2l0aC1kb3dubG9hZC1hdHRyaWJ1dGUuaHRtbCAqLywKIAkJCQkzNzhFNjQ3ODE2
MzI2RkRGMDBCNkM2NzYgLyogbGluay13aXRoLXRpdGxlLmh0bWwgKi8sCiAJCQkJOTM2MTAwMjgx
NERDOTU3QjAwNjEzNzlEIC8qIGxvdHMtb2YtaWZyYW1lcy5odG1sICovLApAQCAtMTk5MSw2ICsy
MDAyLDcgQEAKIAkJCQk1MUNEMUM3MTFCMzhENDg0MDAxNDJDQTUgLyogbW9kYWwtYWxlcnRzLWlu
LW5ldy1hYm91dC1ibGFuay13aW5kb3cuaHRtbCAqLywKIAkJCQk3QTE0NThGQjFBRDVDMDM1MDBF
MDY3NzIgLyogbW91c2UtYnV0dG9uLWxpc3RlbmVyLmh0bWwgKi8sCiAJCQkJMzNFNzlFMDUxMzdC
NUZDRTAwRTMyRDk5IC8qIG1vdXNlLW1vdmUtbGlzdGVuZXIuaHRtbCAqLywKKwkJCQlDOTlCNjc1
RTFFMzk3MzVDMDBGQzZDODAgLyogbm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sICovLAog
CQkJCUNFQTZDRjI3MTlDQ0Y2OUQwMDY0RjVBNyAvKiBvcGVuLWFuZC1jbG9zZS13aW5kb3cuaHRt
bCAqLywKIAkJCQlGNkZERERENTE0MjQxQzQ4MDA0RjE3MjkgLyogcHVzaC1zdGF0ZS5odG1sICov
LAogCQkJCUNFQkFCRDQ4MUI3MTY4N0MwMDUxMjEwQSAvKiBzaG91bGQtb3Blbi1leHRlcm5hbC1z
Y2hlbWVzLmh0bWwgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL2F1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjgw
YTY1NzhlZWExZTQ5MTExNTQ0NmExMGFiYTUyNWQ4ZjU3MDUyCi0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL2F1dG9wbGF5LXdpdGgtY29udHJvbHMu
aHRtbApAQCAtMCwwICsxLDE5IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIHBhZ2VMb2FkZWQoKSB7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMu
dGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoImxvYWRlZCIpOworICAgICAgICAgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHBsYXkoKSB7
CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZpZGVvIikucGxheSgp
OworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHkgb25sb2FkPSJwYWdlTG9hZGVkKCkiPgorICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InBsYXko
KSI+UGxheTwvYnV0dG9uPgorICAgICAgICA8dmlkZW8gaWQ9InZpZGVvIiBhdXRvcGxheSBzcmM9
InRlc3QubXA0IiAvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kYTljYjFjMDdmMWZkZGEzOTIxMDUxZjgwNzkzNjcyOGM0YTliMzUzCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL2pzLXBs
YXktd2l0aC1jb250cm9scy5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gcGFnZUxvYWRlZCgpIHsK
KyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlkZW8iKS5wbGF5KCk7
CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LndlYmtp
dC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoImxvYWRlZCIpOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHBsYXkoKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInZpZGVvIikucGxheSgpOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJwYWdlTG9hZGVkKCkiPgorICAgICAgICA8YnV0
dG9uIG9uY2xpY2s9InBsYXkoKSI+UGxheTwvYnV0dG9uPgorICAgICAgICA8dmlkZW8gaWQ9InZp
ZGVvIiBzcmM9InRlc3QubXA0IiAvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9uby1hdXRvcGxheS13aXRoLWNvbnRy
b2xzLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvbm8tYXV0b3BsYXkt
d2l0aC1jb250cm9scy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3NmJhYzIwNTA3YjMxMWY3YmM5YzdmYzUz
MThjM2MwNjdlODNkNjcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvbm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sCkBAIC0wLDAgKzEsMjUg
QEAKKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVu
Y3Rpb24gcGFnZUxvYWRlZCgpIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVz
c2FnZSgibG9hZGVkIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gYmVnYW5QbGF5aW5nKCkgeworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhh
bmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJwbGF5ZWQiKTsKKyAgICAgICAgICAgICAg
ICB9IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBw
bGF5KCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2aWRlbyIp
LnBsYXkoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5IG9ubG9hZD0icGFnZUxvYWRlZCgpIj4KKyAgICAgICAgPGJ1dHRvbiBvbmNsaWNr
PSJwbGF5KCkiPlBsYXk8L2J1dHRvbj4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlbyIgb25wbGF5
aW5nPWJlZ2FuUGxheWluZygpIHNyYz0idGVzdC5tcDQiIC8+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vi
c2l0ZVBvbGljaWVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2Ev
V2Vic2l0ZVBvbGljaWVzLm1tCmluZGV4IGQ1ODhiNTI2YmI4ZmIyNWQyNzNiOTc2Y2UzNTdkMGIw
NjM4ZDcxMGMuLmM5MDFiOGFhOTU5YjEzOTEzYzZkMzk4ZWE2ZjJmNzY3MDgyNDY0ZjQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQb2xp
Y2llcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJz
aXRlUG9saWNpZXMubW0KQEAgLTM5LDYgKzM5LDEwIEBACiAKICNpZiBXS19BUElfRU5BQkxFRAog
CitAaW50ZXJmYWNlIFdLV2ViVmlldyAoKQorLSAoV0tQYWdlUmVmKV9wYWdlRm9yVGVzdGluZzsK
K0BlbmQKKwogc3RhdGljIGJvb2wgZG9uZUNvbXBpbGluZzsKIHN0YXRpYyBib29sIHJlY2VpdmVk
QWxlcnQ7CiBzdGF0aWMgc2l6ZV90IGFsZXJ0Q291bnQ7CkBAIC0yMTMsNCArMjE3LDU5IEBAIFRF
U1QoV2ViS2l0MiwgV2Vic2l0ZVBvbGljaWVzQXV0b3BsYXlFbmFibGVkKQogICAgIFt3ZWJWaWV3
IHdhaXRGb3JNZXNzYWdlOkAiYXV0b3BsYXllZCJdOwogfQogCisjaWYgUExBVEZPUk0oTUFDKQor
c3RhdGljIHZvaWQgZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdl
c3R1cmUoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgcmVj
ZWl2ZWRBbGVydCA9IHRydWU7Cit9CisKK1RFU1QoV2ViS2l0MiwgV2Vic2l0ZVBvbGljaWVzUGxh
eUFmdGVyUHJldmVudGVkQXV0b3BsYXkpCit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRv
cHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01h
a2VSZWN0KDAsIDAsIDMzNiwgMjc2KSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCld
KTsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbQXV0b3BsYXlQb2xpY2llc0RlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CisgICAgW2RlbGVnYXRlIHNldEF1dG9wbGF5UG9saWN5Ol9XS1dl
YnNpdGVBdXRvcGxheVBvbGljeURlbnldOworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxl
Z2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBXS1BhZ2VVSUNsaWVudFY4IHVpQ2xpZW50Owor
ICAgIG1lbXNldCgmdWlDbGllbnQsIDAsIHNpemVvZih1aUNsaWVudCkpOworCisgICAgdWlDbGll
bnQuYmFzZS52ZXJzaW9uID0gODsKKyAgICB1aUNsaWVudC5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRG
cm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSA9IGRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21Q
bGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlOworCisgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFt3
ZWJWaWV3IF9wYWdlRm9yVGVzdGluZ10sICZ1aUNsaWVudC5iYXNlKTsKKyAgICBOU1BvaW50IHBs
YXlCdXR0b25DbGlja1BvaW50ID0gTlNNYWtlUG9pbnQoMjAsIDI1Nik7CisKKyAgICByZWNlaXZl
ZEFsZXJ0ID0gZmFsc2U7CisgICAgTlNVUkxSZXF1ZXN0ICpqc1BsYXlSZXF1ZXN0ID0gW05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291
cmNlOkAianMtcGxheS13aXRoLWNvbnRyb2xzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGly
ZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6anNQbGF5UmVxdWVzdF07CisgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJsb2Fk
ZWQiXTsKKyAgICBbd2ViVmlldyBtb3VzZURvd25BdFBvaW50OnBsYXlCdXR0b25DbGlja1BvaW50
IHNpbXVsYXRlUHJlc3N1cmU6Tk9dOworICAgIFt3ZWJWaWV3IG1vdXNlVXBBdFBvaW50OnBsYXlC
dXR0b25DbGlja1BvaW50XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVk
QWxlcnQpOworCisgICAgcmVjZWl2ZWRBbGVydCA9IGZhbHNlOworICAgIFt3ZWJWaWV3IGxvYWRI
VE1MU3RyaW5nOkAiIiBiYXNlVVJMOm5pbF07CisKKyAgICBOU1VSTFJlcXVlc3QgKmF1dG9wbGF5
UmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBVUkxGb3JSZXNvdXJjZTpAImF1dG9wbGF5LXdpdGgtY29udHJvbHMiIHdpdGhFeHRlbnNp
b246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAg
ICBbd2ViVmlldyBsb2FkUmVxdWVzdDphdXRvcGxheVJlcXVlc3RdOworICAgIFt3ZWJWaWV3IHdh
aXRGb3JNZXNzYWdlOkAibG9hZGVkIl07CisgICAgW3dlYlZpZXcgbW91c2VEb3duQXRQb2ludDpw
bGF5QnV0dG9uQ2xpY2tQb2ludCBzaW11bGF0ZVByZXNzdXJlOk5PXTsKKyAgICBbd2ViVmlldyBt
b3VzZVVwQXRQb2ludDpwbGF5QnV0dG9uQ2xpY2tQb2ludF07CisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZyZWNlaXZlZEFsZXJ0KTsKKworICAgIHJlY2VpdmVkQWxlcnQgPSBmYWxzZTsK
KyAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpAIiIgYmFzZVVSTDpuaWxdOworCisgICAgTlNV
UkxSZXF1ZXN0ICpub0F1dG9wbGF5UmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIm5vLWF1dG9wbGF5LXdp
dGgtY29udHJvbHMiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2Vi
S2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpub0F1dG9wbGF5
UmVxdWVzdF07CisgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJsb2FkZWQiXTsKKyAgICBb
d2ViVmlldyBtb3VzZURvd25BdFBvaW50OnBsYXlCdXR0b25DbGlja1BvaW50IHNpbXVsYXRlUHJl
c3N1cmU6Tk9dOworICAgIFt3ZWJWaWV3IG1vdXNlVXBBdFBvaW50OnBsYXlCdXR0b25DbGlja1Bv
aW50XTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAInBsYXllZCJdOworICAgIEFTU0VS
VF9GQUxTRShyZWNlaXZlZEFsZXJ0KTsKK30KKyNlbmRpZgorCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3LmgKaW5kZXggYTFlODI3MDI2NmJlNWVlNDUzM2Nm
NTJjYzQ0ZjY5MTc2MDQwODY1MS4uZTM4MzVjNGExOThiNmNkNmE3YjQ2MDc3YjhkZGI1ZjliYjkz
MTFjYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3
LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3LmgKQEAgLTQ0
LDYgKzQ0LDcgQEAKIEBpbnRlcmZhY2UgVGVzdFdLV2ViVmlldyAoTWFjT25seSkKIC8vIFNpbXVs
YXRlcyBjbGlja2luZyB3aXRoIGEgcHJlc3N1cmUtc2Vuc2l0aXZlIGRldmljZSwgaWYgcG9zc2li
bGUuCiAtICh2b2lkKW1vdXNlRG93bkF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgc2ltdWxhdGVQcmVz
c3VyZTooQk9PTClzaW11bGF0ZVByZXNzdXJlOworLSAodm9pZCltb3VzZVVwQXRQb2ludDooTlNQ
b2ludClwb2ludDsKIC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hhciljaGFyYWN0ZXI7CiBAZW5k
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2Vi
Vmlldy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQppbmRl
eCAyYmNlMjBmMWJhZDNlYjhiMjE2ZWNjNjExOGU5ZjQzYmM1MTI0YmYyLi5kYmY3ZTdiMzk1Y2I0
MGY2MDFmZTRkZmQ4YmRmNmI0ZGExYzk5NDFiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2Nv
YS9UZXN0V0tXZWJWaWV3Lm1tCkBAIC0xMjAsNiArMTIwLDExIEBAIC0gKHZvaWQpX21vdXNlRG93
bkF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgc2ltdWxhdGVQcmVzc3VyZTooQk9PTClzaW11bGF0ZVBy
ZXNzdXJlCiAgICAgfQogI2VuZGlmCiB9CisKKy0gKHZvaWQpX21vdXNlVXBBdFBvaW50OihOU1Bv
aW50KXBvaW50Cit7CisgICAgW3NlbGYgc2VuZEV2ZW50OltOU0V2ZW50IG1vdXNlRXZlbnRXaXRo
VHlwZTpOU0V2ZW50VHlwZUxlZnRNb3VzZVVwIGxvY2F0aW9uOnBvaW50IG1vZGlmaWVyRmxhZ3M6
MCB0aW1lc3RhbXA6R2V0Q3VycmVudEV2ZW50VGltZSgpIHdpbmRvd051bWJlcjpzZWxmLndpbmRv
d051bWJlciBjb250ZXh0OltOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gZXZlbnRO
dW1iZXI6KytnRXZlbnROdW1iZXIgY2xpY2tDb3VudDoxIHByZXNzdXJlOjBdXTsKK30KICNlbmRp
ZiAvLyBQTEFURk9STShNQUMpCiAKIC0gKEJPT0wpaXNLZXlXaW5kb3cKQEAgLTI1MCw2ICsyNTUs
MTEgQEAgLSAodm9pZCltb3VzZURvd25BdFBvaW50OihOU1BvaW50KXBvaW50IHNpbXVsYXRlUHJl
c3N1cmU6KEJPT0wpc2ltdWxhdGVQcmVzc3VyZQogICAgIFtfaG9zdFdpbmRvdyBfbW91c2VEb3du
QXRQb2ludDpwb2ludCBzaW11bGF0ZVByZXNzdXJlOnNpbXVsYXRlUHJlc3N1cmVdOwogfQogCist
ICh2b2lkKW1vdXNlVXBBdFBvaW50OihOU1BvaW50KXBvaW50Cit7CisgICAgW19ob3N0V2luZG93
IF9tb3VzZVVwQXRQb2ludDpwb2ludF07Cit9CisKIC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hh
ciljaGFyYWN0ZXIgewogICAgIE5TU3RyaW5nICpjaGFyYWN0ZXJBc1N0cmluZyA9IFtOU1N0cmlu
ZyBzdHJpbmdXaXRoRm9ybWF0OkAiJWMiICwgY2hhcmFjdGVyXTsKICAgICBOU0V2ZW50VHlwZSBr
ZXlEb3duRXZlbnRUeXBlID0gTlNFdmVudFR5cGVLZXlEb3duOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAzYWYyMTk3ZWM3NTQ0YzM2MTBmMjcxZjc1NGU0
NDA4NmJmZjYxMzUzLi4yNTE1MjFhOGFkOGYxMjcwZWFhN2ViZTZjYjEzOGUyN2EyYTVjMDg0IDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMjc5LDYgKzI3
OSw3IEBAIFdLUGFnZVJlZiBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJl
ZiBvbGRQYWdlLCBXS1BhZ2VDb25maWd1cmF0aW9uCiAgICAgICAgIDAsIC8vIGZ1bGxzY3JlZW5N
YXlSZXR1cm5Ub0lubGluZQogICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2ssCiAgICAgICAgIDAs
CisgICAgICAgIDAsIC8vIGRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVz
ZXJHZXN0dXJlCiAgICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobmV3UGFnZSwgJm90
aGVyUGFnZVVJQ2xpZW50LmJhc2UpOwogICAgIApAQCAtNTUxLDYgKzU1Miw3IEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYg
b3B0aW9ucykKICAgICAgICAgMCwgLy8gZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lCiAgICAg
ICAgIHJlcXVlc3RQb2ludGVyTG9jaywKICAgICAgICAgMCwKKyAgICAgICAgMCwgLy8gZGlkUGxh
eU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUKICAgICB9OwogICAg
IFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlVUlDbGll
bnQuYmFzZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299820</attachid>
            <date>2017-01-26 11:05:56 -0800</date>
            <delta_ts>2017-01-26 12:42:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167390-20170126110353.patch</filename>
            <type>text/plain</type>
            <size>32781</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRjNzlkZWNkZDcwM2Zh
MjEyMjI0YTJjM2UzNmJiNDJlNjM4NjkxMi4uZTRmMWYxN2FlYzZmODM3YTUwODFmZGE3NzRhYzdl
YjFmMTAwZThhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAxLTI0ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBOb3RpZnkgY2xpZW50cyB3aGVu
IHRoZSB1c2VyIHBsYXlzIG1lZGlhIG90aGVyd2lzZSBwcmV2ZW50ZWQgZnJvbSBhdXRvcGxheWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3Mzkw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIEFQ
SSBpcyB0ZXN0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheUludGVybmFsKToKKyAgICAgICAg
KiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2ll
cyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNkYTc3ZDg0NTBkMDYzNTkxZTY1MTk2
NDJmYWFiYzg3YjM0N2E0MGIuLmUyYjg2ZGIxMTZjZGIzMTE5MjUxMTIxOWJkYTE1YTZlNmQ2Mjdk
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNy0wMS0yNCAgTWF0dCBSYWpjYSAg
PG1yYWpjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTm90aWZ5IGNsaWVudHMgd2hlbiB0aGUgdXNl
ciBwbGF5cyBtZWRpYSBvdGhlcndpc2UgcHJldmVudGVkIGZyb20gYXV0b3BsYXlpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzM5MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElVSUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6ZGlkUGxheU1lZGlhUHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0UGFnZVVJQ2xpZW50KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OmRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDE3LTAxLTIzICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNz
IGRvd24gd2Vic2l0ZSBhdXRvcGxheSBwb2xpY2llcyB0byBtZWRpYSBlbGVtZW50cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNjA3NGNjMzI5Mjg0ZTZhNWYy
ZDdhOTY1ODFhNDk1NGQxYmQzZGJjYi4uMDI1MGYxYTA2YmFhYWJhYTFiMGY2NDhhNTUyMDE4NGE4
ZDNmYjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0z
MTY3LDcgKzMxNjcsOCBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnBsYXlJbnRlcm5hbCgpCiAg
ICAgICAgIHNjaGVkdWxlUmVzb2x2ZVBlbmRpbmdQbGF5UHJvbWlzZXMoKTsKIAogICAgIGlmIChT
Y3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpICYmIG1fcHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpIHsKLSAgICAgICAgLy8gRklYTUU6
IG5vdGlmeSBjbGllbnRzIGEgdXNlciBnZXN0dXJlIHdhcyBtYWRlIGFuZCBzdGFydGVkIHBsYXli
YWNrIG9mIGFuIGVsZW1lbnQgdGhhdCB3YXMgb3RoZXJ3aXNlIHByZXZlbnRlZCBmcm9tIHBsYXlp
bmcuCisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkpCisgICAgICAg
ICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5kaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxh
eWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpOwogICAgICAgICBtX3ByZXZlbnRlZEZyb21QbGF5aW5n
V2l0aG91dFVzZXJHZXN0dXJlID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAppbmRleCBiMTM4ZmQ3ZTdhNjVkNTA3NjVkNWQyZTA2ZDczOGVlZjJlMDkxZWIwLi4x
YTQyOThjNTAzY2JmNTY3NzdjMzRkYTZiOTFhMjQyMjk1YTQ5NmE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKQEAgLTQyMCw2ICs0MjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGlzUGxheWluZ01lZGlh
RGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRV
c2VyR2VzdHVyZSgpIHsgfQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdmlydHVh
bCB2b2lkIGhhc01lZGlhU2Vzc2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzRGlkQ2hhbmdlKGJv
b2wpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4
IDkxODZkZTI0NTQwYzhmOGY5NmNmY2U5ODU1OWNmZjVmMDNlZWNlMGYuLjQ0YTNlMjJlZmZlMmQ3
ZTA0NGRmZDE4YTUxYWYxMDQxNmFkM2VhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVVJQ2xpZW50LmgKQEAgLTE1Miw2ICsxNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luQ2FwdHVyZVNlc3Npb24oKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkRW5kQ2FwdHVyZVNlc3Npb24oKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkmKSB7IH0KIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSYsIFdlYktpdDo6V2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEqKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNzExNzEwNjg3MWM0Y2UzZGQ0ZjRlZjY4
MWQxNWRmNjAxNWZlOTc0Ny4uMzQ1YTA0ZDZkZjQ3NTdmOTUzYjYxYjg3MzczNDY4Y2VjYTM4MmY0
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTEwOSw3
ICsxMDksNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tQYWdlUG9saWN5Q2xp
ZW50QmFzZT4gewogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZVVJ
Q2xpZW50QmFzZT4gewotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VVSUNsaWVudFYwLCBX
S1BhZ2VVSUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1BhZ2VVSUNsaWVudFYzLCBXS1Bh
Z2VVSUNsaWVudFY0LCBXS1BhZ2VVSUNsaWVudFY1LCBXS1BhZ2VVSUNsaWVudFY2LCBXS1BhZ2VV
SUNsaWVudFY3LCBXS1BhZ2VVSUNsaWVudFY4PiBWZXJzaW9uczsKKyAgICB0eXBlZGVmIHN0ZDo6
dHVwbGU8V0tQYWdlVUlDbGllbnRWMCwgV0tQYWdlVUlDbGllbnRWMSwgV0tQYWdlVUlDbGllbnRW
MiwgV0tQYWdlVUlDbGllbnRWMywgV0tQYWdlVUlDbGllbnRWNCwgV0tQYWdlVUlDbGllbnRWNSwg
V0tQYWdlVUlDbGllbnRWNiwgV0tQYWdlVUlDbGllbnRWNywgV0tQYWdlVUlDbGllbnRWOCwgV0tQ
YWdlVUlDbGllbnRWOT4gVmVyc2lvbnM7CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
CkBAIC0yMjM1LDYgKzIyMzUsMTQgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQYWdl
UmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVVJQ2xpZW50QmFzZSogd2tDbGllbnQKICAgICAgICAg
ICAgIG1fY2xpZW50LmRpZExvc2VQb2ludGVyTG9jayh0b0FQSShwYWdlKSwgbV9jbGllbnQuYmFz
ZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogI2VuZGlmCisKKyAgICAgICAgdm9pZCBkaWRQbGF5
TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZShXZWJQYWdlUHJveHkm
IHBhZ2UpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQuZGlk
UGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUpCisgICAgICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBtX2NsaWVudC5kaWRQbGF5TWVkaWFQcmV2
ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSh0b0FQSSgmcGFnZSksIG1fY2xpZW50
LmJhc2UuY2xpZW50SW5mbyk7CisgICAgICAgIH0KICAgICB9OwogCiAgICAgdG9JbXBsKHBhZ2VS
ZWYpLT5zZXRVSUNsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFVJQ2xpZW50Pih3a0NsaWVudCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAppbmRl
eCAyOWI4ZTEwYWJjY2I0MDk5MmIwZGU3MDQ3OWQzZDQxYjZlZmQ2ZWIzLi4yMWY1MWE4ODIzMDM3
MTZkMjlkMjk2OThlOTE0YjNjOTFiYTIwZDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaApAQCAtMTAyLDYgKzEwMiw3IEBAIHR5cGVkZWYg
dm9pZCAoKldLUGFnZURlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Q2Fs
bGJhY2spKFdLUGFnZVJlCiB0eXBlZGVmIHZvaWQgKCpXS0NoZWNrVXNlck1lZGlhUGVybWlzc2lv
bkNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tTZWN1cml0eU9y
aWdpblJlZiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiwgV0tTZWN1cml0eU9yaWdpblJlZiB0b3BM
ZXZlbERvY3VtZW50T3JpZ2luLCBXS1VzZXJNZWRpYVBlcm1pc3Npb25DaGVja1JlZiBkZXZpY2Vz
UmVxdWVzdCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VE
aWRDbGlja0F1dG9GaWxsQnV0dG9uQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1R5cGVSZWYg
dXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdl
TWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdL
TWVkaWFTZXNzaW9uTWV0YWRhdGFSZWYgbWV0YWRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwordHlwZWRlZiB2b2lkICgqV0tEaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhv
dXRVc2VyR2VzdHVyZSkoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwog
dHlwZWRlZiB2b2lkICgqV0tGdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmVDYWxsYmFjaykoV0tQ
YWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiB0eXBlZGVmIHZvaWQgKCpX
S1JlcXVlc3RQb2ludGVyTG9ja0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7CkBAIC03MjYsNiArNzI3LDk3IEBAIHR5cGVkZWYgc3RydWN0IFdLUGFnZVVJ
Q2xpZW50VjggewogICAgIFdLUmVxdWVzdFBvaW50ZXJMb2NrQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBvaW50ZXJMb2NrOwogICAgIFdLRGlk
TG9zZVBvaW50ZXJMb2NrQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkTG9zZVBvaW50ZXJMb2NrOwogfSBXS1BhZ2VVSUNsaWVudFY4OworCit0eXBlZGVm
IHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY5IHsKKyAgICBXS1BhZ2VVSUNsaWVudEJhc2UgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U7CisKKyAgICAv
LyBWZXJzaW9uIDAuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjA7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93UGFnZTsKKyAgICBXS1BhZ2VVSUNsaWVudENh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3Nl
OworICAgIFdLUGFnZVRha2VGb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGFrZUZvY3VzOworICAgIFdLUGFnZUZvY3VzQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXM7CisgICAg
V0tQYWdlVW5mb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bmZvY3VzOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNr
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0X2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxs
YmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmly
bV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRD
YWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICAgcnVuSmF2YVNjcmlwdFBy
b21wdF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVNldFN0YXR1c1RleHRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdHVzVGV4
dDsKKyAgICBXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNrX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50X2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjA7CisgICAgV0tQYWdlTWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFja19k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXBy
ZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZURpZE5vdEhhbmRsZUtleUV2ZW50Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTm90SGFuZGxlS2V5RXZlbnQ7
CisgICAgV0tQYWdlRGlkTm90SGFuZGxlV2hlZWxFdmVudENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVXaGVlbEV2ZW50OworICAgIFdLUGFnZUdldFRv
b2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dG9vbGJhcnNBcmVWaXNpYmxlOworICAgIFdLUGFnZVNldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VG9vbGJhcnNBcmVWaXNpYmxl
OworICAgIFdLUGFnZUdldE1lbnVCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWVudUJhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRNZW51QmFy
SXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1l
bnVCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlR2V0U3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNCYXJJc1Zpc2libGU7CisgICAg
V0tQYWdlU2V0U3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZXRTdGF0dXNCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlR2V0SXNSZXNpemFi
bGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Jlc2l6
YWJsZTsKKyAgICBXS1BhZ2VTZXRJc1Jlc2l6YWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNldElzUmVzaXphYmxlOworICAgIFdLUGFnZUdldFdpbmRv
d0ZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0
V2luZG93RnJhbWU7CisgICAgV0tQYWdlU2V0V2luZG93RnJhbWVDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRXaW5kb3dGcmFtZTsKKyAgICBXS1BhZ2VS
dW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY2
ICAgIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbF9kZXByZWNhdGVkRm9yVXNlV2l0aFY2Owor
ICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkRHJhdzsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEaWRTY3JvbGw7Cisg
ICAgV0tQYWdlRXhjZWVkZWREYXRhYmFzZVF1b3RhQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBleGNlZWRlZERhdGFiYXNlUXVvdGE7CisgICAgV0tQYWdlUnVuT3BlblBh
bmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5P
cGVuUGFuZWw7CisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdENhbGxiYWNrICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0OworICAgIFdLUGFnZUhlYWRlckhlaWdodENhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVySGVpZ2h0OworICAgIFdLUGFnZUZv
b3RlckhlaWdodENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZm9vdGVySGVpZ2h0OworICAgIFdLUGFnZURyYXdIZWFkZXJDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0hlYWRlcjsKKyAgICBXS1BhZ2VE
cmF3Rm9vdGVyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRyYXdGb290ZXI7CisgICAgV0tQYWdlUHJpbnRGcmFtZUNhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludEZyYW1lOworICAgIFdLUGFnZVVJ
Q2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcnVuTW9kYWw7CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQxOyAvLyBVc2VkIHRvIGJlIGRpZENv
bXBsZXRlUnViYmVyQmFuZEZvck1haW5GcmFtZQorICAgIFdLUGFnZVNhdmVEYXRhVG9GaWxlSW5E
b3dubG9hZHNGb2xkZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgc2F2ZURhdGFUb0Zp
bGVJbkRvd25sb2Fkc0ZvbGRlcjsKKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEludGVycnVwdEphdmFT
Y3JpcHRfdW5hdmFpbGFibGU7CisKKyAgICAvLyBWZXJzaW9uIDEuCisgICAgV0tQYWdlQ3JlYXRl
TmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgICAgICAgICAgICAgICAgICBj
cmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisgICAgV0tQYWdlTW91c2VEaWRN
b3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3Vz
ZURpZE1vdmVPdmVyRWxlbWVudDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0
dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgdW5hdmFpbGFibGVQbHVn
aW5CdXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisKKyAgICAvLyBWZXJzaW9u
IDIuCisgICAgV0tQYWdlU2hvd0NvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzaG93Q29sb3JQaWNrZXI7CisgICAgV0tQYWdlSGlkZUNvbG9y
UGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRl
Q29sb3JQaWNrZXI7CisgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNr
ZWQ7CisKKyAgICAvLyBWZXJzaW9uIDMuCisgICAgV0tQYWdlUGlubmVkU3RhdGVEaWRDaGFuZ2VD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5uZWRTdGF0ZURpZENo
YW5nZTsKKworICAgIC8vIFZlcnNpb24gNC4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDI7IC8vIFVz
ZWQgdG8gYmUgZGlkQmVnaW5UcmFja2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzLgorICAgIHZv
aWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW51c2VkMzsgLy8gVXNlZCB0byBiZSBkaWRSZWNvZ25pemVMb25nTW91c2VQcmVz
cy4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVudXNlZDQ7IC8vIFVzZWQgdG8gYmUgZGlkQ2FuY2VsVHJhY2tp
bmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcy4KKyAgICBXS1BhZ2VJc1BsYXlpbmdBdWRpb0RpZENo
YW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUGxheWluZ0F1ZGlv
RGlkQ2hhbmdlOworCisgICAgLy8gVmVyc2lvbiA1LgorICAgIFdLUGFnZURlY2lkZVBvbGljeUZv
clVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgICAgZGVjaWRlUG9s
aWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdlRGlkQ2xpY2tBdXRv
RmlsbEJ1dHRvbkNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDbGlj
a0F1dG9GaWxsQnV0dG9uOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0X2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjU7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFj
a19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybV9k
ZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxs
YmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICAgcnVuSmF2YVNjcmlwdFByb21w
dF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFnZU1lZGlhU2Vzc2lvbk1ldGFkYXRh
RGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFTZXNzaW9uTWV0
YWRhdGFEaWRDaGFuZ2U7CisKKyAgICAvLyBWZXJzaW9uIDYuCisgICAgV0tQYWdlQ3JlYXRlTmV3
UGFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVh
dGVOZXdQYWdlOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0OworICAgIFdLUGFn
ZVJ1bkphdmFTY3JpcHRDb25maXJtQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuSmF2YVNjcmlwdENvbmZpcm07CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21w
dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0
UHJvbXB0OworICAgIFdLQ2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2lu
OworCisgICAgLy8gVmVyc2lvbiA3LgorICAgIFdLUGFnZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1Q
YW5lbENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuQmVmb3JlVW5sb2FkQ29u
ZmlybVBhbmVsOworICAgIFdLRnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lOwor
CisgICAgLy8gVmVyc2lvbiA4LgorICAgIFdLUmVxdWVzdFBvaW50ZXJMb2NrQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBvaW50ZXJMb2NrOwor
ICAgIFdLRGlkTG9zZVBvaW50ZXJMb2NrQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkTG9zZVBvaW50ZXJMb2NrOworCisgICAgLy8gVmVyc2lvbiA5Lgor
ICAgIFdLRGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUg
ICAgICAgICAgICAgICAgZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNl
ckdlc3R1cmU7Cit9IFdLUGFnZVVJQ2xpZW50Vjk7CiAgICAgCiAjaWZkZWYgX19jcGx1c3BsdXMK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMmY4MTRj
ZGJmZDc5MTI4ZGRlNzFjY2JiMDU0ZWVhNWFiZDFmNmVkOS4uNWNjNzcyNGJjZmUxZTQyNWU2MTk5
NDFkOTQ5NDkyOGQ0Mjk3NDdhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKQEAgLTY1MjcsNiArNjUyNywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Zm9jdXNl
ZENvbnRlbnRNZWRpYUVsZW1lbnREaWRDaGFuZ2UodWludDY0X3QgZWxlbWVudElEKQogfQogI2Vu
ZGlmCiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWlu
Z1dpdGhvdXRVc2VyR2VzdHVyZSgpCit7CisgICAgbV91aUNsaWVudC0+ZGlkUGxheU1lZGlhUHJl
dmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUoKnRoaXMpOworfQorCiAjaWYgUExB
VEZPUk0oTUFDKQogdm9pZCBXZWJQYWdlUHJveHk6OnJlbW92ZU5hdmlnYXRpb25HZXN0dXJlU25h
cHNob3QoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDc3
MDI4OWEwMzVjZTI4OTI2MGZjODE2MjZmMTQzNGRlMDdjMGU3ZjUuLjI4OGY2ZDMzNTM2ZDBlZGVm
YmNiZTY4ZTI1OTBhNTQzMjk1M2EyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTEwNTgsNiArMTA1OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0FjdGl2
ZUF1ZGlvU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgYm9vbCBoYXNB
Y3RpdmVWaWRlb1N0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZSAmIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXI6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZTsgfQogICAgIFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBtZWRpYVN0YXRlRmxhZ3MoKSBjb25z
dCB7IHJldHVybiBtX21lZGlhU3RhdGU7IH0KKyAgICB2b2lkIGRpZFBsYXlNZWRpYVByZXZlbnRl
ZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCk7CiAKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgdm9pZCB2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZjZhOWQxMDNj
NmI4ZjRmMzQ2NGY3YTUwM2ZkMzNiZjZhZTU5N2YxZS4uNjdlZGFiM2I0ZDQ5NjkxNzg5MDllMjA1
MTgwZGVkNGUzNGNmZGNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC00MzksNiArNDM5LDcgQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZVByb3h5IHsKICNlbmRpZgogCiAgICAgSXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UodW5zaWdu
ZWQgc3RhdGUsIHVpbnQ2NF90IHNvdXJjZUVsZW1lbnRJRCkKKyAgICBEaWRQbGF5TWVkaWFQcmV2
ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZSgpCiAKICNpZiBFTkFCTEUoTUVESUFf
U0VTU0lPTikKICAgICBIYXNNZWRpYVNlc3Npb25XaXRoQWN0aXZlTWVkaWFFbGVtZW50c0RpZENo
YW5nZShib29sIHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDMxZGExNzU2ZWEy
NzM1Yzc0NDBlYmNlYjAzOWY2YmFjZjI3NTFmZTMuLjg0OGU3NjIyYWRkYzkzMDg1NjdlZTE5ZGVi
YTVjZDcxMWQ4YzljMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTEwODQsNiArMTA4
NCwxMSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6aXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoTWVk
aWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YQogICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OklzUGxheWluZ01lZGlhRGlkQ2hhbmdlKHN0YXRlLCBzb3VyY2VFbGVt
ZW50SUQpKTsKIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmRpZFBsYXlNZWRpYVByZXZlbnRl
ZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKCkKK3sKKyAgICBtX3BhZ2Uuc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhv
dXRVc2VyR2VzdHVyZSgpKTsKK30KKwogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogCiB2b2lk
IFdlYkNocm9tZUNsaWVudDo6aGFzTWVkaWFTZXNzaW9uV2l0aEFjdGl2ZU1lZGlhRWxlbWVudHNE
aWRDaGFuZ2UoYm9vbCBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDY4NDA2Mzc5ZGI0
ZWY1NGI0YjFmNjMxMTAyMjI3YWIwZWQyZjQwZjkuLmEyZDVlN2NjNGJmMDgzYTQwYjJiNWY3NWM1
YTQ3OGY3ZTA1ODgzMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMjk3LDYgKzI5Nyw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRVc2VUaWxlZEJhY2tpbmdGb3JGcmFtZVZpZXcoY29u
c3QgV2ViQ29yZTo6RnJhbWVWaWV3JikgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIGlzUGxheWlu
Z01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywg
dWludDY0X3QpIGZpbmFsOworICAgIHZvaWQgZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlp
bmdXaXRob3V0VXNlckdlc3R1cmUoKSBmaW5hbDsKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9O
KQogICAgIHZvaWQgaGFzTWVkaWFTZXNzaW9uV2l0aEFjdGl2ZU1lZGlhRWxlbWVudHNEaWRDaGFu
Z2UoYm9vbCkgZmluYWw7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggYjI5Mjg3ZWI3MjIwY2ZhNjA3MGFlYWNjZGU0YjQ4NDg3MTAyNjBjMy4uM2Vk
NWY1ZmYyMGM3NjYzNTYyMmQwY2JhYjk4YTc0NDY3NzNkZmM0MyAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTAx
LTI0ICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBOb3RpZnkgY2xp
ZW50cyB3aGVuIHRoZSB1c2VyIHBsYXlzIG1lZGlhIG90aGVyd2lzZSBwcmV2ZW50ZWQgZnJvbSBh
dXRvcGxheWluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY3MzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvYXV0b3BsYXktd2l0aC1j
b250cm9scy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvanMtcGxheS13aXRoLWNvbnRyb2xzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQb2xpY2llcy5tbToKKyAgICAgICAgKGRp
ZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKToKKyAgICAg
ICAgKFRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5o
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cgX21vdXNlVXBBdFBvaW50Ol0pOgorICAgICAg
ICAoLVtUZXN0V0tXZWJWaWV3IHdhaXRGb3JMb2FkXSk6CisgICAgICAgICgtW1Rlc3RXS1dlYlZp
ZXcgbW91c2VVcEF0UG9pbnQ6XSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBh
Z2UpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y3JlYXRlV2ViVmlld1dpdGhPcHRp
b25zKToKKwogMjAxNy0wMS0yMyAgTWF0dCBSYWpjYSAgPG1yYWpjYUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUGFzcyBkb3duIHdlYnNpdGUgYXV0b3BsYXkgcG9saWNpZXMgdG8gbWVkaWEgZWxlbWVu
dHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjhmOWM2OThjYmNiNzFjNjU0NWU4YjUxYzRj
NDNjYTBmMTQ5ZTk5Ni4uODViNTAzNjIwNTQ5ZjZkNjEwOTkwNWMwZDVmM2Q3Mzc0OTljYjYwNCAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUwOSw2ICs1MDksOSBAQAogCQlDOTU5ODRGNDFF
MzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktY2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTU5ODRGMjFFMzZCQzU1MDAyQzBE
NDUgLyogYXV0b3BsYXktY2hlY2suaHRtbCAqLzsgfTsKIAkJQzk1OTg0RjUxRTM2QkM2QjAwMkMw
RDQ1IC8qIGF1dG9wbGF5LW5vLWF1ZGlvLWNoZWNrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzk1OTg0RjMxRTM2QkM1NTAwMkMwRDQ1
IC8qIGF1dG9wbGF5LW5vLWF1ZGlvLWNoZWNrLmh0bWwgKi87IH07CiAJCUM5NTk4NEY3MUUzNkJD
RUYwMDJDMEQ0NSAvKiB0ZXN0LXdpdGhvdXQtYXVkaW8tdHJhY2subXA0IGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NTk4NEY2MUUzNkJDRDcw
MDJDMEQ0NSAvKiB0ZXN0LXdpdGhvdXQtYXVkaW8tdHJhY2subXA0ICovOyB9OworCQlDOTlCNjc1
QzFFMzk3MjFBMDBGQzZDODAgLyogYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5OUI2NzVBMUUz
OTcxRkMwMEZDNkM4MCAvKiBhdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWwgKi87IH07CisJCUM5
OUI2NzVEMUUzOTcyMjAwMEZDNkM4MCAvKiBqcy1wbGF5LXdpdGgtY29udHJvbHMuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTlCNjc1
QjFFMzk3MUZDMDBGQzZDODAgLyoganMtcGxheS13aXRoLWNvbnRyb2xzLmh0bWwgKi87IH07CisJ
CUM5OUI2NzVGMUUzOTczNkYwMEZDNkM4MCAvKiBuby1hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Qzk5QjY3NUUxRTM5NzM1QzAwRkM2QzgwIC8qIG5vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRt
bCAqLzsgfTsKIAkJQ0Q1OUY1MzQxOUU5MTEwRDAwQ0YxODM1IC8qIGZpbGUtd2l0aC1tc2UuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDU5RjUzMjE5RTkxMEFBMDBDRjE4MzUgLyogZmlsZS13aXRoLW1zZS5odG1sICovOyB9OwogCQlD
RDU5RjUzNTE5RTkxMTBEMDBDRjE4MzUgLyogdGVzdC1tc2UubXA0IGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTlGNTMzMTlFOTEwQkMwMENG
MTgzNSAvKiB0ZXN0LW1zZS5tcDQgKi87IH07CiAJCUNENzhFMTFEMURCN0VBNjYwMDE0QTJERSAv
KiBGdWxsc2NyZWVuRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDc4RTExQTFEQjdFQTM2MDAxNEEyREUgLyogRnVsbHNjcmVlbkRlbGVn
YXRlLm1tICovOyB9OwpAQCAtNjA3LDYgKzYxMCw5IEBACiAJCQlkc3RQYXRoID0gVGVzdFdlYktp
dEFQSS5yZXNvdXJjZXM7CiAJCQlkc3RTdWJmb2xkZXJTcGVjID0gNzsKIAkJCWZpbGVzID0gKAor
CQkJCUM5OUI2NzVGMUUzOTczNkYwMEZDNkM4MCAvKiBuby1hdXRvcGxheS13aXRoLWNvbnRyb2xz
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJQzk5QjY3NUQxRTM5NzIyMDAwRkM2Qzgw
IC8qIGpzLXBsYXktd2l0aC1jb250cm9scy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJ
CUM5OUI2NzVDMUUzOTcyMUEwMEZDNkM4MCAvKiBhdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQzk1OTg0RjcxRTM2QkNFRjAwMkMwRDQ1IC8qIHRl
c3Qtd2l0aG91dC1hdWRpby10cmFjay5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQzk1
OTg0RjQxRTM2QkM2QjAwMkMwRDQ1IC8qIGF1dG9wbGF5LWNoZWNrLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8sCiAJCQkJQzk1OTg0RjUxRTM2QkM2QjAwMkMwRDQ1IC8qIGF1dG9wbGF5LW5vLWF1
ZGlvLWNoZWNrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xMjc0LDYgKzEyODAsOSBA
QAogCQlDOTU5ODRGMjFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktY2hlY2suaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhdXRvcGxheS1jaGVjay5odG1sIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk1OTg0RjMxRTM2QkM1NTAwMkMwRDQ1IC8qIGF1dG9wbGF5
LW5vLWF1ZGlvLWNoZWNrLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiYXV0b3Bs
YXktbm8tYXVkaW8tY2hlY2suaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM5
NTk4NEY2MUUzNkJDRDcwMDJDMEQ0NSAvKiB0ZXN0LXdpdGhvdXQtYXVkaW8tdHJhY2subXA0ICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0
aCA9ICJ0ZXN0LXdpdGhvdXQtYXVkaW8tdHJhY2subXA0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQzk5QjY3NUExRTM5NzFGQzAwRkM2QzgwIC8qIGF1dG9wbGF5LXdpdGgtY29udHJv
bHMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhdXRvcGxheS13aXRoLWNvbnRy
b2xzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDOTlCNjc1QjFFMzk3MUZD
MDBGQzZDODAgLyoganMtcGxheS13aXRoLWNvbnRyb2xzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0
bWw7IHBhdGggPSAianMtcGxheS13aXRoLWNvbnRyb2xzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDOTlCNjc1RTFFMzk3MzVDMDBGQzZDODAgLyogbm8tYXV0b3BsYXktd2l0
aC1jb250cm9scy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIm5vLWF1dG9wbGF5
LXdpdGgtY29udHJvbHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMjI1
QzA3MUM0NUE2OTIwMDE0MDc2MSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VkQ29udGVudFJhbmdlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1MzkzQzcxNzU3QkE5NzAwQzA3MTIzIC8qIE1ENS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNRDUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDRDUzOTNDOTE3NTdCQUM0MDBDMDcxMjMgLyogU0hBMS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTSEExLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NjEsNiArMTk3MCw3IEBACiAJCQkJNzZFMTgyREUx
NTQ3NUE4MzAwRjFGQUREIC8qIGF1dG8tc3VibWl0dGluZy1mb3JtLmh0bWwgKi8sCiAJCQkJQzk1
OTg0RjIxRTM2QkM1NTAwMkMwRDQ1IC8qIGF1dG9wbGF5LWNoZWNrLmh0bWwgKi8sCiAJCQkJQzk1
OTg0RjMxRTM2QkM1NTAwMkMwRDQ1IC8qIGF1dG9wbGF5LW5vLWF1ZGlvLWNoZWNrLmh0bWwgKi8s
CisJCQkJQzk5QjY3NUExRTM5NzFGQzAwRkM2QzgwIC8qIGF1dG9wbGF5LXdpdGgtY29udHJvbHMu
aHRtbCAqLywKIAkJCQk3QzQ4NkJBMDFBQTEyNTRCMDAzRjZGOUIgLyogYnVuZGxlLWZpbGUuaHRt
bCAqLywKIAkJCQk5QkQ0MjM5QjFFMDRCRkQwMDAyMDAzOTUgLyogY2hpbmVzZS1jaGFyYWN0ZXIt
d2l0aC1pbWFnZS5odG1sICovLAogCQkJCTFBNTBBQTFGMUEyQTRFQTUwMEY0QzM0NSAvKiBjbG9z
ZS1mcm9tLXdpdGhpbi1jcmVhdGUtcGFnZS5odG1sICovLApAQCAtMTk4MSw2ICsxOTkxLDcgQEAK
IAkJCQk0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjUgLyogZ2V0VXNlck1lZGlhLmh0bWwgKi8sCiAJ
CQkJQkNCRDM3MkUxMjVBQkJFNjAwRDJDMjlGIC8qIGljb24ucG5nICovLAogCQkJCUNFMzUyNEY1
MUIxNDJCQkIwMDI4QTdDNSAvKiBpbnB1dC1mb2N1cy1ibHVyLmh0bWwgKi8sCisJCQkJQzk5QjY3
NUIxRTM5NzFGQzAwRkM2QzgwIC8qIGpzLXBsYXktd2l0aC1jb250cm9scy5odG1sICovLAogCQkJ
CTgzNDlEM0MzMURCOTcyNEYwMDRBOUY2NSAvKiBsaW5rLXdpdGgtZG93bmxvYWQtYXR0cmlidXRl
Lmh0bWwgKi8sCiAJCQkJMzc4RTY0NzgxNjMyNkZERjAwQjZDNjc2IC8qIGxpbmstd2l0aC10aXRs
ZS5odG1sICovLAogCQkJCTkzNjEwMDI4MTREQzk1N0IwMDYxMzc5RCAvKiBsb3RzLW9mLWlmcmFt
ZXMuaHRtbCAqLywKQEAgLTE5OTEsNiArMjAwMiw3IEBACiAJCQkJNTFDRDFDNzExQjM4RDQ4NDAw
MTQyQ0E1IC8qIG1vZGFsLWFsZXJ0cy1pbi1uZXctYWJvdXQtYmxhbmstd2luZG93Lmh0bWwgKi8s
CiAJCQkJN0ExNDU4RkIxQUQ1QzAzNTAwRTA2NzcyIC8qIG1vdXNlLWJ1dHRvbi1saXN0ZW5lci5o
dG1sICovLAogCQkJCTMzRTc5RTA1MTM3QjVGQ0UwMEUzMkQ5OSAvKiBtb3VzZS1tb3ZlLWxpc3Rl
bmVyLmh0bWwgKi8sCisJCQkJQzk5QjY3NUUxRTM5NzM1QzAwRkM2QzgwIC8qIG5vLWF1dG9wbGF5
LXdpdGgtY29udHJvbHMuaHRtbCAqLywKIAkJCQlDRUE2Q0YyNzE5Q0NGNjlEMDA2NEY1QTcgLyog
b3Blbi1hbmQtY2xvc2Utd2luZG93Lmh0bWwgKi8sCiAJCQkJRjZGRERERDUxNDI0MUM0ODAwNEYx
NzI5IC8qIHB1c2gtc3RhdGUuaHRtbCAqLywKIAkJCQlDRUJBQkQ0ODFCNzE2ODdDMDA1MTIxMEEg
Lyogc2hvdWxkLW9wZW4tZXh0ZXJuYWwtc2NoZW1lcy5odG1sICovLApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL2F1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRt
bCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS13aXRoLWNvbnRy
b2xzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Y4MGE2NTc4ZWVhMWU0OTExMTU0NDZhMTBhYmE1MjVkOGY1
NzA1MgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mi9hdXRvcGxheS13aXRoLWNvbnRyb2xzLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiBwYWdlTG9h
ZGVkKCkgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHdpbmRv
dy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJsb2FkZWQi
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiBwbGF5KCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ2aWRlbyIpLnBsYXkoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icGFnZUxvYWRlZCgpIj4KKyAgICAg
ICAgPGJ1dHRvbiBvbmNsaWNrPSJwbGF5KCkiPlBsYXk8L2J1dHRvbj4KKyAgICAgICAgPHZpZGVv
IGlkPSJ2aWRlbyIgYXV0b3BsYXkgc3JjPSJ0ZXN0Lm1wNCIgLz4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvanMtcGxh
eS13aXRoLWNvbnRyb2xzLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
anMtcGxheS13aXRoLWNvbnRyb2xzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGE5Y2IxYzA3ZjFmZGRhMzky
MTA1MWY4MDc5MzY3MjhjNGE5YjM1MwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mi9qcy1wbGF5LXdpdGgtY29udHJvbHMuaHRtbApAQCAtMCwwICsx
LDIwIEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAg
IGZ1bmN0aW9uIHBhZ2VMb2FkZWQoKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInZpZGVvIikucGxheSgpOworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBv
c3RNZXNzYWdlKCJsb2FkZWQiKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBwbGF5KCkgeworICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2aWRlbyIpLnBsYXkoKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icGFn
ZUxvYWRlZCgpIj4KKyAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJwbGF5KCkiPlBsYXk8L2J1dHRv
bj4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlbyIgc3JjPSJ0ZXN0Lm1wNCIgLz4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvbm8tYXV0b3BsYXktd2l0aC1jb250cm9scy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL25vLWF1dG9wbGF5LXdpdGgtY29udHJvbHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
NzZiYWMyMDUwN2IzMTFmN2JjOWM3ZmM1MzE4YzNjMDY3ZTgzZDY3Ci0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL25vLWF1dG9wbGF5LXdpdGgtY29u
dHJvbHMuaHRtbApAQCAtMCwwICsxLDI1IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIHBhZ2VMb2FkZWQoKSB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFu
ZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoImxvYWRlZCIpOworICAgICAgICAgICAgICAg
IH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGJl
Z2FuUGxheWluZygpIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAg
ICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgi
cGxheWVkIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gcGxheSgpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidmlkZW8iKS5wbGF5KCk7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InBhZ2VMb2FkZWQoKSI+
CisgICAgICAgIDxidXR0b24gb25jbGljaz0icGxheSgpIj5QbGF5PC9idXR0b24+CisgICAgICAg
IDx2aWRlbyBpZD0idmlkZW8iIG9ucGxheWluZz1iZWdhblBsYXlpbmcoKSBzcmM9InRlc3QubXA0
IiAvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQb2xpY2llcy5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQb2xpY2llcy5tbQppbmRleCBkNTg4YjUy
NmJiOGZiMjVkMjczYjk3NmNlMzU3ZDBiMDYzOGQ3MTBjLi43Njg2YzM1MTQyNmU1MjU4ODM1MDFj
NzNiZjU1ZjQ3MGMzNjQ3M2QzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDJDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCkBAIC0zOSw2ICszOSwxMCBA
QAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAorQGludGVyZmFjZSBXS1dlYlZpZXcgKCkKKy0gKFdL
UGFnZVJlZilfcGFnZUZvclRlc3Rpbmc7CitAZW5kCisKIHN0YXRpYyBib29sIGRvbmVDb21waWxp
bmc7CiBzdGF0aWMgYm9vbCByZWNlaXZlZEFsZXJ0Owogc3RhdGljIHNpemVfdCBhbGVydENvdW50
OwpAQCAtMjEzLDQgKzIxNyw1OSBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc0F1dG9w
bGF5RW5hYmxlZCkKICAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAImF1dG9wbGF5ZWQiXTsK
IH0KIAorI2lmIFBMQVRGT1JNKE1BQykKK3N0YXRpYyB2b2lkIGRpZFBsYXlNZWRpYVByZXZlbnRl
ZEZyb21QbGF5aW5nV2l0aG91dFVzZXJHZXN0dXJlKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKQoreworICAgIHJlY2VpdmVkQWxlcnQgPSB0cnVlOworfQorCitURVNUKFdl
YktpdDIsIFdlYnNpdGVQb2xpY2llc1BsYXlBZnRlclByZXZlbnRlZEF1dG9wbGF5KQoreworICAg
IGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMzYsIDI3NikgY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHRO
UyhbW0F1dG9wbGF5UG9saWNpZXNEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFtkZWxlZ2F0
ZSBzZXRBdXRvcGxheVBvbGljeTpfV0tXZWJzaXRlQXV0b3BsYXlQb2xpY3lEZW55XTsKKyAgICBb
d2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgV0tQ
YWdlVUlDbGllbnRWOSB1aUNsaWVudDsKKyAgICBtZW1zZXQoJnVpQ2xpZW50LCAwLCBzaXplb2Yo
dWlDbGllbnQpKTsKKworICAgIHVpQ2xpZW50LmJhc2UudmVyc2lvbiA9IDg7CisgICAgdWlDbGll
bnQuZGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmdXaXRob3V0VXNlckdlc3R1cmUgPSBk
aWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZ1dpdGhvdXRVc2VyR2VzdHVyZTsKKworICAg
IFdLUGFnZVNldFBhZ2VVSUNsaWVudChbd2ViVmlldyBfcGFnZUZvclRlc3RpbmddLCAmdWlDbGll
bnQuYmFzZSk7CisgICAgTlNQb2ludCBwbGF5QnV0dG9uQ2xpY2tQb2ludCA9IE5TTWFrZVBvaW50
KDIwLCAyNTYpOworCisgICAgcmVjZWl2ZWRBbGVydCA9IGZhbHNlOworICAgIE5TVVJMUmVxdWVz
dCAqanNQbGF5UmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRs
ZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImpzLXBsYXktd2l0aC1jb250cm9scyIgd2l0
aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2Vz
Il1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OmpzUGxheVJlcXVlc3RdOworICAgIFt3ZWJW
aWV3IHdhaXRGb3JNZXNzYWdlOkAibG9hZGVkIl07CisgICAgW3dlYlZpZXcgbW91c2VEb3duQXRQ
b2ludDpwbGF5QnV0dG9uQ2xpY2tQb2ludCBzaW11bGF0ZVByZXNzdXJlOk5PXTsKKyAgICBbd2Vi
VmlldyBtb3VzZVVwQXRQb2ludDpwbGF5QnV0dG9uQ2xpY2tQb2ludF07CisgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZEFsZXJ0KTsKKworICAgIHJlY2VpdmVkQWxlcnQgPSBm
YWxzZTsKKyAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpAIiIgYmFzZVVSTDpuaWxdOworCisg
ICAgTlNVUkxSZXF1ZXN0ICphdXRvcGxheVJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RX
aXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJhdXRvcGxheS13
aXRoLWNvbnRyb2xzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdl
YktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6YXV0b3BsYXlS
ZXF1ZXN0XTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAImxvYWRlZCJdOworICAgIFt3
ZWJWaWV3IG1vdXNlRG93bkF0UG9pbnQ6cGxheUJ1dHRvbkNsaWNrUG9pbnQgc2ltdWxhdGVQcmVz
c3VyZTpOT107CisgICAgW3dlYlZpZXcgbW91c2VVcEF0UG9pbnQ6cGxheUJ1dHRvbkNsaWNrUG9p
bnRdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRBbGVydCk7CisKKyAg
ICByZWNlaXZlZEFsZXJ0ID0gZmFsc2U7CisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCIi
IGJhc2VVUkw6bmlsXTsKKworICAgIE5TVVJMUmVxdWVzdCAqbm9BdXRvcGxheVJlcXVlc3QgPSBb
TlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9y
UmVzb3VyY2U6QCJuby1hdXRvcGxheS13aXRoLWNvbnRyb2xzIiB3aXRoRXh0ZW5zaW9uOkAiaHRt
bCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZp
ZXcgbG9hZFJlcXVlc3Q6bm9BdXRvcGxheVJlcXVlc3RdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JN
ZXNzYWdlOkAibG9hZGVkIl07CisgICAgW3dlYlZpZXcgbW91c2VEb3duQXRQb2ludDpwbGF5QnV0
dG9uQ2xpY2tQb2ludCBzaW11bGF0ZVByZXNzdXJlOk5PXTsKKyAgICBbd2ViVmlldyBtb3VzZVVw
QXRQb2ludDpwbGF5QnV0dG9uQ2xpY2tQb2ludF07CisgICAgW3dlYlZpZXcgd2FpdEZvck1lc3Nh
Z2U6QCJwbGF5ZWQiXTsKKyAgICBBU1NFUlRfRkFMU0UocmVjZWl2ZWRBbGVydCk7Cit9CisjZW5k
aWYKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RX
S1dlYlZpZXcuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCmlu
ZGV4IGExZTgyNzAyNjZiZTVlZTQ1MzNjZjUyY2M0NGY2OTE3NjA0MDg2NTEuLmUzODM1YzRhMTk4
YjZjZDZhN2I0NjA3N2I4ZGRiNWY5YmI5MzExY2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29j
b2EvVGVzdFdLV2ViVmlldy5oCkBAIC00NCw2ICs0NCw3IEBACiBAaW50ZXJmYWNlIFRlc3RXS1dl
YlZpZXcgKE1hY09ubHkpCiAvLyBTaW11bGF0ZXMgY2xpY2tpbmcgd2l0aCBhIHByZXNzdXJlLXNl
bnNpdGl2ZSBkZXZpY2UsIGlmIHBvc3NpYmxlLgogLSAodm9pZCltb3VzZURvd25BdFBvaW50OihO
U1BvaW50KXBvaW50IHNpbXVsYXRlUHJlc3N1cmU6KEJPT0wpc2ltdWxhdGVQcmVzc3VyZTsKKy0g
KHZvaWQpbW91c2VVcEF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQ7CiAtICh2b2lkKXR5cGVDaGFyYWN0
ZXI6KGNoYXIpY2hhcmFjdGVyOwogQGVuZAogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL2Nv
Y29hL1Rlc3RXS1dlYlZpZXcubW0KaW5kZXggMmJjZTIwZjFiYWQzZWI4YjIxNmVjYzYxMThlOWY0
M2JjNTEyNGJmMi4uZGJmN2U3YjM5NWNiNDBmNjAxZmU0ZGZkOGJkZjZiNGRhMWM5OTQxYiAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQpAQCAtMTIwLDYgKzEy
MCwxMSBAQCAtICh2b2lkKV9tb3VzZURvd25BdFBvaW50OihOU1BvaW50KXBvaW50IHNpbXVsYXRl
UHJlc3N1cmU6KEJPT0wpc2ltdWxhdGVQcmVzc3VyZQogICAgIH0KICNlbmRpZgogfQorCistICh2
b2lkKV9tb3VzZVVwQXRQb2ludDooTlNQb2ludClwb2ludAoreworICAgIFtzZWxmIHNlbmRFdmVu
dDpbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNFdmVudFR5cGVMZWZ0TW91c2VVcCBsb2Nh
dGlvbjpwb2ludCBtb2RpZmllckZsYWdzOjAgdGltZXN0YW1wOkdldEN1cnJlbnRFdmVudFRpbWUo
KSB3aW5kb3dOdW1iZXI6c2VsZi53aW5kb3dOdW1iZXIgY29udGV4dDpbTlNHcmFwaGljc0NvbnRl
eHQgY3VycmVudENvbnRleHRdIGV2ZW50TnVtYmVyOisrZ0V2ZW50TnVtYmVyIGNsaWNrQ291bnQ6
MSBwcmVzc3VyZTowXV07Cit9CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAtIChCT09MKWlz
S2V5V2luZG93CkBAIC0yNTAsNiArMjU1LDExIEBAIC0gKHZvaWQpbW91c2VEb3duQXRQb2ludDoo
TlNQb2ludClwb2ludCBzaW11bGF0ZVByZXNzdXJlOihCT09MKXNpbXVsYXRlUHJlc3N1cmUKICAg
ICBbX2hvc3RXaW5kb3cgX21vdXNlRG93bkF0UG9pbnQ6cG9pbnQgc2ltdWxhdGVQcmVzc3VyZTpz
aW11bGF0ZVByZXNzdXJlXTsKIH0KIAorLSAodm9pZCltb3VzZVVwQXRQb2ludDooTlNQb2ludClw
b2ludAoreworICAgIFtfaG9zdFdpbmRvdyBfbW91c2VVcEF0UG9pbnQ6cG9pbnRdOworfQorCiAt
ICh2b2lkKXR5cGVDaGFyYWN0ZXI6KGNoYXIpY2hhcmFjdGVyIHsKICAgICBOU1N0cmluZyAqY2hh
cmFjdGVyQXNTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVjIiAsIGNoYXJh
Y3Rlcl07CiAgICAgTlNFdmVudFR5cGUga2V5RG93bkV2ZW50VHlwZSA9IE5TRXZlbnRUeXBlS2V5
RG93bjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>