<?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>170662</bug_id>
          
          <creation_ts>2017-04-09 17:41:49 -0700</creation_ts>
          <short_desc>[WTF] Annotate Seconds&apos; member functions and operators with constexpr</short_desc>
          <delta_ts>2017-04-09 20:34:24 -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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1295854</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-09 17:41:49 -0700</bug_when>
    <thetext>[WTF] Annotate Seconds&apos; member functions and operators with constexpr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295855</commentid>
    <comment_count>1</comment_count>
      <attachid>306638</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-09 17:44:51 -0700</bug_when>
    <thetext>Created attachment 306638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295856</commentid>
    <comment_count>2</comment_count>
      <attachid>306639</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-09 17:49:43 -0700</bug_when>
    <thetext>Created attachment 306639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295857</commentid>
    <comment_count>3</comment_count>
      <attachid>306640</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-09 18:01:32 -0700</bug_when>
    <thetext>Created attachment 306640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295863</commentid>
    <comment_count>4</comment_count>
      <attachid>306640</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-09 19:12:45 -0700</bug_when>
    <thetext>Comment on attachment 306640
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295864</commentid>
    <comment_count>5</comment_count>
      <attachid>306640</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-09 19:13:51 -0700</bug_when>
    <thetext>Comment on attachment 306640
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295865</commentid>
    <comment_count>6</comment_count>
      <attachid>306640</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-09 19:19:26 -0700</bug_when>
    <thetext>Comment on attachment 306640
Patch

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

&gt; Source/WTF/wtf/MathExtras.h:200
&gt; +    return (value &gt;= static_cast&lt;double&gt;(max)) ? max : ((value &lt;= static_cast&lt;double&gt;(min)) ? min : static_cast&lt;T&gt;(value));

I take to that we must support one or more compilers that do not support C++14 extended constexpr and hence had to rewrite this function to have a single return statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295868</commentid>
    <comment_count>7</comment_count>
      <attachid>306640</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-09 19:29:23 -0700</bug_when>
    <thetext>Comment on attachment 306640
Patch

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

&gt;&gt; Source/WTF/wtf/MathExtras.h:200
&gt;&gt; +    return (value &gt;= static_cast&lt;double&gt;(max)) ? max : ((value &lt;= static_cast&lt;double&gt;(min)) ? min : static_cast&lt;T&gt;(value));
&gt; 
&gt; I take to that we must support one or more compilers that do not support C++14 extended constexpr and hence had to rewrite this function to have a single return statement.

Right. At least, WebKitGTK+ needs to support GCC 4.9 now, which does not support C++14 relaxed constexpr.
Once C++14 relaxed constexpr is allowed, the above code will be much simplified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295869</commentid>
    <comment_count>8</comment_count>
      <attachid>306640</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-09 19:41:07 -0700</bug_when>
    <thetext>Comment on attachment 306640
Patch

Clearing flags on attachment: 306640

Committed r215169: &lt;http://trac.webkit.org/changeset/215169&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295870</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-09 19:41:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295873</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 20:34:24 -0700</bug_when>
    <thetext>Thanks for doing this. I’ll use it in my next patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306638</attachid>
            <date>2017-04-09 17:44:51 -0700</date>
            <delta_ts>2017-04-09 17:49:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170662-20170410094450.patch</filename>
            <type>text/plain</type>
            <size>9587</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdkZDU2NGJiMWMxNzhlYmFhYjM1N2Y2
YjA2OTU3NjRjMDc3MDA5NjAuLjYxYzZlZDUyZjA0NWYzZWRhOGI4OTA0YjYyZTU3OTUyNzA5ZThh
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTctMDQtMDkgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gQW5ub3RhdGUgU2Vjb25kcycgbWVt
YmVyIGZ1bmN0aW9ucyBhbmQgb3BlcmF0b3JzIHdpdGggY29uc3RleHByCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbm5vdGF0ZSBTZWNvbmRzJyBtZW1i
ZXIgZnVuY3Rpb25zIGFuZCBvcGVyYXRvcnMgd2l0aCBjb25zdGV4cHIuCisgICAgICAgIEl0IGFs
bG93cyB1cyB0byB1c2UgU2Vjb25kcyBjYWxjdWxhdGlvbiBpbiBjb21waWxlIHRpbWUgYW5kIHVz
ZSB0aGVzZQorICAgICAgICBjYWxjdWxhdGlvbiBmb3Igc3RhdGljIGNvbnN0IGdsb2JhbCB2YXJp
YWJsZXMuCisKKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOgorICAgICAgICAoZGVmYXVsdE1p
bmltdW1Gb3JDbGFtcCk6CisgICAgICAgIChkZWZhdWx0TWF4aW11bUZvckNsYW1wKToKKyAgICAg
ICAgKGNsYW1wVG9BY2NlcHRpbmc2NCk6CisgICAgICAgIFN1cGVyIHVuZm9ydHVuYXRlIHVnbHkg
Y29kZS4gVGhpcyBpcyBiZWNhdXNlIEdDQyA0LjkgZG9lcyBub3Qgc3VwcG9ydCBDKysxNCByZWxh
eGVkIGNvbnN0ZXhwci4KKyAgICAgICAgKiB3dGYvU2Vjb25kcy5oOgorICAgICAgICAoV1RGOjpT
ZWNvbmRzOjpTZWNvbmRzKToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6dmFsdWUpOgorICAgICAg
ICAoV1RGOjpTZWNvbmRzOjptaW51dGVzKToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6c2Vjb25k
cyk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om1pbGxpc2Vjb25kcyk6CisgICAgICAgIChXVEY6
OlNlY29uZHM6Om1pY3Jvc2Vjb25kcyk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om5hbm9zZWNv
bmRzKToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3IgYm9vbCk6CisgICAgICAgIChX
VEY6OlNlY29uZHM6Om9wZXJhdG9yKyk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om9wZXJhdG9y
LSk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om9wZXJhdG9yKik6CisgICAgICAgIChXVEY6OlNl
Y29uZHM6Om9wZXJhdG9yLyk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om9wZXJhdG9yJSk6Cisg
ICAgICAgIChXVEY6OlNlY29uZHM6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV1RGOjpTZWNvbmRz
OjpvcGVyYXRvciE9KToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3I8KToKKyAgICAg
ICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3I+KToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6b3Bl
cmF0b3I8PSk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om9wZXJhdG9yPj0pOgorCiAyMDE3LTA0
LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RhcnQgZHJv
cHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3VibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNjgzOGNh
NDc3ZTEzZmVlZDY3ZGFjODUxZjBhODY5MTAyNGFiYWMzLi4wY2M2OGRhOTIxMmM3NjFmMjg5YTYz
ZWM5MDcxNjMyNWE4YzEwNzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDQt
MDkgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dU
Rl0gQW5ub3RhdGUgU2Vjb25kcycgbWVtYmVyIGZ1bmN0aW9ucyBhbmQgb3BlcmF0b3JzIHdpdGgg
Y29uc3RleHByCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzA2NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHBhZ2UvRnJhbWUuY3BwOgorCiAyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9h
ZCB0YWtpbmcgYSBkb3VibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMu
aCBiL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAppbmRleCA0MGM3N2UzNTQxNzQ1ZDMyZWE5
OTk2MmIzM2ZlMjBhMGM1MzQzNmFiLi5kY2VmMzk0OGFiMTY2MzA4MmU3ODZlMzU1YTVlMzg5MDk1
NzAxZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291
cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCkBAIC0xNDEsMTAgKzE0MSwxMCBAQCBpbmxpbmUgZmxv
YXQgcmFkMmdyYWQoZmxvYXQgcikgeyByZXR1cm4gciAqIDIwMC4wZiAvIHBpRmxvYXQ7IH0KIGlu
bGluZSBmbG9hdCBncmFkMnJhZChmbG9hdCBnKSB7IHJldHVybiBnICogcGlGbG9hdCAvIDIwMC4w
ZjsgfQogCiAvLyBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptaW4oKSByZXR1cm5zIHRoZSBzbWFs
bGVzdCBwb3NpdGl2ZSB2YWx1ZSBmb3IgZmxvYXRpbmcgcG9pbnQgdHlwZXMKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGlubGluZSBUIGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAoKSB7IHJldHVybiBzdGQ6
Om51bWVyaWNfbGltaXRzPFQ+OjptaW4oKTsgfQotdGVtcGxhdGU8PiBpbmxpbmUgZmxvYXQgZGVm
YXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0
Pjo6bWF4KCk7IH0KLXRlbXBsYXRlPD4gaW5saW5lIGRvdWJsZSBkZWZhdWx0TWluaW11bUZvckNs
YW1wKCkgeyByZXR1cm4gLXN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7IH0KLXRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBUIGRlZmF1bHRNYXhpbXVtRm9yQ2xhbXAoKSB7IHJl
dHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptYXgoKTsgfQordGVtcGxhdGU8dHlwZW5hbWUg
VD4gY29uc3RleHByIGlubGluZSBUIGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAoKSB7IHJldHVybiBz
dGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptaW4oKTsgfQordGVtcGxhdGU8PiBjb25zdGV4cHIgaW5s
aW5lIGZsb2F0IGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAoKSB7IHJldHVybiAtc3RkOjpudW1lcmlj
X2xpbWl0czxmbG9hdD46Om1heCgpOyB9Cit0ZW1wbGF0ZTw+IGNvbnN0ZXhwciBpbmxpbmUgZG91
YmxlIGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAoKSB7IHJldHVybiAtc3RkOjpudW1lcmljX2xpbWl0
czxkb3VibGU+OjptYXgoKTsgfQordGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uc3RleHByIGlubGlu
ZSBUIGRlZmF1bHRNYXhpbXVtRm9yQ2xhbXAoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRz
PFQ+OjptYXgoKTsgfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgVCBjbGFtcFRvKGRv
dWJsZSB2YWx1ZSwgVCBtaW4gPSBkZWZhdWx0TWluaW11bUZvckNsYW1wPFQ+KCksIFQgbWF4ID0g
ZGVmYXVsdE1heGltdW1Gb3JDbGFtcDxUPigpKQogewpAQCAtMTk1LDEzICsxOTUsOSBAQCBpbmxp
bmUgaW50IGNsYW1wVG9JbnRlZ2VyKFQgeCkKIAogLy8gRXhwbGljaXRseSBhY2NlcHQgNjRiaXQg
cmVzdWx0IHdoZW4gY2xhbXBpbmcgZG91YmxlIHZhbHVlLgogLy8gS2VlcCBpbiBtaW5kIHRoYXQg
ZG91YmxlIGNhbiBvbmx5IHJlcHJlc2VudCA1M2JpdCBpbnRlZ2VyIHByZWNpc2VseS4KLXRlbXBs
YXRlPHR5cGVuYW1lIFQ+IGlubGluZSBUIGNsYW1wVG9BY2NlcHRpbmc2NChkb3VibGUgdmFsdWUs
IFQgbWluID0gZGVmYXVsdE1pbmltdW1Gb3JDbGFtcDxUPigpLCBUIG1heCA9IGRlZmF1bHRNYXhp
bXVtRm9yQ2xhbXA8VD4oKSkKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNvbnN0ZXhwciBpbmxpbmUg
VCBjbGFtcFRvQWNjZXB0aW5nNjQoZG91YmxlIHZhbHVlLCBUIG1pbiA9IGRlZmF1bHRNaW5pbXVt
Rm9yQ2xhbXA8VD4oKSwgVCBtYXggPSBkZWZhdWx0TWF4aW11bUZvckNsYW1wPFQ+KCkpCiB7Ci0g
ICAgaWYgKHZhbHVlID49IHN0YXRpY19jYXN0PGRvdWJsZT4obWF4KSkKLSAgICAgICAgcmV0dXJu
IG1heDsKLSAgICBpZiAodmFsdWUgPD0gc3RhdGljX2Nhc3Q8ZG91YmxlPihtaW4pKQotICAgICAg
ICByZXR1cm4gbWluOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxUPih2YWx1ZSk7CisgICAgcmV0
dXJuICh2YWx1ZSA+PSBzdGF0aWNfY2FzdDxkb3VibGU+KG1heCkpID8gbWF4IDogKCh2YWx1ZSA8
PSBzdGF0aWNfY2FzdDxkb3VibGU+KG1pbikpID8gbWluIDogc3RhdGljX2Nhc3Q8VD4odmFsdWUp
KTsKIH0KIAogaW5saW5lIGJvb2wgaXNXaXRoaW5JbnRSYW5nZShmbG9hdCB4KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvU2Vjb25kcy5oIGIvU291cmNlL1dURi93dGYvU2Vjb25kcy5oCmlu
ZGV4IGQwN2ZmZWY3OGI1YTM1ZTJjM2I1MDdjMDc2ZWFjNGRkNzIzNGRlYmIuLmJlMGQyZGI2MjQ4
YzE0NTg1MDBmOGFhMmE4ZTU0MWU4OGE0MDI1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1NlY29uZHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TZWNvbmRzLmgKQEAgLTM3LDIwICszNywy
MCBAQCBjbGFzcyBXYWxsVGltZTsKIAogY2xhc3MgU2Vjb25kcyB7CiBwdWJsaWM6Ci0gICAgU2Vj
b25kcygpIHsgfQorICAgIGNvbnN0ZXhwciBTZWNvbmRzKCkgeyB9CiAgICAgCiAgICAgZXhwbGlj
aXQgY29uc3RleHByIFNlY29uZHMoZG91YmxlIHZhbHVlKQogICAgICAgICA6IG1fdmFsdWUodmFs
dWUpCiAgICAgewogICAgIH0KICAgICAKLSAgICBkb3VibGUgdmFsdWUoKSBjb25zdCB7IHJldHVy
biBtX3ZhbHVlOyB9CisgICAgY29uc3RleHByIGRvdWJsZSB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdmFsdWU7IH0KICAgICAKLSAgICBkb3VibGUgbWludXRlcygpIGNvbnN0IHsgcmV0dXJuIG1f
dmFsdWUgLyA2MDsgfQotICAgIGRvdWJsZSBzZWNvbmRzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1
ZTsgfQotICAgIGRvdWJsZSBtaWxsaXNlY29uZHMoKSBjb25zdCB7IHJldHVybiBzZWNvbmRzKCkg
KiAxMDAwOyB9Ci0gICAgZG91YmxlIG1pY3Jvc2Vjb25kcygpIGNvbnN0IHsgcmV0dXJuIG1pbGxp
c2Vjb25kcygpICogMTAwMDsgfQotICAgIGRvdWJsZSBuYW5vc2Vjb25kcygpIGNvbnN0IHsgcmV0
dXJuIG1pY3Jvc2Vjb25kcygpICogMTAwMDsgfQorICAgIGNvbnN0ZXhwciBkb3VibGUgbWludXRl
cygpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUgLyA2MDsgfQorICAgIGNvbnN0ZXhwciBkb3VibGUg
c2Vjb25kcygpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KKyAgICBjb25zdGV4cHIgZG91Ymxl
IG1pbGxpc2Vjb25kcygpIGNvbnN0IHsgcmV0dXJuIHNlY29uZHMoKSAqIDEwMDA7IH0KKyAgICBj
b25zdGV4cHIgZG91YmxlIG1pY3Jvc2Vjb25kcygpIGNvbnN0IHsgcmV0dXJuIG1pbGxpc2Vjb25k
cygpICogMTAwMDsgfQorICAgIGNvbnN0ZXhwciBkb3VibGUgbmFub3NlY29uZHMoKSBjb25zdCB7
IHJldHVybiBtaWNyb3NlY29uZHMoKSAqIDEwMDA7IH0KIAogICAgIC8vIEtlZXAgaW4gbWluZCB0
aGF0IFNlY29uZHMgaXMgaGVsZCBpbiBkb3VibGUuIElmIHRoZSB2YWx1ZSBpcyBub3QgaW4gcmFu
Z2Ugb2YgNTNiaXQgaW50ZWdlciwgdGhlIHJlc3VsdCBtYXkgbm90IGJlIHByZWNpc2UuCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBtaW51dGVzQXMoKSBjb25zdCB7IHN0YXRpY19hc3NlcnQo
c3RkOjppc19pbnRlZ3JhbDxUPjo6dmFsdWUsICIiKTsgcmV0dXJuIGNsYW1wVG9BY2NlcHRpbmc2
NDxUPihtaW51dGVzKCkpOyB9CkBAIC04OSw0MiArODksNDIgQEAgY2xhc3MgU2Vjb25kcyB7CiAg
ICAgICAgIHJldHVybiBTZWNvbmRzKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5p
dHkoKSk7CiAgICAgfQogICAgIAotICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7
IHJldHVybiAhIW1fdmFsdWU7IH0KKyAgICBleHBsaWNpdCBjb25zdGV4cHIgb3BlcmF0b3IgYm9v
bCgpIGNvbnN0IHsgcmV0dXJuICEhbV92YWx1ZTsgfQogICAgIAotICAgIFNlY29uZHMgb3BlcmF0
b3IrKFNlY29uZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIFNlY29uZHMgb3BlcmF0b3Ir
KFNlY29uZHMgb3RoZXIpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gU2Vjb25kcyh2YWx1
ZSgpICsgb3RoZXIudmFsdWUoKSk7CiAgICAgfQogICAgIAotICAgIFNlY29uZHMgb3BlcmF0b3It
KFNlY29uZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIFNlY29uZHMgb3BlcmF0b3ItKFNl
Y29uZHMgb3RoZXIpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gU2Vjb25kcyh2YWx1ZSgp
IC0gb3RoZXIudmFsdWUoKSk7CiAgICAgfQogICAgIAotICAgIFNlY29uZHMgb3BlcmF0b3ItKCkg
Y29uc3QKKyAgICBjb25zdGV4cHIgU2Vjb25kcyBvcGVyYXRvci0oKSBjb25zdAogICAgIHsKICAg
ICAgICAgcmV0dXJuIFNlY29uZHMoLXZhbHVlKCkpOwogICAgIH0KICAgICAKICAgICAvLyBJdCBt
YWtlcyBzZW5zZSB0byBjb25zaWRlciBzY2FsaW5nIGEgZHVyYXRpb24sIGxpa2UsICJJIHdhbnQg
dG8gd2FpdCA1IHRpbWVzIGFzIGxvbmcgYXMKICAgICAvLyBsYXN0IHRpbWUhIi4KLSAgICBTZWNv
bmRzIG9wZXJhdG9yKihkb3VibGUgc2NhbGFyKSBjb25zdAorICAgIGNvbnN0ZXhwciBTZWNvbmRz
IG9wZXJhdG9yKihkb3VibGUgc2NhbGFyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIFNl
Y29uZHModmFsdWUoKSAqIHNjYWxhcik7CiAgICAgfQogICAgIAotICAgIFNlY29uZHMgb3BlcmF0
b3IvKGRvdWJsZSBzY2FsYXIpIGNvbnN0CisgICAgY29uc3RleHByIFNlY29uZHMgb3BlcmF0b3Iv
KGRvdWJsZSBzY2FsYXIpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gU2Vjb25kcyh2YWx1
ZSgpIC8gc2NhbGFyKTsKICAgICB9CiAgICAgCiAgICAgLy8gSXQncyByZWFzb25hYmxlIHRvIHRo
aW5rIGFib3V0IHJhdGlvcyBiZXR3ZWVuIFNlY29uZHMuCi0gICAgZG91YmxlIG9wZXJhdG9yLyhT
ZWNvbmRzIG90aGVyKSBjb25zdAorICAgIGNvbnN0ZXhwciBkb3VibGUgb3BlcmF0b3IvKFNlY29u
ZHMgb3RoZXIpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gdmFsdWUoKSAvIG90aGVyLnZh
bHVlKCk7CiAgICAgfQogICAgIAotICAgIFNlY29uZHMgb3BlcmF0b3IlKGRvdWJsZSBzY2FsYXIp
IGNvbnN0CisgICAgY29uc3RleHByIFNlY29uZHMgb3BlcmF0b3IlKGRvdWJsZSBzY2FsYXIpIGNv
bnN0CiAgICAgewogICAgICAgICByZXR1cm4gU2Vjb25kcyhmbW9kKHZhbHVlKCksIHNjYWxhcikp
OwogICAgIH0KQEAgLTEzNCw3ICsxMzQsNyBAQCBjbGFzcyBTZWNvbmRzIHsKICAgICAvLyAgICAg
Zmxvb3IodGhpcyAvIG90aGVyKSArIHIgLyBvdGhlciA9IHRoaXMgLyBvdGhlcgogICAgIC8vCiAg
ICAgLy8gVGhlcmVmb3JlLCBpZiB0aGlzIGlzIFNlY29uZHMgdGhlbiByIGlzIFNlY29uZHMuCi0g
ICAgU2Vjb25kcyBvcGVyYXRvciUoU2Vjb25kcyBvdGhlcikgY29uc3QKKyAgICBjb25zdGV4cHIg
U2Vjb25kcyBvcGVyYXRvciUoU2Vjb25kcyBvdGhlcikgY29uc3QKICAgICB7CiAgICAgICAgIHJl
dHVybiBTZWNvbmRzKGZtb2QodmFsdWUoKSwgb3RoZXIudmFsdWUoKSkpOwogICAgIH0KQEAgLTE3
NywzMiArMTc3LDMyIEBAIGNsYXNzIFNlY29uZHMgewogICAgIFdURl9FWFBPUlRfUFJJVkFURSBN
b25vdG9uaWNUaW1lIG9wZXJhdG9yLShNb25vdG9uaWNUaW1lKSBjb25zdDsKICAgICBXVEZfRVhQ
T1JUX1BSSVZBVEUgVGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIG9wZXJhdG9yLShjb25zdCBUaW1l
V2l0aER5bmFtaWNDbG9ja1R5cGUmKSBjb25zdDsKICAgICAKLSAgICBib29sIG9wZXJhdG9yPT0o
U2Vjb25kcyBvdGhlcikgY29uc3QKKyAgICBjb25zdGV4cHIgYm9vbCBvcGVyYXRvcj09KFNlY29u
ZHMgb3RoZXIpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV92YWx1ZSA9PSBvdGhlci5t
X3ZhbHVlOwogICAgIH0KICAgICAKLSAgICBib29sIG9wZXJhdG9yIT0oU2Vjb25kcyBvdGhlcikg
Y29uc3QKKyAgICBjb25zdGV4cHIgYm9vbCBvcGVyYXRvciE9KFNlY29uZHMgb3RoZXIpIGNvbnN0
CiAgICAgewogICAgICAgICByZXR1cm4gbV92YWx1ZSAhPSBvdGhlci5tX3ZhbHVlOwogICAgIH0K
ICAgICAKLSAgICBib29sIG9wZXJhdG9yPChTZWNvbmRzIG90aGVyKSBjb25zdAorICAgIGNvbnN0
ZXhwciBib29sIG9wZXJhdG9yPChTZWNvbmRzIG90aGVyKSBjb25zdAogICAgIHsKICAgICAgICAg
cmV0dXJuIG1fdmFsdWUgPCBvdGhlci5tX3ZhbHVlOwogICAgIH0KICAgICAKLSAgICBib29sIG9w
ZXJhdG9yPihTZWNvbmRzIG90aGVyKSBjb25zdAorICAgIGNvbnN0ZXhwciBib29sIG9wZXJhdG9y
PihTZWNvbmRzIG90aGVyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdmFsdWUgPiBv
dGhlci5tX3ZhbHVlOwogICAgIH0KICAgICAKLSAgICBib29sIG9wZXJhdG9yPD0oU2Vjb25kcyBv
dGhlcikgY29uc3QKKyAgICBjb25zdGV4cHIgYm9vbCBvcGVyYXRvcjw9KFNlY29uZHMgb3RoZXIp
IGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV92YWx1ZSA8PSBvdGhlci5tX3ZhbHVlOwog
ICAgIH0KICAgICAKLSAgICBib29sIG9wZXJhdG9yPj0oU2Vjb25kcyBvdGhlcikgY29uc3QKKyAg
ICBjb25zdGV4cHIgYm9vbCBvcGVyYXRvcj49KFNlY29uZHMgb3RoZXIpIGNvbnN0CiAgICAgewog
ICAgICAgICByZXR1cm4gbV92YWx1ZSA+PSBvdGhlci5tX3ZhbHVlOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZS5jcHAKaW5kZXggNDc1NjBlZDcxZjgzMjgyN2E5NWQ2NTcwYTI3ZTU3MjlmYTE1OWFhNy4u
YzYxYTc3NzYyYzk4NmRlNmVlZjdlNmJlNTg5MWVlYjM5ZGU0ZmIzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKQEAgLTEyMSw3ICsxMjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGNvbnN0IFNlY29u
ZHMgc2Nyb2xsRnJlcXVlbmN5IHsgMTAwMCAvIDYwLiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
c2Nyb2xsRnJlcXVlbmN5IHsgMTAwMF9zIC8gNjAuMCB9OwogI2VuZGlmCiAKIERFRklORV9ERUJV
R19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgZnJhbWVDb3VudGVyLCAo
IkZyYW1lIikpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306639</attachid>
            <date>2017-04-09 17:49:43 -0700</date>
            <delta_ts>2017-04-09 18:01:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170662-20170410094942.patch</filename>
            <type>text/plain</type>
            <size>9147</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdkZDU2NGJiMWMxNzhlYmFhYjM1N2Y2
YjA2OTU3NjRjMDc3MDA5NjAuLmJmZGY0OTI2NjM3ZGQ2NjA3YWNlOGIwNDNmYjE0ZjUzN2VjYjBm
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTctMDQtMDkgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gQW5ub3RhdGUgU2Vjb25kcycgbWVt
YmVyIGZ1bmN0aW9ucyBhbmQgb3BlcmF0b3JzIHdpdGggY29uc3RleHByCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbm5vdGF0ZSBTZWNvbmRzJyBtZW1i
ZXIgZnVuY3Rpb25zIGFuZCBvcGVyYXRvcnMgd2l0aCBjb25zdGV4cHIuCisgICAgICAgIEl0IGFs
bG93cyB1cyB0byB1c2UgU2Vjb25kcyBjYWxjdWxhdGlvbiBpbiBjb21waWxlIHRpbWUgYW5kIHVz
ZSB0aGVzZQorICAgICAgICBjYWxjdWxhdGlvbiBmb3Igc3RhdGljIGNvbnN0IGdsb2JhbCB2YXJp
YWJsZXMuCisKKyAgICAgICAgb3BlcmF0b3IlIGlzIGFuIGV4Y2VwdGlvbjogaXQgdXNlcyBmbW9k
IGFuZCBpdCBpcyBub3Qgb2ZmZXJlZCBhcyBjb25zdGV4cHIuCisKKyAgICAgICAgKiB3dGYvTWF0
aEV4dHJhcy5oOgorICAgICAgICAoZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCk6CisgICAgICAgIChk
ZWZhdWx0TWF4aW11bUZvckNsYW1wKToKKyAgICAgICAgKGNsYW1wVG9BY2NlcHRpbmc2NCk6Cisg
ICAgICAgIFN1cGVyIHVuZm9ydHVuYXRlIHVnbHkgY29kZS4gVGhpcyBpcyBiZWNhdXNlIEdDQyA0
LjkgZG9lcyBub3Qgc3VwcG9ydCBDKysxNCByZWxheGVkIGNvbnN0ZXhwci4KKworICAgICAgICAq
IHd0Zi9TZWNvbmRzLmg6CisgICAgICAgIChXVEY6OlNlY29uZHM6OlNlY29uZHMpOgorICAgICAg
ICAoV1RGOjpTZWNvbmRzOjp2YWx1ZSk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om1pbnV0ZXMp
OgorICAgICAgICAoV1RGOjpTZWNvbmRzOjpzZWNvbmRzKToKKyAgICAgICAgKFdURjo6U2Vjb25k
czo6bWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6bWljcm9zZWNvbmRzKToK
KyAgICAgICAgKFdURjo6U2Vjb25kczo6bmFub3NlY29uZHMpOgorICAgICAgICAoV1RGOjpTZWNv
bmRzOjpvcGVyYXRvciBib29sKToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3IrKToK
KyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3ItKToKKyAgICAgICAgKFdURjo6U2Vjb25k
czo6b3BlcmF0b3IqKToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3IvKToKKyAgICAg
ICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om9w
ZXJhdG9yIT0pOgorICAgICAgICAoV1RGOjpTZWNvbmRzOjpvcGVyYXRvcjwpOgorICAgICAgICAo
V1RGOjpTZWNvbmRzOjpvcGVyYXRvcj4pOgorICAgICAgICAoV1RGOjpTZWNvbmRzOjpvcGVyYXRv
cjw9KToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3I+PSk6CisKIDIwMTctMDQtMDkg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdGFydCBkcm9wcGlu
ZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY2ODM4Y2E0Nzdl
MTNmZWVkNjdkYWM4NTFmMGE4NjkxMDI0YWJhYzMuLjBjYzY4ZGE5MjEyYzc2MWYyODlhNjNlYzkw
NzE2MzI1YThjMTA3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wNC0wOSAg
WXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBbV1RGXSBB
bm5vdGF0ZSBTZWNvbmRzJyBtZW1iZXIgZnVuY3Rpb25zIGFuZCBvcGVyYXRvcnMgd2l0aCBjb25z
dGV4cHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
MDY2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGFnZS9GcmFtZS5jcHA6CisKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRh
a2luZyBhIGRvdWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oIGIv
U291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCmluZGV4IDQwYzc3ZTM1NDE3NDVkMzJlYTk5OTYy
YjMzZmUyMGEwYzUzNDM2YWIuLmRjZWYzOTQ4YWIxNjYzMDgyZTc4NmUzNTVhNWUzODkwOTU3MDFm
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9NYXRoRXh0cmFzLmgKQEAgLTE0MSwxMCArMTQxLDEwIEBAIGlubGluZSBmbG9hdCBy
YWQyZ3JhZChmbG9hdCByKSB7IHJldHVybiByICogMjAwLjBmIC8gcGlGbG9hdDsgfQogaW5saW5l
IGZsb2F0IGdyYWQycmFkKGZsb2F0IGcpIHsgcmV0dXJuIGcgKiBwaUZsb2F0IC8gMjAwLjBmOyB9
CiAKIC8vIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1pbigpIHJldHVybnMgdGhlIHNtYWxsZXN0
IHBvc2l0aXZlIHZhbHVlIGZvciBmbG9hdGluZyBwb2ludCB0eXBlcwotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gaW5saW5lIFQgZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIHN0ZDo6bnVt
ZXJpY19saW1pdHM8VD46Om1pbigpOyB9Ci10ZW1wbGF0ZTw+IGlubGluZSBmbG9hdCBkZWZhdWx0
TWluaW11bUZvckNsYW1wKCkgeyByZXR1cm4gLXN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+Ojpt
YXgoKTsgfQotdGVtcGxhdGU8PiBpbmxpbmUgZG91YmxlIGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAo
KSB7IHJldHVybiAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjptYXgoKTsgfQotdGVtcGxh
dGU8dHlwZW5hbWUgVD4gaW5saW5lIFQgZGVmYXVsdE1heGltdW1Gb3JDbGFtcCgpIHsgcmV0dXJu
IHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1heCgpOyB9Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
b25zdGV4cHIgaW5saW5lIFQgZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIHN0ZDo6
bnVtZXJpY19saW1pdHM8VD46Om1pbigpOyB9Cit0ZW1wbGF0ZTw+IGNvbnN0ZXhwciBpbmxpbmUg
ZmxvYXQgZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIC1zdGQ6Om51bWVyaWNfbGlt
aXRzPGZsb2F0Pjo6bWF4KCk7IH0KK3RlbXBsYXRlPD4gY29uc3RleHByIGlubGluZSBkb3VibGUg
ZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIC1zdGQ6Om51bWVyaWNfbGltaXRzPGRv
dWJsZT46Om1heCgpOyB9Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjb25zdGV4cHIgaW5saW5lIFQg
ZGVmYXVsdE1heGltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46
Om1heCgpOyB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBUIGNsYW1wVG8oZG91Ymxl
IHZhbHVlLCBUIG1pbiA9IGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXA8VD4oKSwgVCBtYXggPSBkZWZh
dWx0TWF4aW11bUZvckNsYW1wPFQ+KCkpCiB7CkBAIC0xOTUsMTMgKzE5NSw5IEBAIGlubGluZSBp
bnQgY2xhbXBUb0ludGVnZXIoVCB4KQogCiAvLyBFeHBsaWNpdGx5IGFjY2VwdCA2NGJpdCByZXN1
bHQgd2hlbiBjbGFtcGluZyBkb3VibGUgdmFsdWUuCiAvLyBLZWVwIGluIG1pbmQgdGhhdCBkb3Vi
bGUgY2FuIG9ubHkgcmVwcmVzZW50IDUzYml0IGludGVnZXIgcHJlY2lzZWx5LgotdGVtcGxhdGU8
dHlwZW5hbWUgVD4gaW5saW5lIFQgY2xhbXBUb0FjY2VwdGluZzY0KGRvdWJsZSB2YWx1ZSwgVCBt
aW4gPSBkZWZhdWx0TWluaW11bUZvckNsYW1wPFQ+KCksIFQgbWF4ID0gZGVmYXVsdE1heGltdW1G
b3JDbGFtcDxUPigpKQordGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uc3RleHByIGlubGluZSBUIGNs
YW1wVG9BY2NlcHRpbmc2NChkb3VibGUgdmFsdWUsIFQgbWluID0gZGVmYXVsdE1pbmltdW1Gb3JD
bGFtcDxUPigpLCBUIG1heCA9IGRlZmF1bHRNYXhpbXVtRm9yQ2xhbXA8VD4oKSkKIHsKLSAgICBp
ZiAodmFsdWUgPj0gc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgpKQotICAgICAgICByZXR1cm4gbWF4
OwotICAgIGlmICh2YWx1ZSA8PSBzdGF0aWNfY2FzdDxkb3VibGU+KG1pbikpCi0gICAgICAgIHJl
dHVybiBtaW47Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFQ+KHZhbHVlKTsKKyAgICByZXR1cm4g
KHZhbHVlID49IHN0YXRpY19jYXN0PGRvdWJsZT4obWF4KSkgPyBtYXggOiAoKHZhbHVlIDw9IHN0
YXRpY19jYXN0PGRvdWJsZT4obWluKSkgPyBtaW4gOiBzdGF0aWNfY2FzdDxUPih2YWx1ZSkpOwog
fQogCiBpbmxpbmUgYm9vbCBpc1dpdGhpbkludFJhbmdlKGZsb2F0IHgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9TZWNvbmRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9TZWNvbmRzLmgKaW5kZXgg
ZDA3ZmZlZjc4YjVhMzVlMmMzYjUwN2MwNzZlYWM0ZGQ3MjM0ZGViYi4uNDg0ODNmMjFjZDdkMjhh
ODY0NDc4YTZjNDg3ZDA5ZmE1YzFhMjBlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvU2Vj
b25kcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1NlY29uZHMuaApAQCAtMzcsMjAgKzM3LDIwIEBA
IGNsYXNzIFdhbGxUaW1lOwogCiBjbGFzcyBTZWNvbmRzIHsKIHB1YmxpYzoKLSAgICBTZWNvbmRz
KCkgeyB9CisgICAgY29uc3RleHByIFNlY29uZHMoKSB7IH0KICAgICAKICAgICBleHBsaWNpdCBj
b25zdGV4cHIgU2Vjb25kcyhkb3VibGUgdmFsdWUpCiAgICAgICAgIDogbV92YWx1ZSh2YWx1ZSkK
ICAgICB7CiAgICAgfQogICAgIAotICAgIGRvdWJsZSB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dmFsdWU7IH0KKyAgICBjb25zdGV4cHIgZG91YmxlIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92
YWx1ZTsgfQogICAgIAotICAgIGRvdWJsZSBtaW51dGVzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1
ZSAvIDYwOyB9Ci0gICAgZG91YmxlIHNlY29uZHMoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9
Ci0gICAgZG91YmxlIG1pbGxpc2Vjb25kcygpIGNvbnN0IHsgcmV0dXJuIHNlY29uZHMoKSAqIDEw
MDA7IH0KLSAgICBkb3VibGUgbWljcm9zZWNvbmRzKCkgY29uc3QgeyByZXR1cm4gbWlsbGlzZWNv
bmRzKCkgKiAxMDAwOyB9Ci0gICAgZG91YmxlIG5hbm9zZWNvbmRzKCkgY29uc3QgeyByZXR1cm4g
bWljcm9zZWNvbmRzKCkgKiAxMDAwOyB9CisgICAgY29uc3RleHByIGRvdWJsZSBtaW51dGVzKCkg
Y29uc3QgeyByZXR1cm4gbV92YWx1ZSAvIDYwOyB9CisgICAgY29uc3RleHByIGRvdWJsZSBzZWNv
bmRzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQorICAgIGNvbnN0ZXhwciBkb3VibGUgbWls
bGlzZWNvbmRzKCkgY29uc3QgeyByZXR1cm4gc2Vjb25kcygpICogMTAwMDsgfQorICAgIGNvbnN0
ZXhwciBkb3VibGUgbWljcm9zZWNvbmRzKCkgY29uc3QgeyByZXR1cm4gbWlsbGlzZWNvbmRzKCkg
KiAxMDAwOyB9CisgICAgY29uc3RleHByIGRvdWJsZSBuYW5vc2Vjb25kcygpIGNvbnN0IHsgcmV0
dXJuIG1pY3Jvc2Vjb25kcygpICogMTAwMDsgfQogCiAgICAgLy8gS2VlcCBpbiBtaW5kIHRoYXQg
U2Vjb25kcyBpcyBoZWxkIGluIGRvdWJsZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiByYW5nZSBv
ZiA1M2JpdCBpbnRlZ2VyLCB0aGUgcmVzdWx0IG1heSBub3QgYmUgcHJlY2lzZS4KICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBUIG1pbnV0ZXNBcygpIGNvbnN0IHsgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX2ludGVncmFsPFQ+Ojp2YWx1ZSwgIiIpOyByZXR1cm4gY2xhbXBUb0FjY2VwdGluZzY0PFQ+
KG1pbnV0ZXMoKSk7IH0KQEAgLTg5LDM3ICs4OSwzNyBAQCBjbGFzcyBTZWNvbmRzIHsKICAgICAg
ICAgcmV0dXJuIFNlY29uZHMoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgp
KTsKICAgICB9CiAgICAgCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0
dXJuICEhbV92YWx1ZTsgfQorICAgIGV4cGxpY2l0IGNvbnN0ZXhwciBvcGVyYXRvciBib29sKCkg
Y29uc3QgeyByZXR1cm4gISFtX3ZhbHVlOyB9CiAgICAgCi0gICAgU2Vjb25kcyBvcGVyYXRvciso
U2Vjb25kcyBvdGhlcikgY29uc3QKKyAgICBjb25zdGV4cHIgU2Vjb25kcyBvcGVyYXRvcisoU2Vj
b25kcyBvdGhlcikgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBTZWNvbmRzKHZhbHVlKCkg
KyBvdGhlci52YWx1ZSgpKTsKICAgICB9CiAgICAgCi0gICAgU2Vjb25kcyBvcGVyYXRvci0oU2Vj
b25kcyBvdGhlcikgY29uc3QKKyAgICBjb25zdGV4cHIgU2Vjb25kcyBvcGVyYXRvci0oU2Vjb25k
cyBvdGhlcikgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBTZWNvbmRzKHZhbHVlKCkgLSBv
dGhlci52YWx1ZSgpKTsKICAgICB9CiAgICAgCi0gICAgU2Vjb25kcyBvcGVyYXRvci0oKSBjb25z
dAorICAgIGNvbnN0ZXhwciBTZWNvbmRzIG9wZXJhdG9yLSgpIGNvbnN0CiAgICAgewogICAgICAg
ICByZXR1cm4gU2Vjb25kcygtdmFsdWUoKSk7CiAgICAgfQogICAgIAogICAgIC8vIEl0IG1ha2Vz
IHNlbnNlIHRvIGNvbnNpZGVyIHNjYWxpbmcgYSBkdXJhdGlvbiwgbGlrZSwgIkkgd2FudCB0byB3
YWl0IDUgdGltZXMgYXMgbG9uZyBhcwogICAgIC8vIGxhc3QgdGltZSEiLgotICAgIFNlY29uZHMg
b3BlcmF0b3IqKGRvdWJsZSBzY2FsYXIpIGNvbnN0CisgICAgY29uc3RleHByIFNlY29uZHMgb3Bl
cmF0b3IqKGRvdWJsZSBzY2FsYXIpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gU2Vjb25k
cyh2YWx1ZSgpICogc2NhbGFyKTsKICAgICB9CiAgICAgCi0gICAgU2Vjb25kcyBvcGVyYXRvci8o
ZG91YmxlIHNjYWxhcikgY29uc3QKKyAgICBjb25zdGV4cHIgU2Vjb25kcyBvcGVyYXRvci8oZG91
YmxlIHNjYWxhcikgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBTZWNvbmRzKHZhbHVlKCkg
LyBzY2FsYXIpOwogICAgIH0KICAgICAKICAgICAvLyBJdCdzIHJlYXNvbmFibGUgdG8gdGhpbmsg
YWJvdXQgcmF0aW9zIGJldHdlZW4gU2Vjb25kcy4KLSAgICBkb3VibGUgb3BlcmF0b3IvKFNlY29u
ZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGRvdWJsZSBvcGVyYXRvci8oU2Vjb25kcyBv
dGhlcikgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiB2YWx1ZSgpIC8gb3RoZXIudmFsdWUo
KTsKICAgICB9CkBAIC0xNzcsMzIgKzE3NywzMiBAQCBjbGFzcyBTZWNvbmRzIHsKICAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgTW9ub3RvbmljVGltZSBvcGVyYXRvci0oTW9ub3RvbmljVGltZSkgY29u
c3Q7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIFRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBvcGVy
YXRvci0oY29uc3QgVGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlJikgY29uc3Q7CiAgICAgCi0gICAg
Ym9vbCBvcGVyYXRvcj09KFNlY29uZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGJvb2wg
b3BlcmF0b3I9PShTZWNvbmRzIG90aGVyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
dmFsdWUgPT0gb3RoZXIubV92YWx1ZTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBvcGVyYXRvciE9
KFNlY29uZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGJvb2wgb3BlcmF0b3IhPShTZWNv
bmRzIG90aGVyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdmFsdWUgIT0gb3RoZXIu
bV92YWx1ZTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBvcGVyYXRvcjwoU2Vjb25kcyBvdGhlcikg
Y29uc3QKKyAgICBjb25zdGV4cHIgYm9vbCBvcGVyYXRvcjwoU2Vjb25kcyBvdGhlcikgY29uc3QK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZhbHVlIDwgb3RoZXIubV92YWx1ZTsKICAgICB9CiAg
ICAgCi0gICAgYm9vbCBvcGVyYXRvcj4oU2Vjb25kcyBvdGhlcikgY29uc3QKKyAgICBjb25zdGV4
cHIgYm9vbCBvcGVyYXRvcj4oU2Vjb25kcyBvdGhlcikgY29uc3QKICAgICB7CiAgICAgICAgIHJl
dHVybiBtX3ZhbHVlID4gb3RoZXIubV92YWx1ZTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBvcGVy
YXRvcjw9KFNlY29uZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGJvb2wgb3BlcmF0b3I8
PShTZWNvbmRzIG90aGVyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdmFsdWUgPD0g
b3RoZXIubV92YWx1ZTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBvcGVyYXRvcj49KFNlY29uZHMg
b3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGJvb2wgb3BlcmF0b3I+PShTZWNvbmRzIG90aGVy
KSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdmFsdWUgPj0gb3RoZXIubV92YWx1ZTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDQ3NTYwZWQ3MWY4MzI4MjdhOTVkNjU3MGEy
N2U1NzI5ZmExNTlhYTcuLmM2MWE3Nzc2MmM5ODZkZTZlZWY3ZTZiZTU4OTFlZWIzOWRlNGZiM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogI2lmIFBMQVRGT1JNKElPUykKLXN0
YXRpYyBjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSB7IDEwMDAgLyA2MC4gfTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSB7IDEwMDBfcyAvIDYwLjAgfTsKICNlbmRp
ZgogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwoV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIs
IGZyYW1lQ291bnRlciwgKCJGcmFtZSIpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306640</attachid>
            <date>2017-04-09 18:01:32 -0700</date>
            <delta_ts>2017-04-09 19:41:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170662-20170410100131.patch</filename>
            <type>text/plain</type>
            <size>9146</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdkZDU2NGJiMWMxNzhlYmFhYjM1N2Y2
YjA2OTU3NjRjMDc3MDA5NjAuLmJmZGY0OTI2NjM3ZGQ2NjA3YWNlOGIwNDNmYjE0ZjUzN2VjYjBm
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTctMDQtMDkgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gQW5ub3RhdGUgU2Vjb25kcycgbWVt
YmVyIGZ1bmN0aW9ucyBhbmQgb3BlcmF0b3JzIHdpdGggY29uc3RleHByCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbm5vdGF0ZSBTZWNvbmRzJyBtZW1i
ZXIgZnVuY3Rpb25zIGFuZCBvcGVyYXRvcnMgd2l0aCBjb25zdGV4cHIuCisgICAgICAgIEl0IGFs
bG93cyB1cyB0byB1c2UgU2Vjb25kcyBjYWxjdWxhdGlvbiBpbiBjb21waWxlIHRpbWUgYW5kIHVz
ZSB0aGVzZQorICAgICAgICBjYWxjdWxhdGlvbiBmb3Igc3RhdGljIGNvbnN0IGdsb2JhbCB2YXJp
YWJsZXMuCisKKyAgICAgICAgb3BlcmF0b3IlIGlzIGFuIGV4Y2VwdGlvbjogaXQgdXNlcyBmbW9k
IGFuZCBpdCBpcyBub3Qgb2ZmZXJlZCBhcyBjb25zdGV4cHIuCisKKyAgICAgICAgKiB3dGYvTWF0
aEV4dHJhcy5oOgorICAgICAgICAoZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCk6CisgICAgICAgIChk
ZWZhdWx0TWF4aW11bUZvckNsYW1wKToKKyAgICAgICAgKGNsYW1wVG9BY2NlcHRpbmc2NCk6Cisg
ICAgICAgIFN1cGVyIHVuZm9ydHVuYXRlIHVnbHkgY29kZS4gVGhpcyBpcyBiZWNhdXNlIEdDQyA0
LjkgZG9lcyBub3Qgc3VwcG9ydCBDKysxNCByZWxheGVkIGNvbnN0ZXhwci4KKworICAgICAgICAq
IHd0Zi9TZWNvbmRzLmg6CisgICAgICAgIChXVEY6OlNlY29uZHM6OlNlY29uZHMpOgorICAgICAg
ICAoV1RGOjpTZWNvbmRzOjp2YWx1ZSk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om1pbnV0ZXMp
OgorICAgICAgICAoV1RGOjpTZWNvbmRzOjpzZWNvbmRzKToKKyAgICAgICAgKFdURjo6U2Vjb25k
czo6bWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6bWljcm9zZWNvbmRzKToK
KyAgICAgICAgKFdURjo6U2Vjb25kczo6bmFub3NlY29uZHMpOgorICAgICAgICAoV1RGOjpTZWNv
bmRzOjpvcGVyYXRvciBib29sKToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3IrKToK
KyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3ItKToKKyAgICAgICAgKFdURjo6U2Vjb25k
czo6b3BlcmF0b3IqKToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3IvKToKKyAgICAg
ICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om9w
ZXJhdG9yIT0pOgorICAgICAgICAoV1RGOjpTZWNvbmRzOjpvcGVyYXRvcjwpOgorICAgICAgICAo
V1RGOjpTZWNvbmRzOjpvcGVyYXRvcj4pOgorICAgICAgICAoV1RGOjpTZWNvbmRzOjpvcGVyYXRv
cjw9KToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6b3BlcmF0b3I+PSk6CisKIDIwMTctMDQtMDkg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdGFydCBkcm9wcGlu
ZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY2ODM4Y2E0Nzdl
MTNmZWVkNjdkYWM4NTFmMGE4NjkxMDI0YWJhYzMuLjBjYzY4ZGE5MjEyYzc2MWYyODlhNjNlYzkw
NzE2MzI1YThjMTA3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wNC0wOSAg
WXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBbV1RGXSBB
bm5vdGF0ZSBTZWNvbmRzJyBtZW1iZXIgZnVuY3Rpb25zIGFuZCBvcGVyYXRvcnMgd2l0aCBjb25z
dGV4cHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
MDY2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGFnZS9GcmFtZS5jcHA6CisKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRh
a2luZyBhIGRvdWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oIGIv
U291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCmluZGV4IDQwYzc3ZTM1NDE3NDVkMzJlYTk5OTYy
YjMzZmUyMGEwYzUzNDM2YWIuLmRjZWYzOTQ4YWIxNjYzMDgyZTc4NmUzNTVhNWUzODkwOTU3MDFm
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9NYXRoRXh0cmFzLmgKQEAgLTE0MSwxMCArMTQxLDEwIEBAIGlubGluZSBmbG9hdCBy
YWQyZ3JhZChmbG9hdCByKSB7IHJldHVybiByICogMjAwLjBmIC8gcGlGbG9hdDsgfQogaW5saW5l
IGZsb2F0IGdyYWQycmFkKGZsb2F0IGcpIHsgcmV0dXJuIGcgKiBwaUZsb2F0IC8gMjAwLjBmOyB9
CiAKIC8vIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1pbigpIHJldHVybnMgdGhlIHNtYWxsZXN0
IHBvc2l0aXZlIHZhbHVlIGZvciBmbG9hdGluZyBwb2ludCB0eXBlcwotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gaW5saW5lIFQgZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIHN0ZDo6bnVt
ZXJpY19saW1pdHM8VD46Om1pbigpOyB9Ci10ZW1wbGF0ZTw+IGlubGluZSBmbG9hdCBkZWZhdWx0
TWluaW11bUZvckNsYW1wKCkgeyByZXR1cm4gLXN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+Ojpt
YXgoKTsgfQotdGVtcGxhdGU8PiBpbmxpbmUgZG91YmxlIGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAo
KSB7IHJldHVybiAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjptYXgoKTsgfQotdGVtcGxh
dGU8dHlwZW5hbWUgVD4gaW5saW5lIFQgZGVmYXVsdE1heGltdW1Gb3JDbGFtcCgpIHsgcmV0dXJu
IHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1heCgpOyB9Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
b25zdGV4cHIgaW5saW5lIFQgZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIHN0ZDo6
bnVtZXJpY19saW1pdHM8VD46Om1pbigpOyB9Cit0ZW1wbGF0ZTw+IGNvbnN0ZXhwciBpbmxpbmUg
ZmxvYXQgZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIC1zdGQ6Om51bWVyaWNfbGlt
aXRzPGZsb2F0Pjo6bWF4KCk7IH0KK3RlbXBsYXRlPD4gY29uc3RleHByIGlubGluZSBkb3VibGUg
ZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIC1zdGQ6Om51bWVyaWNfbGltaXRzPGRv
dWJsZT46Om1heCgpOyB9Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjb25zdGV4cHIgaW5saW5lIFQg
ZGVmYXVsdE1heGltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46
Om1heCgpOyB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBUIGNsYW1wVG8oZG91Ymxl
IHZhbHVlLCBUIG1pbiA9IGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXA8VD4oKSwgVCBtYXggPSBkZWZh
dWx0TWF4aW11bUZvckNsYW1wPFQ+KCkpCiB7CkBAIC0xOTUsMTMgKzE5NSw5IEBAIGlubGluZSBp
bnQgY2xhbXBUb0ludGVnZXIoVCB4KQogCiAvLyBFeHBsaWNpdGx5IGFjY2VwdCA2NGJpdCByZXN1
bHQgd2hlbiBjbGFtcGluZyBkb3VibGUgdmFsdWUuCiAvLyBLZWVwIGluIG1pbmQgdGhhdCBkb3Vi
bGUgY2FuIG9ubHkgcmVwcmVzZW50IDUzYml0IGludGVnZXIgcHJlY2lzZWx5LgotdGVtcGxhdGU8
dHlwZW5hbWUgVD4gaW5saW5lIFQgY2xhbXBUb0FjY2VwdGluZzY0KGRvdWJsZSB2YWx1ZSwgVCBt
aW4gPSBkZWZhdWx0TWluaW11bUZvckNsYW1wPFQ+KCksIFQgbWF4ID0gZGVmYXVsdE1heGltdW1G
b3JDbGFtcDxUPigpKQordGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uc3RleHByIGlubGluZSBUIGNs
YW1wVG9BY2NlcHRpbmc2NChkb3VibGUgdmFsdWUsIFQgbWluID0gZGVmYXVsdE1pbmltdW1Gb3JD
bGFtcDxUPigpLCBUIG1heCA9IGRlZmF1bHRNYXhpbXVtRm9yQ2xhbXA8VD4oKSkKIHsKLSAgICBp
ZiAodmFsdWUgPj0gc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgpKQotICAgICAgICByZXR1cm4gbWF4
OwotICAgIGlmICh2YWx1ZSA8PSBzdGF0aWNfY2FzdDxkb3VibGU+KG1pbikpCi0gICAgICAgIHJl
dHVybiBtaW47Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFQ+KHZhbHVlKTsKKyAgICByZXR1cm4g
KHZhbHVlID49IHN0YXRpY19jYXN0PGRvdWJsZT4obWF4KSkgPyBtYXggOiAoKHZhbHVlIDw9IHN0
YXRpY19jYXN0PGRvdWJsZT4obWluKSkgPyBtaW4gOiBzdGF0aWNfY2FzdDxUPih2YWx1ZSkpOwog
fQogCiBpbmxpbmUgYm9vbCBpc1dpdGhpbkludFJhbmdlKGZsb2F0IHgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9TZWNvbmRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9TZWNvbmRzLmgKaW5kZXgg
ZDA3ZmZlZjc4YjVhMzVlMmMzYjUwN2MwNzZlYWM0ZGQ3MjM0ZGViYi4uNDg0ODNmMjFjZDdkMjhh
ODY0NDc4YTZjNDg3ZDA5ZmE1YzFhMjBlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvU2Vj
b25kcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1NlY29uZHMuaApAQCAtMzcsMjAgKzM3LDIwIEBA
IGNsYXNzIFdhbGxUaW1lOwogCiBjbGFzcyBTZWNvbmRzIHsKIHB1YmxpYzoKLSAgICBTZWNvbmRz
KCkgeyB9CisgICAgY29uc3RleHByIFNlY29uZHMoKSB7IH0KICAgICAKICAgICBleHBsaWNpdCBj
b25zdGV4cHIgU2Vjb25kcyhkb3VibGUgdmFsdWUpCiAgICAgICAgIDogbV92YWx1ZSh2YWx1ZSkK
ICAgICB7CiAgICAgfQogICAgIAotICAgIGRvdWJsZSB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dmFsdWU7IH0KKyAgICBjb25zdGV4cHIgZG91YmxlIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92
YWx1ZTsgfQogICAgIAotICAgIGRvdWJsZSBtaW51dGVzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1
ZSAvIDYwOyB9Ci0gICAgZG91YmxlIHNlY29uZHMoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9
Ci0gICAgZG91YmxlIG1pbGxpc2Vjb25kcygpIGNvbnN0IHsgcmV0dXJuIHNlY29uZHMoKSAqIDEw
MDA7IH0KLSAgICBkb3VibGUgbWljcm9zZWNvbmRzKCkgY29uc3QgeyByZXR1cm4gbWlsbGlzZWNv
bmRzKCkgKiAxMDAwOyB9Ci0gICAgZG91YmxlIG5hbm9zZWNvbmRzKCkgY29uc3QgeyByZXR1cm4g
bWljcm9zZWNvbmRzKCkgKiAxMDAwOyB9CisgICAgY29uc3RleHByIGRvdWJsZSBtaW51dGVzKCkg
Y29uc3QgeyByZXR1cm4gbV92YWx1ZSAvIDYwOyB9CisgICAgY29uc3RleHByIGRvdWJsZSBzZWNv
bmRzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQorICAgIGNvbnN0ZXhwciBkb3VibGUgbWls
bGlzZWNvbmRzKCkgY29uc3QgeyByZXR1cm4gc2Vjb25kcygpICogMTAwMDsgfQorICAgIGNvbnN0
ZXhwciBkb3VibGUgbWljcm9zZWNvbmRzKCkgY29uc3QgeyByZXR1cm4gbWlsbGlzZWNvbmRzKCkg
KiAxMDAwOyB9CisgICAgY29uc3RleHByIGRvdWJsZSBuYW5vc2Vjb25kcygpIGNvbnN0IHsgcmV0
dXJuIG1pY3Jvc2Vjb25kcygpICogMTAwMDsgfQogCiAgICAgLy8gS2VlcCBpbiBtaW5kIHRoYXQg
U2Vjb25kcyBpcyBoZWxkIGluIGRvdWJsZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiByYW5nZSBv
ZiA1M2JpdCBpbnRlZ2VyLCB0aGUgcmVzdWx0IG1heSBub3QgYmUgcHJlY2lzZS4KICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBUIG1pbnV0ZXNBcygpIGNvbnN0IHsgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX2ludGVncmFsPFQ+Ojp2YWx1ZSwgIiIpOyByZXR1cm4gY2xhbXBUb0FjY2VwdGluZzY0PFQ+
KG1pbnV0ZXMoKSk7IH0KQEAgLTg5LDM3ICs4OSwzNyBAQCBjbGFzcyBTZWNvbmRzIHsKICAgICAg
ICAgcmV0dXJuIFNlY29uZHMoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgp
KTsKICAgICB9CiAgICAgCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0
dXJuICEhbV92YWx1ZTsgfQorICAgIGV4cGxpY2l0IGNvbnN0ZXhwciBvcGVyYXRvciBib29sKCkg
Y29uc3QgeyByZXR1cm4gISFtX3ZhbHVlOyB9CiAgICAgCi0gICAgU2Vjb25kcyBvcGVyYXRvciso
U2Vjb25kcyBvdGhlcikgY29uc3QKKyAgICBjb25zdGV4cHIgU2Vjb25kcyBvcGVyYXRvcisoU2Vj
b25kcyBvdGhlcikgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBTZWNvbmRzKHZhbHVlKCkg
KyBvdGhlci52YWx1ZSgpKTsKICAgICB9CiAgICAgCi0gICAgU2Vjb25kcyBvcGVyYXRvci0oU2Vj
b25kcyBvdGhlcikgY29uc3QKKyAgICBjb25zdGV4cHIgU2Vjb25kcyBvcGVyYXRvci0oU2Vjb25k
cyBvdGhlcikgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBTZWNvbmRzKHZhbHVlKCkgLSBv
dGhlci52YWx1ZSgpKTsKICAgICB9CiAgICAgCi0gICAgU2Vjb25kcyBvcGVyYXRvci0oKSBjb25z
dAorICAgIGNvbnN0ZXhwciBTZWNvbmRzIG9wZXJhdG9yLSgpIGNvbnN0CiAgICAgewogICAgICAg
ICByZXR1cm4gU2Vjb25kcygtdmFsdWUoKSk7CiAgICAgfQogICAgIAogICAgIC8vIEl0IG1ha2Vz
IHNlbnNlIHRvIGNvbnNpZGVyIHNjYWxpbmcgYSBkdXJhdGlvbiwgbGlrZSwgIkkgd2FudCB0byB3
YWl0IDUgdGltZXMgYXMgbG9uZyBhcwogICAgIC8vIGxhc3QgdGltZSEiLgotICAgIFNlY29uZHMg
b3BlcmF0b3IqKGRvdWJsZSBzY2FsYXIpIGNvbnN0CisgICAgY29uc3RleHByIFNlY29uZHMgb3Bl
cmF0b3IqKGRvdWJsZSBzY2FsYXIpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gU2Vjb25k
cyh2YWx1ZSgpICogc2NhbGFyKTsKICAgICB9CiAgICAgCi0gICAgU2Vjb25kcyBvcGVyYXRvci8o
ZG91YmxlIHNjYWxhcikgY29uc3QKKyAgICBjb25zdGV4cHIgU2Vjb25kcyBvcGVyYXRvci8oZG91
YmxlIHNjYWxhcikgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBTZWNvbmRzKHZhbHVlKCkg
LyBzY2FsYXIpOwogICAgIH0KICAgICAKICAgICAvLyBJdCdzIHJlYXNvbmFibGUgdG8gdGhpbmsg
YWJvdXQgcmF0aW9zIGJldHdlZW4gU2Vjb25kcy4KLSAgICBkb3VibGUgb3BlcmF0b3IvKFNlY29u
ZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGRvdWJsZSBvcGVyYXRvci8oU2Vjb25kcyBv
dGhlcikgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiB2YWx1ZSgpIC8gb3RoZXIudmFsdWUo
KTsKICAgICB9CkBAIC0xNzcsMzIgKzE3NywzMiBAQCBjbGFzcyBTZWNvbmRzIHsKICAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgTW9ub3RvbmljVGltZSBvcGVyYXRvci0oTW9ub3RvbmljVGltZSkgY29u
c3Q7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIFRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBvcGVy
YXRvci0oY29uc3QgVGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlJikgY29uc3Q7CiAgICAgCi0gICAg
Ym9vbCBvcGVyYXRvcj09KFNlY29uZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGJvb2wg
b3BlcmF0b3I9PShTZWNvbmRzIG90aGVyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
dmFsdWUgPT0gb3RoZXIubV92YWx1ZTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBvcGVyYXRvciE9
KFNlY29uZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGJvb2wgb3BlcmF0b3IhPShTZWNv
bmRzIG90aGVyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdmFsdWUgIT0gb3RoZXIu
bV92YWx1ZTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBvcGVyYXRvcjwoU2Vjb25kcyBvdGhlcikg
Y29uc3QKKyAgICBjb25zdGV4cHIgYm9vbCBvcGVyYXRvcjwoU2Vjb25kcyBvdGhlcikgY29uc3QK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZhbHVlIDwgb3RoZXIubV92YWx1ZTsKICAgICB9CiAg
ICAgCi0gICAgYm9vbCBvcGVyYXRvcj4oU2Vjb25kcyBvdGhlcikgY29uc3QKKyAgICBjb25zdGV4
cHIgYm9vbCBvcGVyYXRvcj4oU2Vjb25kcyBvdGhlcikgY29uc3QKICAgICB7CiAgICAgICAgIHJl
dHVybiBtX3ZhbHVlID4gb3RoZXIubV92YWx1ZTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBvcGVy
YXRvcjw9KFNlY29uZHMgb3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGJvb2wgb3BlcmF0b3I8
PShTZWNvbmRzIG90aGVyKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdmFsdWUgPD0g
b3RoZXIubV92YWx1ZTsKICAgICB9CiAgICAgCi0gICAgYm9vbCBvcGVyYXRvcj49KFNlY29uZHMg
b3RoZXIpIGNvbnN0CisgICAgY29uc3RleHByIGJvb2wgb3BlcmF0b3I+PShTZWNvbmRzIG90aGVy
KSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdmFsdWUgPj0gb3RoZXIubV92YWx1ZTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDQ3NTYwZWQ3MWY4MzI4MjdhOTVkNjU3MGEy
N2U1NzI5ZmExNTlhYTcuLjRlZDkxMjRmMjExNTVmOTUxODEwYjlhZDAzZjAyMTU0YWEyZWYzOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogI2lmIFBMQVRGT1JNKElPUykKLXN0
YXRpYyBjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSB7IDEwMDAgLyA2MC4gfTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSB7IDEwMDBfcyAvIDYwLiB9OwogI2VuZGlm
CiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwg
ZnJhbWVDb3VudGVyLCAoIkZyYW1lIikpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>