<?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>183372</bug_id>
          
          <creation_ts>2018-03-06 09:07:06 -0800</creation_ts>
          <short_desc>Get rid of custom bindings for History&apos;s replaceState() / pushState()</short_desc>
          <delta_ts>2018-03-07 19:32:17 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1404010</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-06 09:07:06 -0800</bug_when>
    <thetext>Get rid of custom bindings for History IDL interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404134</commentid>
    <comment_count>1</comment_count>
      <attachid>335133</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-06 13:28:55 -0800</bug_when>
    <thetext>Created attachment 335133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404136</commentid>
    <comment_count>2</comment_count>
      <attachid>335134</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-06 13:30:20 -0800</bug_when>
    <thetext>Created attachment 335134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404571</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-07 18:30:30 -0800</bug_when>
    <thetext>Any takers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404572</commentid>
    <comment_count>4</comment_count>
      <attachid>335134</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-03-07 18:58:11 -0800</bug_when>
    <thetext>Comment on attachment 335134
Patch

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

&gt; Source/WebCore/page/History.cpp:175
&gt; +    m_cachedState = { };

It is not clear to me that why we need to clear m_cachedState here.  Is it an optimization? Or is stateChanged() not be true?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404573</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-07 18:59:32 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #4)
&gt; Comment on attachment 335134 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=335134&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/History.cpp:175
&gt; &gt; +    m_cachedState = { };
&gt; 
&gt; It is not clear to me that why we need to clear m_cachedState here.  Is it
&gt; an optimization? Or is stateChanged() not be true?

This is to maintain the previous behavior. There are tests expecting this behavior that would start failing otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404574</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-07 19:02:39 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #5)
&gt; (In reply to youenn fablet from comment #4)
&gt; &gt; Comment on attachment 335134 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=335134&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/page/History.cpp:175
&gt; &gt; &gt; +    m_cachedState = { };
&gt; &gt; 
&gt; &gt; It is not clear to me that why we need to clear m_cachedState here.  Is it
&gt; &gt; an optimization? Or is stateChanged() not be true?
&gt; 
&gt; This is to maintain the previous behavior. There are tests expecting this
&gt; behavior that would start failing otherwise.

Iirc, the issue is that you can pushState then history.back(). If pushState did not blow up the cache, then history.state might return the same cached value from before the pushState. This is observable and tests expect we re-deserialize in such case even though stateChanged() would return false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404576</commentid>
    <comment_count>7</comment_count>
      <attachid>335134</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-07 19:31:24 -0800</bug_when>
    <thetext>Comment on attachment 335134
Patch

Clearing flags on attachment: 335134

Committed r229392: &lt;https://trac.webkit.org/changeset/229392&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404577</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-07 19:31:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404578</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-07 19:32:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/38247484&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335133</attachid>
            <date>2018-03-06 13:28:55 -0800</date>
            <delta_ts>2018-03-06 13:30:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183372-20180306132854.patch</filename>
            <type>text/plain</type>
            <size>10276</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWM0ZjI5MDk3OGQyMzE2
MmNkZWVmYjdlODYzNjZhMjNjYTQ2NjRjNC4uYWVhNDAzZTk2YTcxZTE2YzkwYWM4NjE4ODA4NzUy
NjM3M2ZjNTc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE4LTAzLTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBjdXN0b20g
YmluZGluZ3MgZm9yIEhpc3RvcnkncyByZXBsYWNlU3RhdGUoKSAvIHB1c2hTdGF0ZSgpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODMzNzIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIGN1
c3RvbSBiaW5kaW5ncyBmb3IgSGlzdG9yeSdzIHJlcGxhY2VTdGF0ZSgpIC8gcHVzaFN0YXRlKCkg
YnkKKyAgICAgICAgbW92aW5nIHRoZSBjYWNoZWQgc3RhdGUgZnJvbSB0aGUgd3JhcHBlciB0byB0
aGUgSGlzdG9yeSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBvYmplY3QuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBubyB3ZWItZmFjaW5nIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hpc3Rv
cnk6OnN0YXRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSGlzdG9yeTo6dmlzaXRBZGRp
dGlvbmFsQ2hpbGRyZW4pOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIaXN0b3J5OjpjYWNoZWRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5
OjpzdGF0ZU9iamVjdEFkZGVkKToKKyAgICAgICAgKiBwYWdlL0hpc3RvcnkuaDoKKyAgICAgICAg
KFdlYkNvcmU6Okhpc3Rvcnk6OnB1c2hTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5
OjpyZXBsYWNlU3RhdGUpOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5pZGw6CisKIDIwMTgtMDMt
MDYgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb29y
ZEdyYXBoaWNzXSBSZW1vdmUgdW51c2VkIHNjcm9sbGluZy1yZWxhdGVkIGNvZGUgaW4gVGV4dHVy
ZU1hcHBlckxheWVyLCBDb29yZGluYXRlZEdyYXBoaWNzIHN0YWNrCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcAppbmRleCA1NWQ1MDY3MDFhNWUwOTky
NWY2NTQ0OTYwNTg5NGVjY2E0ZmMzNzcxLi41MTRjMGVkZTYyOWQ4MDBmMGRmYWM5NzEzNDFkZjM3
ZjU5MDk5MWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hpc3Rv
cnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSGlzdG9yeUN1
c3RvbS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOC0y
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjksODUgKzI5LDIzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiSlNIaXN0b3J5LmgiCiAKLSNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIkpTRE9N
Q29udmVydE51bGxhYmxlLmgiCi0jaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2lu
Y2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTRnVuY3Rpb24uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCiB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCiBKU1ZhbHVlIEpTSGlzdG9yeTo6c3RhdGUoRXhlY1N0YXRlJiBzdGF0ZSkgY29uc3QK
IHsKLSAgICBIaXN0b3J5JiBoaXN0b3J5ID0gd3JhcHBlZCgpOwotCi0gICAgSlNWYWx1ZSBjYWNo
ZWRWYWx1ZSA9IG1fc3RhdGUuZ2V0KCk7Ci0gICAgaWYgKCFjYWNoZWRWYWx1ZS5pc0VtcHR5KCkg
JiYgIWhpc3Rvcnkuc3RhdGVDaGFuZ2VkKCkpCi0gICAgICAgIHJldHVybiBjYWNoZWRWYWx1ZTsK
LQotICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWQgPSBoaXN0b3J5
LnN0YXRlKCk7Ci0gICAgSlNWYWx1ZSByZXN1bHQgPSBzZXJpYWxpemVkID8gc2VyaWFsaXplZC0+
ZGVzZXJpYWxpemUoc3RhdGUsIGdsb2JhbE9iamVjdCgpKSA6IGpzTnVsbCgpOwotICAgIG1fc3Rh
dGUuc2V0KHN0YXRlLnZtKCksIHRoaXMsIHJlc3VsdCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotSlNWYWx1ZSBKU0hpc3Rvcnk6OnB1c2hTdGF0ZShFeGVjU3RhdGUmIHN0YXRlKQotewotICAg
IFZNJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwotCi0gICAgYXV0byBhcmdDb3VudCA9IHN0YXRlLmFyZ3VtZW50Q291bnQoKTsKLSAg
ICBpZiAoVU5MSUtFTFkoYXJnQ291bnQgPCAyKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXhjZXB0
aW9uKCZzdGF0ZSwgc2NvcGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKCZzdGF0ZSkp
OwotCi0gICAgYXV0byBoaXN0b3J5U3RhdGUgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0
ZShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMCkpOwotICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0KLSAgICAvLyBGSVhNRTogdGl0bGUgc2hvdWxkIG5v
dCBiZSBudWxsYWJsZS4KLSAgICBTdHJpbmcgdGl0bGUgPSBjb252ZXJ0PElETE51bGxhYmxlPElE
TERPTVN0cmluZz4+KHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgxKSk7Ci0gICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgpKTsKLQotICAgIFN0cmluZyB1cmw7Ci0g
ICAgaWYgKGFyZ0NvdW50ID4gMikgewotICAgICAgICB1cmwgPSBjb252ZXJ0PElETE51bGxhYmxl
PElETFVTVlN0cmluZz4+KHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgyKSk7Ci0gICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0gICAgfQotCi0gICAg
cHJvcGFnYXRlRXhjZXB0aW9uKHN0YXRlLCBzY29wZSwgd3JhcHBlZCgpLnN0YXRlT2JqZWN0QWRk
ZWQoV1RGTW92ZShoaXN0b3J5U3RhdGUpLCB0aXRsZSwgdXJsLCBIaXN0b3J5OjpTdGF0ZU9iamVj
dFR5cGU6OlB1c2gpKTsKLQotICAgIG1fc3RhdGUuY2xlYXIoKTsKLQotICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOworICAgIHJldHVybiBjYWNoZWRQcm9wZXJ0eVZhbHVlKHN0YXRlLCAqdGhpcywg
d3JhcHBlZCgpLmNhY2hlZFN0YXRlKCksIFt0aGlzLCAmc3RhdGVdIHsKKyAgICAgICAgYXV0byog
c2VyaWFsaXplZCA9IHdyYXBwZWQoKS5zdGF0ZSgpOworICAgICAgICByZXR1cm4gc2VyaWFsaXpl
ZCA/IHNlcmlhbGl6ZWQtPmRlc2VyaWFsaXplKHN0YXRlLCBnbG9iYWxPYmplY3QoKSkgOiBqc051
bGwoKTsKKyAgICB9KTsKIH0KIAotSlNWYWx1ZSBKU0hpc3Rvcnk6OnJlcGxhY2VTdGF0ZShFeGVj
U3RhdGUmIHN0YXRlKQordm9pZCBKU0hpc3Rvcnk6OnZpc2l0QWRkaXRpb25hbENoaWxkcmVuKFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQogewotICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotCi0gICAgYXV0byBhcmdDb3VudCA9
IHN0YXRlLmFyZ3VtZW50Q291bnQoKTsKLSAgICBpZiAoVU5MSUtFTFkoYXJnQ291bnQgPCAyKSkK
LSAgICAgICAgcmV0dXJuIHRocm93RXhjZXB0aW9uKCZzdGF0ZSwgc2NvcGUsIGNyZWF0ZU5vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKCZzdGF0ZSkpOwotCi0gICAgYXV0byBoaXN0b3J5U3RhdGUgPSBT
ZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1l
bnQoMCkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0KLSAg
ICAvLyBGSVhNRTogdGl0bGUgc2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KLSAgICBTdHJpbmcgdGl0
bGUgPSBjb252ZXJ0PElETE51bGxhYmxlPElETERPTVN0cmluZz4+KHN0YXRlLCBzdGF0ZS51bmNo
ZWNrZWRBcmd1bWVudCgxKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1
ZSgpKTsKLQotICAgIFN0cmluZyB1cmw7Ci0gICAgaWYgKGFyZ0NvdW50ID4gMikgewotICAgICAg
ICB1cmwgPSBjb252ZXJ0PElETE51bGxhYmxlPElETFVTVlN0cmluZz4+KHN0YXRlLCBzdGF0ZS51
bmNoZWNrZWRBcmd1bWVudCgyKSk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IEpTVmFsdWUoKSk7Ci0gICAgfQotCi0gICAgcHJvcGFnYXRlRXhjZXB0aW9uKHN0YXRlLCBzY29w
ZSwgd3JhcHBlZCgpLnN0YXRlT2JqZWN0QWRkZWQoV1RGTW92ZShoaXN0b3J5U3RhdGUpLCB0aXRs
ZSwgdXJsLCBIaXN0b3J5OjpTdGF0ZU9iamVjdFR5cGU6OlJlcGxhY2UpKTsKLQotICAgIG1fc3Rh
dGUuY2xlYXIoKTsKLQotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIHdyYXBwZWQoKS5j
YWNoZWRTdGF0ZSgpLnZpc2l0KHZpc2l0b3IpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9IaXN0b3J5LmNwcAppbmRleCA4ZDBiOTU5ZDAzNzNjY2ExNmJhMmVlNDI2Y2E5
OTFiZTZjZjBiM2ExLi4zYzI5MDRmOTc2ZGRhZjI2MmEzNTJhOGEyMThmZDc4OGI4MWU5NTRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvSGlzdG9yeS5jcHAKQEAgLTEwNCw2ICsxMDQsMTMgQEAgYm9vbCBIaXN0b3J5
OjpzdGF0ZUNoYW5nZWQoKSBjb25zdAogICAgIHJldHVybiBtX2xhc3RTdGF0ZU9iamVjdFJlcXVl
c3RlZCAhPSBzdGF0ZUludGVybmFsKCk7CiB9CiAKK0pTVmFsdWVJbldyYXBwZWRPYmplY3QmIEhp
c3Rvcnk6OmNhY2hlZFN0YXRlKCkKK3sKKyAgICBpZiAobV9jYWNoZWRTdGF0ZSAmJiBzdGF0ZUNo
YW5nZWQoKSkKKyAgICAgICAgbV9jYWNoZWRTdGF0ZSA9IHsgfTsKKyAgICByZXR1cm4gbV9jYWNo
ZWRTdGF0ZTsKK30KKwogYm9vbCBIaXN0b3J5Ojppc1NhbWVBc0N1cnJlbnRTdGF0ZShTZXJpYWxp
emVkU2NyaXB0VmFsdWUqIHN0YXRlKSBjb25zdAogewogICAgIHJldHVybiBzdGF0ZSA9PSBzdGF0
ZUludGVybmFsKCk7CkBAIC0xNjUsNiArMTcyLDggQEAgVVJMIEhpc3Rvcnk6OnVybEZvclN0YXRl
KGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogCiBFeGNlcHRpb25Pcjx2b2lkPiBIaXN0b3J5Ojpz
dGF0ZU9iamVjdEFkZGVkKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgZGF0YSwgY29u
c3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIFN0YXRlT2JqZWN0VHlw
ZSBzdGF0ZU9iamVjdFR5cGUpCiB7CisgICAgbV9jYWNoZWRTdGF0ZSA9IHsgfTsKKwogICAgIC8v
IEVhY2ggdW5pcXVlIG1haW4tZnJhbWUgZG9jdW1lbnQgaXMgb25seSBhbGxvd2VkIHRvIHNlbmQg
NjRNQiBvZiBzdGF0ZSBvYmplY3QgcGF5bG9hZCB0byB0aGUgVUkgY2xpZW50L3Byb2Nlc3MuCiAg
ICAgc3RhdGljIHVpbnQzMl90IHRvdGFsU3RhdGVPYmplY3RQYXlsb2FkTGltaXQgPSAweDQwMDAw
MDA7CiAgICAgc3RhdGljIFNlY29uZHMgc3RhdGVPYmplY3RUaW1lU3BhbiB7IDMwX3MgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9IaXN0b3J5LmgKaW5kZXggOGQ4MzI3NTA5NDRlODkxNmE4MzY4MTQzMjQwYWQ4MzNhNzBl
M2YyOS4uMDVmZTJiM2Y2NzBkZTJmZmI1YjBkNmE5MGQ4ZDc0ZjkyYTg0NjU3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9IaXN0b3J5LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3IEFw
cGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAx
OCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJET01XaW5kb3dQcm9wZXJ0
eS5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiSlNWYWx1ZUluV3JhcHBl
ZE9iamVjdC5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgIlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgpAQCAtNTIsNiAr
NTMsOCBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2Nyb2xsUmVzdG9yYXRp
b24oU2Nyb2xsUmVzdG9yYXRpb24pOwogCiAgICAgU2VyaWFsaXplZFNjcmlwdFZhbHVlKiBzdGF0
ZSgpOworICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3QmIGNhY2hlZFN0YXRlKCk7CisKICAgICB2
b2lkIGJhY2soKTsKICAgICB2b2lkIGZvcndhcmQoKTsKICAgICB2b2lkIGdvKGludCk7CkBAIC02
MCwyMCArNjMsMjQgQEAgcHVibGljOgogICAgIHZvaWQgZm9yd2FyZChEb2N1bWVudCYpOwogICAg
IHZvaWQgZ28oRG9jdW1lbnQmLCBpbnQpOwogCi0gICAgYm9vbCBzdGF0ZUNoYW5nZWQoKSBjb25z
dDsKICAgICBib29sIGlzU2FtZUFzQ3VycmVudFN0YXRlKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSop
IGNvbnN0OwogCi0gICAgZW51bSBjbGFzcyBTdGF0ZU9iamVjdFR5cGUgeyBQdXNoLCBSZXBsYWNl
IH07Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc3RhdGVPYmplY3RBZGRlZChSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiYmLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIHVy
bCwgU3RhdGVPYmplY3RUeXBlKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBwdXNoU3RhdGUoUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBkYXRhLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBj
b25zdCBTdHJpbmcmIHVybFN0cmluZyk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gcmVwbGFjZVN0
YXRlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgZGF0YSwgY29uc3QgU3RyaW5nJiB0
aXRsZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0
IEhpc3RvcnkoRnJhbWUmKTsKIAorICAgIGVudW0gY2xhc3MgU3RhdGVPYmplY3RUeXBlIHsgUHVz
aCwgUmVwbGFjZSB9OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHN0YXRlT2JqZWN0QWRkZWQoUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3Qg
U3RyaW5nJiB1cmwsIFN0YXRlT2JqZWN0VHlwZSk7CisgICAgYm9vbCBzdGF0ZUNoYW5nZWQoKSBj
b25zdDsKKwogICAgIFVSTCB1cmxGb3JTdGF0ZShjb25zdCBTdHJpbmcmIHVybCk7CiAKICAgICBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUqIHN0YXRlSW50ZXJuYWwoKSBjb25zdDsKIAogICAgIFJlZlB0
cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fbGFzdFN0YXRlT2JqZWN0UmVxdWVzdGVkOworICAg
IEpTVmFsdWVJbldyYXBwZWRPYmplY3QgbV9jYWNoZWRTdGF0ZTsKIAogICAgIHVuc2lnbmVkIG1f
Y3VycmVudFN0YXRlT2JqZWN0VGltZVNwYW5PYmplY3RzQWRkZWQgeyAwIH07CiAgICAgV2FsbFRp
bWUgbV9jdXJyZW50U3RhdGVPYmplY3RUaW1lU3BhblN0YXJ0OwpAQCAtODUsNCArOTIsMTQgQEAg
cHJpdmF0ZToKICAgICB1aW50NjRfdCBtX21vc3RSZWNlbnRTdGF0ZU9iamVjdFVzYWdlIHsgMCB9
OwogfTsKIAoraW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IEhpc3Rvcnk6OnB1c2hTdGF0ZShSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIGRhdGEsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nKQoreworICAgIHJldHVybiBzdGF0ZU9iamVjdEFkZGVkKFdU
Rk1vdmUoZGF0YSksIHRpdGxlLCB1cmxTdHJpbmcsIFN0YXRlT2JqZWN0VHlwZTo6UHVzaCk7Cit9
CisKK2lubGluZSBFeGNlcHRpb25Pcjx2b2lkPiBIaXN0b3J5OjpyZXBsYWNlU3RhdGUoUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBkYXRhLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBTdHJpbmcmIHVybFN0cmluZykKK3sKKyAgICByZXR1cm4gc3RhdGVPYmplY3RBZGRlZChXVEZN
b3ZlKGRhdGEpLCB0aXRsZSwgdXJsU3RyaW5nLCBTdGF0ZU9iamVjdFR5cGU6OlJlcGxhY2UpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0hpc3RvcnkuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmlkbAppbmRleCAw
YTNmZWNhY2EwZDcxYmM0MDU4N2Q3NGJjZGU5MDVlMWU3YjYyNWU0Li4zM2E4MGZiYTIxM2ZkOWQ4
MmYxZmY2Y2ZjYzMxNGU4ZDk5MWE1ODU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0hpc3RvcnkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGwKQEAgLTI1
LDE3ICsyNSwxOSBAQAogCiBbCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRnJhbWUsCisg
ICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiBdIGludGVyZmFjZSBIaXN0b3J5IHsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgYXR0cmlidXRlIFNjcm9s
bFJlc3RvcmF0aW9uIHNjcm9sbFJlc3RvcmF0aW9uOwotICAgIFtDYWNoZWRBdHRyaWJ1dGUsIEN1
c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBzdGF0ZTsKKyAg
ICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgYW55IHN0YXRlOwogCiAgICAgW0NhbGxXaXRo
PURvY3VtZW50LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB2b2lkIGJhY2soKTsKICAgICBbQ2Fs
bFdpdGg9RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgZm9yd2FyZCgpOwot
ICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBnbyhv
cHRpb25hbCBsb25nIGRpc3RhbmNlID0gMCk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBGb3J3
YXJkRGVjbGFyZUluSGVhZGVyXSB2b2lkIGdvKG9wdGlvbmFsIGxvbmcgZGVsdGEgPSAwKTsKIAot
ICAgIFtDdXN0b20sIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHB1c2hTdGF0ZShhbnkgZGF0YSwg
RE9NU3RyaW5nIHRpdGxlLCBvcHRpb25hbCBVU1ZTdHJpbmc/IHVybCA9IG51bGwpOwotICAgIFtD
dXN0b20sIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlcGxhY2VTdGF0ZShhbnkgZGF0YSwgRE9N
U3RyaW5nIHRpdGxlLCBvcHRpb25hbCBVU1ZTdHJpbmc/IHVybCA9IG51bGwpOworICAgIC8vIEZJ
WE1FOiB0aXRsZSBzaG91bGQgbm90IGJlIG51bGxhYmxlIGFzIHBlciB0aGUgSFRNTCBzcGVjaWZp
Y2F0aW9uLgorICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwdXNoU3RhdGUoU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlIGRhdGEsIERPTVN0cmluZz8gdGl0bGUsIG9wdGlvbmFsIFVTVlN0cmluZz8g
dXJsID0gbnVsbCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHJlcGxhY2VTdGF0ZShT
ZXJpYWxpemVkU2NyaXB0VmFsdWUgZGF0YSwgRE9NU3RyaW5nPyB0aXRsZSwgb3B0aW9uYWwgVVNW
U3RyaW5nPyB1cmwgPSBudWxsKTsKIH07CiAKIGVudW0gU2Nyb2xsUmVzdG9yYXRpb24geyAiYXV0
byIsICJtYW51YWwiIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335134</attachid>
            <date>2018-03-06 13:30:20 -0800</date>
            <delta_ts>2018-03-07 19:31:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183372-20180306133019.patch</filename>
            <type>text/plain</type>
            <size>10559</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWM0ZjI5MDk3OGQyMzE2
MmNkZWVmYjdlODYzNjZhMjNjYTQ2NjRjNC4uYWVhNDAzZTk2YTcxZTE2YzkwYWM4NjE4ODA4NzUy
NjM3M2ZjNTc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE4LTAzLTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBjdXN0b20g
YmluZGluZ3MgZm9yIEhpc3RvcnkncyByZXBsYWNlU3RhdGUoKSAvIHB1c2hTdGF0ZSgpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODMzNzIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIGN1
c3RvbSBiaW5kaW5ncyBmb3IgSGlzdG9yeSdzIHJlcGxhY2VTdGF0ZSgpIC8gcHVzaFN0YXRlKCkg
YnkKKyAgICAgICAgbW92aW5nIHRoZSBjYWNoZWQgc3RhdGUgZnJvbSB0aGUgd3JhcHBlciB0byB0
aGUgSGlzdG9yeSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBvYmplY3QuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBubyB3ZWItZmFjaW5nIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hpc3Rv
cnk6OnN0YXRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSGlzdG9yeTo6dmlzaXRBZGRp
dGlvbmFsQ2hpbGRyZW4pOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIaXN0b3J5OjpjYWNoZWRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5
OjpzdGF0ZU9iamVjdEFkZGVkKToKKyAgICAgICAgKiBwYWdlL0hpc3RvcnkuaDoKKyAgICAgICAg
KFdlYkNvcmU6Okhpc3Rvcnk6OnB1c2hTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5
OjpyZXBsYWNlU3RhdGUpOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5pZGw6CisKIDIwMTgtMDMt
MDYgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb29y
ZEdyYXBoaWNzXSBSZW1vdmUgdW51c2VkIHNjcm9sbGluZy1yZWxhdGVkIGNvZGUgaW4gVGV4dHVy
ZU1hcHBlckxheWVyLCBDb29yZGluYXRlZEdyYXBoaWNzIHN0YWNrCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcAppbmRleCA1NWQ1MDY3MDFhNWUwOTky
NWY2NTQ0OTYwNTg5NGVjY2E0ZmMzNzcxLi41MTRjMGVkZTYyOWQ4MDBmMGRmYWM5NzEzNDFkZjM3
ZjU5MDk5MWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hpc3Rv
cnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSGlzdG9yeUN1
c3RvbS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOC0y
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjksODUgKzI5LDIzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiSlNIaXN0b3J5LmgiCiAKLSNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIkpTRE9N
Q29udmVydE51bGxhYmxlLmgiCi0jaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2lu
Y2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTRnVuY3Rpb24uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCiB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCiBKU1ZhbHVlIEpTSGlzdG9yeTo6c3RhdGUoRXhlY1N0YXRlJiBzdGF0ZSkgY29uc3QK
IHsKLSAgICBIaXN0b3J5JiBoaXN0b3J5ID0gd3JhcHBlZCgpOwotCi0gICAgSlNWYWx1ZSBjYWNo
ZWRWYWx1ZSA9IG1fc3RhdGUuZ2V0KCk7Ci0gICAgaWYgKCFjYWNoZWRWYWx1ZS5pc0VtcHR5KCkg
JiYgIWhpc3Rvcnkuc3RhdGVDaGFuZ2VkKCkpCi0gICAgICAgIHJldHVybiBjYWNoZWRWYWx1ZTsK
LQotICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWQgPSBoaXN0b3J5
LnN0YXRlKCk7Ci0gICAgSlNWYWx1ZSByZXN1bHQgPSBzZXJpYWxpemVkID8gc2VyaWFsaXplZC0+
ZGVzZXJpYWxpemUoc3RhdGUsIGdsb2JhbE9iamVjdCgpKSA6IGpzTnVsbCgpOwotICAgIG1fc3Rh
dGUuc2V0KHN0YXRlLnZtKCksIHRoaXMsIHJlc3VsdCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotSlNWYWx1ZSBKU0hpc3Rvcnk6OnB1c2hTdGF0ZShFeGVjU3RhdGUmIHN0YXRlKQotewotICAg
IFZNJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwotCi0gICAgYXV0byBhcmdDb3VudCA9IHN0YXRlLmFyZ3VtZW50Q291bnQoKTsKLSAg
ICBpZiAoVU5MSUtFTFkoYXJnQ291bnQgPCAyKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXhjZXB0
aW9uKCZzdGF0ZSwgc2NvcGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKCZzdGF0ZSkp
OwotCi0gICAgYXV0byBoaXN0b3J5U3RhdGUgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0
ZShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMCkpOwotICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0KLSAgICAvLyBGSVhNRTogdGl0bGUgc2hvdWxkIG5v
dCBiZSBudWxsYWJsZS4KLSAgICBTdHJpbmcgdGl0bGUgPSBjb252ZXJ0PElETE51bGxhYmxlPElE
TERPTVN0cmluZz4+KHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgxKSk7Ci0gICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgpKTsKLQotICAgIFN0cmluZyB1cmw7Ci0g
ICAgaWYgKGFyZ0NvdW50ID4gMikgewotICAgICAgICB1cmwgPSBjb252ZXJ0PElETE51bGxhYmxl
PElETFVTVlN0cmluZz4+KHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgyKSk7Ci0gICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0gICAgfQotCi0gICAg
cHJvcGFnYXRlRXhjZXB0aW9uKHN0YXRlLCBzY29wZSwgd3JhcHBlZCgpLnN0YXRlT2JqZWN0QWRk
ZWQoV1RGTW92ZShoaXN0b3J5U3RhdGUpLCB0aXRsZSwgdXJsLCBIaXN0b3J5OjpTdGF0ZU9iamVj
dFR5cGU6OlB1c2gpKTsKLQotICAgIG1fc3RhdGUuY2xlYXIoKTsKLQotICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOworICAgIHJldHVybiBjYWNoZWRQcm9wZXJ0eVZhbHVlKHN0YXRlLCAqdGhpcywg
d3JhcHBlZCgpLmNhY2hlZFN0YXRlKCksIFt0aGlzLCAmc3RhdGVdIHsKKyAgICAgICAgYXV0byog
c2VyaWFsaXplZCA9IHdyYXBwZWQoKS5zdGF0ZSgpOworICAgICAgICByZXR1cm4gc2VyaWFsaXpl
ZCA/IHNlcmlhbGl6ZWQtPmRlc2VyaWFsaXplKHN0YXRlLCBnbG9iYWxPYmplY3QoKSkgOiBqc051
bGwoKTsKKyAgICB9KTsKIH0KIAotSlNWYWx1ZSBKU0hpc3Rvcnk6OnJlcGxhY2VTdGF0ZShFeGVj
U3RhdGUmIHN0YXRlKQordm9pZCBKU0hpc3Rvcnk6OnZpc2l0QWRkaXRpb25hbENoaWxkcmVuKFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQogewotICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotCi0gICAgYXV0byBhcmdDb3VudCA9
IHN0YXRlLmFyZ3VtZW50Q291bnQoKTsKLSAgICBpZiAoVU5MSUtFTFkoYXJnQ291bnQgPCAyKSkK
LSAgICAgICAgcmV0dXJuIHRocm93RXhjZXB0aW9uKCZzdGF0ZSwgc2NvcGUsIGNyZWF0ZU5vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKCZzdGF0ZSkpOwotCi0gICAgYXV0byBoaXN0b3J5U3RhdGUgPSBT
ZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1l
bnQoMCkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0KLSAg
ICAvLyBGSVhNRTogdGl0bGUgc2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KLSAgICBTdHJpbmcgdGl0
bGUgPSBjb252ZXJ0PElETE51bGxhYmxlPElETERPTVN0cmluZz4+KHN0YXRlLCBzdGF0ZS51bmNo
ZWNrZWRBcmd1bWVudCgxKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1
ZSgpKTsKLQotICAgIFN0cmluZyB1cmw7Ci0gICAgaWYgKGFyZ0NvdW50ID4gMikgewotICAgICAg
ICB1cmwgPSBjb252ZXJ0PElETE51bGxhYmxlPElETFVTVlN0cmluZz4+KHN0YXRlLCBzdGF0ZS51
bmNoZWNrZWRBcmd1bWVudCgyKSk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IEpTVmFsdWUoKSk7Ci0gICAgfQotCi0gICAgcHJvcGFnYXRlRXhjZXB0aW9uKHN0YXRlLCBzY29w
ZSwgd3JhcHBlZCgpLnN0YXRlT2JqZWN0QWRkZWQoV1RGTW92ZShoaXN0b3J5U3RhdGUpLCB0aXRs
ZSwgdXJsLCBIaXN0b3J5OjpTdGF0ZU9iamVjdFR5cGU6OlJlcGxhY2UpKTsKLQotICAgIG1fc3Rh
dGUuY2xlYXIoKTsKLQotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIHdyYXBwZWQoKS5j
YWNoZWRTdGF0ZSgpLnZpc2l0KHZpc2l0b3IpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9IaXN0b3J5LmNwcAppbmRleCA4ZDBiOTU5ZDAzNzNjY2ExNmJhMmVlNDI2Y2E5
OTFiZTZjZjBiM2ExLi43NTg3ZGYxZmU3MTViYmFiMzRmYTgzZWFlMDQzMWE5MWJkNjBmODQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvSGlzdG9yeS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA3IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDctMjAxOCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMDQsNiArMTA0LDEzIEBAIGJvb2wgSGlzdG9yeTo6
c3RhdGVDaGFuZ2VkKCkgY29uc3QKICAgICByZXR1cm4gbV9sYXN0U3RhdGVPYmplY3RSZXF1ZXN0
ZWQgIT0gc3RhdGVJbnRlcm5hbCgpOwogfQogCitKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0JiBIaXN0
b3J5OjpjYWNoZWRTdGF0ZSgpCit7CisgICAgaWYgKG1fY2FjaGVkU3RhdGUgJiYgc3RhdGVDaGFu
Z2VkKCkpCisgICAgICAgIG1fY2FjaGVkU3RhdGUgPSB7IH07CisgICAgcmV0dXJuIG1fY2FjaGVk
U3RhdGU7Cit9CisKIGJvb2wgSGlzdG9yeTo6aXNTYW1lQXNDdXJyZW50U3RhdGUoU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlKiBzdGF0ZSkgY29uc3QKIHsKICAgICByZXR1cm4gc3RhdGUgPT0gc3RhdGVJ
bnRlcm5hbCgpOwpAQCAtMTY1LDYgKzE3Miw4IEBAIFVSTCBIaXN0b3J5Ojp1cmxGb3JTdGF0ZShj
b25zdCBTdHJpbmcmIHVybFN0cmluZykKIAogRXhjZXB0aW9uT3I8dm9pZD4gSGlzdG9yeTo6c3Rh
dGVPYmplY3RBZGRlZChSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIGRhdGEsIGNvbnN0
IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBTdGF0ZU9iamVjdFR5cGUg
c3RhdGVPYmplY3RUeXBlKQogeworICAgIG1fY2FjaGVkU3RhdGUgPSB7IH07CisKICAgICAvLyBF
YWNoIHVuaXF1ZSBtYWluLWZyYW1lIGRvY3VtZW50IGlzIG9ubHkgYWxsb3dlZCB0byBzZW5kIDY0
TUIgb2Ygc3RhdGUgb2JqZWN0IHBheWxvYWQgdG8gdGhlIFVJIGNsaWVudC9wcm9jZXNzLgogICAg
IHN0YXRpYyB1aW50MzJfdCB0b3RhbFN0YXRlT2JqZWN0UGF5bG9hZExpbWl0ID0gMHg0MDAwMDAw
OwogICAgIHN0YXRpYyBTZWNvbmRzIHN0YXRlT2JqZWN0VGltZVNwYW4geyAzMF9zIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvSGlzdG9yeS5oCmluZGV4IDhkODMyNzUwOTQ0ZTg5MTZhODM2ODE0MzI0MGFkODMzYTcwZTNm
MjkuLjA1ZmUyYjNmNjcwZGUyZmZiNWIwZDZhOTBkOGQ3NGY5MmE4NDY1NzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
SGlzdG9yeS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBs
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTgg
QXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHku
aCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIkpTVmFsdWVJbldyYXBwZWRP
YmplY3QuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNsdWRlICJTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvV2FsbFRpbWUuaD4KQEAgLTUyLDYgKzUz
LDggQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNjcm9sbFJlc3RvcmF0aW9u
KFNjcm9sbFJlc3RvcmF0aW9uKTsKIAogICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc3RhdGUo
KTsKKyAgICBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0JiBjYWNoZWRTdGF0ZSgpOworCiAgICAgdm9p
ZCBiYWNrKCk7CiAgICAgdm9pZCBmb3J3YXJkKCk7CiAgICAgdm9pZCBnbyhpbnQpOwpAQCAtNjAs
MjAgKzYzLDI0IEBAIHB1YmxpYzoKICAgICB2b2lkIGZvcndhcmQoRG9jdW1lbnQmKTsKICAgICB2
b2lkIGdvKERvY3VtZW50JiwgaW50KTsKIAotICAgIGJvb2wgc3RhdGVDaGFuZ2VkKCkgY29uc3Q7
CiAgICAgYm9vbCBpc1NhbWVBc0N1cnJlbnRTdGF0ZShTZXJpYWxpemVkU2NyaXB0VmFsdWUqKSBj
b25zdDsKIAotICAgIGVudW0gY2xhc3MgU3RhdGVPYmplY3RUeXBlIHsgUHVzaCwgUmVwbGFjZSB9
OwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHN0YXRlT2JqZWN0QWRkZWQoUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4mJiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiB1cmws
IFN0YXRlT2JqZWN0VHlwZSk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gcHVzaFN0YXRlKFJlZlB0
cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgZGF0YSwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29u
c3QgU3RyaW5nJiB1cmxTdHJpbmcpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJlcGxhY2VTdGF0
ZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIGRhdGEsIGNvbnN0IFN0cmluZyYgdGl0
bGUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBI
aXN0b3J5KEZyYW1lJik7CiAKKyAgICBlbnVtIGNsYXNzIFN0YXRlT2JqZWN0VHlwZSB7IFB1c2gs
IFJlcGxhY2UgfTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzdGF0ZU9iamVjdEFkZGVkKFJlZlB0
cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0
cmluZyYgdXJsLCBTdGF0ZU9iamVjdFR5cGUpOworICAgIGJvb2wgc3RhdGVDaGFuZ2VkKCkgY29u
c3Q7CisKICAgICBVUkwgdXJsRm9yU3RhdGUoY29uc3QgU3RyaW5nJiB1cmwpOwogCiAgICAgU2Vy
aWFsaXplZFNjcmlwdFZhbHVlKiBzdGF0ZUludGVybmFsKCkgY29uc3Q7CiAKICAgICBSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX2xhc3RTdGF0ZU9iamVjdFJlcXVlc3RlZDsKKyAgICBK
U1ZhbHVlSW5XcmFwcGVkT2JqZWN0IG1fY2FjaGVkU3RhdGU7CiAKICAgICB1bnNpZ25lZCBtX2N1
cnJlbnRTdGF0ZU9iamVjdFRpbWVTcGFuT2JqZWN0c0FkZGVkIHsgMCB9OwogICAgIFdhbGxUaW1l
IG1fY3VycmVudFN0YXRlT2JqZWN0VGltZVNwYW5TdGFydDsKQEAgLTg1LDQgKzkyLDE0IEBAIHBy
aXZhdGU6CiAgICAgdWludDY0X3QgbV9tb3N0UmVjZW50U3RhdGVPYmplY3RVc2FnZSB7IDAgfTsK
IH07CiAKK2lubGluZSBFeGNlcHRpb25Pcjx2b2lkPiBIaXN0b3J5OjpwdXNoU3RhdGUoUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBkYXRhLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBTdHJpbmcmIHVybFN0cmluZykKK3sKKyAgICByZXR1cm4gc3RhdGVPYmplY3RBZGRlZChXVEZN
b3ZlKGRhdGEpLCB0aXRsZSwgdXJsU3RyaW5nLCBTdGF0ZU9iamVjdFR5cGU6OlB1c2gpOworfQor
CitpbmxpbmUgRXhjZXB0aW9uT3I8dm9pZD4gSGlzdG9yeTo6cmVwbGFjZVN0YXRlKFJlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgZGF0YSwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3Qg
U3RyaW5nJiB1cmxTdHJpbmcpCit7CisgICAgcmV0dXJuIHN0YXRlT2JqZWN0QWRkZWQoV1RGTW92
ZShkYXRhKSwgdGl0bGUsIHVybFN0cmluZywgU3RhdGVPYmplY3RUeXBlOjpSZXBsYWNlKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9IaXN0b3J5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGwKaW5kZXggMGEz
ZmVjYWNhMGQ3MWJjNDA1ODdkNzRiY2RlOTA1ZTFlN2I2MjVlNC4uMzNhODBmYmEyMTNmZDlkODJm
MWZmNmNmY2MzMTRlOGQ5OTFhNTg1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9I
aXN0b3J5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsCkBAIC0yNSwx
NyArMjUsMTkgQEAKIAogWwogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbEZyYW1lLAorICAg
IEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogXSBpbnRlcmZhY2UgSGlzdG9yeSB7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgIGF0dHJpYnV0ZSBTY3JvbGxS
ZXN0b3JhdGlvbiBzY3JvbGxSZXN0b3JhdGlvbjsKLSAgICBbQ2FjaGVkQXR0cmlidXRlLCBDdXN0
b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXJpYWxpemVkU2NyaXB0VmFsdWUgc3RhdGU7CisgICAg
W0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBzdGF0ZTsKIAogICAgIFtDYWxsV2l0aD1E
b2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBiYWNrKCk7CiAgICAgW0NhbGxX
aXRoPURvY3VtZW50LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB2b2lkIGZvcndhcmQoKTsKLSAg
ICBbQ2FsbFdpdGg9RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQgZ28ob3B0
aW9uYWwgbG9uZyBkaXN0YW5jZSA9IDApOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgRm9yd2Fy
ZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBnbyhvcHRpb25hbCBsb25nIGRlbHRhID0gMCk7CiAKLSAg
ICBbQ3VzdG9tLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwdXNoU3RhdGUoYW55IGRhdGEsIERP
TVN0cmluZyB0aXRsZSwgb3B0aW9uYWwgVVNWU3RyaW5nPyB1cmwgPSBudWxsKTsKLSAgICBbQ3Vz
dG9tLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZXBsYWNlU3RhdGUoYW55IGRhdGEsIERPTVN0
cmluZyB0aXRsZSwgb3B0aW9uYWwgVVNWU3RyaW5nPyB1cmwgPSBudWxsKTsKKyAgICAvLyBGSVhN
RTogdGl0bGUgc2hvdWxkIG5vdCBiZSBudWxsYWJsZSBhcyBwZXIgdGhlIEhUTUwgc3BlY2lmaWNh
dGlvbi4KKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcHVzaFN0YXRlKFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSBkYXRhLCBET01TdHJpbmc/IHRpdGxlLCBvcHRpb25hbCBVU1ZTdHJpbmc/IHVy
bCA9IG51bGwpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZXBsYWNlU3RhdGUoU2Vy
aWFsaXplZFNjcmlwdFZhbHVlIGRhdGEsIERPTVN0cmluZz8gdGl0bGUsIG9wdGlvbmFsIFVTVlN0
cmluZz8gdXJsID0gbnVsbCk7CiB9OwogCiBlbnVtIFNjcm9sbFJlc3RvcmF0aW9uIHsgImF1dG8i
LCAibWFudWFsIiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>