<?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>204912</bug_id>
          
          <creation_ts>2019-12-05 14:02:01 -0800</creation_ts>
          <short_desc>Prevent synchronous XHR in beforeunload / unload event handlers</short_desc>
          <delta_ts>2020-01-15 14:09:38 -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>WebCore Misc.</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>https://www.chromestatus.com/feature/4664843055398912</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>206315</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1595980</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-05 14:02:01 -0800</bug_when>
    <thetext>Prevent synchronous XHR in beforeunload / unload event handlers. They are terrible for performance and the Beacon API (or Fetch keepalive) are more efficient &amp; supported alternatives.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595981</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-05 14:02:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/57676394&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596019</commentid>
    <comment_count>2</comment_count>
      <attachid>384955</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-05 14:39:06 -0800</bug_when>
    <thetext>Created attachment 384955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596063</commentid>
    <comment_count>3</comment_count>
      <attachid>384970</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-05 15:41:59 -0800</bug_when>
    <thetext>Created attachment 384970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596114</commentid>
    <comment_count>4</comment_count>
      <attachid>384970</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-12-05 17:01:20 -0800</bug_when>
    <thetext>Comment on attachment 384970
Patch

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

&gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:134
&gt; +    if (!m_async &amp;&amp; (!document.page() || !document.page()-&gt;areSynchronousLoadsAllowed())) {

Seems like we want to put this behind some kind of a setting / feature flag?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596115</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-12-05 17:01:33 -0800</bug_when>
    <thetext>Do other browsers forbid this as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596230</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-12-06 06:42:04 -0800</bug_when>
    <thetext>It seems like if we want to make this kind of change, we should first understand the compatibility story and if it&apos;s ok, make a change to HTML5 to standardize this.

Otherwise, it&apos;s not clear why this is an ok change to make.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596252</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-06 08:12:59 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #5)
&gt; Do other browsers forbid this as well?

No, other browsers do not do this at this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596253</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-06 08:15:05 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #5)
&gt; Do other browsers forbid this as well?

Please see https://www.chromestatus.com/feature/4664843055398912</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596254</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-06 08:16:09 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #7)
&gt; (In reply to Ryosuke Niwa from comment #5)
&gt; &gt; Do other browsers forbid this as well?
&gt; 
&gt; No, other browsers do not do this at this time.

Sorry, I meant the opposite. Not sure what happened there:

Chrome has been testing this for a while:
https://www.chromestatus.com/feature/4664843055398912</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596255</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-06 08:25:28 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #4)
&gt; Comment on attachment 384970 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=384970&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:134
&gt; &gt; +    if (!m_async &amp;&amp; (!document.page() || !document.page()-&gt;areSynchronousLoadsAllowed())) {
&gt; 
&gt; Seems like we want to put this behind some kind of a setting / feature flag?

Good idea, will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596259</commentid>
    <comment_count>11</comment_count>
      <attachid>385015</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-06 08:37:24 -0800</bug_when>
    <thetext>Created attachment 385015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596288</commentid>
    <comment_count>12</comment_count>
      <attachid>385025</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-06 10:25:38 -0800</bug_when>
    <thetext>Created attachment 385025
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596324</commentid>
    <comment_count>13</comment_count>
      <attachid>385025</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-06 13:05:19 -0800</bug_when>
    <thetext>Comment on attachment 385025
Patch

Clearing flags on attachment: 385025

Committed r253213: &lt;https://trac.webkit.org/changeset/253213&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596325</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-06 13:05:21 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384955</attachid>
            <date>2019-12-05 14:39:06 -0800</date>
            <delta_ts>2019-12-05 15:41:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204912-20191205143847.patch</filename>
            <type>text/plain</type>
            <size>13172</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGUxZWRkNGNmODgxZTg1
NmQ2MGVmMzU1NTJjM2U1MzI2OTMzMTZhNS4uOTk3MzBiNGJlNjhhZGI2MjBkZDI2MjdlY2EwNTEw
OTg4MmFlZTViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTEyLTA1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUHJldmVudCBzeW5jaHJvbm91
cyBYSFIgaW4gYmVmb3JldW5sb2FkIC8gdW5sb2FkIGV2ZW50IGhhbmRsZXJzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ5MTIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU3Njc2Mzk0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByZXZlbnQgc3luY2hyb25vdXMgWEhSIGluIGJlZm9yZXVubG9hZCAv
IHVubG9hZCBldmVudCBoYW5kbGVycy4gVGhleSBhcmUgdGVycmlibGUgZm9yIHBlcmZvcm1hbmNl
CisgICAgICAgIGFuZCB0aGUgQmVhY29uIEFQSSAob3IgRmV0Y2gga2VlcGFsaXZlKSBhcmUgbW9y
ZSBlZmZpY2llbnQgJiBzdXBwb3J0ZWQgYWx0ZXJuYXRpdmVzLgorCisgICAgICAgIFRlc3RzOiBo
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC5odG1sCisg
ICAgICAgICAgICAgICBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLXVubG9h
ZC5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZUxldmVsRm9yYmlkU2NvcGU6OlBhZ2VMZXZlbEZvcmJpZFNjb3BlKToK
KyAgICAgICAgKFdlYkNvcmU6OkZvcmJpZFByb21wdHNTY29wZTo6Rm9yYmlkUHJvbXB0c1Njb3Bl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvcmJpZFByb21wdHNTY29wZTo6fkZvcmJpZFByb21wdHNT
Y29wZSk6CisgICAgICAgIChXZWJDb3JlOjpGb3JiaWRTeW5jaHJvbm91c0xvYWRzU2NvcGU6OkZv
cmJpZFN5bmNocm9ub3VzTG9hZHNTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpGb3JiaWRTeW5j
aHJvbm91c0xvYWRzU2NvcGU6On5Gb3JiaWRTeW5jaHJvbm91c0xvYWRzU2NvcGUpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRpc3BhdGNoVW5sb2FkRXZlbnRzKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkaXNwYXRjaEJlZm9yZVVubG9hZEV2ZW50KToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6Zm9yYmlkU3luY2hy
b25vdXNMb2Fkcyk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjphbGxvd1N5bmNocm9ub3VzTG9h
ZHMpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6YXJlU3luY2hyb25vdXNMb2Fkc0FsbG93ZWQp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCiAyMDE5LTEyLTA1ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTUVTU0FHRV9DSEVDSyBCYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyIG9uIGluY29taW5nIElQQyBmcm9tIHRoZSBXZWJQcm9jZXNzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IGY1
ZTU1MTVhMjAyY2M1ODE5ZGNlZjFiNzJkNmUzOGUwMDg1NmIxOTAuLmU2NDY1NmZjNWI5YWMyZjEy
MzM5MTY3ZjI0OGUwZGFlYWEwNTZlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0xMzEsNiArMTMxLDExIEBAIERvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50JiBk
b2N1bWVudCwgVGhyZWFkYWJsCiAgICAgLy8gU2V0dGluZyBhIHJlZmVycmVyIGhlYWRlciBpcyBv
bmx5IHN1cHBvcnRlZCBpbiB0aGUgYXN5bmMgY29kZSBwYXRoLgogICAgIEFTU0VSVChtX2FzeW5j
IHx8IG1fcmVmZXJyZXIuaXNFbXB0eSgpKTsKIAorICAgIGlmICghbV9hc3luYyAmJiAoIWRvY3Vt
ZW50LnBhZ2UoKSB8fCAhZG9jdW1lbnQucGFnZSgpLT5hcmVTeW5jaHJvbm91c0xvYWRzQWxsb3dl
ZCgpKSkgeworICAgICAgICBsb2dFcnJvckFuZEZhaWwoUmVzb3VyY2VFcnJvcihlcnJvckRvbWFp
bldlYktpdEludGVybmFsLCAwLCByZXF1ZXN0LnVybCgpLCAiU3luY2hyb25vdXMgbG9hZHMgYXJl
IG5vdCBhbGxvd2VkIGF0IHRoaXMgdGltZSIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIC8vIFJlZmVycmVyIGFuZCBPcmlnaW4gaGVhZGVycyBzaG91bGQgYmUgc2V0IGFmdGVyIHRo
ZSBwcmVmbGlnaHQgaWYgYW55LgogICAgIEFTU0VSVCghcmVxdWVzdC5oYXNIVFRQUmVmZXJyZXIo
KSAmJiAhcmVxdWVzdC5oYXNIVFRQT3JpZ2luKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAppbmRleCBlMTA1YmUwYmE5MmQ5M2EyZTk5ODRlYWU5YTM2MDY3MWZkYzNkYzY1
Li4wZjFmMjgxYTU5NGY3ZDMxNjFlNDU0MDMzMzk4NDFjYWNkZDM4ZjRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTIxMCwyMiArMjEwLDQ2IEBAIHN0YXRpYyBib29s
IGlzRG9jdW1lbnRTYW5kYm94ZWQoRnJhbWUmIGZyYW1lLCBTYW5kYm94RmxhZ3MgbWFzaykKICAg
ICByZXR1cm4gZnJhbWUuZG9jdW1lbnQoKSAmJiBmcmFtZS5kb2N1bWVudCgpLT5pc1NhbmRib3hl
ZChtYXNrKTsKIH0KIAotc3RydWN0IEZvcmJpZFByb21wdHNTY29wZSB7Ci0gICAgRm9yYmlkUHJv
bXB0c1Njb3BlKFBhZ2UqIHBhZ2UpIDogbV9wYWdlKHBhZ2UpCitjbGFzcyBQYWdlTGV2ZWxGb3Ji
aWRTY29wZSB7Citwcm90ZWN0ZWQ6CisgICAgZXhwbGljaXQgUGFnZUxldmVsRm9yYmlkU2NvcGUo
UGFnZSogcGFnZSkKKyAgICAgICAgOiBtX3BhZ2UobWFrZVdlYWtQdHIocGFnZSkpCiAgICAgewot
ICAgICAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9wYWdl
LT5mb3JiaWRQcm9tcHRzKCk7CisgICAgfQorCisgICAgflBhZ2VMZXZlbEZvcmJpZFNjb3BlKCkg
PSBkZWZhdWx0OworCisgICAgV2Vha1B0cjxQYWdlPiBtX3BhZ2U7Cit9OworCitzdHJ1Y3QgRm9y
YmlkUHJvbXB0c1Njb3BlIDogcHVibGljIFBhZ2VMZXZlbEZvcmJpZFNjb3BlIHsKKyAgICBleHBs
aWNpdCBGb3JiaWRQcm9tcHRzU2NvcGUoUGFnZSogcGFnZSkKKyAgICAgICAgOiBQYWdlTGV2ZWxG
b3JiaWRTY29wZShwYWdlKQorICAgIHsKKyAgICAgICAgaWYgKG1fcGFnZSkKKyAgICAgICAgICAg
IG1fcGFnZS0+Zm9yYmlkUHJvbXB0cygpOwogICAgIH0KIAogICAgIH5Gb3JiaWRQcm9tcHRzU2Nv
cGUoKQogICAgIHsKLSAgICAgICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIG1fcGFnZS0+YWxsb3dQcm9tcHRzKCk7CisgICAgICAgIGlmIChtX3BhZ2UpCisgICAg
ICAgICAgICBtX3BhZ2UtPmFsbG93UHJvbXB0cygpOwogICAgIH0KK307CiAKLSAgICBQYWdlKiBt
X3BhZ2U7CitzdHJ1Y3QgRm9yYmlkU3luY2hyb25vdXNMb2Fkc1Njb3BlIDogcHVibGljIFBhZ2VM
ZXZlbEZvcmJpZFNjb3BlIHsKKyAgICBleHBsaWNpdCBGb3JiaWRTeW5jaHJvbm91c0xvYWRzU2Nv
cGUoUGFnZSogcGFnZSkKKyAgICAgICAgOiBQYWdlTGV2ZWxGb3JiaWRTY29wZShwYWdlKQorICAg
IHsKKyAgICAgICAgaWYgKG1fcGFnZSkKKyAgICAgICAgICAgIG1fcGFnZS0+Zm9yYmlkU3luY2hy
b25vdXNMb2FkcygpOworICAgIH0KKworICAgIH5Gb3JiaWRTeW5jaHJvbm91c0xvYWRzU2NvcGUo
KQorICAgIHsKKyAgICAgICAgaWYgKG1fcGFnZSkKKyAgICAgICAgICAgIG1fcGFnZS0+YWxsb3dT
eW5jaHJvbm91c0xvYWRzKCk7CisgICAgfQogfTsKIAogY2xhc3MgRnJhbWVMb2FkZXI6OkZyYW1l
UHJvZ3Jlc3NUcmFja2VyIHsKQEAgLTMyOTgsNiArMzMyMiw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6
OmRpc3BhdGNoVW5sb2FkRXZlbnRzKFVubG9hZEV2ZW50UG9saWN5IHVubG9hZEV2ZW50UG9saWN5
KQogCiAgICAgLy8gV2Ugc3RvcmUgdGhlIGZyYW1lJ3MgcGFnZSBpbiBhIGxvY2FsIHZhcmlhYmxl
IGJlY2F1c2UgdGhlIGZyYW1lIG1pZ2h0IGdldCBkZXRhY2hlZCBpbnNpZGUgZGlzcGF0Y2hFdmVu
dC4KICAgICBGb3JiaWRQcm9tcHRzU2NvcGUgZm9yYmlkUHJvbXB0cyhtX2ZyYW1lLnBhZ2UoKSk7
CisgICAgRm9yYmlkU3luY2hyb25vdXNMb2Fkc1Njb3BlIGZvcmJpZFN5bmNocm9ub3VzTG9hZHMo
bV9mcmFtZS5wYWdlKCkpOwogICAgIElnbm9yZU9wZW5zRHVyaW5nVW5sb2FkQ291bnRJbmNyZW1l
bnRlciBpZ25vcmVPcGVuc0R1cmluZ1VubG9hZENvdW50SW5jcmVtZW50ZXIobV9mcmFtZS5kb2N1
bWVudCgpKTsKIAogICAgIGlmIChtX2RpZENhbGxJbXBsaWNpdENsb3NlICYmICFtX3dhc1VubG9h
ZEV2ZW50RW1pdHRlZCkgewpAQCAtMzM3OCw2ICszNDAzLDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6
ZGlzcGF0Y2hCZWZvcmVVbmxvYWRFdmVudChDaHJvbWUmIGNocm9tZSwgRnJhbWVMb2FkZXIqIGZy
YW1lTG8KICAgICB7CiAgICAgICAgIFNldEZvclNjb3BlPFBhZ2VEaXNtaXNzYWxUeXBlPiBjaGFu
Z2UobV9wYWdlRGlzbWlzc2FsRXZlbnRCZWluZ0Rpc3BhdGNoZWQsIFBhZ2VEaXNtaXNzYWxUeXBl
OjpCZWZvcmVVbmxvYWQpOwogICAgICAgICBGb3JiaWRQcm9tcHRzU2NvcGUgZm9yYmlkUHJvbXB0
cyhtX2ZyYW1lLnBhZ2UoKSk7CisgICAgICAgIEZvcmJpZFN5bmNocm9ub3VzTG9hZHNTY29wZSBm
b3JiaWRTeW5jaHJvbm91c0xvYWRzKG1fZnJhbWUucGFnZSgpKTsKICAgICAgICAgZG9tV2luZG93
LT5kaXNwYXRjaEV2ZW50KGJlZm9yZVVubG9hZEV2ZW50LCBkb21XaW5kb3ctPmRvY3VtZW50KCkp
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggN2YwZTAwZGQyOGRkOWY5YTE0MDQwNjc2
NDZmNDYwNWE5MjRjZTU3My4uZmU5MDhhZTc0M2IyNGNmMTI5NDdmYTM0NTAxNDIwYTc0YzY4NzVj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNDE5LDYgKzI0MTksMjIgQEAgYm9vbCBQYWdlOjph
cmVQcm9tcHRzQWxsb3dlZCgpCiAgICAgcmV0dXJuICFtX2ZvcmJpZFByb21wdHNEZXB0aDsKIH0K
IAordm9pZCBQYWdlOjpmb3JiaWRTeW5jaHJvbm91c0xvYWRzKCkKK3sKKyAgICArK21fZm9yYmlk
U3luY2hyb25vdXNMb2Fkc0RlcHRoOworfQorCit2b2lkIFBhZ2U6OmFsbG93U3luY2hyb25vdXNM
b2FkcygpCit7CisgICAgQVNTRVJUKG1fZm9yYmlkU3luY2hyb25vdXNMb2Fkc0RlcHRoKTsKKyAg
ICAtLW1fZm9yYmlkU3luY2hyb25vdXNMb2Fkc0RlcHRoOworfQorCitib29sIFBhZ2U6OmFyZVN5
bmNocm9ub3VzTG9hZHNBbGxvd2VkKCkKK3sKKyAgICByZXR1cm4gIW1fZm9yYmlkU3luY2hyb25v
dXNMb2Fkc0RlcHRoOworfQorCiB2b2lkIFBhZ2U6OmxvZ05hdmlnYXRpb24oY29uc3QgTmF2aWdh
dGlvbiYgbmF2aWdhdGlvbikKIHsKICAgICBTdHJpbmcgbmF2aWdhdGlvbkRlc2NyaXB0aW9uOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCAwNTkwNTZlMGUyOWQ5ZWViNGRiMmFiMmU0NjYxMGM4NzQwZGEzMTYy
Li4wMTcxMjM4NDc4ODgyOWFlMjY1MGQxM2ZjYTcwNjhmYTcyNzA4YzdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtNTg0LDYgKzU4NCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBhbGxvd1Byb21wdHMoKTsK
ICAgICBib29sIGFyZVByb21wdHNBbGxvd2VkKCk7CiAKKyAgICB2b2lkIGZvcmJpZFN5bmNocm9u
b3VzTG9hZHMoKTsKKyAgICB2b2lkIGFsbG93U3luY2hyb25vdXNMb2FkcygpOworICAgIGJvb2wg
YXJlU3luY2hyb25vdXNMb2Fkc0FsbG93ZWQoKTsKKwogICAgIHZvaWQgbWFpbkZyYW1lTG9hZFN0
YXJ0ZWQoY29uc3QgVVJMJiwgRnJhbWVMb2FkVHlwZSk7CiAKICAgICB2b2lkIHNldExhc3RTcGF0
aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZUNvdW50KHVuc2lnbmVkIGNvdW50KSB7IG1fbGFzdFNwYXRp
YWxOYXZpZ2F0aW9uQ2FuZGlkYXRlc0NvdW50ID0gY291bnQ7IH0KQEAgLTkxOCw2ICs5MjIsNyBA
QCBwcml2YXRlOgogCiAgICAgdW5zaWduZWQgbV9sYXN0U3BhdGlhbE5hdmlnYXRpb25DYW5kaWRh
dGVzQ291bnQgeyAwIH07CiAgICAgdW5zaWduZWQgbV9mb3JiaWRQcm9tcHRzRGVwdGggeyAwIH07
CisgICAgdW5zaWduZWQgbV9mb3JiaWRTeW5jaHJvbm91c0xvYWRzRGVwdGggeyAwIH07CiAKICAg
ICBSZWY8U29ja2V0UHJvdmlkZXI+IG1fc29ja2V0UHJvdmlkZXI7CiAgICAgUmVmPENvb2tpZUph
cj4gbV9jb29raWVKYXI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGZjNjAxNmI3MTk2NTgyYTM5MjJiMDI3YThkZmQwNWMy
NmE3MzY5MS4uMmE0NWYyNmIxZDRlOGJkOTc3ZDc2ZmMxOWRlZDUyYTZiYzhiZDhiYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDE5LTEyLTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKKyAgICAgICAgUHJldmVudCBzeW5jaHJvbm91cyBYSFIgaW4gYmVmb3JldW5sb2FkIC8g
dW5sb2FkIGV2ZW50IGhhbmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDQ5MTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3Njc2Mzk0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlv
dXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
cmVzb3VyY2VzL3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC13aW5kb3cuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvc3luYy14aHItaW4t
dW5sb2FkLXdpbmRvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tYmVmb3JldW5sb2Fk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14
aHItaW4tdW5sb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQuaHRtbDogQWRkZWQuCisKIDIwMTktMTIt
MDUgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIG1hcGxpa2Ug
c2hvdWxkIGRlZmluZSBhIHNldCBtZXRob2QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC13
aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3Vy
Y2VzL3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC13aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2M2
ZjRjNjBmNWMyYTZiZjBkODkwZWI1MWJkYTg4M2QyODI5MDdkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvc3luYy14aHIt
aW4tYmVmb3JldW5sb2FkLXdpbmRvdy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
YmVmb3JldW5sb2FkIiwgKGV2ZW50KSA9PiB7CisgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0
KCk7CisgICAgeGhyLm9wZW4oIkdFVCIsICIvcmVzb3VyY2VzL2R1bW15LnhtbCIsIGZhbHNlKTsK
KyAgICB0cnkgeworICAgICAgICB4aHIuc2VuZChudWxsKTsKKyAgICAgICAgb3BlbmVyLnRlc3RG
YWlsZWQoIkRvaW5nIGEgc3luY2hyb25vdXMgWEhSIGluIHRoZSBiZWZvcmV1bmxvYWQgZXZlbnQg
aGFuZGxlciBkaWQgbm90IHRocm93Iik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBvcGVu
ZXIudGVzdFBhc3NlZCgiRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhlIGJlZm9yZXVubG9h
ZCBldmVudCBoYW5kbGVyIHRocmV3IGFuIGV4Y2VwdGlvbiIpOworICAgIH0KKyAgICBvcGVuZXIu
ZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvc3lu
Yy14aHItaW4tdW5sb2FkLXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9yZXNvdXJjZXMvc3luYy14aHItaW4tdW5sb2FkLXdpbmRvdy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ1OGUyZTU0MmY0MzJmZWZhNThjNDY2YzE1MDVkNTQ0N2E4YmI4ZDAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy9zeW5jLXhoci1pbi11bmxvYWQtd2luZG93Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK3dpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJ1bmxvYWQiLCAoZXZlbnQpID0+IHsKKyAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KTsKKyAgICB4aHIub3BlbigiR0VUIiwgIi9yZXNvdXJjZXMvZHVtbXkueG1sIiwgZmFsc2UpOwor
ICAgIHRyeSB7CisgICAgICAgIHhoci5zZW5kKG51bGwpOworICAgICAgICBvcGVuZXIudGVzdEZh
aWxlZCgiRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhlIHVubG9hZCBldmVudCBoYW5kbGVy
IGRpZCBub3QgdGhyb3ciKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIG9wZW5lci50ZXN0
UGFzc2VkKCJEb2luZyBhIHN5bmNocm9ub3VzIFhIUiBpbiB0aGUgdW5sb2FkIGV2ZW50IGhhbmRs
ZXIgdGhyZXcgYW4gZXhjZXB0aW9uIik7CisgICAgfQorICAgIG9wZW5lci5maW5pc2hKU1Rlc3Qo
KTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMt
eGhyLWluLWJlZm9yZXVubG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVmMGU2ZDMwZDc1
MWFjY2MxMzhlNTZkMzMyZjU2MzI5MmZhOGY2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tYmVmb3JldW5sb2FkLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogWE1M
SHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9k
dW1teS54bWwuCitDaGVja3MgdGhhdCB0cnlpbmcgdG8gZG8gYSBzeW5jaHJvbm91cyBYSFIgaW4g
YSBiZWZvcmV1bmxvYWQgZXZlbnQgaGFuZGxlciBpcyBub3QgYWxsb3dlZC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhl
IGJlZm9yZXVubG9hZCBldmVudCBoYW5kbGVyIHRocmV3IGFuIGV4Y2VwdGlvbgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tYmVmb3JldW5s
b2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhy
LWluLWJlZm9yZXVubG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4MTgzNDJmZjViOWEyZmZlOGE2NDRi
NTdkZGI1YTIxNzliMjRjMWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC5odG1sCkBAIC0wLDAg
KzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQ2hlY2tzIHRoYXQgdHJ5aW5nIHRvIGRvIGEgc3luY2hy
b25vdXMgWEhSIGluIGEgYmVmb3JldW5sb2FkIGV2ZW50IGhhbmRsZXIgaXMgbm90IGFsbG93ZWQu
Iik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
IHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKKworb25sb2FkID0gKCkgPT4geworICAg
IHcgPSBvcGVuKCJyZXNvdXJjZXMvc3luYy14aHItaW4tYmVmb3JldW5sb2FkLXdpbmRvdy5odG1s
Iik7CisgICAgdy5vbmxvYWQgPSAoKSA9PiB7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewor
ICAgICAgICAgICAgdy5jbG9zZSgpOworICAgICAgICB9LCAwKTsKKyAgICB9OworfQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLXVubG9hZC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGMzNjE5YTgwZTU0ZGI1Y2NlY2MwZjFiNWMyZjE5ZTA4NjI0Yzhm
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3Qvc3luYy14aHItaW4tdW5sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACittYWlu
IGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorQ2hlY2tzIHRoYXQgdHJ5aW5nIHRv
IGRvIGEgc3luY2hyb25vdXMgWEhSIGluIGEgdW5sb2FkIGV2ZW50IGhhbmRsZXIgaXMgbm90IGFs
bG93ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIERvaW5nIGEgc3lu
Y2hyb25vdXMgWEhSIGluIHRoZSB1bmxvYWQgZXZlbnQgaGFuZGxlciB0aHJldyBhbiBleGNlcHRp
b24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhy
LWluLXVubG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9z
eW5jLXhoci1pbi11bmxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNWRlOGFlMTA5ZWQ0ZWZiMmZlYTBi
ZjlkMGFmOTI0YjMxMmQwOTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQuaHRtbApAQCAtMCwwICsxLDI0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHRyeWluZyB0byBkbyBhIHN5bmNocm9ub3Vz
IFhIUiBpbiBhIHVubG9hZCBldmVudCBoYW5kbGVyIGlzIG5vdCBhbGxvd2VkLiIpOworanNUZXN0
SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVy
LnNldENhbk9wZW5XaW5kb3dzKCk7CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICB3ID0gb3Blbigi
cmVzb3VyY2VzL3N5bmMteGhyLWluLXVubG9hZC13aW5kb3cuaHRtbCIpOworICAgIHcub25sb2Fk
ID0gKCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIHcuY2xv
c2UoKTsKKyAgICAgICAgfSwgMCk7CisgICAgfTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384970</attachid>
            <date>2019-12-05 15:41:59 -0800</date>
            <delta_ts>2019-12-06 08:37:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204912-20191205154140.patch</filename>
            <type>text/plain</type>
            <size>14036</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGUxZWRkNGNmODgxZTg1
NmQ2MGVmMzU1NTJjM2U1MzI2OTMzMTZhNS4uOTk3MzBiNGJlNjhhZGI2MjBkZDI2MjdlY2EwNTEw
OTg4MmFlZTViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTEyLTA1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUHJldmVudCBzeW5jaHJvbm91
cyBYSFIgaW4gYmVmb3JldW5sb2FkIC8gdW5sb2FkIGV2ZW50IGhhbmRsZXJzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ5MTIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU3Njc2Mzk0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByZXZlbnQgc3luY2hyb25vdXMgWEhSIGluIGJlZm9yZXVubG9hZCAv
IHVubG9hZCBldmVudCBoYW5kbGVycy4gVGhleSBhcmUgdGVycmlibGUgZm9yIHBlcmZvcm1hbmNl
CisgICAgICAgIGFuZCB0aGUgQmVhY29uIEFQSSAob3IgRmV0Y2gga2VlcGFsaXZlKSBhcmUgbW9y
ZSBlZmZpY2llbnQgJiBzdXBwb3J0ZWQgYWx0ZXJuYXRpdmVzLgorCisgICAgICAgIFRlc3RzOiBo
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC5odG1sCisg
ICAgICAgICAgICAgICBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLXVubG9h
ZC5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZUxldmVsRm9yYmlkU2NvcGU6OlBhZ2VMZXZlbEZvcmJpZFNjb3BlKToK
KyAgICAgICAgKFdlYkNvcmU6OkZvcmJpZFByb21wdHNTY29wZTo6Rm9yYmlkUHJvbXB0c1Njb3Bl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvcmJpZFByb21wdHNTY29wZTo6fkZvcmJpZFByb21wdHNT
Y29wZSk6CisgICAgICAgIChXZWJDb3JlOjpGb3JiaWRTeW5jaHJvbm91c0xvYWRzU2NvcGU6OkZv
cmJpZFN5bmNocm9ub3VzTG9hZHNTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpGb3JiaWRTeW5j
aHJvbm91c0xvYWRzU2NvcGU6On5Gb3JiaWRTeW5jaHJvbm91c0xvYWRzU2NvcGUpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRpc3BhdGNoVW5sb2FkRXZlbnRzKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkaXNwYXRjaEJlZm9yZVVubG9hZEV2ZW50KToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6Zm9yYmlkU3luY2hy
b25vdXNMb2Fkcyk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjphbGxvd1N5bmNocm9ub3VzTG9h
ZHMpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6YXJlU3luY2hyb25vdXNMb2Fkc0FsbG93ZWQp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCiAyMDE5LTEyLTA1ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTUVTU0FHRV9DSEVDSyBCYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyIG9uIGluY29taW5nIElQQyBmcm9tIHRoZSBXZWJQcm9jZXNzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IGY1
ZTU1MTVhMjAyY2M1ODE5ZGNlZjFiNzJkNmUzOGUwMDg1NmIxOTAuLmU2NDY1NmZjNWI5YWMyZjEy
MzM5MTY3ZjI0OGUwZGFlYWEwNTZlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0xMzEsNiArMTMxLDExIEBAIERvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50JiBk
b2N1bWVudCwgVGhyZWFkYWJsCiAgICAgLy8gU2V0dGluZyBhIHJlZmVycmVyIGhlYWRlciBpcyBv
bmx5IHN1cHBvcnRlZCBpbiB0aGUgYXN5bmMgY29kZSBwYXRoLgogICAgIEFTU0VSVChtX2FzeW5j
IHx8IG1fcmVmZXJyZXIuaXNFbXB0eSgpKTsKIAorICAgIGlmICghbV9hc3luYyAmJiAoIWRvY3Vt
ZW50LnBhZ2UoKSB8fCAhZG9jdW1lbnQucGFnZSgpLT5hcmVTeW5jaHJvbm91c0xvYWRzQWxsb3dl
ZCgpKSkgeworICAgICAgICBsb2dFcnJvckFuZEZhaWwoUmVzb3VyY2VFcnJvcihlcnJvckRvbWFp
bldlYktpdEludGVybmFsLCAwLCByZXF1ZXN0LnVybCgpLCAiU3luY2hyb25vdXMgbG9hZHMgYXJl
IG5vdCBhbGxvd2VkIGF0IHRoaXMgdGltZSIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIC8vIFJlZmVycmVyIGFuZCBPcmlnaW4gaGVhZGVycyBzaG91bGQgYmUgc2V0IGFmdGVyIHRo
ZSBwcmVmbGlnaHQgaWYgYW55LgogICAgIEFTU0VSVCghcmVxdWVzdC5oYXNIVFRQUmVmZXJyZXIo
KSAmJiAhcmVxdWVzdC5oYXNIVFRQT3JpZ2luKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAppbmRleCBlMTA1YmUwYmE5MmQ5M2EyZTk5ODRlYWU5YTM2MDY3MWZkYzNkYzY1
Li4wZjFmMjgxYTU5NGY3ZDMxNjFlNDU0MDMzMzk4NDFjYWNkZDM4ZjRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTIxMCwyMiArMjEwLDQ2IEBAIHN0YXRpYyBib29s
IGlzRG9jdW1lbnRTYW5kYm94ZWQoRnJhbWUmIGZyYW1lLCBTYW5kYm94RmxhZ3MgbWFzaykKICAg
ICByZXR1cm4gZnJhbWUuZG9jdW1lbnQoKSAmJiBmcmFtZS5kb2N1bWVudCgpLT5pc1NhbmRib3hl
ZChtYXNrKTsKIH0KIAotc3RydWN0IEZvcmJpZFByb21wdHNTY29wZSB7Ci0gICAgRm9yYmlkUHJv
bXB0c1Njb3BlKFBhZ2UqIHBhZ2UpIDogbV9wYWdlKHBhZ2UpCitjbGFzcyBQYWdlTGV2ZWxGb3Ji
aWRTY29wZSB7Citwcm90ZWN0ZWQ6CisgICAgZXhwbGljaXQgUGFnZUxldmVsRm9yYmlkU2NvcGUo
UGFnZSogcGFnZSkKKyAgICAgICAgOiBtX3BhZ2UobWFrZVdlYWtQdHIocGFnZSkpCiAgICAgewot
ICAgICAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9wYWdl
LT5mb3JiaWRQcm9tcHRzKCk7CisgICAgfQorCisgICAgflBhZ2VMZXZlbEZvcmJpZFNjb3BlKCkg
PSBkZWZhdWx0OworCisgICAgV2Vha1B0cjxQYWdlPiBtX3BhZ2U7Cit9OworCitzdHJ1Y3QgRm9y
YmlkUHJvbXB0c1Njb3BlIDogcHVibGljIFBhZ2VMZXZlbEZvcmJpZFNjb3BlIHsKKyAgICBleHBs
aWNpdCBGb3JiaWRQcm9tcHRzU2NvcGUoUGFnZSogcGFnZSkKKyAgICAgICAgOiBQYWdlTGV2ZWxG
b3JiaWRTY29wZShwYWdlKQorICAgIHsKKyAgICAgICAgaWYgKG1fcGFnZSkKKyAgICAgICAgICAg
IG1fcGFnZS0+Zm9yYmlkUHJvbXB0cygpOwogICAgIH0KIAogICAgIH5Gb3JiaWRQcm9tcHRzU2Nv
cGUoKQogICAgIHsKLSAgICAgICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIG1fcGFnZS0+YWxsb3dQcm9tcHRzKCk7CisgICAgICAgIGlmIChtX3BhZ2UpCisgICAg
ICAgICAgICBtX3BhZ2UtPmFsbG93UHJvbXB0cygpOwogICAgIH0KK307CiAKLSAgICBQYWdlKiBt
X3BhZ2U7CitzdHJ1Y3QgRm9yYmlkU3luY2hyb25vdXNMb2Fkc1Njb3BlIDogcHVibGljIFBhZ2VM
ZXZlbEZvcmJpZFNjb3BlIHsKKyAgICBleHBsaWNpdCBGb3JiaWRTeW5jaHJvbm91c0xvYWRzU2Nv
cGUoUGFnZSogcGFnZSkKKyAgICAgICAgOiBQYWdlTGV2ZWxGb3JiaWRTY29wZShwYWdlKQorICAg
IHsKKyAgICAgICAgaWYgKG1fcGFnZSkKKyAgICAgICAgICAgIG1fcGFnZS0+Zm9yYmlkU3luY2hy
b25vdXNMb2FkcygpOworICAgIH0KKworICAgIH5Gb3JiaWRTeW5jaHJvbm91c0xvYWRzU2NvcGUo
KQorICAgIHsKKyAgICAgICAgaWYgKG1fcGFnZSkKKyAgICAgICAgICAgIG1fcGFnZS0+YWxsb3dT
eW5jaHJvbm91c0xvYWRzKCk7CisgICAgfQogfTsKIAogY2xhc3MgRnJhbWVMb2FkZXI6OkZyYW1l
UHJvZ3Jlc3NUcmFja2VyIHsKQEAgLTMyOTgsNiArMzMyMiw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6
OmRpc3BhdGNoVW5sb2FkRXZlbnRzKFVubG9hZEV2ZW50UG9saWN5IHVubG9hZEV2ZW50UG9saWN5
KQogCiAgICAgLy8gV2Ugc3RvcmUgdGhlIGZyYW1lJ3MgcGFnZSBpbiBhIGxvY2FsIHZhcmlhYmxl
IGJlY2F1c2UgdGhlIGZyYW1lIG1pZ2h0IGdldCBkZXRhY2hlZCBpbnNpZGUgZGlzcGF0Y2hFdmVu
dC4KICAgICBGb3JiaWRQcm9tcHRzU2NvcGUgZm9yYmlkUHJvbXB0cyhtX2ZyYW1lLnBhZ2UoKSk7
CisgICAgRm9yYmlkU3luY2hyb25vdXNMb2Fkc1Njb3BlIGZvcmJpZFN5bmNocm9ub3VzTG9hZHMo
bV9mcmFtZS5wYWdlKCkpOwogICAgIElnbm9yZU9wZW5zRHVyaW5nVW5sb2FkQ291bnRJbmNyZW1l
bnRlciBpZ25vcmVPcGVuc0R1cmluZ1VubG9hZENvdW50SW5jcmVtZW50ZXIobV9mcmFtZS5kb2N1
bWVudCgpKTsKIAogICAgIGlmIChtX2RpZENhbGxJbXBsaWNpdENsb3NlICYmICFtX3dhc1VubG9h
ZEV2ZW50RW1pdHRlZCkgewpAQCAtMzM3OCw2ICszNDAzLDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6
ZGlzcGF0Y2hCZWZvcmVVbmxvYWRFdmVudChDaHJvbWUmIGNocm9tZSwgRnJhbWVMb2FkZXIqIGZy
YW1lTG8KICAgICB7CiAgICAgICAgIFNldEZvclNjb3BlPFBhZ2VEaXNtaXNzYWxUeXBlPiBjaGFu
Z2UobV9wYWdlRGlzbWlzc2FsRXZlbnRCZWluZ0Rpc3BhdGNoZWQsIFBhZ2VEaXNtaXNzYWxUeXBl
OjpCZWZvcmVVbmxvYWQpOwogICAgICAgICBGb3JiaWRQcm9tcHRzU2NvcGUgZm9yYmlkUHJvbXB0
cyhtX2ZyYW1lLnBhZ2UoKSk7CisgICAgICAgIEZvcmJpZFN5bmNocm9ub3VzTG9hZHNTY29wZSBm
b3JiaWRTeW5jaHJvbm91c0xvYWRzKG1fZnJhbWUucGFnZSgpKTsKICAgICAgICAgZG9tV2luZG93
LT5kaXNwYXRjaEV2ZW50KGJlZm9yZVVubG9hZEV2ZW50LCBkb21XaW5kb3ctPmRvY3VtZW50KCkp
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggN2YwZTAwZGQyOGRkOWY5YTE0MDQwNjc2
NDZmNDYwNWE5MjRjZTU3My4uZmU5MDhhZTc0M2IyNGNmMTI5NDdmYTM0NTAxNDIwYTc0YzY4NzVj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNDE5LDYgKzI0MTksMjIgQEAgYm9vbCBQYWdlOjph
cmVQcm9tcHRzQWxsb3dlZCgpCiAgICAgcmV0dXJuICFtX2ZvcmJpZFByb21wdHNEZXB0aDsKIH0K
IAordm9pZCBQYWdlOjpmb3JiaWRTeW5jaHJvbm91c0xvYWRzKCkKK3sKKyAgICArK21fZm9yYmlk
U3luY2hyb25vdXNMb2Fkc0RlcHRoOworfQorCit2b2lkIFBhZ2U6OmFsbG93U3luY2hyb25vdXNM
b2FkcygpCit7CisgICAgQVNTRVJUKG1fZm9yYmlkU3luY2hyb25vdXNMb2Fkc0RlcHRoKTsKKyAg
ICAtLW1fZm9yYmlkU3luY2hyb25vdXNMb2Fkc0RlcHRoOworfQorCitib29sIFBhZ2U6OmFyZVN5
bmNocm9ub3VzTG9hZHNBbGxvd2VkKCkKK3sKKyAgICByZXR1cm4gIW1fZm9yYmlkU3luY2hyb25v
dXNMb2Fkc0RlcHRoOworfQorCiB2b2lkIFBhZ2U6OmxvZ05hdmlnYXRpb24oY29uc3QgTmF2aWdh
dGlvbiYgbmF2aWdhdGlvbikKIHsKICAgICBTdHJpbmcgbmF2aWdhdGlvbkRlc2NyaXB0aW9uOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCAwNTkwNTZlMGUyOWQ5ZWViNGRiMmFiMmU0NjYxMGM4NzQwZGEzMTYy
Li4wMTcxMjM4NDc4ODgyOWFlMjY1MGQxM2ZjYTcwNjhmYTcyNzA4YzdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtNTg0LDYgKzU4NCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBhbGxvd1Byb21wdHMoKTsK
ICAgICBib29sIGFyZVByb21wdHNBbGxvd2VkKCk7CiAKKyAgICB2b2lkIGZvcmJpZFN5bmNocm9u
b3VzTG9hZHMoKTsKKyAgICB2b2lkIGFsbG93U3luY2hyb25vdXNMb2FkcygpOworICAgIGJvb2wg
YXJlU3luY2hyb25vdXNMb2Fkc0FsbG93ZWQoKTsKKwogICAgIHZvaWQgbWFpbkZyYW1lTG9hZFN0
YXJ0ZWQoY29uc3QgVVJMJiwgRnJhbWVMb2FkVHlwZSk7CiAKICAgICB2b2lkIHNldExhc3RTcGF0
aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZUNvdW50KHVuc2lnbmVkIGNvdW50KSB7IG1fbGFzdFNwYXRp
YWxOYXZpZ2F0aW9uQ2FuZGlkYXRlc0NvdW50ID0gY291bnQ7IH0KQEAgLTkxOCw2ICs5MjIsNyBA
QCBwcml2YXRlOgogCiAgICAgdW5zaWduZWQgbV9sYXN0U3BhdGlhbE5hdmlnYXRpb25DYW5kaWRh
dGVzQ291bnQgeyAwIH07CiAgICAgdW5zaWduZWQgbV9mb3JiaWRQcm9tcHRzRGVwdGggeyAwIH07
CisgICAgdW5zaWduZWQgbV9mb3JiaWRTeW5jaHJvbm91c0xvYWRzRGVwdGggeyAwIH07CiAKICAg
ICBSZWY8U29ja2V0UHJvdmlkZXI+IG1fc29ja2V0UHJvdmlkZXI7CiAgICAgUmVmPENvb2tpZUph
cj4gbV9jb29raWVKYXI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGZjNjAxNmI3MTk2NTgyYTM5MjJiMDI3YThkZmQwNWMy
NmE3MzY5MS4uMmE0NWYyNmIxZDRlOGJkOTc3ZDc2ZmMxOWRlZDUyYTZiYzhiZDhiYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDE5LTEyLTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKKyAgICAgICAgUHJldmVudCBzeW5jaHJvbm91cyBYSFIgaW4gYmVmb3JldW5sb2FkIC8g
dW5sb2FkIGV2ZW50IGhhbmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDQ5MTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3Njc2Mzk0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlv
dXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
cmVzb3VyY2VzL3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC13aW5kb3cuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvc3luYy14aHItaW4t
dW5sb2FkLXdpbmRvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tYmVmb3JldW5sb2Fk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14
aHItaW4tdW5sb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQuaHRtbDogQWRkZWQuCisKIDIwMTktMTIt
MDUgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIG1hcGxpa2Ug
c2hvdWxkIGRlZmluZSBhIHNldCBtZXRob2QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC13
aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3Vy
Y2VzL3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC13aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2M2
ZjRjNjBmNWMyYTZiZjBkODkwZWI1MWJkYTg4M2QyODI5MDdkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvc3luYy14aHIt
aW4tYmVmb3JldW5sb2FkLXdpbmRvdy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
YmVmb3JldW5sb2FkIiwgKGV2ZW50KSA9PiB7CisgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0
KCk7CisgICAgeGhyLm9wZW4oIkdFVCIsICIvcmVzb3VyY2VzL2R1bW15LnhtbCIsIGZhbHNlKTsK
KyAgICB0cnkgeworICAgICAgICB4aHIuc2VuZChudWxsKTsKKyAgICAgICAgb3BlbmVyLnRlc3RG
YWlsZWQoIkRvaW5nIGEgc3luY2hyb25vdXMgWEhSIGluIHRoZSBiZWZvcmV1bmxvYWQgZXZlbnQg
aGFuZGxlciBkaWQgbm90IHRocm93Iik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBvcGVu
ZXIudGVzdFBhc3NlZCgiRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhlIGJlZm9yZXVubG9h
ZCBldmVudCBoYW5kbGVyIHRocmV3IGFuIGV4Y2VwdGlvbiIpOworICAgIH0KKyAgICBvcGVuZXIu
ZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvc3lu
Yy14aHItaW4tdW5sb2FkLXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9yZXNvdXJjZXMvc3luYy14aHItaW4tdW5sb2FkLXdpbmRvdy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ1OGUyZTU0MmY0MzJmZWZhNThjNDY2YzE1MDVkNTQ0N2E4YmI4ZDAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy9zeW5jLXhoci1pbi11bmxvYWQtd2luZG93Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK3dpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJ1bmxvYWQiLCAoZXZlbnQpID0+IHsKKyAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KTsKKyAgICB4aHIub3BlbigiR0VUIiwgIi9yZXNvdXJjZXMvZHVtbXkueG1sIiwgZmFsc2UpOwor
ICAgIHRyeSB7CisgICAgICAgIHhoci5zZW5kKG51bGwpOworICAgICAgICBvcGVuZXIudGVzdEZh
aWxlZCgiRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhlIHVubG9hZCBldmVudCBoYW5kbGVy
IGRpZCBub3QgdGhyb3ciKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIG9wZW5lci50ZXN0
UGFzc2VkKCJEb2luZyBhIHN5bmNocm9ub3VzIFhIUiBpbiB0aGUgdW5sb2FkIGV2ZW50IGhhbmRs
ZXIgdGhyZXcgYW4gZXhjZXB0aW9uIik7CisgICAgfQorICAgIG9wZW5lci5maW5pc2hKU1Rlc3Qo
KTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMt
eGhyLWluLWJlZm9yZXVubG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVmMGU2ZDMwZDc1
MWFjY2MxMzhlNTZkMzMyZjU2MzI5MmZhOGY2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tYmVmb3JldW5sb2FkLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogWE1M
SHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9k
dW1teS54bWwuCitDaGVja3MgdGhhdCB0cnlpbmcgdG8gZG8gYSBzeW5jaHJvbm91cyBYSFIgaW4g
YSBiZWZvcmV1bmxvYWQgZXZlbnQgaGFuZGxlciBpcyBub3QgYWxsb3dlZC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhl
IGJlZm9yZXVubG9hZCBldmVudCBoYW5kbGVyIHRocmV3IGFuIGV4Y2VwdGlvbgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tYmVmb3JldW5s
b2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhy
LWluLWJlZm9yZXVubG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4MTgzNDJmZjViOWEyZmZlOGE2NDRi
NTdkZGI1YTIxNzliMjRjMWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC5odG1sCkBAIC0wLDAg
KzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQ2hlY2tzIHRoYXQgdHJ5aW5nIHRvIGRvIGEgc3luY2hy
b25vdXMgWEhSIGluIGEgYmVmb3JldW5sb2FkIGV2ZW50IGhhbmRsZXIgaXMgbm90IGFsbG93ZWQu
Iik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
IHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKKworb25sb2FkID0gKCkgPT4geworICAg
IHcgPSBvcGVuKCJyZXNvdXJjZXMvc3luYy14aHItaW4tYmVmb3JldW5sb2FkLXdpbmRvdy5odG1s
Iik7CisgICAgdy5vbmxvYWQgPSAoKSA9PiB7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewor
ICAgICAgICAgICAgdy5jbG9zZSgpOworICAgICAgICB9LCAwKTsKKyAgICB9OworfQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLXVubG9hZC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGMzNjE5YTgwZTU0ZGI1Y2NlY2MwZjFiNWMyZjE5ZTA4NjI0Yzhm
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3Qvc3luYy14aHItaW4tdW5sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACittYWlu
IGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorQ2hlY2tzIHRoYXQgdHJ5aW5nIHRv
IGRvIGEgc3luY2hyb25vdXMgWEhSIGluIGEgdW5sb2FkIGV2ZW50IGhhbmRsZXIgaXMgbm90IGFs
bG93ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIERvaW5nIGEgc3lu
Y2hyb25vdXMgWEhSIGluIHRoZSB1bmxvYWQgZXZlbnQgaGFuZGxlciB0aHJldyBhbiBleGNlcHRp
b24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhy
LWluLXVubG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9z
eW5jLXhoci1pbi11bmxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNWRlOGFlMTA5ZWQ0ZWZiMmZlYTBi
ZjlkMGFmOTI0YjMxMmQwOTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQuaHRtbApAQCAtMCwwICsxLDI0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHRyeWluZyB0byBkbyBhIHN5bmNocm9ub3Vz
IFhIUiBpbiBhIHVubG9hZCBldmVudCBoYW5kbGVyIGlzIG5vdCBhbGxvd2VkLiIpOworanNUZXN0
SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVy
LnNldENhbk9wZW5XaW5kb3dzKCk7CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICB3ID0gb3Blbigi
cmVzb3VyY2VzL3N5bmMteGhyLWluLXVubG9hZC13aW5kb3cuaHRtbCIpOworICAgIHcub25sb2Fk
ID0gKCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIHcuY2xv
c2UoKTsKKyAgICAgICAgfSwgMCk7CisgICAgfTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHIt
aW4tdW5sb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYmQ4YTQzMzg5OTU4NGQwY2QwYjkx
MmViZjdlYzhkZjBlYmJkOTViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLXVubG9hZC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorbWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2Fk
IGhhbmRsZXIocykKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBYTUxIdHRwUmVxdWVzdCBjYW5u
b3QgbG9hZCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL2R1bW15LnhtbC4KK0NoZWNr
cyB0aGF0IHRyeWluZyB0byBkbyBhIHN5bmNocm9ub3VzIFhIUiBpbiBhIHVubG9hZCBldmVudCBo
YW5kbGVyIGlzIG5vdCBhbGxvd2VkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBEb2luZyBhIHN5bmNocm9ub3VzIFhIUiBpbiB0aGUgdW5sb2FkIGV2ZW50IGhhbmRsZXIg
dGhyZXcgYW4gZXhjZXB0aW9uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385015</attachid>
            <date>2019-12-06 08:37:24 -0800</date>
            <delta_ts>2019-12-06 10:25:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204912-20191206083724.patch</filename>
            <type>text/plain</type>
            <size>15933</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGViYmYxYzEyYTIxYmYw
MjY1YWRiZmVhYjZiMjA3OTkzYWNmMTUyMi4uYTQxZGE5MTc1MWIwYzU3Y2UzYmY4NjA4ZGUwNTBk
MjQ4NTJhOGE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTEyLTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUHJldmVudCBzeW5jaHJvbm91
cyBYSFIgaW4gYmVmb3JldW5sb2FkIC8gdW5sb2FkIGV2ZW50IGhhbmRsZXJzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ5MTIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU3Njc2Mzk0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByZXZlbnQgc3luY2hyb25vdXMgWEhSIGluIGJlZm9yZXVubG9hZCAv
IHVubG9hZCBldmVudCBoYW5kbGVycy4gVGhleSBhcmUgdGVycmlibGUgZm9yIHBlcmZvcm1hbmNl
CisgICAgICAgIGFuZCB0aGUgQmVhY29uIEFQSSAob3IgRmV0Y2gga2VlcGFsaXZlKSBhcmUgbW9y
ZSBlZmZpY2llbnQgJiBzdXBwb3J0ZWQgYWx0ZXJuYXRpdmVzLgorCisgICAgICAgIEluIHBhcnRp
Y3VsYXIsIHRoaXMgd291bGQgY2F1c2UgaGFuZ3Mgd2hlbiB0cnlpbmcgdG8gbmF2aWdhdGUgYXdh
eSBmcm9tIGEgc2l0ZSBvciB3aGVuIGNsb3NpbmcKKyAgICAgICAgYXR0ZW1wdCwgd2hpY2ggd291
bGQgcmVzdWx0IGluIHRlcnJpYmxlIHVzZXIgZXhwZXJpZW5jZS4KKworICAgICAgICBDaHJvbWUg
YW5kIEVkZ2UgaGF2ZSBleHByZXNzZWQgcHVibGljIHN1cHBvcnQgZm9yIHRoaXMuIENocm9tZSBo
YXMgYWN0dWFsbHkgYmVlbiB0ZXN0aW5nIHRoaXMgYmVoYXZpb3IKKyAgICAgICAgZm9yIGEgd2hp
bGUgbm93OgorICAgICAgICBodHRwczovL3d3dy5jaHJvbWVzdGF0dXMuY29tL2ZlYXR1cmUvNDY2
NDg0MzA1NTM5ODkxMgorCisgICAgICAgIEkgYWRkZWQgdGhpcyBuZXcgYmVoYXZpb3IgYmVoaW5k
IGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZsYWcsIGVuYWJsZWQgYnkgZGVmYXVsdC4KKworICAg
ICAgICBUZXN0czogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi1iZWZvcmV1
bmxvYWQuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5j
LXhoci1pbi11bmxvYWQuaHRtbAorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6
OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcik6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VMZXZlbEZvcmJpZFNjb3BlOjpQYWdlTGV2ZWxG
b3JiaWRTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpGb3JiaWRQcm9tcHRzU2NvcGU6OkZvcmJp
ZFByb21wdHNTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpGb3JiaWRQcm9tcHRzU2NvcGU6On5G
b3JiaWRQcm9tcHRzU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9yYmlkU3luY2hyb25vdXNM
b2Fkc1Njb3BlOjpGb3JiaWRTeW5jaHJvbm91c0xvYWRzU2NvcGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9yYmlkU3luY2hyb25vdXNMb2Fkc1Njb3BlOjp+Rm9yYmlkU3luY2hyb25vdXNMb2Fkc1Nj
b3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkaXNwYXRjaFVubG9hZEV2ZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6ZGlzcGF0Y2hCZWZvcmVVbmxvYWRF
dmVudCk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OmZvcmJpZFN5bmNocm9ub3VzTG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6YWxsb3dT
eW5jaHJvbm91c0xvYWRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmFyZVN5bmNocm9ub3Vz
TG9hZHNBbGxvd2VkKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKwogMjAxOS0xMi0wNSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgdXNpbmcgcmVzZXJ2
ZUNhcGFjaXR5KCkgLyByZXNlcnZlSW5pdGlhbENhcGFjaXR5KCkgaW4gSVBDIGRlY29kZXJzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CmluZGV4IGY1ZTU1MTVhMjAyY2M1ODE5ZGNlZjFiNzJkNmUzOGUwMDg1NmIxOTAuLjQ4MWJmYzkz
MDYwMjI0MTFlYjdhNDg1YzViYThhMjI2YWU4Mzk2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0xMzEsNiArMTMxLDEx
IEBAIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKERv
Y3VtZW50JiBkb2N1bWVudCwgVGhyZWFkYWJsCiAgICAgLy8gU2V0dGluZyBhIHJlZmVycmVyIGhl
YWRlciBpcyBvbmx5IHN1cHBvcnRlZCBpbiB0aGUgYXN5bmMgY29kZSBwYXRoLgogICAgIEFTU0VS
VChtX2FzeW5jIHx8IG1fcmVmZXJyZXIuaXNFbXB0eSgpKTsKIAorICAgIGlmIChkb2N1bWVudC5z
ZXR0aW5ncygpLmRpc2FsbG93U3luY1hIUkR1cmluZ1BhZ2VEaXNtaXNzYWxFbmFibGVkKCkgJiYg
IW1fYXN5bmMgJiYgKCFkb2N1bWVudC5wYWdlKCkgfHwgIWRvY3VtZW50LnBhZ2UoKS0+YXJlU3lu
Y2hyb25vdXNMb2Fkc0FsbG93ZWQoKSkpIHsKKyAgICAgICAgbG9nRXJyb3JBbmRGYWlsKFJlc291
cmNlRXJyb3IoZXJyb3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgcmVxdWVzdC51cmwoKSwgIlN5
bmNocm9ub3VzIGxvYWRzIGFyZSBub3QgYWxsb3dlZCBhdCB0aGlzIHRpbWUiKSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKICAgICAvLyBSZWZlcnJlciBhbmQgT3JpZ2luIGhlYWRlcnMgc2hv
dWxkIGJlIHNldCBhZnRlciB0aGUgcHJlZmxpZ2h0IGlmIGFueS4KICAgICBBU1NFUlQoIXJlcXVl
c3QuaGFzSFRUUFJlZmVycmVyKCkgJiYgIXJlcXVlc3QuaGFzSFRUUE9yaWdpbigpKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZTEwNWJlMGJhOTJkOTNhMmU5OTg0
ZWFlOWEzNjA2NzFmZGMzZGM2NS4uMGYxZjI4MWE1OTRmN2QzMTYxZTQ1NDAzMzM5ODQxY2FjZGQz
OGY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yMTAsMjIgKzIx
MCw0NiBAQCBzdGF0aWMgYm9vbCBpc0RvY3VtZW50U2FuZGJveGVkKEZyYW1lJiBmcmFtZSwgU2Fu
ZGJveEZsYWdzIG1hc2spCiAgICAgcmV0dXJuIGZyYW1lLmRvY3VtZW50KCkgJiYgZnJhbWUuZG9j
dW1lbnQoKS0+aXNTYW5kYm94ZWQobWFzayk7CiB9CiAKLXN0cnVjdCBGb3JiaWRQcm9tcHRzU2Nv
cGUgewotICAgIEZvcmJpZFByb21wdHNTY29wZShQYWdlKiBwYWdlKSA6IG1fcGFnZShwYWdlKQor
Y2xhc3MgUGFnZUxldmVsRm9yYmlkU2NvcGUgeworcHJvdGVjdGVkOgorICAgIGV4cGxpY2l0IFBh
Z2VMZXZlbEZvcmJpZFNjb3BlKFBhZ2UqIHBhZ2UpCisgICAgICAgIDogbV9wYWdlKG1ha2VXZWFr
UHRyKHBhZ2UpKQogICAgIHsKLSAgICAgICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIG1fcGFnZS0+Zm9yYmlkUHJvbXB0cygpOworICAgIH0KKworICAgIH5QYWdl
TGV2ZWxGb3JiaWRTY29wZSgpID0gZGVmYXVsdDsKKworICAgIFdlYWtQdHI8UGFnZT4gbV9wYWdl
OworfTsKKworc3RydWN0IEZvcmJpZFByb21wdHNTY29wZSA6IHB1YmxpYyBQYWdlTGV2ZWxGb3Ji
aWRTY29wZSB7CisgICAgZXhwbGljaXQgRm9yYmlkUHJvbXB0c1Njb3BlKFBhZ2UqIHBhZ2UpCisg
ICAgICAgIDogUGFnZUxldmVsRm9yYmlkU2NvcGUocGFnZSkKKyAgICB7CisgICAgICAgIGlmICht
X3BhZ2UpCisgICAgICAgICAgICBtX3BhZ2UtPmZvcmJpZFByb21wdHMoKTsKICAgICB9CiAKICAg
ICB+Rm9yYmlkUHJvbXB0c1Njb3BlKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9wYWdlKQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX3BhZ2UtPmFsbG93UHJvbXB0cygpOworICAgICAg
ICBpZiAobV9wYWdlKQorICAgICAgICAgICAgbV9wYWdlLT5hbGxvd1Byb21wdHMoKTsKICAgICB9
Cit9OwogCi0gICAgUGFnZSogbV9wYWdlOworc3RydWN0IEZvcmJpZFN5bmNocm9ub3VzTG9hZHNT
Y29wZSA6IHB1YmxpYyBQYWdlTGV2ZWxGb3JiaWRTY29wZSB7CisgICAgZXhwbGljaXQgRm9yYmlk
U3luY2hyb25vdXNMb2Fkc1Njb3BlKFBhZ2UqIHBhZ2UpCisgICAgICAgIDogUGFnZUxldmVsRm9y
YmlkU2NvcGUocGFnZSkKKyAgICB7CisgICAgICAgIGlmIChtX3BhZ2UpCisgICAgICAgICAgICBt
X3BhZ2UtPmZvcmJpZFN5bmNocm9ub3VzTG9hZHMoKTsKKyAgICB9CisKKyAgICB+Rm9yYmlkU3lu
Y2hyb25vdXNMb2Fkc1Njb3BlKCkKKyAgICB7CisgICAgICAgIGlmIChtX3BhZ2UpCisgICAgICAg
ICAgICBtX3BhZ2UtPmFsbG93U3luY2hyb25vdXNMb2FkcygpOworICAgIH0KIH07CiAKIGNsYXNz
IEZyYW1lTG9hZGVyOjpGcmFtZVByb2dyZXNzVHJhY2tlciB7CkBAIC0zMjk4LDYgKzMzMjIsNyBA
QCB2b2lkIEZyYW1lTG9hZGVyOjpkaXNwYXRjaFVubG9hZEV2ZW50cyhVbmxvYWRFdmVudFBvbGlj
eSB1bmxvYWRFdmVudFBvbGljeSkKIAogICAgIC8vIFdlIHN0b3JlIHRoZSBmcmFtZSdzIHBhZ2Ug
aW4gYSBsb2NhbCB2YXJpYWJsZSBiZWNhdXNlIHRoZSBmcmFtZSBtaWdodCBnZXQgZGV0YWNoZWQg
aW5zaWRlIGRpc3BhdGNoRXZlbnQuCiAgICAgRm9yYmlkUHJvbXB0c1Njb3BlIGZvcmJpZFByb21w
dHMobV9mcmFtZS5wYWdlKCkpOworICAgIEZvcmJpZFN5bmNocm9ub3VzTG9hZHNTY29wZSBmb3Ji
aWRTeW5jaHJvbm91c0xvYWRzKG1fZnJhbWUucGFnZSgpKTsKICAgICBJZ25vcmVPcGVuc0R1cmlu
Z1VubG9hZENvdW50SW5jcmVtZW50ZXIgaWdub3JlT3BlbnNEdXJpbmdVbmxvYWRDb3VudEluY3Jl
bWVudGVyKG1fZnJhbWUuZG9jdW1lbnQoKSk7CiAKICAgICBpZiAobV9kaWRDYWxsSW1wbGljaXRD
bG9zZSAmJiAhbV93YXNVbmxvYWRFdmVudEVtaXR0ZWQpIHsKQEAgLTMzNzgsNiArMzQwMyw3IEBA
IGJvb2wgRnJhbWVMb2FkZXI6OmRpc3BhdGNoQmVmb3JlVW5sb2FkRXZlbnQoQ2hyb21lJiBjaHJv
bWUsIEZyYW1lTG9hZGVyKiBmcmFtZUxvCiAgICAgewogICAgICAgICBTZXRGb3JTY29wZTxQYWdl
RGlzbWlzc2FsVHlwZT4gY2hhbmdlKG1fcGFnZURpc21pc3NhbEV2ZW50QmVpbmdEaXNwYXRjaGVk
LCBQYWdlRGlzbWlzc2FsVHlwZTo6QmVmb3JlVW5sb2FkKTsKICAgICAgICAgRm9yYmlkUHJvbXB0
c1Njb3BlIGZvcmJpZFByb21wdHMobV9mcmFtZS5wYWdlKCkpOworICAgICAgICBGb3JiaWRTeW5j
aHJvbm91c0xvYWRzU2NvcGUgZm9yYmlkU3luY2hyb25vdXNMb2FkcyhtX2ZyYW1lLnBhZ2UoKSk7
CiAgICAgICAgIGRvbVdpbmRvdy0+ZGlzcGF0Y2hFdmVudChiZWZvcmVVbmxvYWRFdmVudCwgZG9t
V2luZG93LT5kb2N1bWVudCgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDIyNzFj
MTkxYjY2MjVjNGVjNDU5Njg0MWRhZWM2YWZjOTMzZGU5ZmIuLjNiZWE5ZDgzZjI5ZDg4NjkzYzE1
Zjg3MjI4ZGNmMDE5NzY4MzY0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjQxOCw2ICsyNDE4
LDIyIEBAIGJvb2wgUGFnZTo6YXJlUHJvbXB0c0FsbG93ZWQoKQogICAgIHJldHVybiAhbV9mb3Ji
aWRQcm9tcHRzRGVwdGg7CiB9CiAKK3ZvaWQgUGFnZTo6Zm9yYmlkU3luY2hyb25vdXNMb2Fkcygp
Cit7CisgICAgKyttX2ZvcmJpZFN5bmNocm9ub3VzTG9hZHNEZXB0aDsKK30KKwordm9pZCBQYWdl
OjphbGxvd1N5bmNocm9ub3VzTG9hZHMoKQoreworICAgIEFTU0VSVChtX2ZvcmJpZFN5bmNocm9u
b3VzTG9hZHNEZXB0aCk7CisgICAgLS1tX2ZvcmJpZFN5bmNocm9ub3VzTG9hZHNEZXB0aDsKK30K
KworYm9vbCBQYWdlOjphcmVTeW5jaHJvbm91c0xvYWRzQWxsb3dlZCgpCit7CisgICAgcmV0dXJu
ICFtX2ZvcmJpZFN5bmNocm9ub3VzTG9hZHNEZXB0aDsKK30KKwogdm9pZCBQYWdlOjpsb2dOYXZp
Z2F0aW9uKGNvbnN0IE5hdmlnYXRpb24mIG5hdmlnYXRpb24pCiB7CiAgICAgU3RyaW5nIG5hdmln
YXRpb25EZXNjcmlwdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggMDU5MDU2ZTBlMjlkOWVlYjRkYjJh
YjJlNDY2MTBjODc0MGRhMzE2Mi4uMDE3MTIzODQ3ODg4MjlhZTI2NTBkMTNmY2E3MDY4ZmE3Mjcw
OGM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTU4NCw2ICs1ODQsMTAgQEAgcHVibGljOgogICAgIHZv
aWQgYWxsb3dQcm9tcHRzKCk7CiAgICAgYm9vbCBhcmVQcm9tcHRzQWxsb3dlZCgpOwogCisgICAg
dm9pZCBmb3JiaWRTeW5jaHJvbm91c0xvYWRzKCk7CisgICAgdm9pZCBhbGxvd1N5bmNocm9ub3Vz
TG9hZHMoKTsKKyAgICBib29sIGFyZVN5bmNocm9ub3VzTG9hZHNBbGxvd2VkKCk7CisKICAgICB2
b2lkIG1haW5GcmFtZUxvYWRTdGFydGVkKGNvbnN0IFVSTCYsIEZyYW1lTG9hZFR5cGUpOwogCiAg
ICAgdm9pZCBzZXRMYXN0U3BhdGlhbE5hdmlnYXRpb25DYW5kaWRhdGVDb3VudCh1bnNpZ25lZCBj
b3VudCkgeyBtX2xhc3RTcGF0aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZXNDb3VudCA9IGNvdW50OyB9
CkBAIC05MTgsNiArOTIyLDcgQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fbGFzdFNwYXRp
YWxOYXZpZ2F0aW9uQ2FuZGlkYXRlc0NvdW50IHsgMCB9OwogICAgIHVuc2lnbmVkIG1fZm9yYmlk
UHJvbXB0c0RlcHRoIHsgMCB9OworICAgIHVuc2lnbmVkIG1fZm9yYmlkU3luY2hyb25vdXNMb2Fk
c0RlcHRoIHsgMCB9OwogCiAgICAgUmVmPFNvY2tldFByb3ZpZGVyPiBtX3NvY2tldFByb3ZpZGVy
OwogICAgIFJlZjxDb29raWVKYXI+IG1fY29va2llSmFyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55
YW1sCmluZGV4IGEzZTM1MjZiYmI1OGM2YjMzNzYzZWY4NzFlY2FjZjQ0MTM2ZjQzNjkuLjBlYTZh
MDRkYTU1YzExNTVkZjA4MWEwNzhjMjM2MjUzOGZiNmM4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLnlhbWwKQEAgLTU0LDYgKzU0LDEwIEBAIGRldmljZUhlaWdodDoKICAgdHlwZTogaW50CiAg
IGluaXRpYWw6IDAKIAorZGlzYWxsb3dTeW5jWEhSRHVyaW5nUGFnZURpc21pc3NhbEVuYWJsZWQ6
CisgIHR5cGU6IGJvb2wKKyAgaW5pdGlhbDogdHJ1ZQorCiAjIEFsbG93IGNsaWVudHMgY29uY2Vy
bmVkIHdpdGggbWVtb3J5IGNvbnN1bXB0aW9uIHRvIHNldCBhIHF1b3RhIG9uIHNlc3Npb24gc3Rv
cmFnZQogIyBzaW5jZSB0aGUgbWVtb3J5IHVzZWQgd29uJ3QgYmUgcmVsZWFzZWQgdW50aWwgdGhl
IFBhZ2UgaXMgZGVzdHJveWVkLgogc2Vzc2lvblN0b3JhZ2VRdW90YToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDgzNWZkYzgyMmViMDg3OGVmOTI4ZWQxNmNj
Yjg2MTAwM2Y3NjJiMDkuLjhkOTU5NWM1YjZkNDVjM2E2ZDUzNjVlZWVjOGNlZWUxOGQ0Yjk3YmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTgsNiArMTgs
MTMgQEAgRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uQVBJRW5hYmxlZDoKICAgY29uZGl0aW9u
OiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICB3ZWJjb3JlTmFtZTogZGV2aWNlT3JpZW50
YXRpb25QZXJtaXNzaW9uQVBJRW5hYmxlZAogCitEaXNhbGxvd1N5bmNYSFJEdXJpbmdQYWdlRGlz
bWlzc2FsRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IHRydWUKKyAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJEaXNhbGxvdyBzeW5jIFhIUiBkdXJpbmcgcGFnZSBkaXNtaXNzYWwi
CisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkRpc2FsbG93IHN5bmNocm9ub3VzIFhNTEh0
dHBSZXF1ZXN0IGR1cmluZyBwYWdlIGRpc21pc3NhbCIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRh
bAorCiBKYXZhU2NyaXB0RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRy
dWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBhZWMwMGNhMTgzZGFhNDY0YjU0MjYyMDlmYzA3YmMyOGNhMjFjNGQyLi4zZGJm
MWRhMmJhOTViZDYzMTdjYjIyNmNlYTIzMTJlZDRhZWZhNWM2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTktMTItMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBQcmV2ZW50IHN5bmNocm9ub3VzIFhIUiBpbiBiZWZvcmV1bmxvYWQgLyB1bmxvYWQgZXZlbnQg
aGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNDkxMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTc2NzYzOTQ+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNvdmVy
YWdlLgorCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvc3lu
Yy14aHItaW4tYmVmb3JldW5sb2FkLXdpbmRvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9zeW5jLXhoci1pbi11bmxvYWQtd2luZG93
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14
aHItaW4tYmVmb3JldW5sb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi1iZWZvcmV1bmxvYWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3N5bmMteGhyLWluLXVubG9hZC5odG1sOiBBZGRlZC4KKwogMjAxOS0xMi0wNiAgeW91ZW5uIGZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUHJvdGVjdCBXZWJSVEMgbmV0d29y
ayBtb25pdG9yaW5nIHRvIHdhaXQgZm9yZXZlciBpbiBlZGdlIGNhc2VzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9zeW5jLXhoci1p
bi1iZWZvcmV1bmxvYWQtd2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3Jlc291cmNlcy9zeW5jLXhoci1pbi1iZWZvcmV1bmxvYWQtd2luZG93Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDdjNmY0YzYwZjVjMmE2YmYwZDg5MGViNTFiZGE4ODNkMjgyOTA3ZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVz
b3VyY2VzL3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC13aW5kb3cuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0Pgord2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsIChldmVudCkgPT4geworICAgIHhociA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHhoci5vcGVuKCJHRVQiLCAiL3Jlc291cmNlcy9kdW1t
eS54bWwiLCBmYWxzZSk7CisgICAgdHJ5IHsKKyAgICAgICAgeGhyLnNlbmQobnVsbCk7CisgICAg
ICAgIG9wZW5lci50ZXN0RmFpbGVkKCJEb2luZyBhIHN5bmNocm9ub3VzIFhIUiBpbiB0aGUgYmVm
b3JldW5sb2FkIGV2ZW50IGhhbmRsZXIgZGlkIG5vdCB0aHJvdyIpOworICAgIH0gY2F0Y2ggKGUp
IHsKKyAgICAgICAgb3BlbmVyLnRlc3RQYXNzZWQoIkRvaW5nIGEgc3luY2hyb25vdXMgWEhSIGlu
IHRoZSBiZWZvcmV1bmxvYWQgZXZlbnQgaGFuZGxlciB0aHJldyBhbiBleGNlcHRpb24iKTsKKyAg
ICB9CisgICAgb3BlbmVyLmZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvcmVzb3VyY2VzL3N5bmMteGhyLWluLXVubG9hZC13aW5kb3cuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3N5bmMteGhyLWluLXVubG9hZC13
aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NThlMmU1NDJmNDMyZmVmYTU4YzQ2NmMxNTA1ZDU0NDdh
OGJiOGQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9yZXNvdXJjZXMvc3luYy14aHItaW4tdW5sb2FkLXdpbmRvdy5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+Cit3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIiwgKGV2ZW50KSA9PiB7CisgICAgeGhyID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgeGhyLm9wZW4oIkdFVCIsICIvcmVzb3VyY2VzL2R1bW15
LnhtbCIsIGZhbHNlKTsKKyAgICB0cnkgeworICAgICAgICB4aHIuc2VuZChudWxsKTsKKyAgICAg
ICAgb3BlbmVyLnRlc3RGYWlsZWQoIkRvaW5nIGEgc3luY2hyb25vdXMgWEhSIGluIHRoZSB1bmxv
YWQgZXZlbnQgaGFuZGxlciBkaWQgbm90IHRocm93Iik7CisgICAgfSBjYXRjaCAoZSkgeworICAg
ICAgICBvcGVuZXIudGVzdFBhc3NlZCgiRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhlIHVu
bG9hZCBldmVudCBoYW5kbGVyIHRocmV3IGFuIGV4Y2VwdGlvbiIpOworICAgIH0KKyAgICBvcGVu
ZXIuZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1p
bi1iZWZvcmV1bmxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9zeW5jLXhoci1pbi1iZWZvcmV1bmxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA1ZjBlNmQzMGQ3NTFhY2NjMTM4ZTU2ZDMzMmY1NjMyOTJmYThmNjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWlu
LWJlZm9yZXVubG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDk6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9yZXNvdXJjZXMvZHVtbXkueG1sLgorQ2hlY2tzIHRoYXQgdHJ5aW5nIHRvIGRvIGEgc3lu
Y2hyb25vdXMgWEhSIGluIGEgYmVmb3JldW5sb2FkIGV2ZW50IGhhbmRsZXIgaXMgbm90IGFsbG93
ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIERvaW5nIGEgc3luY2hy
b25vdXMgWEhSIGluIHRoZSBiZWZvcmV1bmxvYWQgZXZlbnQgaGFuZGxlciB0aHJldyBhbiBleGNl
cHRpb24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMt
eGhyLWluLWJlZm9yZXVubG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9zeW5jLXhoci1pbi1iZWZvcmV1bmxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODE4MzQy
ZmY1YjlhMmZmZThhNjQ0YjU3ZGRiNWEyMTc5YjI0YzFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi1iZWZvcmV1bmxv
YWQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHRyeWlu
ZyB0byBkbyBhIHN5bmNocm9ub3VzIFhIUiBpbiBhIGJlZm9yZXVubG9hZCBldmVudCBoYW5kbGVy
IGlzIG5vdCBhbGxvd2VkLiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisKK29ubG9h
ZCA9ICgpID0+IHsKKyAgICB3ID0gb3BlbigicmVzb3VyY2VzL3N5bmMteGhyLWluLWJlZm9yZXVu
bG9hZC13aW5kb3cuaHRtbCIpOworICAgIHcub25sb2FkID0gKCkgPT4geworICAgICAgICBzZXRU
aW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIHcuY2xvc2UoKTsKKyAgICAgICAgfSwgMCk7Cisg
ICAgfTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1p
bi11bmxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjMzYxOWE4MGU1NGRiNWNjZWNjMGYx
YjVjMmYxOWUwODYyNGM4ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLXVubG9hZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorbWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK0NoZWNr
cyB0aGF0IHRyeWluZyB0byBkbyBhIHN5bmNocm9ub3VzIFhIUiBpbiBhIHVubG9hZCBldmVudCBo
YW5kbGVyIGlzIG5vdCBhbGxvd2VkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBEb2luZyBhIHN5bmNocm9ub3VzIFhIUiBpbiB0aGUgdW5sb2FkIGV2ZW50IGhhbmRsZXIg
dGhyZXcgYW4gZXhjZXB0aW9uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tdW5sb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTVkZThh
ZTEwOWVkNGVmYjJmZWEwYmY5ZDBhZjkyNGIzMTJkMDkxMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tdW5sb2FkLmh0
bWwKQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJDaGVja3MgdGhhdCB0cnlpbmcgdG8g
ZG8gYSBzeW5jaHJvbm91cyBYSFIgaW4gYSB1bmxvYWQgZXZlbnQgaGFuZGxlciBpcyBub3QgYWxs
b3dlZC4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOworCitvbmxvYWQgPSAoKSA9PiB7
CisgICAgdyA9IG9wZW4oInJlc291cmNlcy9zeW5jLXhoci1pbi11bmxvYWQtd2luZG93Lmh0bWwi
KTsKKyAgICB3Lm9ubG9hZCA9ICgpID0+IHsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Cisg
ICAgICAgICAgICB3LmNsb3NlKCk7CisgICAgICAgIH0sIDApOworICAgIH07Cit9Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3N5bmMteGhyLWluLXVubG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJkOGE0
MzM4OTk1ODRkMGNkMGI5MTJlYmY3ZWM4ZGYwZWJiZDk1YgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5j
LXhoci1pbi11bmxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK21haW4gZnJhbWUg
LSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogWE1M
SHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9k
dW1teS54bWwuCitDaGVja3MgdGhhdCB0cnlpbmcgdG8gZG8gYSBzeW5jaHJvbm91cyBYSFIgaW4g
YSB1bmxvYWQgZXZlbnQgaGFuZGxlciBpcyBub3QgYWxsb3dlZC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhlIHVubG9h
ZCBldmVudCBoYW5kbGVyIHRocmV3IGFuIGV4Y2VwdGlvbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385025</attachid>
            <date>2019-12-06 10:25:38 -0800</date>
            <delta_ts>2019-12-06 13:05:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204912-20191206102537.patch</filename>
            <type>text/plain</type>
            <size>16149</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI1NTNmOGIyNTQxMTA4
YzViODdjNjdmNDkwNWM3NzI0ZjZlZDVkOC4uN2MzY2E3N2FjYjEwYTM2YTI5MGU1OGViMTk4YTk3
MjBlN2U2ODZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTEyLTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUHJldmVudCBzeW5jaHJvbm91
cyBYSFIgaW4gYmVmb3JldW5sb2FkIC8gdW5sb2FkIGV2ZW50IGhhbmRsZXJzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ5MTIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU3Njc2Mzk0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFByZXZlbnQgc3luY2hyb25vdXMgWEhSIGluIGJlZm9yZXVubG9hZCAv
IHVubG9hZCBldmVudCBoYW5kbGVycy4gVGhleSBhcmUgdGVycmlibGUgZm9yIHBlcmZvcm1hbmNl
CisgICAgICAgIGFuZCB0aGUgQmVhY29uIEFQSSAob3IgRmV0Y2gga2VlcGFsaXZlKSBhcmUgbW9y
ZSBlZmZpY2llbnQgJiBzdXBwb3J0ZWQgYWx0ZXJuYXRpdmVzLgorCisgICAgICAgIEluIHBhcnRp
Y3VsYXIsIHRoaXMgd291bGQgY2F1c2UgaGFuZ3Mgd2hlbiB0cnlpbmcgdG8gbmF2aWdhdGUgYXdh
eSBmcm9tIGEgc2l0ZSBvciB3aGVuIGNsb3NpbmcKKyAgICAgICAgYXR0ZW1wdCwgd2hpY2ggd291
bGQgcmVzdWx0IGluIHRlcnJpYmxlIHVzZXIgZXhwZXJpZW5jZS4KKworICAgICAgICBDaHJvbWUg
YW5kIEVkZ2UgaGF2ZSBleHByZXNzZWQgcHVibGljIHN1cHBvcnQgZm9yIHRoaXMuIENocm9tZSBo
YXMgYWN0dWFsbHkgYmVlbiB0ZXN0aW5nIHRoaXMgYmVoYXZpb3IKKyAgICAgICAgZm9yIGEgd2hp
bGUgbm93OgorICAgICAgICBodHRwczovL3d3dy5jaHJvbWVzdGF0dXMuY29tL2ZlYXR1cmUvNDY2
NDg0MzA1NTM5ODkxMgorCisgICAgICAgIEkgYWRkZWQgdGhpcyBuZXcgYmVoYXZpb3IgYmVoaW5k
IGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZsYWcsIGVuYWJsZWQgYnkgZGVmYXVsdC4KKworICAg
ICAgICBUZXN0czogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi1iZWZvcmV1
bmxvYWQuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5j
LXhoci1pbi11bmxvYWQuaHRtbAorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6
OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcik6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VMZXZlbEZvcmJpZFNjb3BlOjpQYWdlTGV2ZWxG
b3JiaWRTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpGb3JiaWRQcm9tcHRzU2NvcGU6OkZvcmJp
ZFByb21wdHNTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpGb3JiaWRQcm9tcHRzU2NvcGU6On5G
b3JiaWRQcm9tcHRzU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9yYmlkU3luY2hyb25vdXNM
b2Fkc1Njb3BlOjpGb3JiaWRTeW5jaHJvbm91c0xvYWRzU2NvcGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9yYmlkU3luY2hyb25vdXNMb2Fkc1Njb3BlOjp+Rm9yYmlkU3luY2hyb25vdXNMb2Fkc1Nj
b3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkaXNwYXRjaFVubG9hZEV2ZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6ZGlzcGF0Y2hCZWZvcmVVbmxvYWRF
dmVudCk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OmZvcmJpZFN5bmNocm9ub3VzTG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6YWxsb3dT
eW5jaHJvbm91c0xvYWRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmFyZVN5bmNocm9ub3Vz
TG9hZHNBbGxvd2VkKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKwogMjAxOS0xMi0wNiAgQW50
dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRp
b25dIEZpeCBEaXNwbGF5UnVuUGF0aCBvZmZzZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IGY1ZTU1MTVhMjAyY2M1ODE5
ZGNlZjFiNzJkNmUzOGUwMDg1NmIxOTAuLjNkMjY4OTM4ZGIyMzI2MzJiNGI3ZTQzNDYwZGYxN2M1
OWY4Mjk3MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRl
ICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJTdWJyZXNvdXJjZUludGVncml0eS5oIgogI2lu
Y2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCkBAIC0xMzEsNiArMTMyLDExIEBAIERvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50JiBkb2N1
bWVudCwgVGhyZWFkYWJsCiAgICAgLy8gU2V0dGluZyBhIHJlZmVycmVyIGhlYWRlciBpcyBvbmx5
IHN1cHBvcnRlZCBpbiB0aGUgYXN5bmMgY29kZSBwYXRoLgogICAgIEFTU0VSVChtX2FzeW5jIHx8
IG1fcmVmZXJyZXIuaXNFbXB0eSgpKTsKIAorICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmRp
c2FsbG93U3luY1hIUkR1cmluZ1BhZ2VEaXNtaXNzYWxFbmFibGVkKCkgJiYgIW1fYXN5bmMgJiYg
KCFkb2N1bWVudC5wYWdlKCkgfHwgIWRvY3VtZW50LnBhZ2UoKS0+YXJlU3luY2hyb25vdXNMb2Fk
c0FsbG93ZWQoKSkpIHsKKyAgICAgICAgbG9nRXJyb3JBbmRGYWlsKFJlc291cmNlRXJyb3IoZXJy
b3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgcmVxdWVzdC51cmwoKSwgIlN5bmNocm9ub3VzIGxv
YWRzIGFyZSBub3QgYWxsb3dlZCBhdCB0aGlzIHRpbWUiKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKICAgICAvLyBSZWZlcnJlciBhbmQgT3JpZ2luIGhlYWRlcnMgc2hvdWxkIGJlIHNldCBh
ZnRlciB0aGUgcHJlZmxpZ2h0IGlmIGFueS4KICAgICBBU1NFUlQoIXJlcXVlc3QuaGFzSFRUUFJl
ZmVycmVyKCkgJiYgIXJlcXVlc3QuaGFzSFRUUE9yaWdpbigpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZTEwNWJlMGJhOTJkOTNhMmU5OTg0ZWFlOWEzNjA2NzFm
ZGMzZGM2NS4uMGYxZjI4MWE1OTRmN2QzMTYxZTQ1NDAzMzM5ODQxY2FjZGQzOGY0ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yMTAsMjIgKzIxMCw0NiBAQCBzdGF0
aWMgYm9vbCBpc0RvY3VtZW50U2FuZGJveGVkKEZyYW1lJiBmcmFtZSwgU2FuZGJveEZsYWdzIG1h
c2spCiAgICAgcmV0dXJuIGZyYW1lLmRvY3VtZW50KCkgJiYgZnJhbWUuZG9jdW1lbnQoKS0+aXNT
YW5kYm94ZWQobWFzayk7CiB9CiAKLXN0cnVjdCBGb3JiaWRQcm9tcHRzU2NvcGUgewotICAgIEZv
cmJpZFByb21wdHNTY29wZShQYWdlKiBwYWdlKSA6IG1fcGFnZShwYWdlKQorY2xhc3MgUGFnZUxl
dmVsRm9yYmlkU2NvcGUgeworcHJvdGVjdGVkOgorICAgIGV4cGxpY2l0IFBhZ2VMZXZlbEZvcmJp
ZFNjb3BlKFBhZ2UqIHBhZ2UpCisgICAgICAgIDogbV9wYWdlKG1ha2VXZWFrUHRyKHBhZ2UpKQog
ICAgIHsKLSAgICAgICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IG1fcGFnZS0+Zm9yYmlkUHJvbXB0cygpOworICAgIH0KKworICAgIH5QYWdlTGV2ZWxGb3JiaWRT
Y29wZSgpID0gZGVmYXVsdDsKKworICAgIFdlYWtQdHI8UGFnZT4gbV9wYWdlOworfTsKKworc3Ry
dWN0IEZvcmJpZFByb21wdHNTY29wZSA6IHB1YmxpYyBQYWdlTGV2ZWxGb3JiaWRTY29wZSB7Cisg
ICAgZXhwbGljaXQgRm9yYmlkUHJvbXB0c1Njb3BlKFBhZ2UqIHBhZ2UpCisgICAgICAgIDogUGFn
ZUxldmVsRm9yYmlkU2NvcGUocGFnZSkKKyAgICB7CisgICAgICAgIGlmIChtX3BhZ2UpCisgICAg
ICAgICAgICBtX3BhZ2UtPmZvcmJpZFByb21wdHMoKTsKICAgICB9CiAKICAgICB+Rm9yYmlkUHJv
bXB0c1Njb3BlKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9wYWdlKQotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICBtX3BhZ2UtPmFsbG93UHJvbXB0cygpOworICAgICAgICBpZiAobV9wYWdl
KQorICAgICAgICAgICAgbV9wYWdlLT5hbGxvd1Byb21wdHMoKTsKICAgICB9Cit9OwogCi0gICAg
UGFnZSogbV9wYWdlOworc3RydWN0IEZvcmJpZFN5bmNocm9ub3VzTG9hZHNTY29wZSA6IHB1Ymxp
YyBQYWdlTGV2ZWxGb3JiaWRTY29wZSB7CisgICAgZXhwbGljaXQgRm9yYmlkU3luY2hyb25vdXNM
b2Fkc1Njb3BlKFBhZ2UqIHBhZ2UpCisgICAgICAgIDogUGFnZUxldmVsRm9yYmlkU2NvcGUocGFn
ZSkKKyAgICB7CisgICAgICAgIGlmIChtX3BhZ2UpCisgICAgICAgICAgICBtX3BhZ2UtPmZvcmJp
ZFN5bmNocm9ub3VzTG9hZHMoKTsKKyAgICB9CisKKyAgICB+Rm9yYmlkU3luY2hyb25vdXNMb2Fk
c1Njb3BlKCkKKyAgICB7CisgICAgICAgIGlmIChtX3BhZ2UpCisgICAgICAgICAgICBtX3BhZ2Ut
PmFsbG93U3luY2hyb25vdXNMb2FkcygpOworICAgIH0KIH07CiAKIGNsYXNzIEZyYW1lTG9hZGVy
OjpGcmFtZVByb2dyZXNzVHJhY2tlciB7CkBAIC0zMjk4LDYgKzMzMjIsNyBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpkaXNwYXRjaFVubG9hZEV2ZW50cyhVbmxvYWRFdmVudFBvbGljeSB1bmxvYWRFdmVu
dFBvbGljeSkKIAogICAgIC8vIFdlIHN0b3JlIHRoZSBmcmFtZSdzIHBhZ2UgaW4gYSBsb2NhbCB2
YXJpYWJsZSBiZWNhdXNlIHRoZSBmcmFtZSBtaWdodCBnZXQgZGV0YWNoZWQgaW5zaWRlIGRpc3Bh
dGNoRXZlbnQuCiAgICAgRm9yYmlkUHJvbXB0c1Njb3BlIGZvcmJpZFByb21wdHMobV9mcmFtZS5w
YWdlKCkpOworICAgIEZvcmJpZFN5bmNocm9ub3VzTG9hZHNTY29wZSBmb3JiaWRTeW5jaHJvbm91
c0xvYWRzKG1fZnJhbWUucGFnZSgpKTsKICAgICBJZ25vcmVPcGVuc0R1cmluZ1VubG9hZENvdW50
SW5jcmVtZW50ZXIgaWdub3JlT3BlbnNEdXJpbmdVbmxvYWRDb3VudEluY3JlbWVudGVyKG1fZnJh
bWUuZG9jdW1lbnQoKSk7CiAKICAgICBpZiAobV9kaWRDYWxsSW1wbGljaXRDbG9zZSAmJiAhbV93
YXNVbmxvYWRFdmVudEVtaXR0ZWQpIHsKQEAgLTMzNzgsNiArMzQwMyw3IEBAIGJvb2wgRnJhbWVM
b2FkZXI6OmRpc3BhdGNoQmVmb3JlVW5sb2FkRXZlbnQoQ2hyb21lJiBjaHJvbWUsIEZyYW1lTG9h
ZGVyKiBmcmFtZUxvCiAgICAgewogICAgICAgICBTZXRGb3JTY29wZTxQYWdlRGlzbWlzc2FsVHlw
ZT4gY2hhbmdlKG1fcGFnZURpc21pc3NhbEV2ZW50QmVpbmdEaXNwYXRjaGVkLCBQYWdlRGlzbWlz
c2FsVHlwZTo6QmVmb3JlVW5sb2FkKTsKICAgICAgICAgRm9yYmlkUHJvbXB0c1Njb3BlIGZvcmJp
ZFByb21wdHMobV9mcmFtZS5wYWdlKCkpOworICAgICAgICBGb3JiaWRTeW5jaHJvbm91c0xvYWRz
U2NvcGUgZm9yYmlkU3luY2hyb25vdXNMb2FkcyhtX2ZyYW1lLnBhZ2UoKSk7CiAgICAgICAgIGRv
bVdpbmRvdy0+ZGlzcGF0Y2hFdmVudChiZWZvcmVVbmxvYWRFdmVudCwgZG9tV2luZG93LT5kb2N1
bWVudCgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDIyNzFjMTkxYjY2MjVjNGVj
NDU5Njg0MWRhZWM2YWZjOTMzZGU5ZmIuLjNiZWE5ZDgzZjI5ZDg4NjkzYzE1Zjg3MjI4ZGNmMDE5
NzY4MzY0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjQxOCw2ICsyNDE4LDIyIEBAIGJvb2wg
UGFnZTo6YXJlUHJvbXB0c0FsbG93ZWQoKQogICAgIHJldHVybiAhbV9mb3JiaWRQcm9tcHRzRGVw
dGg7CiB9CiAKK3ZvaWQgUGFnZTo6Zm9yYmlkU3luY2hyb25vdXNMb2FkcygpCit7CisgICAgKytt
X2ZvcmJpZFN5bmNocm9ub3VzTG9hZHNEZXB0aDsKK30KKwordm9pZCBQYWdlOjphbGxvd1N5bmNo
cm9ub3VzTG9hZHMoKQoreworICAgIEFTU0VSVChtX2ZvcmJpZFN5bmNocm9ub3VzTG9hZHNEZXB0
aCk7CisgICAgLS1tX2ZvcmJpZFN5bmNocm9ub3VzTG9hZHNEZXB0aDsKK30KKworYm9vbCBQYWdl
OjphcmVTeW5jaHJvbm91c0xvYWRzQWxsb3dlZCgpCit7CisgICAgcmV0dXJuICFtX2ZvcmJpZFN5
bmNocm9ub3VzTG9hZHNEZXB0aDsKK30KKwogdm9pZCBQYWdlOjpsb2dOYXZpZ2F0aW9uKGNvbnN0
IE5hdmlnYXRpb24mIG5hdmlnYXRpb24pCiB7CiAgICAgU3RyaW5nIG5hdmlnYXRpb25EZXNjcmlw
dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggMDU5MDU2ZTBlMjlkOWVlYjRkYjJhYjJlNDY2MTBjODc0
MGRhMzE2Mi4uMDE3MTIzODQ3ODg4MjlhZTI2NTBkMTNmY2E3MDY4ZmE3MjcwOGM3ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTU4NCw2ICs1ODQsMTAgQEAgcHVibGljOgogICAgIHZvaWQgYWxsb3dQcm9t
cHRzKCk7CiAgICAgYm9vbCBhcmVQcm9tcHRzQWxsb3dlZCgpOwogCisgICAgdm9pZCBmb3JiaWRT
eW5jaHJvbm91c0xvYWRzKCk7CisgICAgdm9pZCBhbGxvd1N5bmNocm9ub3VzTG9hZHMoKTsKKyAg
ICBib29sIGFyZVN5bmNocm9ub3VzTG9hZHNBbGxvd2VkKCk7CisKICAgICB2b2lkIG1haW5GcmFt
ZUxvYWRTdGFydGVkKGNvbnN0IFVSTCYsIEZyYW1lTG9hZFR5cGUpOwogCiAgICAgdm9pZCBzZXRM
YXN0U3BhdGlhbE5hdmlnYXRpb25DYW5kaWRhdGVDb3VudCh1bnNpZ25lZCBjb3VudCkgeyBtX2xh
c3RTcGF0aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZXNDb3VudCA9IGNvdW50OyB9CkBAIC05MTgsNiAr
OTIyLDcgQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fbGFzdFNwYXRpYWxOYXZpZ2F0aW9u
Q2FuZGlkYXRlc0NvdW50IHsgMCB9OwogICAgIHVuc2lnbmVkIG1fZm9yYmlkUHJvbXB0c0RlcHRo
IHsgMCB9OworICAgIHVuc2lnbmVkIG1fZm9yYmlkU3luY2hyb25vdXNMb2Fkc0RlcHRoIHsgMCB9
OwogCiAgICAgUmVmPFNvY2tldFByb3ZpZGVyPiBtX3NvY2tldFByb3ZpZGVyOwogICAgIFJlZjxD
b29raWVKYXI+IG1fY29va2llSmFyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IGEz
ZTM1MjZiYmI1OGM2YjMzNzYzZWY4NzFlY2FjZjQ0MTM2ZjQzNjkuLjBlYTZhMDRkYTU1YzExNTVk
ZjA4MWEwNzhjMjM2MjUzOGZiNmM4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAg
LTU0LDYgKzU0LDEwIEBAIGRldmljZUhlaWdodDoKICAgdHlwZTogaW50CiAgIGluaXRpYWw6IDAK
IAorZGlzYWxsb3dTeW5jWEhSRHVyaW5nUGFnZURpc21pc3NhbEVuYWJsZWQ6CisgIHR5cGU6IGJv
b2wKKyAgaW5pdGlhbDogdHJ1ZQorCiAjIEFsbG93IGNsaWVudHMgY29uY2VybmVkIHdpdGggbWVt
b3J5IGNvbnN1bXB0aW9uIHRvIHNldCBhIHF1b3RhIG9uIHNlc3Npb24gc3RvcmFnZQogIyBzaW5j
ZSB0aGUgbWVtb3J5IHVzZWQgd29uJ3QgYmUgcmVsZWFzZWQgdW50aWwgdGhlIFBhZ2UgaXMgZGVz
dHJveWVkLgogc2Vzc2lvblN0b3JhZ2VRdW90YToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sCmluZGV4IDgzNWZkYzgyMmViMDg3OGVmOTI4ZWQxNmNjYjg2MTAwM2Y3NjJi
MDkuLjhkOTU5NWM1YjZkNDVjM2E2ZDUzNjVlZWVjOGNlZWUxOGQ0Yjk3YmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTgsNiArMTgsMTMgQEAgRGV2aWNl
T3JpZW50YXRpb25QZXJtaXNzaW9uQVBJRW5hYmxlZDoKICAgY29uZGl0aW9uOiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQogICB3ZWJjb3JlTmFtZTogZGV2aWNlT3JpZW50YXRpb25QZXJtaXNz
aW9uQVBJRW5hYmxlZAogCitEaXNhbGxvd1N5bmNYSFJEdXJpbmdQYWdlRGlzbWlzc2FsRW5hYmxl
ZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IHRydWUKKyAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJEaXNhbGxvdyBzeW5jIFhIUiBkdXJpbmcgcGFnZSBkaXNtaXNzYWwiCisgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkRpc2FsbG93IHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0IGR1
cmluZyBwYWdlIGRpc21pc3NhbCIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBKYXZhU2Ny
aXB0RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBh
ZWMwMGNhMTgzZGFhNDY0YjU0MjYyMDlmYzA3YmMyOGNhMjFjNGQyLi4zZGJmMWRhMmJhOTViZDYz
MTdjYjIyNmNlYTIzMTJlZDRhZWZhNWM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMTIt
MDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBQcmV2ZW50IHN5
bmNocm9ub3VzIFhIUiBpbiBiZWZvcmV1bmxvYWQgLyB1bmxvYWQgZXZlbnQgaGFuZGxlcnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDkxMgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTc2NzYzOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvc3luYy14aHItaW4tYmVm
b3JldW5sb2FkLXdpbmRvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3Jlc291cmNlcy9zeW5jLXhoci1pbi11bmxvYWQtd2luZG93Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tYmVmb3Jl
dW5sb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9zeW5jLXhoci1pbi1iZWZvcmV1bmxvYWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWlu
LXVubG9hZC5odG1sOiBBZGRlZC4KKwogMjAxOS0xMi0wNiAgeW91ZW5uIGZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgUHJvdGVjdCBXZWJSVEMgbmV0d29yayBtb25pdG9yaW5n
IHRvIHdhaXQgZm9yZXZlciBpbiBlZGdlIGNhc2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9zeW5jLXhoci1pbi1iZWZvcmV1bmxv
YWQtd2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jl
c291cmNlcy9zeW5jLXhoci1pbi1iZWZvcmV1bmxvYWQtd2luZG93Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDdjNmY0YzYwZjVjMmE2YmYwZDg5MGViNTFiZGE4ODNkMjgyOTA3ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3N5bmMt
eGhyLWluLWJlZm9yZXVubG9hZC13aW5kb3cuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0Pgord2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoImJlZm9yZXVubG9hZCIsIChldmVudCkgPT4geworICAgIHhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdCgpOworICAgIHhoci5vcGVuKCJHRVQiLCAiL3Jlc291cmNlcy9kdW1teS54bWwiLCBmYWxz
ZSk7CisgICAgdHJ5IHsKKyAgICAgICAgeGhyLnNlbmQobnVsbCk7CisgICAgICAgIG9wZW5lci50
ZXN0RmFpbGVkKCJEb2luZyBhIHN5bmNocm9ub3VzIFhIUiBpbiB0aGUgYmVmb3JldW5sb2FkIGV2
ZW50IGhhbmRsZXIgZGlkIG5vdCB0aHJvdyIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAg
b3BlbmVyLnRlc3RQYXNzZWQoIkRvaW5nIGEgc3luY2hyb25vdXMgWEhSIGluIHRoZSBiZWZvcmV1
bmxvYWQgZXZlbnQgaGFuZGxlciB0aHJldyBhbiBleGNlcHRpb24iKTsKKyAgICB9CisgICAgb3Bl
bmVyLmZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2Vz
L3N5bmMteGhyLWluLXVubG9hZC13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3N5bmMteGhyLWluLXVubG9hZC13aW5kb3cuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40NThlMmU1NDJmNDMyZmVmYTU4YzQ2NmMxNTA1ZDU0NDdhOGJiOGQwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNv
dXJjZXMvc3luYy14aHItaW4tdW5sb2FkLXdpbmRvdy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+Cit3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigidW5sb2FkIiwgKGV2ZW50KSA9PiB7CisgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1
ZXN0KCk7CisgICAgeGhyLm9wZW4oIkdFVCIsICIvcmVzb3VyY2VzL2R1bW15LnhtbCIsIGZhbHNl
KTsKKyAgICB0cnkgeworICAgICAgICB4aHIuc2VuZChudWxsKTsKKyAgICAgICAgb3BlbmVyLnRl
c3RGYWlsZWQoIkRvaW5nIGEgc3luY2hyb25vdXMgWEhSIGluIHRoZSB1bmxvYWQgZXZlbnQgaGFu
ZGxlciBkaWQgbm90IHRocm93Iik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBvcGVuZXIu
dGVzdFBhc3NlZCgiRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhlIHVubG9hZCBldmVudCBo
YW5kbGVyIHRocmV3IGFuIGV4Y2VwdGlvbiIpOworICAgIH0KKyAgICBvcGVuZXIuZmluaXNoSlNU
ZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi1iZWZvcmV1bmxv
YWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9z
eW5jLXhoci1pbi1iZWZvcmV1bmxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1ZjBlNmQz
MGQ3NTFhY2NjMTM4ZTU2ZDMzMmY1NjMyOTJmYThmNjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9yZXVubG9h
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6
IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJj
ZXMvZHVtbXkueG1sLgorQ2hlY2tzIHRoYXQgdHJ5aW5nIHRvIGRvIGEgc3luY2hyb25vdXMgWEhS
IGluIGEgYmVmb3JldW5sb2FkIGV2ZW50IGhhbmRsZXIgaXMgbm90IGFsbG93ZWQuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIERvaW5nIGEgc3luY2hyb25vdXMgWEhSIGlu
IHRoZSBiZWZvcmV1bmxvYWQgZXZlbnQgaGFuZGxlciB0aHJldyBhbiBleGNlcHRpb24KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMteGhyLWluLWJlZm9y
ZXVubG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5j
LXhoci1pbi1iZWZvcmV1bmxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODE4MzQyZmY1YjlhMmZmZThh
NjQ0YjU3ZGRiNWEyMTc5YjI0YzFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi1iZWZvcmV1bmxvYWQuaHRtbApAQCAt
MCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHRyeWluZyB0byBkbyBhIHN5
bmNocm9ub3VzIFhIUiBpbiBhIGJlZm9yZXVubG9hZCBldmVudCBoYW5kbGVyIGlzIG5vdCBhbGxv
d2VkLiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisKK29ubG9hZCA9ICgpID0+IHsK
KyAgICB3ID0gb3BlbigicmVzb3VyY2VzL3N5bmMteGhyLWluLWJlZm9yZXVubG9hZC13aW5kb3cu
aHRtbCIpOworICAgIHcub25sb2FkID0gKCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KCgpID0+
IHsKKyAgICAgICAgICAgIHcuY2xvc2UoKTsKKyAgICAgICAgfSwgMCk7CisgICAgfTsKK30KKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjMzYxOWE4MGU1NGRiNWNjZWNjMGYxYjVjMmYxOWUwODYy
NGM4ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3N5bmMteGhyLWluLXVubG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAor
bWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK0NoZWNrcyB0aGF0IHRyeWlu
ZyB0byBkbyBhIHN5bmNocm9ub3VzIFhIUiBpbiBhIHVubG9hZCBldmVudCBoYW5kbGVyIGlzIG5v
dCBhbGxvd2VkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBEb2luZyBh
IHN5bmNocm9ub3VzIFhIUiBpbiB0aGUgdW5sb2FkIGV2ZW50IGhhbmRsZXIgdGhyZXcgYW4gZXhj
ZXB0aW9uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5j
LXhoci1pbi11bmxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3Qvc3luYy14aHItaW4tdW5sb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTVkZThhZTEwOWVkNGVmYjJm
ZWEwYmY5ZDBhZjkyNGIzMTJkMDkxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tdW5sb2FkLmh0bWwKQEAgLTAsMCAr
MSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJDaGVja3MgdGhhdCB0cnlpbmcgdG8gZG8gYSBzeW5jaHJv
bm91cyBYSFIgaW4gYSB1bmxvYWQgZXZlbnQgaGFuZGxlciBpcyBub3QgYWxsb3dlZC4iKTsKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOworCitvbmxvYWQgPSAoKSA9PiB7CisgICAgdyA9IG9w
ZW4oInJlc291cmNlcy9zeW5jLXhoci1pbi11bmxvYWQtd2luZG93Lmh0bWwiKTsKKyAgICB3Lm9u
bG9hZCA9ICgpID0+IHsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgICAgICB3
LmNsb3NlKCk7CisgICAgICAgIH0sIDApOworICAgIH07Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3N5bmMt
eGhyLWluLXVubG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJkOGE0MzM4OTk1ODRkMGNk
MGI5MTJlYmY3ZWM4ZGYwZWJiZDk1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9zeW5jLXhoci1pbi11bmxv
YWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK21haW4gZnJhbWUgLSBoYXMgMSBvbnVu
bG9hZCBoYW5kbGVyKHMpCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogWE1MSHR0cFJlcXVlc3Qg
Y2Fubm90IGxvYWQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9kdW1teS54bWwuCitD
aGVja3MgdGhhdCB0cnlpbmcgdG8gZG8gYSBzeW5jaHJvbm91cyBYSFIgaW4gYSB1bmxvYWQgZXZl
bnQgaGFuZGxlciBpcyBub3QgYWxsb3dlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgRG9pbmcgYSBzeW5jaHJvbm91cyBYSFIgaW4gdGhlIHVubG9hZCBldmVudCBoYW5k
bGVyIHRocmV3IGFuIGV4Y2VwdGlvbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisK
</data>

          </attachment>
      

    </bug>

</bugzilla>