<?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>173076</bug_id>
          
          <creation_ts>2017-06-07 15:04:20 -0700</creation_ts>
          <short_desc>bmalloc: memory APIs don&apos;t need to be heap data members</short_desc>
          <delta_ts>2017-06-09 10:06:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>darin</cc>
    
    <cc>msaboff</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1316661</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-06-07 15:04:20 -0700</bug_when>
    <thetext>bmalloc: memory APIs don&apos;t need to be heap data members</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316662</commentid>
    <comment_count>1</comment_count>
      <attachid>312237</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-06-07 15:06:54 -0700</bug_when>
    <thetext>Created attachment 312237
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316665</commentid>
    <comment_count>2</comment_count>
      <attachid>312238</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-06-07 15:12:39 -0700</bug_when>
    <thetext>Created attachment 312238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316673</commentid>
    <comment_count>3</comment_count>
      <attachid>312240</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-06-07 15:20:11 -0700</bug_when>
    <thetext>Created attachment 312240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316678</commentid>
    <comment_count>4</comment_count>
      <attachid>312242</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-06-07 15:24:00 -0700</bug_when>
    <thetext>Created attachment 312242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316682</commentid>
    <comment_count>5</comment_count>
      <attachid>312244</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-06-07 15:35:22 -0700</bug_when>
    <thetext>Created attachment 312244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316811</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-06-07 21:05:45 -0700</bug_when>
    <thetext>Committed r217918: &lt;http://trac.webkit.org/changeset/217918&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317465</commentid>
    <comment_count>7</comment_count>
      <attachid>312244</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-06-09 10:06:29 -0700</bug_when>
    <thetext>Comment on attachment 312244
Patch

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

&gt; Source/bmalloc/bmalloc/AvailableMemory.h:52
&gt; +    auto memoryUse = memoryStatus();
&gt; +    return memoryUse.memoryFootprint;

Nicer without a local variable.

&gt; Source/bmalloc/bmalloc/AvailableMemory.h:58
&gt; +    auto memoryUse = memoryStatus();
&gt; +    return memoryUse.percentAvailableMemoryInUse;

Ditto.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312237</attachid>
            <date>2017-06-07 15:06:54 -0700</date>
            <delta_ts>2017-06-07 15:12:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173076-20170607150659.patch</filename>
            <type>text/plain</type>
            <size>7245</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA2LTA3ICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgYm1hbGxvYzogbWVtb3J5IEFQ
SXMgZG9uJ3QgbmVlZCB0byBiZSBoZWFwIG1lbWJlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzA3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFza2luZyB0aGUgT1MgYWJvdXQgbWVtb3J5IHVzZSBp
cyB1bnJlbGF0ZWQgdG8gdGhlIHN0YXRlIG9mIGJtYWxsb2MncworICAgICAgICBoZWFwLCBzbyBp
dCdzIGEgYmV0dGVyIHNlcGFyYXRpb24gb2YgY29uY2VybnMgaWYgcmVsYXRlZCBjb2RlIGlzIG5v
dCAKKyAgICAgICAgcGFydCBvZiB0aGUgaGVhcC4KKworICAgICAgICAqIGJtYWxsb2MvQXZhaWxh
YmxlTWVtb3J5LmNwcDoKKyAgICAgICAgKGJtYWxsb2M6Om1lbW9yeVN0YXR1cyk6CisgICAgICAg
ICogYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaDoKKyAgICAgICAgKGJtYWxsb2M6Ok1lbW9yeVN0
YXR1czo6TWVtb3J5U3RhdHVzKToKKyAgICAgICAgKGJtYWxsb2M6OmlzVW5kZXJNZW1vcnlQcmVz
c3VyZSk6CisgICAgICAgIChibWFsbG9jOjptZW1vcnlGb290cHJpbnQpOgorICAgICAgICAoYm1h
bGxvYzo6cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKToKKyAgICAgICAgKiBibWFsbG9jL0hl
YXAuY3BwOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChibWFsbG9j
OjpIZWFwOjp1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMpOiBEZWxldGVkLgorICAgICAgICAq
IGJtYWxsb2MvSGVhcC5oOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6aXNVbmRlck1lbW9yeVBy
ZXNzdXJlKTogRGVsZXRlZC4KKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6Om1lbW9yeUZvb3Rwcmlu
dCk6IERlbGV0ZWQuCisgICAgICAgIChibWFsbG9jOjpIZWFwOjpwZXJjZW50QXZhaWxhYmxlTWVt
b3J5SW5Vc2UpOiBEZWxldGVkLgorCiAyMDE3LTA2LTA2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIHN0cnVjdCBkb2VzIG5vdCBhY2NlcHQgaW5pdGlh
bGl6ZXItZm9ybSBpZiBtZW1iZXIgaGFzIGluaXRpYWxpemVycyBpbiBHQ0MgNC45CkluZGV4OiBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCShyZXZpc2lvbiAyMTc5
MDMpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTkyLDQgKzkyLDE5IEBAIHNpemVfdCBhdmFpbGFibGVNZW1vcnkoKQogICAg
IHJldHVybiBhdmFpbGFibGVNZW1vcnk7CiB9CiAKK01lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMo
KQoreworICAgIHRhc2tfdm1faW5mb19kYXRhX3Qgdm1JbmZvOworICAgIG1hY2hfbXNnX3R5cGVf
bnVtYmVyX3Qgdm1TaXplID0gVEFTS19WTV9JTkZPX0NPVU5UOworICAgIAorICAgIHNpemVfdCBt
ZW1vcnlGb290cHJpbnQgPSAwOworICAgIGlmIChLRVJOX1NVQ0NFU1MgPT0gdGFza19pbmZvKG1h
Y2hfdGFza19zZWxmKCksIFRBU0tfVk1fSU5GTywgKHRhc2tfaW5mb190KSgmdm1JbmZvKSwgJnZt
U2l6ZSkpCisgICAgICAgIG1lbW9yeUZvb3RwcmludCA9IHN0YXRpY19jYXN0PHNpemVfdD4odm1J
bmZvLnBoeXNfZm9vdHByaW50KTsKKworICAgIGRvdWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0aWNf
Y2FzdDxkb3VibGU+KG1lbW9yeUZvb3RwcmludCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KGF2YWls
YWJsZU1lbW9yeSgpKTsKKyAgICBkb3VibGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlID0g
c3RkOjptaW4ocGVyY2VudEluVXNlLCAxLjApOworICAgIAorICAgIHJldHVybiBNZW1vcnlTdGF0
dXMobWVtb3J5Rm9vdHByaW50LCBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBibWFsbG9jCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWls
YWJsZU1lbW9yeS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxh
YmxlTWVtb3J5LmgJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
QXZhaWxhYmxlTWVtb3J5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDQxIEBACiAKIG5h
bWVzcGFjZSBibWFsbG9jIHsKIAorc3RydWN0IE1lbW9yeVN0YXR1cyB7CisgICAgTWVtb3J5U3Rh
dHVzKHNpemVfdCBtZW1vcnlGb290cHJpbnQsIGRvdWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5
SW5Vc2UpCisgICAgICAgIDogbWVtb3J5Rm9vdHByaW50KG1lbW9yeUZvb3RwcmludCkKKyAgICAg
ICAgLCBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UocGVyY2VudEF2YWlsYWJsZU1lbW9yeUlu
VXNlKQorICAgIHsKKyAgICB9CisKKyAgICBzaXplX3QgbWVtb3J5Rm9vdHByaW50OworICAgIGRv
dWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2U7Cit9OworCiBzaXplX3QgYXZhaWxhYmxl
TWVtb3J5KCk7CiAKK01lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMoKTsKKworaW5saW5lIGJvb2wg
aXNVbmRlck1lbW9yeVByZXNzdXJlKCkKK3sKKyNpZiBCUExBVEZPUk0oSU9TKQorICAgIHJldHVy
biBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKSA+IG1lbW9yeVByZXNzdXJlVGhyZXNob2xk
OworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKyAgICAKK2lubGluZSBzaXpl
X3QgbWVtb3J5Rm9vdHByaW50KCkKK3sKKyAgICBhdXRvIG1lbW9yeVVzZSA9IG1lbW9yeVN0YXR1
cygpOworICAgIHJldHVybiBtZW1vcnlVc2UubWVtb3J5Rm9vdHByaW50OworfQorCitpbmxpbmUg
ZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpCit7CisgICAgYXV0byBtZW1vcnlV
c2UgPSBtZW1vcnlTdGF0dXMoKTsKKyAgICByZXR1cm4gbWVtb3J5VXNlLnBlcmNlbnRBdmFpbGFi
bGVNZW1vcnlJblVzZTsKK30KKwogfQogCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hl
YXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHJl
dmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUxLDkgKzUxLDYgQEAgSGVhcDo6SGVhcChzdGQ6OmxvY2tfZ3VhcmQ8U3Rh
dGljTXV0ZXg+JgogICAgIDogbV92bVBhZ2VTaXplUGh5c2ljYWwodm1QYWdlU2l6ZVBoeXNpY2Fs
KCkpCiAgICAgLCBtX3NjYXZlbmdlcigqdGhpcywgJkhlYXA6OmNvbmN1cnJlbnRTY2F2ZW5nZSkK
ICAgICAsIG1fZGVidWdIZWFwKG51bGxwdHIpCi0jaWYgQlBMQVRGT1JNKElPUykKLSAgICAsIG1f
bWF4QXZhaWxhYmxlTWVtb3J5KGF2YWlsYWJsZU1lbW9yeSgpKQotI2VuZGlmCiB7CiAgICAgUkVM
RUFTRV9CQVNTRVJUKHZtUGFnZVNpemVQaHlzaWNhbCgpID49IHNtYWxsUGFnZVNpemUpOwogICAg
IFJFTEVBU0VfQkFTU0VSVCh2bVBhZ2VTaXplKCkgPj0gdm1QYWdlU2l6ZVBoeXNpY2FsKCkpOwpA
QCAtMTMyLDIyICsxMjksNiBAQCB2b2lkIEhlYXA6OmluaXRpYWxpemVQYWdlTWV0YWRhdGEoKQog
ICAgICAgICBtX3BhZ2VDbGFzc2VzW2ldID0gKGNvbXB1dGVQYWdlU2l6ZShpKSAtIDEpIC8gc21h
bGxQYWdlU2l6ZTsKIH0KIAotI2lmIEJQTEFURk9STShJT1MpCi12b2lkIEhlYXA6OnVwZGF0ZU1l
bW9yeUluVXNlUGFyYW1ldGVycygpCi17Ci0gICAgdGFza192bV9pbmZvX2RhdGFfdCB2bUluZm87
Ci0gICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2bVNpemUgPSBUQVNLX1ZNX0lORk9fQ09VTlQ7
Ci0gICAgCi0gICAgaWYgKEtFUk5fU1VDQ0VTUyAhPSB0YXNrX2luZm8obWFjaF90YXNrX3NlbGYo
KSwgVEFTS19WTV9JTkZPLCAodGFza19pbmZvX3QpKCZ2bUluZm8pLCAmdm1TaXplKSkKLSAgICAg
ICAgbV9tZW1vcnlGb290cHJpbnQgPSAwOwotICAgIGVsc2UKLSAgICAgICAgbV9tZW1vcnlGb290
cHJpbnQgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KHZtSW5mby5waHlzX2Zvb3RwcmludCk7Ci0KLSAg
ICBkb3VibGUgcGVyY2VudEluVXNlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihtX21lbW9yeUZvb3Rw
cmludCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWF4QXZhaWxhYmxlTWVtb3J5KTsKLSAgICBt
X3BlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSA9IHN0ZDo6bWluKHBlcmNlbnRJblVzZSwgMS4w
KTsKLX0KLSNlbmRpZgotCiB2b2lkIEhlYXA6OmNvbmN1cnJlbnRTY2F2ZW5nZSgpCiB7CiAgICAg
c3RkOjpsb2NrX2d1YXJkPFN0YXRpY011dGV4PiBsb2NrKFBlclByb2Nlc3M8SGVhcD46Om11dGV4
KCkpOwpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmgJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MiwxMCArNzIsNiBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHNjYXZlbmdlKHN0ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRl
eD4mKTsKIAotICAgIHNpemVfdCBtZW1vcnlGb290cHJpbnQoKTsKLSAgICBkb3VibGUgcGVyY2Vu
dEF2YWlsYWJsZU1lbW9yeUluVXNlKCk7Ci0gICAgYm9vbCBpc1VuZGVyTWVtb3J5UHJlc3N1cmUo
KTsKLSAgICAKICNpZiBCT1MoREFSV0lOKQogICAgIHZvaWQgc2V0U2NhdmVuZ2VyVGhyZWFkUU9T
Q2xhc3MocW9zX2NsYXNzX3Qgb3ZlcnJpZGVDbGFzcykgeyBtX3JlcXVlc3RlZFNjYXZlbmdlclRo
cmVhZFFPU0NsYXNzID0gb3ZlcnJpZGVDbGFzczsgfQogI2VuZGlmCkBAIC0xMTYsMTAgKzExMiw2
IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBjb25jdXJyZW50U2NhdmVuZ2UoKTsKICAgICAK
LSNpZiBCUExBVEZPUk0oSU9TKQotICAgIHZvaWQgdXBkYXRlTWVtb3J5SW5Vc2VQYXJhbWV0ZXJz
KCk7Ci0jZW5kaWYKLQogICAgIHNpemVfdCBtX3ZtUGFnZVNpemVQaHlzaWNhbDsKICAgICBWZWN0
b3I8TGluZU1ldGFkYXRhPiBtX3NtYWxsTGluZU1ldGFkYXRhOwogICAgIHN0ZDo6YXJyYXk8c2l6
ZV90LCBzaXplQ2xhc3NDb3VudD4gbV9wYWdlQ2xhc3NlczsKQEAgLTE0MSwxMiArMTMzLDYgQEAg
cHJpdmF0ZToKICAgICBFbnZpcm9ubWVudCBtX2Vudmlyb25tZW50OwogICAgIERlYnVnSGVhcCog
bV9kZWJ1Z0hlYXA7CiAKLSNpZiBCUExBVEZPUk0oSU9TKQotICAgIHNpemVfdCBtX21heEF2YWls
YWJsZU1lbW9yeTsKLSAgICBzaXplX3QgbV9tZW1vcnlGb290cHJpbnQ7Ci0gICAgZG91YmxlIG1f
cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlOwotI2VuZGlmCi0KICAgICBWTUhlYXAgbV92bUhl
YXA7CiAKICNpZiBCT1MoREFSV0lOKQpAQCAtMTcxLDMxICsxNTcsNiBAQCBpbmxpbmUgdm9pZCBI
ZWFwOjpkZXJlZlNtYWxsTGluZShzdGQ6OmxvCiAgICAgZGVhbGxvY2F0ZVNtYWxsTGluZShsb2Nr
LCBvYmplY3QpOwogfQogCi1pbmxpbmUgYm9vbCBIZWFwOjppc1VuZGVyTWVtb3J5UHJlc3N1cmUo
KQotewotI2lmIEJQTEFURk9STShJT1MpCi0gICAgcmV0dXJuIHBlcmNlbnRBdmFpbGFibGVNZW1v
cnlJblVzZSgpID4gbWVtb3J5UHJlc3N1cmVUaHJlc2hvbGQ7Ci0jZWxzZQotICAgIHJldHVybiBm
YWxzZTsKLSNlbmRpZgotfQotICAgIAotI2lmIEJQTEFURk9STShJT1MpCi1pbmxpbmUgc2l6ZV90
IEhlYXA6Om1lbW9yeUZvb3RwcmludCgpCi17Ci0gICAgdXBkYXRlTWVtb3J5SW5Vc2VQYXJhbWV0
ZXJzKCk7Ci0KLSAgICByZXR1cm4gbV9tZW1vcnlGb290cHJpbnQ7Ci19Ci0KLWlubGluZSBkb3Vi
bGUgSGVhcDo6cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCkKLXsKLSAgICB1cGRhdGVNZW1v
cnlJblVzZVBhcmFtZXRlcnMoKTsKLQotICAgIHJldHVybiBtX3BlcmNlbnRBdmFpbGFibGVNZW1v
cnlJblVzZTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBibWFsbG9jCiAKICNlbmRpZiAv
LyBIZWFwX2gKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvYm1hbGxvYy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvYm1hbGxvYy5oCShyZXZpc2lvbiAyMTc5MDMp
CisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaAkod29ya2luZyBjb3B5KQpAQCAt
OTEsMTcgKzkxLDE1IEBAIGlubGluZSBzaXplX3QgYXZhaWxhYmxlTWVtb3J5KCkKICAgICByZXR1
cm4gYm1hbGxvYzo6YXZhaWxhYmxlTWVtb3J5KCk7CiB9CiAgICAgCi0jaWYgQlBMQVRGT1JNKElP
UykKIGlubGluZSBzaXplX3QgbWVtb3J5Rm9vdHByaW50KCkKIHsKLSAgICByZXR1cm4gUGVyUHJv
Y2VzczxIZWFwPjo6Z2V0KCktPm1lbW9yeUZvb3RwcmludCgpOworICAgIHJldHVybiBibWFsbG9j
OjptZW1vcnlGb290cHJpbnQoKTsKIH0KIAogaW5saW5lIGRvdWJsZSBwZXJjZW50QXZhaWxhYmxl
TWVtb3J5SW5Vc2UoKQogewotICAgIHJldHVybiBQZXJQcm9jZXNzPEhlYXA+OjpnZXQoKS0+cGVy
Y2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCk7CisgICAgcmV0dXJuIGJtYWxsb2M6OnBlcmNlbnRB
dmFpbGFibGVNZW1vcnlJblVzZSgpOwogfQotI2VuZGlmCiAKICNpZiBCT1MoREFSV0lOKQogaW5s
aW5lIHZvaWQgc2V0U2NhdmVuZ2VyVGhyZWFkUU9TQ2xhc3MocW9zX2NsYXNzX3Qgb3ZlcnJpZGVD
bGFzcykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312238</attachid>
            <date>2017-06-07 15:12:39 -0700</date>
            <delta_ts>2017-06-07 15:20:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173076-20170607151238.patch</filename>
            <type>text/plain</type>
            <size>7264</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA2LTA3ICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgYm1hbGxvYzogbWVtb3J5IEFQ
SXMgZG9uJ3QgbmVlZCB0byBiZSBoZWFwIG1lbWJlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzA3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFza2luZyB0aGUgT1MgYWJvdXQgbWVtb3J5IHVzZSBp
cyB1bnJlbGF0ZWQgdG8gdGhlIHN0YXRlIG9mIGJtYWxsb2MncworICAgICAgICBoZWFwLCBzbyBp
dCdzIGEgYmV0dGVyIHNlcGFyYXRpb24gb2YgY29uY2VybnMgaWYgcmVsYXRlZCBjb2RlIGlzIG5v
dCAKKyAgICAgICAgcGFydCBvZiB0aGUgaGVhcC4KKworICAgICAgICAqIGJtYWxsb2MvQXZhaWxh
YmxlTWVtb3J5LmNwcDoKKyAgICAgICAgKGJtYWxsb2M6Om1lbW9yeVN0YXR1cyk6CisgICAgICAg
ICogYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaDoKKyAgICAgICAgKGJtYWxsb2M6Ok1lbW9yeVN0
YXR1czo6TWVtb3J5U3RhdHVzKToKKyAgICAgICAgKGJtYWxsb2M6OmlzVW5kZXJNZW1vcnlQcmVz
c3VyZSk6CisgICAgICAgIChibWFsbG9jOjptZW1vcnlGb290cHJpbnQpOgorICAgICAgICAoYm1h
bGxvYzo6cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKToKKyAgICAgICAgKiBibWFsbG9jL0hl
YXAuY3BwOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChibWFsbG9j
OjpIZWFwOjp1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMpOiBEZWxldGVkLgorICAgICAgICAq
IGJtYWxsb2MvSGVhcC5oOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6aXNVbmRlck1lbW9yeVBy
ZXNzdXJlKTogRGVsZXRlZC4KKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6Om1lbW9yeUZvb3Rwcmlu
dCk6IERlbGV0ZWQuCisgICAgICAgIChibWFsbG9jOjpIZWFwOjpwZXJjZW50QXZhaWxhYmxlTWVt
b3J5SW5Vc2UpOiBEZWxldGVkLgorCiAyMDE3LTA2LTA2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIHN0cnVjdCBkb2VzIG5vdCBhY2NlcHQgaW5pdGlh
bGl6ZXItZm9ybSBpZiBtZW1iZXIgaGFzIGluaXRpYWxpemVycyBpbiBHQ0MgNC45CkluZGV4OiBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCShyZXZpc2lvbiAyMTc5
MDMpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTkyLDQgKzkyLDE5IEBAIHNpemVfdCBhdmFpbGFibGVNZW1vcnkoKQogICAg
IHJldHVybiBhdmFpbGFibGVNZW1vcnk7CiB9CiAKK01lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMo
KQoreworICAgIHRhc2tfdm1faW5mb19kYXRhX3Qgdm1JbmZvOworICAgIG1hY2hfbXNnX3R5cGVf
bnVtYmVyX3Qgdm1TaXplID0gVEFTS19WTV9JTkZPX0NPVU5UOworICAgIAorICAgIHNpemVfdCBt
ZW1vcnlGb290cHJpbnQgPSAwOworICAgIGlmIChLRVJOX1NVQ0NFU1MgPT0gdGFza19pbmZvKG1h
Y2hfdGFza19zZWxmKCksIFRBU0tfVk1fSU5GTywgKHRhc2tfaW5mb190KSgmdm1JbmZvKSwgJnZt
U2l6ZSkpCisgICAgICAgIG1lbW9yeUZvb3RwcmludCA9IHN0YXRpY19jYXN0PHNpemVfdD4odm1J
bmZvLnBoeXNfZm9vdHByaW50KTsKKworICAgIGRvdWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0aWNf
Y2FzdDxkb3VibGU+KG1lbW9yeUZvb3RwcmludCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KGF2YWls
YWJsZU1lbW9yeSgpKTsKKyAgICBkb3VibGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlID0g
c3RkOjptaW4ocGVyY2VudEluVXNlLCAxLjApOworICAgIAorICAgIHJldHVybiBNZW1vcnlTdGF0
dXMobWVtb3J5Rm9vdHByaW50LCBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBibWFsbG9jCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWls
YWJsZU1lbW9yeS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxh
YmxlTWVtb3J5LmgJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
QXZhaWxhYmxlTWVtb3J5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDQwIEBACiAKIG5h
bWVzcGFjZSBibWFsbG9jIHsKIAorc3RydWN0IE1lbW9yeVN0YXR1cyB7CisgICAgTWVtb3J5U3Rh
dHVzKHNpemVfdCBtZW1vcnlGb290cHJpbnQsIGRvdWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5
SW5Vc2UpCisgICAgICAgIDogbWVtb3J5Rm9vdHByaW50KG1lbW9yeUZvb3RwcmludCkKKyAgICAg
ICAgLCBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UocGVyY2VudEF2YWlsYWJsZU1lbW9yeUlu
VXNlKQorICAgIHsKKyAgICB9CisKKyAgICBzaXplX3QgbWVtb3J5Rm9vdHByaW50OworICAgIGRv
dWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2U7Cit9OworCiBzaXplX3QgYXZhaWxhYmxl
TWVtb3J5KCk7CiAKK01lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMoKTsKKworaW5saW5lIHNpemVf
dCBtZW1vcnlGb290cHJpbnQoKQoreworICAgIGF1dG8gbWVtb3J5VXNlID0gbWVtb3J5U3RhdHVz
KCk7CisgICAgcmV0dXJuIG1lbW9yeVVzZS5tZW1vcnlGb290cHJpbnQ7CiB9CiAKK2lubGluZSBk
b3VibGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCkKK3sKKyAgICBhdXRvIG1lbW9yeVVz
ZSA9IG1lbW9yeVN0YXR1cygpOworICAgIHJldHVybiBtZW1vcnlVc2UucGVyY2VudEF2YWlsYWJs
ZU1lbW9yeUluVXNlOworfQorCitpbmxpbmUgYm9vbCBpc1VuZGVyTWVtb3J5UHJlc3N1cmUoKQor
eworI2lmIEJQTEFURk9STShJT1MpCisgICAgcmV0dXJuIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJ
blVzZSgpID4gbWVtb3J5UHJlc3N1cmVUaHJlc2hvbGQ7CisjZWxzZQorICAgIHJldHVybiBmYWxz
ZTsKKyNlbmRpZgorfQorICAgIAorfSAvLyBuYW1lc3BhY2UgYm1hbGxvYwpJbmRleDogU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9IZWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0hlYXAuY3BwCShyZXZpc2lvbiAyMTc5MDMpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0hlYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw5ICs1MSw2IEBAIEhlYXA6OkhlYXAo
c3RkOjpsb2NrX2d1YXJkPFN0YXRpY011dGV4PiYKICAgICA6IG1fdm1QYWdlU2l6ZVBoeXNpY2Fs
KHZtUGFnZVNpemVQaHlzaWNhbCgpKQogICAgICwgbV9zY2F2ZW5nZXIoKnRoaXMsICZIZWFwOjpj
b25jdXJyZW50U2NhdmVuZ2UpCiAgICAgLCBtX2RlYnVnSGVhcChudWxscHRyKQotI2lmIEJQTEFU
Rk9STShJT1MpCi0gICAgLCBtX21heEF2YWlsYWJsZU1lbW9yeShhdmFpbGFibGVNZW1vcnkoKSkK
LSNlbmRpZgogewogICAgIFJFTEVBU0VfQkFTU0VSVCh2bVBhZ2VTaXplUGh5c2ljYWwoKSA+PSBz
bWFsbFBhZ2VTaXplKTsKICAgICBSRUxFQVNFX0JBU1NFUlQodm1QYWdlU2l6ZSgpID49IHZtUGFn
ZVNpemVQaHlzaWNhbCgpKTsKQEAgLTEzMiwyMiArMTI5LDYgQEAgdm9pZCBIZWFwOjppbml0aWFs
aXplUGFnZU1ldGFkYXRhKCkKICAgICAgICAgbV9wYWdlQ2xhc3Nlc1tpXSA9IChjb21wdXRlUGFn
ZVNpemUoaSkgLSAxKSAvIHNtYWxsUGFnZVNpemU7CiB9CiAKLSNpZiBCUExBVEZPUk0oSU9TKQot
dm9pZCBIZWFwOjp1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMoKQotewotICAgIHRhc2tfdm1f
aW5mb19kYXRhX3Qgdm1JbmZvOwotICAgIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3Qgdm1TaXplID0g
VEFTS19WTV9JTkZPX0NPVU5UOwotICAgIAotICAgIGlmIChLRVJOX1NVQ0NFU1MgIT0gdGFza19p
bmZvKG1hY2hfdGFza19zZWxmKCksIFRBU0tfVk1fSU5GTywgKHRhc2tfaW5mb190KSgmdm1JbmZv
KSwgJnZtU2l6ZSkpCi0gICAgICAgIG1fbWVtb3J5Rm9vdHByaW50ID0gMDsKLSAgICBlbHNlCi0g
ICAgICAgIG1fbWVtb3J5Rm9vdHByaW50ID0gc3RhdGljX2Nhc3Q8c2l6ZV90Pih2bUluZm8ucGh5
c19mb290cHJpbnQpOwotCi0gICAgZG91YmxlIHBlcmNlbnRJblVzZSA9IHN0YXRpY19jYXN0PGRv
dWJsZT4obV9tZW1vcnlGb290cHJpbnQpIC8gc3RhdGljX2Nhc3Q8ZG91YmxlPihtX21heEF2YWls
YWJsZU1lbW9yeSk7Ci0gICAgbV9wZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UgPSBzdGQ6Om1p
bihwZXJjZW50SW5Vc2UsIDEuMCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBIZWFwOjpjb25jdXJyZW50
U2NhdmVuZ2UoKQogewogICAgIHN0ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRleD4gbG9jayhQZXJQ
cm9jZXNzPEhlYXA+OjptdXRleCgpKTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVh
cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5oCShyZXZpc2lv
biAyMTc5MDMpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuaAkod29ya2luZyBjb3B5
KQpAQCAtNzIsMTAgKzcyLDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY2F2ZW5nZShzdGQ6Omxv
Y2tfZ3VhcmQ8U3RhdGljTXV0ZXg+Jik7CiAKLSAgICBzaXplX3QgbWVtb3J5Rm9vdHByaW50KCk7
Ci0gICAgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpOwotICAgIGJvb2wgaXNV
bmRlck1lbW9yeVByZXNzdXJlKCk7Ci0gICAgCiAjaWYgQk9TKERBUldJTikKICAgICB2b2lkIHNl
dFNjYXZlbmdlclRocmVhZFFPU0NsYXNzKHFvc19jbGFzc190IG92ZXJyaWRlQ2xhc3MpIHsgbV9y
ZXF1ZXN0ZWRTY2F2ZW5nZXJUaHJlYWRRT1NDbGFzcyA9IG92ZXJyaWRlQ2xhc3M7IH0KICNlbmRp
ZgpAQCAtMTE2LDEwICsxMTIsNiBAQCBwcml2YXRlOgogICAgIAogICAgIHZvaWQgY29uY3VycmVu
dFNjYXZlbmdlKCk7CiAgICAgCi0jaWYgQlBMQVRGT1JNKElPUykKLSAgICB2b2lkIHVwZGF0ZU1l
bW9yeUluVXNlUGFyYW1ldGVycygpOwotI2VuZGlmCi0KICAgICBzaXplX3QgbV92bVBhZ2VTaXpl
UGh5c2ljYWw7CiAgICAgVmVjdG9yPExpbmVNZXRhZGF0YT4gbV9zbWFsbExpbmVNZXRhZGF0YTsK
ICAgICBzdGQ6OmFycmF5PHNpemVfdCwgc2l6ZUNsYXNzQ291bnQ+IG1fcGFnZUNsYXNzZXM7CkBA
IC0xNDEsMTIgKzEzMyw2IEBAIHByaXZhdGU6CiAgICAgRW52aXJvbm1lbnQgbV9lbnZpcm9ubWVu
dDsKICAgICBEZWJ1Z0hlYXAqIG1fZGVidWdIZWFwOwogCi0jaWYgQlBMQVRGT1JNKElPUykKLSAg
ICBzaXplX3QgbV9tYXhBdmFpbGFibGVNZW1vcnk7Ci0gICAgc2l6ZV90IG1fbWVtb3J5Rm9vdHBy
aW50OwotICAgIGRvdWJsZSBtX3BlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZTsKLSNlbmRpZgot
CiAgICAgVk1IZWFwIG1fdm1IZWFwOwogCiAjaWYgQk9TKERBUldJTikKQEAgLTE3MSwzMSArMTU3
LDYgQEAgaW5saW5lIHZvaWQgSGVhcDo6ZGVyZWZTbWFsbExpbmUoc3RkOjpsbwogICAgIGRlYWxs
b2NhdGVTbWFsbExpbmUobG9jaywgb2JqZWN0KTsKIH0KIAotaW5saW5lIGJvb2wgSGVhcDo6aXNV
bmRlck1lbW9yeVByZXNzdXJlKCkKLXsKLSNpZiBCUExBVEZPUk0oSU9TKQotICAgIHJldHVybiBw
ZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKSA+IG1lbW9yeVByZXNzdXJlVGhyZXNob2xkOwot
I2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLX0KLSAgICAKLSNpZiBCUExBVEZPUk0o
SU9TKQotaW5saW5lIHNpemVfdCBIZWFwOjptZW1vcnlGb290cHJpbnQoKQotewotICAgIHVwZGF0
ZU1lbW9yeUluVXNlUGFyYW1ldGVycygpOwotCi0gICAgcmV0dXJuIG1fbWVtb3J5Rm9vdHByaW50
OwotfQotCi1pbmxpbmUgZG91YmxlIEhlYXA6OnBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgp
Ci17Ci0gICAgdXBkYXRlTWVtb3J5SW5Vc2VQYXJhbWV0ZXJzKCk7Ci0KLSAgICByZXR1cm4gbV9w
ZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2U7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2Ug
Ym1hbGxvYwogCiAjZW5kaWYgLy8gSGVhcF9oCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L2JtYWxsb2MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2Mu
aAkocmV2aXNpb24gMjE3OTAzKQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTkxLDE3ICs5MSwxNSBAQCBpbmxpbmUgc2l6ZV90IGF2YWlsYWJs
ZU1lbW9yeSgpCiAgICAgcmV0dXJuIGJtYWxsb2M6OmF2YWlsYWJsZU1lbW9yeSgpOwogfQogICAg
IAotI2lmIEJQTEFURk9STShJT1MpCiBpbmxpbmUgc2l6ZV90IG1lbW9yeUZvb3RwcmludCgpCiB7
Ci0gICAgcmV0dXJuIFBlclByb2Nlc3M8SGVhcD46OmdldCgpLT5tZW1vcnlGb290cHJpbnQoKTsK
KyAgICByZXR1cm4gYm1hbGxvYzo6bWVtb3J5Rm9vdHByaW50KCk7CiB9CiAKIGlubGluZSBkb3Vi
bGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCkKIHsKLSAgICByZXR1cm4gUGVyUHJvY2Vz
czxIZWFwPjo6Z2V0KCktPnBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpOworICAgIHJldHVy
biBibWFsbG9jOjpwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKTsKIH0KLSNlbmRpZgogCiAj
aWYgQk9TKERBUldJTikKIGlubGluZSB2b2lkIHNldFNjYXZlbmdlclRocmVhZFFPU0NsYXNzKHFv
c19jbGFzc190IG92ZXJyaWRlQ2xhc3MpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312240</attachid>
            <date>2017-06-07 15:20:11 -0700</date>
            <delta_ts>2017-06-07 15:23:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173076-20170607152009.patch</filename>
            <type>text/plain</type>
            <size>7331</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA2LTA3ICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgYm1hbGxvYzogbWVtb3J5IEFQ
SXMgZG9uJ3QgbmVlZCB0byBiZSBoZWFwIG1lbWJlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzA3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFza2luZyB0aGUgT1MgYWJvdXQgbWVtb3J5IHVzZSBp
cyB1bnJlbGF0ZWQgdG8gdGhlIHN0YXRlIG9mIGJtYWxsb2MncworICAgICAgICBoZWFwLCBzbyBp
dCdzIGEgYmV0dGVyIHNlcGFyYXRpb24gb2YgY29uY2VybnMgaWYgcmVsYXRlZCBjb2RlIGlzIG5v
dCAKKyAgICAgICAgcGFydCBvZiB0aGUgaGVhcC4KKworICAgICAgICAqIGJtYWxsb2MvQXZhaWxh
YmxlTWVtb3J5LmNwcDoKKyAgICAgICAgKGJtYWxsb2M6Om1lbW9yeVN0YXR1cyk6CisgICAgICAg
ICogYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaDoKKyAgICAgICAgKGJtYWxsb2M6Ok1lbW9yeVN0
YXR1czo6TWVtb3J5U3RhdHVzKToKKyAgICAgICAgKGJtYWxsb2M6OmlzVW5kZXJNZW1vcnlQcmVz
c3VyZSk6CisgICAgICAgIChibWFsbG9jOjptZW1vcnlGb290cHJpbnQpOgorICAgICAgICAoYm1h
bGxvYzo6cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKToKKyAgICAgICAgKiBibWFsbG9jL0hl
YXAuY3BwOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChibWFsbG9j
OjpIZWFwOjp1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMpOiBEZWxldGVkLgorICAgICAgICAq
IGJtYWxsb2MvSGVhcC5oOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6aXNVbmRlck1lbW9yeVBy
ZXNzdXJlKTogRGVsZXRlZC4KKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6Om1lbW9yeUZvb3Rwcmlu
dCk6IERlbGV0ZWQuCisgICAgICAgIChibWFsbG9jOjpIZWFwOjpwZXJjZW50QXZhaWxhYmxlTWVt
b3J5SW5Vc2UpOiBEZWxldGVkLgorCiAyMDE3LTA2LTA2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIHN0cnVjdCBkb2VzIG5vdCBhY2NlcHQgaW5pdGlh
bGl6ZXItZm9ybSBpZiBtZW1iZXIgaGFzIGluaXRpYWxpemVycyBpbiBHQ0MgNC45CkluZGV4OiBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCShyZXZpc2lvbiAyMTc5
MDMpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTkyLDQgKzkyLDIzIEBAIHNpemVfdCBhdmFpbGFibGVNZW1vcnkoKQogICAg
IHJldHVybiBhdmFpbGFibGVNZW1vcnk7CiB9CiAKK01lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMo
KQoreworI2lmIEJQTEFURk9STShJT1MpCisgICAgdGFza192bV9pbmZvX2RhdGFfdCB2bUluZm87
CisgICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2bVNpemUgPSBUQVNLX1ZNX0lORk9fQ09VTlQ7
CisgICAgCisgICAgc2l6ZV90IG1lbW9yeUZvb3RwcmludCA9IDA7CisgICAgaWYgKEtFUk5fU1VD
Q0VTUyA9PSB0YXNrX2luZm8obWFjaF90YXNrX3NlbGYoKSwgVEFTS19WTV9JTkZPLCAodGFza19p
bmZvX3QpKCZ2bUluZm8pLCAmdm1TaXplKSkKKyAgICAgICAgbWVtb3J5Rm9vdHByaW50ID0gc3Rh
dGljX2Nhc3Q8c2l6ZV90Pih2bUluZm8ucGh5c19mb290cHJpbnQpOworCisgICAgZG91YmxlIHBl
cmNlbnRJblVzZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4obWVtb3J5Rm9vdHByaW50KSAvIHN0YXRp
Y19jYXN0PGRvdWJsZT4oYXZhaWxhYmxlTWVtb3J5KCkpOworICAgIGRvdWJsZSBwZXJjZW50QXZh
aWxhYmxlTWVtb3J5SW5Vc2UgPSBzdGQ6Om1pbihwZXJjZW50SW5Vc2UsIDEuMCk7CisgICAgCisg
ICAgcmV0dXJuIE1lbW9yeVN0YXR1cyhtZW1vcnlGb290cHJpbnQsIHBlcmNlbnRBdmFpbGFibGVN
ZW1vcnlJblVzZSk7CisjZWxzZQorICAgIHJldHVybiBNZW1vcnlTdGF0dXMoMCwgMCk7CisjZW5k
aWYKK30KKwogfSAvLyBuYW1lc3BhY2UgYm1hbGxvYwpJbmRleDogU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9BdmFpbGFibGVNZW1vcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0F2YWlsYWJsZU1lbW9yeS5oCShyZXZpc2lvbiAyMTc5MDMpCisrKyBTb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw0
MCBAQAogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKK3N0cnVjdCBNZW1vcnlTdGF0dXMgeworICAg
IE1lbW9yeVN0YXR1cyhzaXplX3QgbWVtb3J5Rm9vdHByaW50LCBkb3VibGUgcGVyY2VudEF2YWls
YWJsZU1lbW9yeUluVXNlKQorICAgICAgICA6IG1lbW9yeUZvb3RwcmludChtZW1vcnlGb290cHJp
bnQpCisgICAgICAgICwgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKHBlcmNlbnRBdmFpbGFi
bGVNZW1vcnlJblVzZSkKKyAgICB7CisgICAgfQorCisgICAgc2l6ZV90IG1lbW9yeUZvb3Rwcmlu
dDsKKyAgICBkb3VibGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlOworfTsKKwogc2l6ZV90
IGF2YWlsYWJsZU1lbW9yeSgpOwogCitNZW1vcnlTdGF0dXMgbWVtb3J5U3RhdHVzKCk7CisKK2lu
bGluZSBzaXplX3QgbWVtb3J5Rm9vdHByaW50KCkKK3sKKyAgICBhdXRvIG1lbW9yeVVzZSA9IG1l
bW9yeVN0YXR1cygpOworICAgIHJldHVybiBtZW1vcnlVc2UubWVtb3J5Rm9vdHByaW50OwogfQog
CitpbmxpbmUgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpCit7CisgICAgYXV0
byBtZW1vcnlVc2UgPSBtZW1vcnlTdGF0dXMoKTsKKyAgICByZXR1cm4gbWVtb3J5VXNlLnBlcmNl
bnRBdmFpbGFibGVNZW1vcnlJblVzZTsKK30KKworaW5saW5lIGJvb2wgaXNVbmRlck1lbW9yeVBy
ZXNzdXJlKCkKK3sKKyNpZiBCUExBVEZPUk0oSU9TKQorICAgIHJldHVybiBwZXJjZW50QXZhaWxh
YmxlTWVtb3J5SW5Vc2UoKSA+IG1lbW9yeVByZXNzdXJlVGhyZXNob2xkOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKyAgICAKK30gLy8gbmFtZXNwYWNlIGJtYWxsb2MKSW5k
ZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9IZWFwLmNwcAkocmV2aXNpb24gMjE3OTAzKQorKysgU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9IZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsOSArNTEsNiBAQCBI
ZWFwOjpIZWFwKHN0ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRleD4mCiAgICAgOiBtX3ZtUGFnZVNp
emVQaHlzaWNhbCh2bVBhZ2VTaXplUGh5c2ljYWwoKSkKICAgICAsIG1fc2NhdmVuZ2VyKCp0aGlz
LCAmSGVhcDo6Y29uY3VycmVudFNjYXZlbmdlKQogICAgICwgbV9kZWJ1Z0hlYXAobnVsbHB0cikK
LSNpZiBCUExBVEZPUk0oSU9TKQotICAgICwgbV9tYXhBdmFpbGFibGVNZW1vcnkoYXZhaWxhYmxl
TWVtb3J5KCkpCi0jZW5kaWYKIHsKICAgICBSRUxFQVNFX0JBU1NFUlQodm1QYWdlU2l6ZVBoeXNp
Y2FsKCkgPj0gc21hbGxQYWdlU2l6ZSk7CiAgICAgUkVMRUFTRV9CQVNTRVJUKHZtUGFnZVNpemUo
KSA+PSB2bVBhZ2VTaXplUGh5c2ljYWwoKSk7CkBAIC0xMzIsMjIgKzEyOSw2IEBAIHZvaWQgSGVh
cDo6aW5pdGlhbGl6ZVBhZ2VNZXRhZGF0YSgpCiAgICAgICAgIG1fcGFnZUNsYXNzZXNbaV0gPSAo
Y29tcHV0ZVBhZ2VTaXplKGkpIC0gMSkgLyBzbWFsbFBhZ2VTaXplOwogfQogCi0jaWYgQlBMQVRG
T1JNKElPUykKLXZvaWQgSGVhcDo6dXBkYXRlTWVtb3J5SW5Vc2VQYXJhbWV0ZXJzKCkKLXsKLSAg
ICB0YXNrX3ZtX2luZm9fZGF0YV90IHZtSW5mbzsKLSAgICBtYWNoX21zZ190eXBlX251bWJlcl90
IHZtU2l6ZSA9IFRBU0tfVk1fSU5GT19DT1VOVDsKLSAgICAKLSAgICBpZiAoS0VSTl9TVUNDRVNT
ICE9IHRhc2tfaW5mbyhtYWNoX3Rhc2tfc2VsZigpLCBUQVNLX1ZNX0lORk8sICh0YXNrX2luZm9f
dCkoJnZtSW5mbyksICZ2bVNpemUpKQotICAgICAgICBtX21lbW9yeUZvb3RwcmludCA9IDA7Ci0g
ICAgZWxzZQotICAgICAgICBtX21lbW9yeUZvb3RwcmludCA9IHN0YXRpY19jYXN0PHNpemVfdD4o
dm1JbmZvLnBoeXNfZm9vdHByaW50KTsKLQotICAgIGRvdWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0
aWNfY2FzdDxkb3VibGU+KG1fbWVtb3J5Rm9vdHByaW50KSAvIHN0YXRpY19jYXN0PGRvdWJsZT4o
bV9tYXhBdmFpbGFibGVNZW1vcnkpOwotICAgIG1fcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNl
ID0gc3RkOjptaW4ocGVyY2VudEluVXNlLCAxLjApOwotfQotI2VuZGlmCi0KIHZvaWQgSGVhcDo6
Y29uY3VycmVudFNjYXZlbmdlKCkKIHsKICAgICBzdGQ6OmxvY2tfZ3VhcmQ8U3RhdGljTXV0ZXg+
IGxvY2soUGVyUHJvY2VzczxIZWFwPjo6bXV0ZXgoKSk7CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0hlYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAu
aAkocmV2aXNpb24gMjE3OTAzKQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmgJKHdv
cmtpbmcgY29weSkKQEAgLTcyLDEwICs3Miw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2NhdmVu
Z2Uoc3RkOjpsb2NrX2d1YXJkPFN0YXRpY011dGV4PiYpOwogCi0gICAgc2l6ZV90IG1lbW9yeUZv
b3RwcmludCgpOwotICAgIGRvdWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKTsKLSAg
ICBib29sIGlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpOwotICAgIAogI2lmIEJPUyhEQVJXSU4pCiAg
ICAgdm9pZCBzZXRTY2F2ZW5nZXJUaHJlYWRRT1NDbGFzcyhxb3NfY2xhc3NfdCBvdmVycmlkZUNs
YXNzKSB7IG1fcmVxdWVzdGVkU2NhdmVuZ2VyVGhyZWFkUU9TQ2xhc3MgPSBvdmVycmlkZUNsYXNz
OyB9CiAjZW5kaWYKQEAgLTExNiwxMCArMTEyLDYgQEAgcHJpdmF0ZToKICAgICAKICAgICB2b2lk
IGNvbmN1cnJlbnRTY2F2ZW5nZSgpOwogICAgIAotI2lmIEJQTEFURk9STShJT1MpCi0gICAgdm9p
ZCB1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMoKTsKLSNlbmRpZgotCiAgICAgc2l6ZV90IG1f
dm1QYWdlU2l6ZVBoeXNpY2FsOwogICAgIFZlY3RvcjxMaW5lTWV0YWRhdGE+IG1fc21hbGxMaW5l
TWV0YWRhdGE7CiAgICAgc3RkOjphcnJheTxzaXplX3QsIHNpemVDbGFzc0NvdW50PiBtX3BhZ2VD
bGFzc2VzOwpAQCAtMTQxLDEyICsxMzMsNiBAQCBwcml2YXRlOgogICAgIEVudmlyb25tZW50IG1f
ZW52aXJvbm1lbnQ7CiAgICAgRGVidWdIZWFwKiBtX2RlYnVnSGVhcDsKIAotI2lmIEJQTEFURk9S
TShJT1MpCi0gICAgc2l6ZV90IG1fbWF4QXZhaWxhYmxlTWVtb3J5OwotICAgIHNpemVfdCBtX21l
bW9yeUZvb3RwcmludDsKLSAgICBkb3VibGUgbV9wZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2U7
Ci0jZW5kaWYKLQogICAgIFZNSGVhcCBtX3ZtSGVhcDsKIAogI2lmIEJPUyhEQVJXSU4pCkBAIC0x
NzEsMzEgKzE1Nyw2IEBAIGlubGluZSB2b2lkIEhlYXA6OmRlcmVmU21hbGxMaW5lKHN0ZDo6bG8K
ICAgICBkZWFsbG9jYXRlU21hbGxMaW5lKGxvY2ssIG9iamVjdCk7CiB9CiAKLWlubGluZSBib29s
IEhlYXA6OmlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpCi17Ci0jaWYgQlBMQVRGT1JNKElPUykKLSAg
ICByZXR1cm4gcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCkgPiBtZW1vcnlQcmVzc3VyZVRo
cmVzaG9sZDsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi19Ci0gICAgCi0jaWYg
QlBMQVRGT1JNKElPUykKLWlubGluZSBzaXplX3QgSGVhcDo6bWVtb3J5Rm9vdHByaW50KCkKLXsK
LSAgICB1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMoKTsKLQotICAgIHJldHVybiBtX21lbW9y
eUZvb3RwcmludDsKLX0KLQotaW5saW5lIGRvdWJsZSBIZWFwOjpwZXJjZW50QXZhaWxhYmxlTWVt
b3J5SW5Vc2UoKQotewotICAgIHVwZGF0ZU1lbW9yeUluVXNlUGFyYW1ldGVycygpOwotCi0gICAg
cmV0dXJuIG1fcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlOwotfQotI2VuZGlmCi0KIH0gLy8g
bmFtZXNwYWNlIGJtYWxsb2MKIAogI2VuZGlmIC8vIEhlYXBfaApJbmRleDogU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9ibWFsbG9jLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9ibWFsbG9jLmgJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
Ym1hbGxvYy5oCSh3b3JraW5nIGNvcHkpCkBAIC05MSwxNyArOTEsMTUgQEAgaW5saW5lIHNpemVf
dCBhdmFpbGFibGVNZW1vcnkoKQogICAgIHJldHVybiBibWFsbG9jOjphdmFpbGFibGVNZW1vcnko
KTsKIH0KICAgICAKLSNpZiBCUExBVEZPUk0oSU9TKQogaW5saW5lIHNpemVfdCBtZW1vcnlGb290
cHJpbnQoKQogewotICAgIHJldHVybiBQZXJQcm9jZXNzPEhlYXA+OjpnZXQoKS0+bWVtb3J5Rm9v
dHByaW50KCk7CisgICAgcmV0dXJuIGJtYWxsb2M6Om1lbW9yeUZvb3RwcmludCgpOwogfQogCiBp
bmxpbmUgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpCiB7Ci0gICAgcmV0dXJu
IFBlclByb2Nlc3M8SGVhcD46OmdldCgpLT5wZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKTsK
KyAgICByZXR1cm4gYm1hbGxvYzo6cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCk7CiB9Ci0j
ZW5kaWYKIAogI2lmIEJPUyhEQVJXSU4pCiBpbmxpbmUgdm9pZCBzZXRTY2F2ZW5nZXJUaHJlYWRR
T1NDbGFzcyhxb3NfY2xhc3NfdCBvdmVycmlkZUNsYXNzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312242</attachid>
            <date>2017-06-07 15:24:00 -0700</date>
            <delta_ts>2017-06-07 15:34:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173076-20170607152359.patch</filename>
            <type>text/plain</type>
            <size>7184</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA2LTA3ICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgYm1hbGxvYzogbWVtb3J5IEFQ
SXMgZG9uJ3QgbmVlZCB0byBiZSBoZWFwIG1lbWJlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzA3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFza2luZyB0aGUgT1MgYWJvdXQgbWVtb3J5IHVzZSBp
cyB1bnJlbGF0ZWQgdG8gdGhlIHN0YXRlIG9mIGJtYWxsb2MncworICAgICAgICBoZWFwLCBzbyBp
dCdzIGEgYmV0dGVyIHNlcGFyYXRpb24gb2YgY29uY2VybnMgaWYgcmVsYXRlZCBjb2RlIGlzIG5v
dCAKKyAgICAgICAgcGFydCBvZiB0aGUgaGVhcC4KKworICAgICAgICAqIGJtYWxsb2MvQXZhaWxh
YmxlTWVtb3J5LmNwcDoKKyAgICAgICAgKGJtYWxsb2M6Om1lbW9yeVN0YXR1cyk6CisgICAgICAg
ICogYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaDoKKyAgICAgICAgKGJtYWxsb2M6Ok1lbW9yeVN0
YXR1czo6TWVtb3J5U3RhdHVzKToKKyAgICAgICAgKGJtYWxsb2M6OmlzVW5kZXJNZW1vcnlQcmVz
c3VyZSk6CisgICAgICAgIChibWFsbG9jOjptZW1vcnlGb290cHJpbnQpOgorICAgICAgICAoYm1h
bGxvYzo6cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKToKKyAgICAgICAgKiBibWFsbG9jL0hl
YXAuY3BwOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChibWFsbG9j
OjpIZWFwOjp1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMpOiBEZWxldGVkLgorICAgICAgICAq
IGJtYWxsb2MvSGVhcC5oOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6aXNVbmRlck1lbW9yeVBy
ZXNzdXJlKTogRGVsZXRlZC4KKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6Om1lbW9yeUZvb3Rwcmlu
dCk6IERlbGV0ZWQuCisgICAgICAgIChibWFsbG9jOjpIZWFwOjpwZXJjZW50QXZhaWxhYmxlTWVt
b3J5SW5Vc2UpOiBEZWxldGVkLgorCiAyMDE3LTA2LTA2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIHN0cnVjdCBkb2VzIG5vdCBhY2NlcHQgaW5pdGlh
bGl6ZXItZm9ybSBpZiBtZW1iZXIgaGFzIGluaXRpYWxpemVycyBpbiBHQ0MgNC45CkluZGV4OiBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCShyZXZpc2lvbiAyMTc5
MDMpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTkyLDQgKzkyLDIxIEBAIHNpemVfdCBhdmFpbGFibGVNZW1vcnkoKQogICAg
IHJldHVybiBhdmFpbGFibGVNZW1vcnk7CiB9CiAKKyNpZiBCUExBVEZPUk0oSU9TKQorTWVtb3J5
U3RhdHVzIG1lbW9yeVN0YXR1cygpCit7CisgICAgdGFza192bV9pbmZvX2RhdGFfdCB2bUluZm87
CisgICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2bVNpemUgPSBUQVNLX1ZNX0lORk9fQ09VTlQ7
CisgICAgCisgICAgc2l6ZV90IG1lbW9yeUZvb3RwcmludCA9IDA7CisgICAgaWYgKEtFUk5fU1VD
Q0VTUyA9PSB0YXNrX2luZm8obWFjaF90YXNrX3NlbGYoKSwgVEFTS19WTV9JTkZPLCAodGFza19p
bmZvX3QpKCZ2bUluZm8pLCAmdm1TaXplKSkKKyAgICAgICAgbWVtb3J5Rm9vdHByaW50ID0gc3Rh
dGljX2Nhc3Q8c2l6ZV90Pih2bUluZm8ucGh5c19mb290cHJpbnQpOworCisgICAgZG91YmxlIHBl
cmNlbnRJblVzZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4obWVtb3J5Rm9vdHByaW50KSAvIHN0YXRp
Y19jYXN0PGRvdWJsZT4oYXZhaWxhYmxlTWVtb3J5KCkpOworICAgIGRvdWJsZSBwZXJjZW50QXZh
aWxhYmxlTWVtb3J5SW5Vc2UgPSBzdGQ6Om1pbihwZXJjZW50SW5Vc2UsIDEuMCk7CisgICAgCisg
ICAgcmV0dXJuIE1lbW9yeVN0YXR1cyhtZW1vcnlGb290cHJpbnQsIHBlcmNlbnRBdmFpbGFibGVN
ZW1vcnlJblVzZSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgYm1hbGxvYwpJbmRleDog
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oCShyZXZpc2lvbiAyMTc5MDMp
CisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiw1ICszMiw0MCBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKIHNpemVfdCBhdmFp
bGFibGVNZW1vcnkoKTsKIAorI2lmIEJQTEFURk9STShJT1MpCitzdHJ1Y3QgTWVtb3J5U3RhdHVz
IHsKKyAgICBNZW1vcnlTdGF0dXMoc2l6ZV90IG1lbW9yeUZvb3RwcmludCwgZG91YmxlIHBlcmNl
bnRBdmFpbGFibGVNZW1vcnlJblVzZSkKKyAgICAgICAgOiBtZW1vcnlGb290cHJpbnQobWVtb3J5
Rm9vdHByaW50KQorICAgICAgICAsIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZShwZXJjZW50
QXZhaWxhYmxlTWVtb3J5SW5Vc2UpCisgICAgeworICAgIH0KKworICAgIHNpemVfdCBtZW1vcnlG
b290cHJpbnQ7CisgICAgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZTsKK307CisK
K01lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMoKTsKKworaW5saW5lIHNpemVfdCBtZW1vcnlGb290
cHJpbnQoKQoreworICAgIGF1dG8gbWVtb3J5VXNlID0gbWVtb3J5U3RhdHVzKCk7CisgICAgcmV0
dXJuIG1lbW9yeVVzZS5tZW1vcnlGb290cHJpbnQ7CiB9CiAKK2lubGluZSBkb3VibGUgcGVyY2Vu
dEF2YWlsYWJsZU1lbW9yeUluVXNlKCkKK3sKKyAgICBhdXRvIG1lbW9yeVVzZSA9IG1lbW9yeVN0
YXR1cygpOworICAgIHJldHVybiBtZW1vcnlVc2UucGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNl
OworfQorI2VuZGlmCisKK2lubGluZSBib29sIGlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpCit7Cisj
aWYgQlBMQVRGT1JNKElPUykKKyAgICByZXR1cm4gcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNl
KCkgPiBtZW1vcnlQcmVzc3VyZVRocmVzaG9sZDsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCit9CisgICAgCit9IC8vIG5hbWVzcGFjZSBibWFsbG9jCkluZGV4OiBTb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0hlYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvSGVhcC5jcHAJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
SGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDkgKzUxLDYgQEAgSGVhcDo6SGVhcChzdGQ6
OmxvY2tfZ3VhcmQ8U3RhdGljTXV0ZXg+JgogICAgIDogbV92bVBhZ2VTaXplUGh5c2ljYWwodm1Q
YWdlU2l6ZVBoeXNpY2FsKCkpCiAgICAgLCBtX3NjYXZlbmdlcigqdGhpcywgJkhlYXA6OmNvbmN1
cnJlbnRTY2F2ZW5nZSkKICAgICAsIG1fZGVidWdIZWFwKG51bGxwdHIpCi0jaWYgQlBMQVRGT1JN
KElPUykKLSAgICAsIG1fbWF4QXZhaWxhYmxlTWVtb3J5KGF2YWlsYWJsZU1lbW9yeSgpKQotI2Vu
ZGlmCiB7CiAgICAgUkVMRUFTRV9CQVNTRVJUKHZtUGFnZVNpemVQaHlzaWNhbCgpID49IHNtYWxs
UGFnZVNpemUpOwogICAgIFJFTEVBU0VfQkFTU0VSVCh2bVBhZ2VTaXplKCkgPj0gdm1QYWdlU2l6
ZVBoeXNpY2FsKCkpOwpAQCAtMTMyLDIyICsxMjksNiBAQCB2b2lkIEhlYXA6OmluaXRpYWxpemVQ
YWdlTWV0YWRhdGEoKQogICAgICAgICBtX3BhZ2VDbGFzc2VzW2ldID0gKGNvbXB1dGVQYWdlU2l6
ZShpKSAtIDEpIC8gc21hbGxQYWdlU2l6ZTsKIH0KIAotI2lmIEJQTEFURk9STShJT1MpCi12b2lk
IEhlYXA6OnVwZGF0ZU1lbW9yeUluVXNlUGFyYW1ldGVycygpCi17Ci0gICAgdGFza192bV9pbmZv
X2RhdGFfdCB2bUluZm87Ci0gICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2bVNpemUgPSBUQVNL
X1ZNX0lORk9fQ09VTlQ7Ci0gICAgCi0gICAgaWYgKEtFUk5fU1VDQ0VTUyAhPSB0YXNrX2luZm8o
bWFjaF90YXNrX3NlbGYoKSwgVEFTS19WTV9JTkZPLCAodGFza19pbmZvX3QpKCZ2bUluZm8pLCAm
dm1TaXplKSkKLSAgICAgICAgbV9tZW1vcnlGb290cHJpbnQgPSAwOwotICAgIGVsc2UKLSAgICAg
ICAgbV9tZW1vcnlGb290cHJpbnQgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KHZtSW5mby5waHlzX2Zv
b3RwcmludCk7Ci0KLSAgICBkb3VibGUgcGVyY2VudEluVXNlID0gc3RhdGljX2Nhc3Q8ZG91Ymxl
PihtX21lbW9yeUZvb3RwcmludCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWF4QXZhaWxhYmxl
TWVtb3J5KTsKLSAgICBtX3BlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSA9IHN0ZDo6bWluKHBl
cmNlbnRJblVzZSwgMS4wKTsKLX0KLSNlbmRpZgotCiB2b2lkIEhlYXA6OmNvbmN1cnJlbnRTY2F2
ZW5nZSgpCiB7CiAgICAgc3RkOjpsb2NrX2d1YXJkPFN0YXRpY011dGV4PiBsb2NrKFBlclByb2Nl
c3M8SGVhcD46Om11dGV4KCkpOwpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmgJKHJldmlzaW9uIDIx
NzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5oCSh3b3JraW5nIGNvcHkpCkBA
IC03MiwxMCArNzIsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNjYXZlbmdlKHN0ZDo6bG9ja19n
dWFyZDxTdGF0aWNNdXRleD4mKTsKIAotICAgIHNpemVfdCBtZW1vcnlGb290cHJpbnQoKTsKLSAg
ICBkb3VibGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCk7Ci0gICAgYm9vbCBpc1VuZGVy
TWVtb3J5UHJlc3N1cmUoKTsKLSAgICAKICNpZiBCT1MoREFSV0lOKQogICAgIHZvaWQgc2V0U2Nh
dmVuZ2VyVGhyZWFkUU9TQ2xhc3MocW9zX2NsYXNzX3Qgb3ZlcnJpZGVDbGFzcykgeyBtX3JlcXVl
c3RlZFNjYXZlbmdlclRocmVhZFFPU0NsYXNzID0gb3ZlcnJpZGVDbGFzczsgfQogI2VuZGlmCkBA
IC0xMTYsMTAgKzExMiw2IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBjb25jdXJyZW50U2Nh
dmVuZ2UoKTsKICAgICAKLSNpZiBCUExBVEZPUk0oSU9TKQotICAgIHZvaWQgdXBkYXRlTWVtb3J5
SW5Vc2VQYXJhbWV0ZXJzKCk7Ci0jZW5kaWYKLQogICAgIHNpemVfdCBtX3ZtUGFnZVNpemVQaHlz
aWNhbDsKICAgICBWZWN0b3I8TGluZU1ldGFkYXRhPiBtX3NtYWxsTGluZU1ldGFkYXRhOwogICAg
IHN0ZDo6YXJyYXk8c2l6ZV90LCBzaXplQ2xhc3NDb3VudD4gbV9wYWdlQ2xhc3NlczsKQEAgLTE0
MSwxMiArMTMzLDYgQEAgcHJpdmF0ZToKICAgICBFbnZpcm9ubWVudCBtX2Vudmlyb25tZW50Owog
ICAgIERlYnVnSGVhcCogbV9kZWJ1Z0hlYXA7CiAKLSNpZiBCUExBVEZPUk0oSU9TKQotICAgIHNp
emVfdCBtX21heEF2YWlsYWJsZU1lbW9yeTsKLSAgICBzaXplX3QgbV9tZW1vcnlGb290cHJpbnQ7
Ci0gICAgZG91YmxlIG1fcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlOwotI2VuZGlmCi0KICAg
ICBWTUhlYXAgbV92bUhlYXA7CiAKICNpZiBCT1MoREFSV0lOKQpAQCAtMTcxLDMxICsxNTcsNiBA
QCBpbmxpbmUgdm9pZCBIZWFwOjpkZXJlZlNtYWxsTGluZShzdGQ6OmxvCiAgICAgZGVhbGxvY2F0
ZVNtYWxsTGluZShsb2NrLCBvYmplY3QpOwogfQogCi1pbmxpbmUgYm9vbCBIZWFwOjppc1VuZGVy
TWVtb3J5UHJlc3N1cmUoKQotewotI2lmIEJQTEFURk9STShJT1MpCi0gICAgcmV0dXJuIHBlcmNl
bnRBdmFpbGFibGVNZW1vcnlJblVzZSgpID4gbWVtb3J5UHJlc3N1cmVUaHJlc2hvbGQ7Ci0jZWxz
ZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgotfQotICAgIAotI2lmIEJQTEFURk9STShJT1Mp
Ci1pbmxpbmUgc2l6ZV90IEhlYXA6Om1lbW9yeUZvb3RwcmludCgpCi17Ci0gICAgdXBkYXRlTWVt
b3J5SW5Vc2VQYXJhbWV0ZXJzKCk7Ci0KLSAgICByZXR1cm4gbV9tZW1vcnlGb290cHJpbnQ7Ci19
Ci0KLWlubGluZSBkb3VibGUgSGVhcDo6cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCkKLXsK
LSAgICB1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMoKTsKLQotICAgIHJldHVybiBtX3BlcmNl
bnRBdmFpbGFibGVNZW1vcnlJblVzZTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBibWFs
bG9jCiAKICNlbmRpZiAvLyBIZWFwX2gKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvYm1h
bGxvYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvYm1hbGxvYy5oCShy
ZXZpc2lvbiAyMTc5MDMpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaAkod29y
a2luZyBjb3B5KQpAQCAtOTQsMTIgKzk0LDEyIEBAIGlubGluZSBzaXplX3QgYXZhaWxhYmxlTWVt
b3J5KCkKICNpZiBCUExBVEZPUk0oSU9TKQogaW5saW5lIHNpemVfdCBtZW1vcnlGb290cHJpbnQo
KQogewotICAgIHJldHVybiBQZXJQcm9jZXNzPEhlYXA+OjpnZXQoKS0+bWVtb3J5Rm9vdHByaW50
KCk7CisgICAgcmV0dXJuIGJtYWxsb2M6Om1lbW9yeUZvb3RwcmludCgpOwogfQogCiBpbmxpbmUg
ZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpCiB7Ci0gICAgcmV0dXJuIFBlclBy
b2Nlc3M8SGVhcD46OmdldCgpLT5wZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKTsKKyAgICBy
ZXR1cm4gYm1hbGxvYzo6cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCk7CiB9CiAjZW5kaWYK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312244</attachid>
            <date>2017-06-07 15:35:22 -0700</date>
            <delta_ts>2017-06-07 17:16:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173076-20170607153515.patch</filename>
            <type>text/plain</type>
            <size>7584</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA2LTA3ICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgYm1hbGxvYzogbWVtb3J5IEFQ
SXMgZG9uJ3QgbmVlZCB0byBiZSBoZWFwIG1lbWJlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzA3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFza2luZyB0aGUgT1MgYWJvdXQgbWVtb3J5IHVzZSBp
cyB1bnJlbGF0ZWQgdG8gdGhlIHN0YXRlIG9mIGJtYWxsb2MncworICAgICAgICBoZWFwLCBzbyBp
dCdzIGEgYmV0dGVyIHNlcGFyYXRpb24gb2YgY29uY2VybnMgaWYgcmVsYXRlZCBjb2RlIGlzIG5v
dCAKKyAgICAgICAgcGFydCBvZiB0aGUgaGVhcC4KKworICAgICAgICAqIGJtYWxsb2MvQXZhaWxh
YmxlTWVtb3J5LmNwcDoKKyAgICAgICAgKGJtYWxsb2M6Om1lbW9yeVN0YXR1cyk6CisgICAgICAg
ICogYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaDoKKyAgICAgICAgKGJtYWxsb2M6Ok1lbW9yeVN0
YXR1czo6TWVtb3J5U3RhdHVzKToKKyAgICAgICAgKGJtYWxsb2M6OmlzVW5kZXJNZW1vcnlQcmVz
c3VyZSk6CisgICAgICAgIChibWFsbG9jOjptZW1vcnlGb290cHJpbnQpOgorICAgICAgICAoYm1h
bGxvYzo6cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKToKKyAgICAgICAgKiBibWFsbG9jL0hl
YXAuY3BwOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChibWFsbG9j
OjpIZWFwOjp1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMpOiBEZWxldGVkLgorICAgICAgICAq
IGJtYWxsb2MvSGVhcC5oOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6aXNVbmRlck1lbW9yeVBy
ZXNzdXJlKTogRGVsZXRlZC4KKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6Om1lbW9yeUZvb3Rwcmlu
dCk6IERlbGV0ZWQuCisgICAgICAgIChibWFsbG9jOjpIZWFwOjpwZXJjZW50QXZhaWxhYmxlTWVt
b3J5SW5Vc2UpOiBEZWxldGVkLgorCiAyMDE3LTA2LTA2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIHN0cnVjdCBkb2VzIG5vdCBhY2NlcHQgaW5pdGlh
bGl6ZXItZm9ybSBpZiBtZW1iZXIgaGFzIGluaXRpYWxpemVycyBpbiBHQ0MgNC45CkluZGV4OiBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCShyZXZpc2lvbiAyMTc5
MDMpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTkyLDQgKzkyLDIxIEBAIHNpemVfdCBhdmFpbGFibGVNZW1vcnkoKQogICAg
IHJldHVybiBhdmFpbGFibGVNZW1vcnk7CiB9CiAKKyNpZiBCUExBVEZPUk0oSU9TKQorTWVtb3J5
U3RhdHVzIG1lbW9yeVN0YXR1cygpCit7CisgICAgdGFza192bV9pbmZvX2RhdGFfdCB2bUluZm87
CisgICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2bVNpemUgPSBUQVNLX1ZNX0lORk9fQ09VTlQ7
CisgICAgCisgICAgc2l6ZV90IG1lbW9yeUZvb3RwcmludCA9IDA7CisgICAgaWYgKEtFUk5fU1VD
Q0VTUyA9PSB0YXNrX2luZm8obWFjaF90YXNrX3NlbGYoKSwgVEFTS19WTV9JTkZPLCAodGFza19p
bmZvX3QpKCZ2bUluZm8pLCAmdm1TaXplKSkKKyAgICAgICAgbWVtb3J5Rm9vdHByaW50ID0gc3Rh
dGljX2Nhc3Q8c2l6ZV90Pih2bUluZm8ucGh5c19mb290cHJpbnQpOworCisgICAgZG91YmxlIHBl
cmNlbnRJblVzZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4obWVtb3J5Rm9vdHByaW50KSAvIHN0YXRp
Y19jYXN0PGRvdWJsZT4oYXZhaWxhYmxlTWVtb3J5KCkpOworICAgIGRvdWJsZSBwZXJjZW50QXZh
aWxhYmxlTWVtb3J5SW5Vc2UgPSBzdGQ6Om1pbihwZXJjZW50SW5Vc2UsIDEuMCk7CisgICAgCisg
ICAgcmV0dXJuIE1lbW9yeVN0YXR1cyhtZW1vcnlGb290cHJpbnQsIHBlcmNlbnRBdmFpbGFibGVN
ZW1vcnlJblVzZSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgYm1hbGxvYwpJbmRleDog
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oCShyZXZpc2lvbiAyMTc5MDMp
CisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiw1ICszMiw0MCBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKIHNpemVfdCBhdmFp
bGFibGVNZW1vcnkoKTsKIAorI2lmIEJQTEFURk9STShJT1MpCitzdHJ1Y3QgTWVtb3J5U3RhdHVz
IHsKKyAgICBNZW1vcnlTdGF0dXMoc2l6ZV90IG1lbW9yeUZvb3RwcmludCwgZG91YmxlIHBlcmNl
bnRBdmFpbGFibGVNZW1vcnlJblVzZSkKKyAgICAgICAgOiBtZW1vcnlGb290cHJpbnQobWVtb3J5
Rm9vdHByaW50KQorICAgICAgICAsIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZShwZXJjZW50
QXZhaWxhYmxlTWVtb3J5SW5Vc2UpCisgICAgeworICAgIH0KKworICAgIHNpemVfdCBtZW1vcnlG
b290cHJpbnQ7CisgICAgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZTsKK307CisK
K01lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMoKTsKKworaW5saW5lIHNpemVfdCBtZW1vcnlGb290
cHJpbnQoKQoreworICAgIGF1dG8gbWVtb3J5VXNlID0gbWVtb3J5U3RhdHVzKCk7CisgICAgcmV0
dXJuIG1lbW9yeVVzZS5tZW1vcnlGb290cHJpbnQ7CiB9CiAKK2lubGluZSBkb3VibGUgcGVyY2Vu
dEF2YWlsYWJsZU1lbW9yeUluVXNlKCkKK3sKKyAgICBhdXRvIG1lbW9yeVVzZSA9IG1lbW9yeVN0
YXR1cygpOworICAgIHJldHVybiBtZW1vcnlVc2UucGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNl
OworfQorI2VuZGlmCisKK2lubGluZSBib29sIGlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpCit7Cisj
aWYgQlBMQVRGT1JNKElPUykKKyAgICByZXR1cm4gcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNl
KCkgPiBtZW1vcnlQcmVzc3VyZVRocmVzaG9sZDsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCit9CisgICAgCit9IC8vIG5hbWVzcGFjZSBibWFsbG9jCkluZGV4OiBTb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0hlYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvSGVhcC5jcHAJKHJldmlzaW9uIDIxNzkwMykKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
SGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDkgKzI1LDcgQEAKIAogI2luY2x1ZGUgIkhl
YXAuaCIKIAotI2lmIEJQTEFURk9STShJT1MpCiAjaW5jbHVkZSAiQXZhaWxhYmxlTWVtb3J5Lmgi
Ci0jZW5kaWYKICNpbmNsdWRlICJCdW1wQWxsb2NhdG9yLmgiCiAjaW5jbHVkZSAiQ2h1bmsuaCIK
ICNpbmNsdWRlICJEZWJ1Z0hlYXAuaCIKQEAgLTM2LDI0ICszNCwxMiBAQAogI2luY2x1ZGUgIlNt
YWxsUGFnZS5oIgogI2luY2x1ZGUgPHRocmVhZD4KIAotI2lmIEJPUyhEQVJXSU4pCi0jaW5jbHVk
ZSAiYm1hbGxvYy5oIgotI2lmIEJQTEFURk9STShJT1MpCi0jaW1wb3J0IDxtYWNoL2hvc3RfaW5m
by5oPgotI2ltcG9ydCA8bWFjaC9tYWNoLmg+Ci0jaW1wb3J0IDxtYWNoL21hY2hfZXJyb3IuaD4K
LSNlbmRpZgotI2VuZGlmCi0KIG5hbWVzcGFjZSBibWFsbG9jIHsKIAogSGVhcDo6SGVhcChzdGQ6
OmxvY2tfZ3VhcmQ8U3RhdGljTXV0ZXg+JikKICAgICA6IG1fdm1QYWdlU2l6ZVBoeXNpY2FsKHZt
UGFnZVNpemVQaHlzaWNhbCgpKQogICAgICwgbV9zY2F2ZW5nZXIoKnRoaXMsICZIZWFwOjpjb25j
dXJyZW50U2NhdmVuZ2UpCiAgICAgLCBtX2RlYnVnSGVhcChudWxscHRyKQotI2lmIEJQTEFURk9S
TShJT1MpCi0gICAgLCBtX21heEF2YWlsYWJsZU1lbW9yeShhdmFpbGFibGVNZW1vcnkoKSkKLSNl
bmRpZgogewogICAgIFJFTEVBU0VfQkFTU0VSVCh2bVBhZ2VTaXplUGh5c2ljYWwoKSA+PSBzbWFs
bFBhZ2VTaXplKTsKICAgICBSRUxFQVNFX0JBU1NFUlQodm1QYWdlU2l6ZSgpID49IHZtUGFnZVNp
emVQaHlzaWNhbCgpKTsKQEAgLTEzMiwyMiArMTE4LDYgQEAgdm9pZCBIZWFwOjppbml0aWFsaXpl
UGFnZU1ldGFkYXRhKCkKICAgICAgICAgbV9wYWdlQ2xhc3Nlc1tpXSA9IChjb21wdXRlUGFnZVNp
emUoaSkgLSAxKSAvIHNtYWxsUGFnZVNpemU7CiB9CiAKLSNpZiBCUExBVEZPUk0oSU9TKQotdm9p
ZCBIZWFwOjp1cGRhdGVNZW1vcnlJblVzZVBhcmFtZXRlcnMoKQotewotICAgIHRhc2tfdm1faW5m
b19kYXRhX3Qgdm1JbmZvOwotICAgIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3Qgdm1TaXplID0gVEFT
S19WTV9JTkZPX0NPVU5UOwotICAgIAotICAgIGlmIChLRVJOX1NVQ0NFU1MgIT0gdGFza19pbmZv
KG1hY2hfdGFza19zZWxmKCksIFRBU0tfVk1fSU5GTywgKHRhc2tfaW5mb190KSgmdm1JbmZvKSwg
JnZtU2l6ZSkpCi0gICAgICAgIG1fbWVtb3J5Rm9vdHByaW50ID0gMDsKLSAgICBlbHNlCi0gICAg
ICAgIG1fbWVtb3J5Rm9vdHByaW50ID0gc3RhdGljX2Nhc3Q8c2l6ZV90Pih2bUluZm8ucGh5c19m
b290cHJpbnQpOwotCi0gICAgZG91YmxlIHBlcmNlbnRJblVzZSA9IHN0YXRpY19jYXN0PGRvdWJs
ZT4obV9tZW1vcnlGb290cHJpbnQpIC8gc3RhdGljX2Nhc3Q8ZG91YmxlPihtX21heEF2YWlsYWJs
ZU1lbW9yeSk7Ci0gICAgbV9wZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UgPSBzdGQ6Om1pbihw
ZXJjZW50SW5Vc2UsIDEuMCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBIZWFwOjpjb25jdXJyZW50U2Nh
dmVuZ2UoKQogewogICAgIHN0ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRleD4gbG9jayhQZXJQcm9j
ZXNzPEhlYXA+OjptdXRleCgpKTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5oCShyZXZpc2lvbiAy
MTc5MDMpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuaAkod29ya2luZyBjb3B5KQpA
QCAtNzIsMTAgKzcyLDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY2F2ZW5nZShzdGQ6OmxvY2tf
Z3VhcmQ8U3RhdGljTXV0ZXg+Jik7CiAKLSAgICBzaXplX3QgbWVtb3J5Rm9vdHByaW50KCk7Ci0g
ICAgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpOwotICAgIGJvb2wgaXNVbmRl
ck1lbW9yeVByZXNzdXJlKCk7Ci0gICAgCiAjaWYgQk9TKERBUldJTikKICAgICB2b2lkIHNldFNj
YXZlbmdlclRocmVhZFFPU0NsYXNzKHFvc19jbGFzc190IG92ZXJyaWRlQ2xhc3MpIHsgbV9yZXF1
ZXN0ZWRTY2F2ZW5nZXJUaHJlYWRRT1NDbGFzcyA9IG92ZXJyaWRlQ2xhc3M7IH0KICNlbmRpZgpA
QCAtMTE2LDEwICsxMTIsNiBAQCBwcml2YXRlOgogICAgIAogICAgIHZvaWQgY29uY3VycmVudFNj
YXZlbmdlKCk7CiAgICAgCi0jaWYgQlBMQVRGT1JNKElPUykKLSAgICB2b2lkIHVwZGF0ZU1lbW9y
eUluVXNlUGFyYW1ldGVycygpOwotI2VuZGlmCi0KICAgICBzaXplX3QgbV92bVBhZ2VTaXplUGh5
c2ljYWw7CiAgICAgVmVjdG9yPExpbmVNZXRhZGF0YT4gbV9zbWFsbExpbmVNZXRhZGF0YTsKICAg
ICBzdGQ6OmFycmF5PHNpemVfdCwgc2l6ZUNsYXNzQ291bnQ+IG1fcGFnZUNsYXNzZXM7CkBAIC0x
NDEsMTIgKzEzMyw2IEBAIHByaXZhdGU6CiAgICAgRW52aXJvbm1lbnQgbV9lbnZpcm9ubWVudDsK
ICAgICBEZWJ1Z0hlYXAqIG1fZGVidWdIZWFwOwogCi0jaWYgQlBMQVRGT1JNKElPUykKLSAgICBz
aXplX3QgbV9tYXhBdmFpbGFibGVNZW1vcnk7Ci0gICAgc2l6ZV90IG1fbWVtb3J5Rm9vdHByaW50
OwotICAgIGRvdWJsZSBtX3BlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZTsKLSNlbmRpZgotCiAg
ICAgVk1IZWFwIG1fdm1IZWFwOwogCiAjaWYgQk9TKERBUldJTikKQEAgLTE3MSwzMSArMTU3LDYg
QEAgaW5saW5lIHZvaWQgSGVhcDo6ZGVyZWZTbWFsbExpbmUoc3RkOjpsbwogICAgIGRlYWxsb2Nh
dGVTbWFsbExpbmUobG9jaywgb2JqZWN0KTsKIH0KIAotaW5saW5lIGJvb2wgSGVhcDo6aXNVbmRl
ck1lbW9yeVByZXNzdXJlKCkKLXsKLSNpZiBCUExBVEZPUk0oSU9TKQotICAgIHJldHVybiBwZXJj
ZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKSA+IG1lbW9yeVByZXNzdXJlVGhyZXNob2xkOwotI2Vs
c2UKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLX0KLSAgICAKLSNpZiBCUExBVEZPUk0oSU9T
KQotaW5saW5lIHNpemVfdCBIZWFwOjptZW1vcnlGb290cHJpbnQoKQotewotICAgIHVwZGF0ZU1l
bW9yeUluVXNlUGFyYW1ldGVycygpOwotCi0gICAgcmV0dXJuIG1fbWVtb3J5Rm9vdHByaW50Owot
fQotCi1pbmxpbmUgZG91YmxlIEhlYXA6OnBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpCi17
Ci0gICAgdXBkYXRlTWVtb3J5SW5Vc2VQYXJhbWV0ZXJzKCk7Ci0KLSAgICByZXR1cm4gbV9wZXJj
ZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2U7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgYm1h
bGxvYwogCiAjZW5kaWYgLy8gSGVhcF9oCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2Jt
YWxsb2MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaAko
cmV2aXNpb24gMjE3OTAzKQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmgJKHdv
cmtpbmcgY29weSkKQEAgLTk0LDEyICs5NCwxMiBAQCBpbmxpbmUgc2l6ZV90IGF2YWlsYWJsZU1l
bW9yeSgpCiAjaWYgQlBMQVRGT1JNKElPUykKIGlubGluZSBzaXplX3QgbWVtb3J5Rm9vdHByaW50
KCkKIHsKLSAgICByZXR1cm4gUGVyUHJvY2VzczxIZWFwPjo6Z2V0KCktPm1lbW9yeUZvb3Rwcmlu
dCgpOworICAgIHJldHVybiBibWFsbG9jOjptZW1vcnlGb290cHJpbnQoKTsKIH0KIAogaW5saW5l
IGRvdWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKQogewotICAgIHJldHVybiBQZXJQ
cm9jZXNzPEhlYXA+OjpnZXQoKS0+cGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCk7CisgICAg
cmV0dXJuIGJtYWxsb2M6OnBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpOwogfQogI2VuZGlm
CiAK
</data>
<flag name="review"
          id="333175"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>