<?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>195938</bug_id>
          
          <creation_ts>2019-03-19 01:34:20 -0700</creation_ts>
          <short_desc>[bmalloc][Linux] Add support for memory status calculation</short_desc>
          <delta_ts>2019-07-05 06:36:07 -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>bmalloc</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="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>aperez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>loic.yhuel</cc>
    
    <cc>olivier.blin</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1518186</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-03-19 01:34:20 -0700</bug_when>
    <thetext>[bmalloc][Linux] Add support for memory status calculation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518187</commentid>
    <comment_count>1</comment_count>
      <attachid>365137</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-03-19 01:34:52 -0700</bug_when>
    <thetext>Created attachment 365137
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523278</commentid>
    <comment_count>2</comment_count>
      <attachid>366486</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-04-02 04:35:00 -0700</bug_when>
    <thetext>Created attachment 366486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523280</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-04-02 04:36:47 -0700</bug_when>
    <thetext>Attachment 366486 did not pass style-queue:


ERROR: Source/bmalloc/bmalloc/AvailableMemory.cpp:47:  &quot;algorithm&quot; already included at Source/bmalloc/bmalloc/AvailableMemory.cpp:38  [build/include] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524668</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-04-05 05:20:23 -0700</bug_when>
    <thetext>*** Bug 184684 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525138</commentid>
    <comment_count>5</comment_count>
      <attachid>366486</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-08 01:07:58 -0700</bug_when>
    <thetext>Comment on attachment 366486
Patch

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

&gt; Source/bmalloc/bmalloc/AvailableMemory.cpp:112
&gt; +                if (s_singleton.statm.fd != -1)
&gt; +                    s_singleton.statm.valid = true;

Why don&apos;t we just check fd instead of having both fd and valid?

&gt; Source/bmalloc/bmalloc/AvailableMemory.cpp:119
&gt; +        if (!statm.valid)

Here we could just return early if fd == -1

&gt; Source/bmalloc/bmalloc/AvailableMemory.cpp:123
&gt; +        ssize_t numBytes = pread(statm.fd, statmBuffer.data(), statmBuffer.size(), 0);

Why using pread if the offset is always 0?

&gt; Source/bmalloc/bmalloc/AvailableMemory.cpp:144
&gt; +    }

Is open/close so heavy operation? is it worth keeping the fd open forever? We are reading /proc so we are not even going to disk.

&gt; Source/bmalloc/bmalloc/AvailableMemory.cpp:146
&gt; +    long numPages { 0 };

We don&apos;t need to cache this, it&apos;s used only once in call_once()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525142</commentid>
    <comment_count>6</comment_count>
      <attachid>366486</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-04-08 01:30:59 -0700</bug_when>
    <thetext>Comment on attachment 366486
Patch

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

&gt;&gt; Source/bmalloc/bmalloc/AvailableMemory.cpp:123
&gt;&gt; +        ssize_t numBytes = pread(statm.fd, statmBuffer.data(), statmBuffer.size(), 0);
&gt; 
&gt; Why using pread if the offset is always 0?

Cause any other read operation advances the file position to the end of the file. So for every further read, that offset has to be brought back to the start of the file.

&gt;&gt; Source/bmalloc/bmalloc/AvailableMemory.cpp:144
&gt;&gt; +    }
&gt; 
&gt; Is open/close so heavy operation? is it worth keeping the fd open forever? We are reading /proc so we are not even going to disk.

They&apos;re separate operations, meaning that two additional syscalls would have to be done for every read. With the persistent fd we can instead only use one to both bring back the file position to the start and read the contents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525604</commentid>
    <comment_count>7</comment_count>
      <attachid>367037</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-04-09 04:32:07 -0700</bug_when>
    <thetext>Created attachment 367037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525605</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-04-09 04:33:55 -0700</bug_when>
    <thetext>Attachment 367037 did not pass style-queue:


ERROR: Source/bmalloc/bmalloc/AvailableMemory.cpp:47:  &quot;algorithm&quot; already included at Source/bmalloc/bmalloc/AvailableMemory.cpp:38  [build/include] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527086</commentid>
    <comment_count>9</comment_count>
      <attachid>367037</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-04-13 23:46:20 -0700</bug_when>
    <thetext>Comment on attachment 367037
Patch

Clearing flags on attachment: 367037

Committed r244244: &lt;https://trac.webkit.org/changeset/244244&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527087</commentid>
    <comment_count>10</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-04-13 23:46:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527088</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-13 23:49:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/49883046&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528411</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-18 00:30:22 -0700</bug_when>
    <thetext>Committed r244422: &lt;https://trac.webkit.org/changeset/244422&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528748</commentid>
    <comment_count>13</comment_count>
    <who name="Olivier Blin">olivier.blin</who>
    <bug_when>2019-04-19 08:22:00 -0700</bug_when>
    <thetext>Yusuke: your latest patch includes &lt;array&gt; under a BPLATFORM(IOS_FAMILY) guard, while this is necessary for BOS(LINUX) instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528811</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-19 11:47:27 -0700</bug_when>
    <thetext>(In reply to Olivier Blin from comment #13)
&gt; Yusuke: your latest patch includes &lt;array&gt; under a BPLATFORM(IOS_FAMILY)
&gt; guard, while this is necessary for BOS(LINUX) instead.

No, this is not under BPLATFORM(IOS_FAMILY) guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550348</commentid>
    <comment_count>15</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-07-05 06:36:07 -0700</bug_when>
    <thetext>*** Bug 199515 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365137</attachid>
            <date>2019-03-19 01:34:52 -0700</date>
            <delta_ts>2019-04-02 04:34:57 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-195938-20190319093451.patch</filename>
            <type>text/plain</type>
            <size>6262</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggODY4ODZjNTExYTZhODZm
YWUwYjFhOGFjZWE3YTIzOGJhNWRkNGI4ZS4uNWQ1NmVmNzk4MzI0NTU5OGJjMGRiNTYwMzM5ZTA1
NWVkYzYzN2E3YiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9ibWFsbG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAzLTE5ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbYm1hbGxvY11bTGlu
dXhdIEFkZCBzdXBwb3J0IGZvciBtZW1vcnkgc3RhdHVzIGNhbGN1bGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU5MzgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJtYWxsb2MvQXZhaWxhYmxl
TWVtb3J5LmNwcDoKKyAgICAgICAgKGJtYWxsb2M6OkxpbnV4TWVtb3J5OjpzaW5nbGV0b24pOgor
ICAgICAgICAoYm1hbGxvYzo6TGludXhNZW1vcnk6OmZvb3RwcmludCBjb25zdCk6CisgICAgICAg
IChibWFsbG9jOjpjb21wdXRlQXZhaWxhYmxlTWVtb3J5KToKKyAgICAgICAgKGJtYWxsb2M6Om1l
bW9yeVN0YXR1cyk6CisgICAgICAgICogYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaDoKKyAgICAg
ICAgKGJtYWxsb2M6OmlzVW5kZXJNZW1vcnlQcmVzc3VyZSk6CisgICAgICAgICogYm1hbGxvYy9i
bWFsbG9jLmg6CisKIDIwMTktMDMtMTQgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KIAogICAgICAgICBbYm1hbGxvY10gQWRkIFN0YXRpY1BlclByb2Nlc3MgZm9yIGtub3duIHR5
cGVzIHRvIHNhdmUgcGFnZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZh
aWxhYmxlTWVtb3J5LmNwcCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5
LmNwcAppbmRleCA5ZWUxNTk0NGZjMDEyMGI3ZGM3YWFjYzI3NDFkZWVhMGU2MTY0NDk0Li42ZDM3
MmU4Y2FiNjk5NDYyMDczMGVlZDFiNzliNDgxNzdjY2VlNzlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAKKysrIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCkBAIC00Myw2ICs0MywxMCBAQAogI2ltcG9ydCA8
bWFjaC9tYWNoX2Vycm9yLmg+CiAjaW1wb3J0IDxtYXRoLmg+CiAjZWxpZiBCT1MoVU5JWCkKKyNp
ZiBCT1MoTElOVVgpCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPGZjbnRsLmg+Cisj
ZW5kaWYKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNlbmRpZgogCkBAIC04OCw2ICs5Miw2OSBAQCBz
dGF0aWMgc2l6ZV90IGpldHNhbUxpbWl0KCkKIH0KICNlbmRpZgogCisjaWYgQk9TKFVOSVgpCitz
dHJ1Y3QgTGludXhNZW1vcnkgeworICAgIHN0YXRpYyBjb25zdCBMaW51eE1lbW9yeSYgc2luZ2xl
dG9uKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBMaW51eE1lbW9yeSBzX3NpbmdsZXRvbjsKKyAg
ICAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIHNfb25jZUZsYWc7CisgICAgICAgIHN0ZDo6Y2Fs
bF9vbmNlKHNfb25jZUZsYWcsCisgICAgICAgICAgICBbXSB7CisgICAgICAgICAgICAgICAgc19z
aW5nbGV0b24ubnVtUGFnZXMgPSBzeXNjb25mKF9TQ19QSFlTX1BBR0VTKTsKKyAgICAgICAgICAg
ICAgICBzX3NpbmdsZXRvbi5wYWdlU2l6ZSA9IHN5c2NvbmYoX1NDX1BBR0VfU0laRSk7CisgICAg
ICAgICAgICAgICAgaWYgKHNfc2luZ2xldG9uLm51bVBhZ2VzID09IC0xIHx8IHNfc2luZ2xldG9u
LnBhZ2VTaXplID09IC0xKQorICAgICAgICAgICAgICAgICAgICBzX3NpbmdsZXRvbi5hdmFpbGFi
bGVNZW1vcnkgPSBhdmFpbGFibGVNZW1vcnlHdWVzczsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIHNfc2luZ2xldG9uLmF2YWlsYWJsZU1lbW9yeSA9IHNfc2luZ2xl
dG9uLm51bVBhZ2VzICogc19zaW5nbGV0b24ucGFnZVNpemU7CisKKyAgICAgICAgICAgICAgICBz
X3NpbmdsZXRvbi5zdGF0bS5mZCA9IG9wZW4oIi9wcm9jL3NlbGYvc3RhdG0iLCBPX1JET05MWSB8
IE9fQ0xPRVhFQyk7CisgICAgICAgICAgICAgICAgaWYgKHNfc2luZ2xldG9uLnN0YXRtLmZkICE9
IC0xKQorICAgICAgICAgICAgICAgICAgICBzX3NpbmdsZXRvbi5zdGF0bS52YWxpZCA9IHRydWU7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHNfc2luZ2xldG9uOworICAgIH0KKwor
ICAgIHNpemVfdCBmb290cHJpbnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKCFzdGF0bS52
YWxpZCkKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIHN0ZDo6YXJyYXk8Y2hhciwg
MjU2PiBzdGF0bUJ1ZmZlcjsKKyAgICAgICAgc3NpemVfdCBudW1CeXRlcyA9IHByZWFkKHN0YXRt
LmZkLCBzdGF0bUJ1ZmZlci5kYXRhKCksIHN0YXRtQnVmZmVyLnNpemUoKSwgMCk7CisgICAgICAg
IGlmIChudW1CeXRlcyA8PSAwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgc3Rk
OjphcnJheTxjaGFyLCAzMj4gcnNzQnVmZmVyOworICAgICAgICB7CisgICAgICAgICAgICBhdXRv
IGJlZ2luID0gc3RkOjpmaW5kKHN0YXRtQnVmZmVyLmJlZ2luKCksIHN0YXRtQnVmZmVyLmVuZCgp
LCAnICcpOworICAgICAgICAgICAgaWYgKGJlZ2luID09IHN0YXRtQnVmZmVyLmVuZCgpKQorICAg
ICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICBzdGQ6OmFkdmFuY2UoYmVnaW4s
IDEpOworICAgICAgICAgICAgYXV0byBlbmQgPSBzdGQ6OmZpbmQoYmVnaW4sIHN0YXRtQnVmZmVy
LmVuZCgpLCAnICcpOworICAgICAgICAgICAgaWYgKGVuZCA9PSBzdGF0bUJ1ZmZlci5lbmQoKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAgICAgYXV0byBsYXN0ID0gc3Rk
Ojpjb3B5X24oYmVnaW4sIHN0ZDo6bWluPHNpemVfdD4oMzEsIHN0ZDo6ZGlzdGFuY2UoYmVnaW4s
IGVuZCkpLCByc3NCdWZmZXIuYmVnaW4oKSk7CisgICAgICAgICAgICAqbGFzdCA9ICdcMCc7Cisg
ICAgICAgIH0KKworICAgICAgICB1bnNpZ25lZCBsb25nIGRpcnR5UGFnZXMgPSBzdHJ0b3VsKHJz
c0J1ZmZlci5kYXRhKCksIG51bGxwdHIsIDEwKTsKKyAgICAgICAgcmV0dXJuIGRpcnR5UGFnZXMg
KiBwYWdlU2l6ZTsKKyAgICB9CisKKyAgICBsb25nIG51bVBhZ2VzIHsgMCB9OworICAgIGxvbmcg
cGFnZVNpemUgeyAwIH07CisKKyAgICBzaXplX3QgYXZhaWxhYmxlTWVtb3J5IHsgMCB9OworCisg
ICAgc3RydWN0IHsKKyAgICAgICAgYm9vbCB2YWxpZCB7IGZhbHNlIH07CisgICAgICAgIGludCBm
ZCB7IC0xIH07CisgICAgfSBzdGF0bTsKK307CisjZW5kaWYKKwogc3RhdGljIHNpemVfdCBjb21w
dXRlQXZhaWxhYmxlTWVtb3J5KCkKIHsKICNpZiBCT1MoREFSV0lOKQpAQCAtMTAwLDYgKzE2Nyw4
IEBAIHN0YXRpYyBzaXplX3QgY29tcHV0ZUF2YWlsYWJsZU1lbW9yeSgpCiAgICAgLy8gUm91bmQg
dXAgdGhlIG1lbW9yeSBzaXplIHRvIGEgbXVsdGlwbGUgb2YgMTI4TUIgYmVjYXVzZSBtYXhfbWVt
IG1heSBub3QgYmUgZXhhY3RseSA1MTJNQgogICAgIC8vIChmb3IgZXhhbXBsZSkgYW5kIHdlIGhh
dmUgY29kZSB0aGF0IGRlcGVuZHMgb24gdGhvc2UgYm91bmRhcmllcy4KICAgICByZXR1cm4gKChz
aXplQWNjb3JkaW5nVG9LZXJuZWwgKyBtdWx0aXBsZSAtIDEpIC8gbXVsdGlwbGUpICogbXVsdGlw
bGU7CisjZWxpZiBCT1MoTElOVVgpCisgICAgcmV0dXJuIExpbnV4TWVtb3J5OjpzaW5nbGV0b24o
KS5hdmFpbGFibGVNZW1vcnk7CiAjZWxpZiBCT1MoVU5JWCkKICAgICBsb25nIHBhZ2VzID0gc3lz
Y29uZihfU0NfUEhZU19QQUdFUyk7CiAgICAgbG9uZyBwYWdlU2l6ZSA9IHN5c2NvbmYoX1NDX1BB
R0VfU0laRSk7CkBAIC0xMjEsOSArMTkwLDEwIEBAIHNpemVfdCBhdmFpbGFibGVNZW1vcnkoKQog
ICAgIHJldHVybiBhdmFpbGFibGVNZW1vcnk7CiB9CiAKLSNpZiBCUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKyNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgQk9TKExJTlVYKQogTWVtb3J5U3RhdHVz
IG1lbW9yeVN0YXR1cygpCiB7CisjaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgdGFza192
bV9pbmZvX2RhdGFfdCB2bUluZm87CiAgICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2bVNpemUg
PSBUQVNLX1ZNX0lORk9fQ09VTlQ7CiAgICAgCkBAIC0xMzIsOCArMjAyLDEzIEBAIE1lbW9yeVN0
YXR1cyBtZW1vcnlTdGF0dXMoKQogICAgICAgICBtZW1vcnlGb290cHJpbnQgPSBzdGF0aWNfY2Fz
dDxzaXplX3Q+KHZtSW5mby5waHlzX2Zvb3RwcmludCk7CiAKICAgICBkb3VibGUgcGVyY2VudElu
VXNlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihtZW1vcnlGb290cHJpbnQpIC8gc3RhdGljX2Nhc3Q8
ZG91YmxlPihhdmFpbGFibGVNZW1vcnkoKSk7CisjZWxpZiBCT1MoTElOVVgpCisgICAgYXV0byYg
bWVtb3J5ID0gTGludXhNZW1vcnk6OnNpbmdsZXRvbigpOworICAgIHNpemVfdCBtZW1vcnlGb290
cHJpbnQgPSBtZW1vcnkuZm9vdHByaW50KCk7CisgICAgZG91YmxlIHBlcmNlbnRJblVzZSA9IHN0
YXRpY19jYXN0PGRvdWJsZT4obWVtb3J5Rm9vdHByaW50KSAvIHN0YXRpY19jYXN0PGRvdWJsZT4o
bWVtb3J5LmF2YWlsYWJsZU1lbW9yeSk7CisjZW5kaWYKKwogICAgIGRvdWJsZSBwZXJjZW50QXZh
aWxhYmxlTWVtb3J5SW5Vc2UgPSBzdGQ6Om1pbihwZXJjZW50SW5Vc2UsIDEuMCk7Ci0gICAgCiAg
ICAgcmV0dXJuIE1lbW9yeVN0YXR1cyhtZW1vcnlGb290cHJpbnQsIHBlcmNlbnRBdmFpbGFibGVN
ZW1vcnlJblVzZSk7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvQXZhaWxhYmxlTWVtb3J5LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1l
bW9yeS5oCmluZGV4IDgwOWQ3MmU4NTFlZjk0MWRmOTVlOTUzMTdhMDIyZDgzMDkzMjQ2YWYuLjk1
OWFmMThmOTM3NWRjNGM2Yjg4NWI0YjdmMWI5YTVkNTU1ZjQ1ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5LmgKKysrIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgYm1h
bGxvYyB7CiAKIHNpemVfdCBhdmFpbGFibGVNZW1vcnkoKTsKIAotI2lmIEJQTEFURk9STShJT1Nf
RkFNSUxZKQorI2lmIEJQTEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpCiBzdHJ1Y3Qg
TWVtb3J5U3RhdHVzIHsKICAgICBNZW1vcnlTdGF0dXMoc2l6ZV90IG1lbW9yeUZvb3RwcmludCwg
ZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSkKICAgICAgICAgOiBtZW1vcnlGb290
cHJpbnQobWVtb3J5Rm9vdHByaW50KQpAQCAtNjEsNyArNjEsNyBAQCBpbmxpbmUgZG91YmxlIHBl
cmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpCiAKIGlubGluZSBib29sIGlzVW5kZXJNZW1vcnlQ
cmVzc3VyZSgpCiB7Ci0jaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgQlBMQVRGT1JNKElP
U19GQU1JTFkpIHx8IEJPUyhMSU5VWCkKICAgICByZXR1cm4gcGVyY2VudEF2YWlsYWJsZU1lbW9y
eUluVXNlKCkgPiBtZW1vcnlQcmVzc3VyZVRocmVzaG9sZDsKICNlbHNlCiAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmggYi9Tb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaAppbmRleCA3NzVhYzBhYWE2NDI2ZTEzY2E5YmY5
ZjA5OWU2ODg5MjUyZTJhNWI2Li42ZmI5NmMyOTRhODI4ZGU4MzQyYmE0MDEzNDM0YWFhOTFmMjll
ZmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaAorKysgYi9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaApAQCAtMTExLDcgKzExMSw3IEBAIGlubGlu
ZSBzaXplX3QgYXZhaWxhYmxlTWVtb3J5KCkKICAgICByZXR1cm4gYm1hbGxvYzo6YXZhaWxhYmxl
TWVtb3J5KCk7CiB9CiAgICAgCi0jaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgQlBMQVRG
T1JNKElPU19GQU1JTFkpIHx8IEJPUyhMSU5VWCkKIGlubGluZSBzaXplX3QgbWVtb3J5Rm9vdHBy
aW50KCkKIHsKICAgICByZXR1cm4gYm1hbGxvYzo6bWVtb3J5Rm9vdHByaW50KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366486</attachid>
            <date>2019-04-02 04:35:00 -0700</date>
            <delta_ts>2019-04-09 04:32:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195938-20190402133459.patch</filename>
            <type>text/plain</type>
            <size>7506</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggY2M4ZjAzMGQ1MWQyODA2
ZDk2NmJmMWU3ZjQ5NzZmNjgzY2YzYTAzYS4uZmM1YzExNTEyZjU5NDU4MmVkY2Y3Njg4YWViNmIx
ODIxYzFjYjNlNSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9ibWFsbG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTA0LTAyICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbYm1hbGxvY11bTGlu
dXhdIEFkZCBzdXBwb3J0IGZvciBtZW1vcnkgc3RhdHVzIGNhbGN1bGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU5MzgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZW1vcnkgc3RhdHVzIGFuZCB1
bmRlci1tZW1vcnktcHJlc3N1cmUgY2FwYWJpbGl0aWVzIGluIGJtYWxsb2MgY2FuIGJlCisgICAg
ICAgIGltcGxlbWVudGVkIG9uIExpbnV4IGJ5IHJlYWRpbmcgYW5kIHBhcnNpbmcgdGhlIHN0YXRt
IGZpbGUgdW5kZXIgdGhlCisgICAgICAgIHByb2MgZmlsZXN5c3RlbS4KKworICAgICAgICBXZSBy
ZXRyaWV2ZSB0aGUgcmVzaWRlbnQgc2V0IHNpemUgZnJvbSB0aGUgc3RhdG0gZmlsZSBhbmQgbXVs
dGlwbHkgaXQKKyAgICAgICAgd2l0aCB0aGUgcGFnZSBzaXplLiBUaGlzIGdpdmVzIGFuIHVwcGVy
LWJvdW5kIGVzdGltYXRlIG9mIHRoZSBtZW1vcnkKKyAgICAgICAgdGhhdCdzIGJlaW5nIGNvbnN1
bWVkIGJ5IHRoZSBwcm9jZXNzLgorCisgICAgICAgIFRoZSBzdGF0bS1iYXNlZCBlc3RpbWF0ZSBz
ZWVtcyBwcmVmZXJhYmxlIHRvIG90aGVyIGFsdGVybmF0aXZlcy4gT25lCisgICAgICAgIHN1Y2gg
YWx0ZXJuYXRpdmUgd291bGQgYmUgcmVhZGluZyBhbmQgcGFyc2luZyBtb3JlLWRldGFpbGVkIHNt
YXBzIGZpbGUsCisgICAgICAgIGFsc28gZXhwb3NlZCB1bmRlciB0aGUgcHJvYyBmaWxlc3lzdGVt
LiBUaGlzIGlzIGF0IHRoZSBtb21lbnQgYmVpbmcgZG9uZQorICAgICAgICBpbiBXVEYncyBNZW1v
cnlGb290cHJpbnQgaW1wbGVtZW50YXRpb24gZm9yIExpbnV4IHN5c3RlbXMsIGJ1dCBvbiBMaW51
eAorICAgICAgICBwb3J0cyB0aGlzIG9wZXJhdGlvbiBpcyBiZWluZyB0aHJvdHRsZWQgdG8gb25s
eSBleGVjdXRlIG9uY2UgcGVyIHNlY29uZAorICAgICAgICBiZWNhdXNlIG9mIHRoZSBiaWcgY29t
cHV0aW5nIGV4cGVuc2UgcmVxdWlyZWQgdG8gcmVhZCBhbmQgcGFyc2Ugb3V0IHRoZQorICAgICAg
ICBkYXRhLiBBIGZ1dHVyZSBNZW1vcnlGb290cHJpbnQgaW1wbGVtZW50YXRpb24gY291bGQgc2lt
cGx5IHJldHJpZXZlIHRoZQorICAgICAgICBtZW1vcnkgZm9vdHByaW50IHZhbHVlIGZyb20gYm1h
bGxvYy4KKworICAgICAgICBBbm90aGVyIGFsdGVybmF0aXZlIGlzIHRoZSBMaW51eCB0YXNrc3Rh
dHMgaW50ZXJmYWNlLiBUaGlzIG9uZSB3b3VsZAorICAgICAgICByZXF1aXJlIHV0aWxpemluZyBh
IG5ldGxpbmsgc29ja2V0IHRvIHJldHJpZXZlIHRoZSBuZWNlc3Nhcnkgc3RhdGlzdGljcywKKyAg
ICAgICAgYnV0IGl0IHJlcXVpcmVzIHRoZSBwcm9jZXNzIHRvIGhhdmUgZWxldmF0ZWQgcHJpdmls
ZWdlcywgd2hpY2ggaXMgYQorICAgICAgICBibG9ja2VyLgorCisgICAgICAgICogYm1hbGxvYy9B
dmFpbGFibGVNZW1vcnkuY3BwOgorICAgICAgICAoYm1hbGxvYzo6TGludXhNZW1vcnk6OnNpbmds
ZXRvbik6CisgICAgICAgIChibWFsbG9jOjpMaW51eE1lbW9yeTo6Zm9vdHByaW50IGNvbnN0KToK
KyAgICAgICAgKGJtYWxsb2M6OmNvbXB1dGVBdmFpbGFibGVNZW1vcnkpOgorICAgICAgICAoYm1h
bGxvYzo6bWVtb3J5U3RhdHVzKToKKyAgICAgICAgKiBibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5o
OgorICAgICAgICAoYm1hbGxvYzo6aXNVbmRlck1lbW9yeVByZXNzdXJlKToKKyAgICAgICAgKiBi
bWFsbG9jL2JtYWxsb2MuaDoKKwogMjAxOS0wMy0yMiAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIFRoaW5MVE8gc3VwcG9ydCBpbiBQcm9kdWN0aW9u
IGJ1aWxkcwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1v
cnkuY3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCmluZGV4
IDllZTE1OTQ0ZmMwMTIwYjdkYzdhYWNjMjc0MWRlZWEwZTYxNjQ0OTQuLjZkMzcyZThjYWI2OTk0
NjIwNzMwZWVkMWI3OWI0ODE3N2NjZWU3OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvQXZhaWxhYmxlTWVtb3J5LmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2
YWlsYWJsZU1lbW9yeS5jcHAKQEAgLTQzLDYgKzQzLDEwIEBACiAjaW1wb3J0IDxtYWNoL21hY2hf
ZXJyb3IuaD4KICNpbXBvcnQgPG1hdGguaD4KICNlbGlmIEJPUyhVTklYKQorI2lmIEJPUyhMSU5V
WCkKKyNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNlbmRpZgogI2lu
Y2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmCiAKQEAgLTg4LDYgKzkyLDY5IEBAIHN0YXRpYyBzaXpl
X3QgamV0c2FtTGltaXQoKQogfQogI2VuZGlmCiAKKyNpZiBCT1MoVU5JWCkKK3N0cnVjdCBMaW51
eE1lbW9yeSB7CisgICAgc3RhdGljIGNvbnN0IExpbnV4TWVtb3J5JiBzaW5nbGV0b24oKQorICAg
IHsKKyAgICAgICAgc3RhdGljIExpbnV4TWVtb3J5IHNfc2luZ2xldG9uOworICAgICAgICBzdGF0
aWMgc3RkOjpvbmNlX2ZsYWcgc19vbmNlRmxhZzsKKyAgICAgICAgc3RkOjpjYWxsX29uY2Uoc19v
bmNlRmxhZywKKyAgICAgICAgICAgIFtdIHsKKyAgICAgICAgICAgICAgICBzX3NpbmdsZXRvbi5u
dW1QYWdlcyA9IHN5c2NvbmYoX1NDX1BIWVNfUEFHRVMpOworICAgICAgICAgICAgICAgIHNfc2lu
Z2xldG9uLnBhZ2VTaXplID0gc3lzY29uZihfU0NfUEFHRV9TSVpFKTsKKyAgICAgICAgICAgICAg
ICBpZiAoc19zaW5nbGV0b24ubnVtUGFnZXMgPT0gLTEgfHwgc19zaW5nbGV0b24ucGFnZVNpemUg
PT0gLTEpCisgICAgICAgICAgICAgICAgICAgIHNfc2luZ2xldG9uLmF2YWlsYWJsZU1lbW9yeSA9
IGF2YWlsYWJsZU1lbW9yeUd1ZXNzOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgc19zaW5nbGV0b24uYXZhaWxhYmxlTWVtb3J5ID0gc19zaW5nbGV0b24ubnVtUGFn
ZXMgKiBzX3NpbmdsZXRvbi5wYWdlU2l6ZTsKKworICAgICAgICAgICAgICAgIHNfc2luZ2xldG9u
LnN0YXRtLmZkID0gb3BlbigiL3Byb2Mvc2VsZi9zdGF0bSIsIE9fUkRPTkxZIHwgT19DTE9FWEVD
KTsKKyAgICAgICAgICAgICAgICBpZiAoc19zaW5nbGV0b24uc3RhdG0uZmQgIT0gLTEpCisgICAg
ICAgICAgICAgICAgICAgIHNfc2luZ2xldG9uLnN0YXRtLnZhbGlkID0gdHJ1ZTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICByZXR1cm4gc19zaW5nbGV0b247CisgICAgfQorCisgICAgc2l6ZV90
IGZvb3RwcmludCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoIXN0YXRtLnZhbGlkKQorICAg
ICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgc3RkOjphcnJheTxjaGFyLCAyNTY+IHN0YXRt
QnVmZmVyOworICAgICAgICBzc2l6ZV90IG51bUJ5dGVzID0gcHJlYWQoc3RhdG0uZmQsIHN0YXRt
QnVmZmVyLmRhdGEoKSwgc3RhdG1CdWZmZXIuc2l6ZSgpLCAwKTsKKyAgICAgICAgaWYgKG51bUJ5
dGVzIDw9IDApCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBzdGQ6OmFycmF5PGNo
YXIsIDMyPiByc3NCdWZmZXI7CisgICAgICAgIHsKKyAgICAgICAgICAgIGF1dG8gYmVnaW4gPSBz
dGQ6OmZpbmQoc3RhdG1CdWZmZXIuYmVnaW4oKSwgc3RhdG1CdWZmZXIuZW5kKCksICcgJyk7Cisg
ICAgICAgICAgICBpZiAoYmVnaW4gPT0gc3RhdG1CdWZmZXIuZW5kKCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICAgICAgICAgIHN0ZDo6YWR2YW5jZShiZWdpbiwgMSk7CisgICAg
ICAgICAgICBhdXRvIGVuZCA9IHN0ZDo6ZmluZChiZWdpbiwgc3RhdG1CdWZmZXIuZW5kKCksICcg
Jyk7CisgICAgICAgICAgICBpZiAoZW5kID09IHN0YXRtQnVmZmVyLmVuZCgpKQorICAgICAgICAg
ICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICBhdXRvIGxhc3QgPSBzdGQ6OmNvcHlfbihi
ZWdpbiwgc3RkOjptaW48c2l6ZV90PigzMSwgc3RkOjpkaXN0YW5jZShiZWdpbiwgZW5kKSksIHJz
c0J1ZmZlci5iZWdpbigpKTsKKyAgICAgICAgICAgICpsYXN0ID0gJ1wwJzsKKyAgICAgICAgfQor
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgZGlydHlQYWdlcyA9IHN0cnRvdWwocnNzQnVmZmVyLmRh
dGEoKSwgbnVsbHB0ciwgMTApOworICAgICAgICByZXR1cm4gZGlydHlQYWdlcyAqIHBhZ2VTaXpl
OworICAgIH0KKworICAgIGxvbmcgbnVtUGFnZXMgeyAwIH07CisgICAgbG9uZyBwYWdlU2l6ZSB7
IDAgfTsKKworICAgIHNpemVfdCBhdmFpbGFibGVNZW1vcnkgeyAwIH07CisKKyAgICBzdHJ1Y3Qg
eworICAgICAgICBib29sIHZhbGlkIHsgZmFsc2UgfTsKKyAgICAgICAgaW50IGZkIHsgLTEgfTsK
KyAgICB9IHN0YXRtOworfTsKKyNlbmRpZgorCiBzdGF0aWMgc2l6ZV90IGNvbXB1dGVBdmFpbGFi
bGVNZW1vcnkoKQogewogI2lmIEJPUyhEQVJXSU4pCkBAIC0xMDAsNiArMTY3LDggQEAgc3RhdGlj
IHNpemVfdCBjb21wdXRlQXZhaWxhYmxlTWVtb3J5KCkKICAgICAvLyBSb3VuZCB1cCB0aGUgbWVt
b3J5IHNpemUgdG8gYSBtdWx0aXBsZSBvZiAxMjhNQiBiZWNhdXNlIG1heF9tZW0gbWF5IG5vdCBi
ZSBleGFjdGx5IDUxMk1CCiAgICAgLy8gKGZvciBleGFtcGxlKSBhbmQgd2UgaGF2ZSBjb2RlIHRo
YXQgZGVwZW5kcyBvbiB0aG9zZSBib3VuZGFyaWVzLgogICAgIHJldHVybiAoKHNpemVBY2NvcmRp
bmdUb0tlcm5lbCArIG11bHRpcGxlIC0gMSkgLyBtdWx0aXBsZSkgKiBtdWx0aXBsZTsKKyNlbGlm
IEJPUyhMSU5VWCkKKyAgICByZXR1cm4gTGludXhNZW1vcnk6OnNpbmdsZXRvbigpLmF2YWlsYWJs
ZU1lbW9yeTsKICNlbGlmIEJPUyhVTklYKQogICAgIGxvbmcgcGFnZXMgPSBzeXNjb25mKF9TQ19Q
SFlTX1BBR0VTKTsKICAgICBsb25nIHBhZ2VTaXplID0gc3lzY29uZihfU0NfUEFHRV9TSVpFKTsK
QEAgLTEyMSw5ICsxOTAsMTAgQEAgc2l6ZV90IGF2YWlsYWJsZU1lbW9yeSgpCiAgICAgcmV0dXJu
IGF2YWlsYWJsZU1lbW9yeTsKIH0KIAotI2lmIEJQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIEJQ
TEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpCiBNZW1vcnlTdGF0dXMgbWVtb3J5U3Rh
dHVzKCkKIHsKKyNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB0YXNrX3ZtX2luZm9fZGF0
YV90IHZtSW5mbzsKICAgICBtYWNoX21zZ190eXBlX251bWJlcl90IHZtU2l6ZSA9IFRBU0tfVk1f
SU5GT19DT1VOVDsKICAgICAKQEAgLTEzMiw4ICsyMDIsMTMgQEAgTWVtb3J5U3RhdHVzIG1lbW9y
eVN0YXR1cygpCiAgICAgICAgIG1lbW9yeUZvb3RwcmludCA9IHN0YXRpY19jYXN0PHNpemVfdD4o
dm1JbmZvLnBoeXNfZm9vdHByaW50KTsKIAogICAgIGRvdWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0
aWNfY2FzdDxkb3VibGU+KG1lbW9yeUZvb3RwcmludCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KGF2
YWlsYWJsZU1lbW9yeSgpKTsKKyNlbGlmIEJPUyhMSU5VWCkKKyAgICBhdXRvJiBtZW1vcnkgPSBM
aW51eE1lbW9yeTo6c2luZ2xldG9uKCk7CisgICAgc2l6ZV90IG1lbW9yeUZvb3RwcmludCA9IG1l
bW9yeS5mb290cHJpbnQoKTsKKyAgICBkb3VibGUgcGVyY2VudEluVXNlID0gc3RhdGljX2Nhc3Q8
ZG91YmxlPihtZW1vcnlGb290cHJpbnQpIC8gc3RhdGljX2Nhc3Q8ZG91YmxlPihtZW1vcnkuYXZh
aWxhYmxlTWVtb3J5KTsKKyNlbmRpZgorCiAgICAgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1v
cnlJblVzZSA9IHN0ZDo6bWluKHBlcmNlbnRJblVzZSwgMS4wKTsKLSAgICAKICAgICByZXR1cm4g
TWVtb3J5U3RhdHVzKG1lbW9yeUZvb3RwcmludCwgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNl
KTsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFi
bGVNZW1vcnkuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5LmgKaW5k
ZXggODA5ZDcyZTg1MWVmOTQxZGY5NWU5NTMxN2EwMjJkODMwOTMyNDZhZi4uOTU5YWYxOGY5Mzc1
ZGM0YzZiODg1YjRiN2YxYjlhNWQ1NTVmNDVkMiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2
YWlsYWJsZU1lbW9yeS5oCkBAIC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIAog
c2l6ZV90IGF2YWlsYWJsZU1lbW9yeSgpOwogCi0jaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpCisj
aWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8IEJPUyhMSU5VWCkKIHN0cnVjdCBNZW1vcnlTdGF0
dXMgewogICAgIE1lbW9yeVN0YXR1cyhzaXplX3QgbWVtb3J5Rm9vdHByaW50LCBkb3VibGUgcGVy
Y2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKQogICAgICAgICA6IG1lbW9yeUZvb3RwcmludChtZW1v
cnlGb290cHJpbnQpCkBAIC02MSw3ICs2MSw3IEBAIGlubGluZSBkb3VibGUgcGVyY2VudEF2YWls
YWJsZU1lbW9yeUluVXNlKCkKIAogaW5saW5lIGJvb2wgaXNVbmRlck1lbW9yeVByZXNzdXJlKCkK
IHsKLSNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkg
fHwgQk9TKExJTlVYKQogICAgIHJldHVybiBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKSA+
IG1lbW9yeVByZXNzdXJlVGhyZXNob2xkOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaCBiL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvYm1hbGxvYy5oCmluZGV4IDc3NWFjMGFhYTY0MjZlMTNjYTliZjlmMDk5ZTY4ODky
NTJlMmE1YjYuLjZmYjk2YzI5NGE4MjhkZTgzNDJiYTQwMTM0MzRhYWE5MWYyOWVmZDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvYm1hbGxvYy5oCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvYm1hbGxvYy5oCkBAIC0xMTEsNyArMTExLDcgQEAgaW5saW5lIHNpemVfdCBh
dmFpbGFibGVNZW1vcnkoKQogICAgIHJldHVybiBibWFsbG9jOjphdmFpbGFibGVNZW1vcnkoKTsK
IH0KICAgICAKLSNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBCUExBVEZPUk0oSU9TX0ZB
TUlMWSkgfHwgQk9TKExJTlVYKQogaW5saW5lIHNpemVfdCBtZW1vcnlGb290cHJpbnQoKQogewog
ICAgIHJldHVybiBibWFsbG9jOjptZW1vcnlGb290cHJpbnQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367037</attachid>
            <date>2019-04-09 04:32:07 -0700</date>
            <delta_ts>2019-04-13 23:46:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195938-20190409133205.patch</filename>
            <type>text/plain</type>
            <size>7313</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggNDUyNDhjN2FlZjEyNDQ0
OTYwYjkyNDM2N2Q5YzRkYzAwNGY1OWY5Mi4uMmVlNzA0NjQ0MWJlODljMTMwMGU2ZWQyNTcyOTNl
OGQ4YTFiMTNkYSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9ibWFsbG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTA0LTA5ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbYm1hbGxvY11bTGlu
dXhdIEFkZCBzdXBwb3J0IGZvciBtZW1vcnkgc3RhdHVzIGNhbGN1bGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU5MzgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZW1vcnkgc3RhdHVzIGFuZCB1
bmRlci1tZW1vcnktcHJlc3N1cmUgY2FwYWJpbGl0aWVzIGluIGJtYWxsb2MgY2FuIGJlCisgICAg
ICAgIGltcGxlbWVudGVkIG9uIExpbnV4IGJ5IHJlYWRpbmcgYW5kIHBhcnNpbmcgdGhlIHN0YXRt
IGZpbGUgdW5kZXIgdGhlCisgICAgICAgIHByb2MgZmlsZXN5c3RlbS4KKworICAgICAgICBXZSBy
ZXRyaWV2ZSB0aGUgcmVzaWRlbnQgc2V0IHNpemUgZnJvbSB0aGUgc3RhdG0gZmlsZSBhbmQgbXVs
dGlwbHkgaXQKKyAgICAgICAgd2l0aCB0aGUgcGFnZSBzaXplLiBUaGlzIGdpdmVzIGFuIHVwcGVy
LWJvdW5kIGVzdGltYXRlIG9mIHRoZSBtZW1vcnkKKyAgICAgICAgdGhhdCdzIGJlaW5nIGNvbnN1
bWVkIGJ5IHRoZSBwcm9jZXNzLgorCisgICAgICAgIFRoZSBzdGF0bS1iYXNlZCBlc3RpbWF0ZSBz
ZWVtcyBwcmVmZXJhYmxlIHRvIG90aGVyIGFsdGVybmF0aXZlcy4gT25lCisgICAgICAgIHN1Y2gg
YWx0ZXJuYXRpdmUgd291bGQgYmUgcmVhZGluZyBhbmQgcGFyc2luZyBtb3JlLWRldGFpbGVkIHNt
YXBzIGZpbGUsCisgICAgICAgIGFsc28gZXhwb3NlZCB1bmRlciB0aGUgcHJvYyBmaWxlc3lzdGVt
LiBUaGlzIGlzIGF0IHRoZSBtb21lbnQgYmVpbmcgZG9uZQorICAgICAgICBpbiBXVEYncyBNZW1v
cnlGb290cHJpbnQgaW1wbGVtZW50YXRpb24gZm9yIExpbnV4IHN5c3RlbXMsIGJ1dCBvbiBMaW51
eAorICAgICAgICBwb3J0cyB0aGlzIG9wZXJhdGlvbiBpcyBiZWluZyB0aHJvdHRsZWQgdG8gb25s
eSBleGVjdXRlIG9uY2UgcGVyIHNlY29uZAorICAgICAgICBiZWNhdXNlIG9mIHRoZSBiaWcgY29t
cHV0aW5nIGV4cGVuc2UgcmVxdWlyZWQgdG8gcmVhZCBhbmQgcGFyc2Ugb3V0IHRoZQorICAgICAg
ICBkYXRhLiBBIGZ1dHVyZSBNZW1vcnlGb290cHJpbnQgaW1wbGVtZW50YXRpb24gY291bGQgc2lt
cGx5IHJldHJpZXZlIHRoZQorICAgICAgICBtZW1vcnkgZm9vdHByaW50IHZhbHVlIGZyb20gYm1h
bGxvYy4KKworICAgICAgICBBbm90aGVyIGFsdGVybmF0aXZlIGlzIHRoZSBMaW51eCB0YXNrc3Rh
dHMgaW50ZXJmYWNlLiBUaGlzIG9uZSB3b3VsZAorICAgICAgICByZXF1aXJlIHV0aWxpemluZyBh
IG5ldGxpbmsgc29ja2V0IHRvIHJldHJpZXZlIHRoZSBuZWNlc3Nhcnkgc3RhdGlzdGljcywKKyAg
ICAgICAgYnV0IGl0IHJlcXVpcmVzIHRoZSBwcm9jZXNzIHRvIGhhdmUgZWxldmF0ZWQgcHJpdmls
ZWdlcywgd2hpY2ggaXMgYQorICAgICAgICBibG9ja2VyLgorCisgICAgICAgICogYm1hbGxvYy9B
dmFpbGFibGVNZW1vcnkuY3BwOgorICAgICAgICAoYm1hbGxvYzo6TGludXhNZW1vcnk6OnNpbmds
ZXRvbik6CisgICAgICAgIChibWFsbG9jOjpMaW51eE1lbW9yeTo6Zm9vdHByaW50IGNvbnN0KToK
KyAgICAgICAgKGJtYWxsb2M6OmNvbXB1dGVBdmFpbGFibGVNZW1vcnkpOgorICAgICAgICAoYm1h
bGxvYzo6bWVtb3J5U3RhdHVzKToKKyAgICAgICAgKiBibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5o
OgorICAgICAgICAoYm1hbGxvYzo6aXNVbmRlck1lbW9yeVByZXNzdXJlKToKKyAgICAgICAgKiBi
bWFsbG9jL2JtYWxsb2MuaDoKKwogMjAxOS0wNC0wNCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJDb3JlXSBQdXQgbW9zdCBvZiBkZXJpdmVkIGNsYXNz
ZXMgb2YgU2NyaXB0V3JhcHBhYmxlIGludG8gSXNvSGVhcApkaWZmIC0tZ2l0IGEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9BdmFpbGFibGVNZW1vcnkuY3BwCmluZGV4IDllZTE1OTQ0ZmMwMTIwYjdkYzdhYWNjMjc0MWRl
ZWEwZTYxNjQ0OTQuLmEzOTIwODc3YjJkNmI1OTAxM2E1Njk0MWNmODY3ZTUxNzhjOTMyMzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5LmNwcAorKysg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAKQEAgLTQzLDYgKzQz
LDEwIEBACiAjaW1wb3J0IDxtYWNoL21hY2hfZXJyb3IuaD4KICNpbXBvcnQgPG1hdGguaD4KICNl
bGlmIEJPUyhVTklYKQorI2lmIEJPUyhMSU5VWCkKKyNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5j
bHVkZSA8ZmNudGwuaD4KKyNlbmRpZgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmCiAKQEAg
LTg4LDYgKzkyLDYyIEBAIHN0YXRpYyBzaXplX3QgamV0c2FtTGltaXQoKQogfQogI2VuZGlmCiAK
KyNpZiBCT1MoVU5JWCkKK3N0cnVjdCBMaW51eE1lbW9yeSB7CisgICAgc3RhdGljIGNvbnN0IExp
bnV4TWVtb3J5JiBzaW5nbGV0b24oKQorICAgIHsKKyAgICAgICAgc3RhdGljIExpbnV4TWVtb3J5
IHNfc2luZ2xldG9uOworICAgICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgc19vbmNlRmxhZzsK
KyAgICAgICAgc3RkOjpjYWxsX29uY2Uoc19vbmNlRmxhZywKKyAgICAgICAgICAgIFtdIHsKKyAg
ICAgICAgICAgICAgICBsb25nIG51bVBhZ2VzID0gc3lzY29uZihfU0NfUEhZU19QQUdFUyk7Cisg
ICAgICAgICAgICAgICAgc19zaW5nbGV0b24ucGFnZVNpemUgPSBzeXNjb25mKF9TQ19QQUdFX1NJ
WkUpOworICAgICAgICAgICAgICAgIGlmIChudW1QYWdlcyA9PSAtMSB8fCBzX3NpbmdsZXRvbi5w
YWdlU2l6ZSA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgc19zaW5nbGV0b24uYXZhaWxhYmxl
TWVtb3J5ID0gYXZhaWxhYmxlTWVtb3J5R3Vlc3M7CisgICAgICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICAgICBzX3NpbmdsZXRvbi5hdmFpbGFibGVNZW1vcnkgPSBudW1QYWdlcyAq
IHNfc2luZ2xldG9uLnBhZ2VTaXplOworCisgICAgICAgICAgICAgICAgc19zaW5nbGV0b24uc3Rh
dG1GZCA9IG9wZW4oIi9wcm9jL3NlbGYvc3RhdG0iLCBPX1JET05MWSB8IE9fQ0xPRVhFQyk7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHNfc2luZ2xldG9uOworICAgIH0KKworICAg
IHNpemVfdCBmb290cHJpbnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKHN0YXRtRmQgPT0g
LTEpCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBzdGQ6OmFycmF5PGNoYXIsIDI1
Nj4gc3RhdG1CdWZmZXI7CisgICAgICAgIHNzaXplX3QgbnVtQnl0ZXMgPSBwcmVhZChzdGF0bUZk
LCBzdGF0bUJ1ZmZlci5kYXRhKCksIHN0YXRtQnVmZmVyLnNpemUoKSwgMCk7CisgICAgICAgIGlm
IChudW1CeXRlcyA8PSAwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgc3RkOjph
cnJheTxjaGFyLCAzMj4gcnNzQnVmZmVyOworICAgICAgICB7CisgICAgICAgICAgICBhdXRvIGJl
Z2luID0gc3RkOjpmaW5kKHN0YXRtQnVmZmVyLmJlZ2luKCksIHN0YXRtQnVmZmVyLmVuZCgpLCAn
ICcpOworICAgICAgICAgICAgaWYgKGJlZ2luID09IHN0YXRtQnVmZmVyLmVuZCgpKQorICAgICAg
ICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICBzdGQ6OmFkdmFuY2UoYmVnaW4sIDEp
OworICAgICAgICAgICAgYXV0byBlbmQgPSBzdGQ6OmZpbmQoYmVnaW4sIHN0YXRtQnVmZmVyLmVu
ZCgpLCAnICcpOworICAgICAgICAgICAgaWYgKGVuZCA9PSBzdGF0bUJ1ZmZlci5lbmQoKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAgICAgYXV0byBsYXN0ID0gc3RkOjpj
b3B5X24oYmVnaW4sIHN0ZDo6bWluPHNpemVfdD4oMzEsIHN0ZDo6ZGlzdGFuY2UoYmVnaW4sIGVu
ZCkpLCByc3NCdWZmZXIuYmVnaW4oKSk7CisgICAgICAgICAgICAqbGFzdCA9ICdcMCc7CisgICAg
ICAgIH0KKworICAgICAgICB1bnNpZ25lZCBsb25nIGRpcnR5UGFnZXMgPSBzdHJ0b3VsKHJzc0J1
ZmZlci5kYXRhKCksIG51bGxwdHIsIDEwKTsKKyAgICAgICAgcmV0dXJuIGRpcnR5UGFnZXMgKiBw
YWdlU2l6ZTsKKyAgICB9CisKKyAgICBsb25nIHBhZ2VTaXplIHsgMCB9OworICAgIHNpemVfdCBh
dmFpbGFibGVNZW1vcnkgeyAwIH07CisKKyAgICBpbnQgc3RhdG1GZCB7IC0xIH07Cit9OworI2Vu
ZGlmCisKIHN0YXRpYyBzaXplX3QgY29tcHV0ZUF2YWlsYWJsZU1lbW9yeSgpCiB7CiAjaWYgQk9T
KERBUldJTikKQEAgLTEwMCw2ICsxNjAsOCBAQCBzdGF0aWMgc2l6ZV90IGNvbXB1dGVBdmFpbGFi
bGVNZW1vcnkoKQogICAgIC8vIFJvdW5kIHVwIHRoZSBtZW1vcnkgc2l6ZSB0byBhIG11bHRpcGxl
IG9mIDEyOE1CIGJlY2F1c2UgbWF4X21lbSBtYXkgbm90IGJlIGV4YWN0bHkgNTEyTUIKICAgICAv
LyAoZm9yIGV4YW1wbGUpIGFuZCB3ZSBoYXZlIGNvZGUgdGhhdCBkZXBlbmRzIG9uIHRob3NlIGJv
dW5kYXJpZXMuCiAgICAgcmV0dXJuICgoc2l6ZUFjY29yZGluZ1RvS2VybmVsICsgbXVsdGlwbGUg
LSAxKSAvIG11bHRpcGxlKSAqIG11bHRpcGxlOworI2VsaWYgQk9TKExJTlVYKQorICAgIHJldHVy
biBMaW51eE1lbW9yeTo6c2luZ2xldG9uKCkuYXZhaWxhYmxlTWVtb3J5OwogI2VsaWYgQk9TKFVO
SVgpCiAgICAgbG9uZyBwYWdlcyA9IHN5c2NvbmYoX1NDX1BIWVNfUEFHRVMpOwogICAgIGxvbmcg
cGFnZVNpemUgPSBzeXNjb25mKF9TQ19QQUdFX1NJWkUpOwpAQCAtMTIxLDkgKzE4MywxMCBAQCBz
aXplX3QgYXZhaWxhYmxlTWVtb3J5KCkKICAgICByZXR1cm4gYXZhaWxhYmxlTWVtb3J5OwogfQog
Ci0jaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8
IEJPUyhMSU5VWCkKIE1lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMoKQogeworI2lmIEJQTEFURk9S
TShJT1NfRkFNSUxZKQogICAgIHRhc2tfdm1faW5mb19kYXRhX3Qgdm1JbmZvOwogICAgIG1hY2hf
bXNnX3R5cGVfbnVtYmVyX3Qgdm1TaXplID0gVEFTS19WTV9JTkZPX0NPVU5UOwogICAgIApAQCAt
MTMyLDggKzE5NSwxMyBAQCBNZW1vcnlTdGF0dXMgbWVtb3J5U3RhdHVzKCkKICAgICAgICAgbWVt
b3J5Rm9vdHByaW50ID0gc3RhdGljX2Nhc3Q8c2l6ZV90Pih2bUluZm8ucGh5c19mb290cHJpbnQp
OwogCiAgICAgZG91YmxlIHBlcmNlbnRJblVzZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4obWVtb3J5
Rm9vdHByaW50KSAvIHN0YXRpY19jYXN0PGRvdWJsZT4oYXZhaWxhYmxlTWVtb3J5KCkpOworI2Vs
aWYgQk9TKExJTlVYKQorICAgIGF1dG8mIG1lbW9yeSA9IExpbnV4TWVtb3J5OjpzaW5nbGV0b24o
KTsKKyAgICBzaXplX3QgbWVtb3J5Rm9vdHByaW50ID0gbWVtb3J5LmZvb3RwcmludCgpOworICAg
IGRvdWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0aWNfY2FzdDxkb3VibGU+KG1lbW9yeUZvb3Rwcmlu
dCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KG1lbW9yeS5hdmFpbGFibGVNZW1vcnkpOworI2VuZGlm
CisKICAgICBkb3VibGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlID0gc3RkOjptaW4ocGVy
Y2VudEluVXNlLCAxLjApOwotICAgIAogICAgIHJldHVybiBNZW1vcnlTdGF0dXMobWVtb3J5Rm9v
dHByaW50LCBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UpOwogfQogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oIGIvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaAppbmRleCA4MDlkNzJlODUxZWY5NDFkZjk1
ZTk1MzE3YTAyMmQ4MzA5MzI0NmFmLi45NTlhZjE4ZjkzNzVkYzRjNmI4ODViNGI3ZjFiOWE1ZDU1
NWY0NWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9y
eS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5LmgKQEAgLTMy
LDcgKzMyLDcgQEAgbmFtZXNwYWNlIGJtYWxsb2MgewogCiBzaXplX3QgYXZhaWxhYmxlTWVtb3J5
KCk7CiAKLSNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBCUExBVEZPUk0oSU9TX0ZBTUlM
WSkgfHwgQk9TKExJTlVYKQogc3RydWN0IE1lbW9yeVN0YXR1cyB7CiAgICAgTWVtb3J5U3RhdHVz
KHNpemVfdCBtZW1vcnlGb290cHJpbnQsIGRvdWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5V
c2UpCiAgICAgICAgIDogbWVtb3J5Rm9vdHByaW50KG1lbW9yeUZvb3RwcmludCkKQEAgLTYxLDcg
KzYxLDcgQEAgaW5saW5lIGRvdWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKQogCiBp
bmxpbmUgYm9vbCBpc1VuZGVyTWVtb3J5UHJlc3N1cmUoKQogewotI2lmIEJQTEFURk9STShJT1Nf
RkFNSUxZKQorI2lmIEJQTEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpCiAgICAgcmV0
dXJuIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpID4gbWVtb3J5UHJlc3N1cmVUaHJlc2hv
bGQ7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvYm1hbGxvYy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmgKaW5k
ZXggNzc1YWMwYWFhNjQyNmUxM2NhOWJmOWYwOTllNjg4OTI1MmUyYTViNi4uNmZiOTZjMjk0YTgy
OGRlODM0MmJhNDAxMzQzNGFhYTkxZjI5ZWZkOSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9ibWFsbG9jLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmgK
QEAgLTExMSw3ICsxMTEsNyBAQCBpbmxpbmUgc2l6ZV90IGF2YWlsYWJsZU1lbW9yeSgpCiAgICAg
cmV0dXJuIGJtYWxsb2M6OmF2YWlsYWJsZU1lbW9yeSgpOwogfQogICAgIAotI2lmIEJQTEFURk9S
TShJT1NfRkFNSUxZKQorI2lmIEJQTEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpCiBp
bmxpbmUgc2l6ZV90IG1lbW9yeUZvb3RwcmludCgpCiB7CiAgICAgcmV0dXJuIGJtYWxsb2M6Om1l
bW9yeUZvb3RwcmludCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>