<?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>202072</bug_id>
          
          <creation_ts>2019-09-20 22:11:55 -0700</creation_ts>
          <short_desc>[JSC] Int52Rep(DoubleRepAnyIntUse) should not call operation function</short_desc>
          <delta_ts>2019-09-22 02:57:52 -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>JavaScriptCore</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1573035</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-20 22:11:55 -0700</bug_when>
    <thetext>operationConvertDoubleToInt52 is super simple, we should do it in FTL&apos;s B3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573036</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-20 22:13:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/55582459&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573043</commentid>
    <comment_count>2</comment_count>
      <attachid>379310</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-20 23:28:58 -0700</bug_when>
    <thetext>Created attachment 379310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573045</commentid>
    <comment_count>3</comment_count>
      <attachid>379311</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-20 23:41:16 -0700</bug_when>
    <thetext>Created attachment 379311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573046</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-20 23:46:22 -0700</bug_when>
    <thetext>This change improves JetStream2/stanford-crypto-sha256 by ~5%.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573052</commentid>
    <comment_count>5</comment_count>
      <attachid>379315</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-21 00:43:04 -0700</bug_when>
    <thetext>Created attachment 379315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573073</commentid>
    <comment_count>6</comment_count>
      <attachid>379315</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-09-21 09:08:26 -0700</bug_when>
    <thetext>Comment on attachment 379315
Patch

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

r=me

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:15909
&gt; +        speculate(Int52Overflow, doubleValue(value), edge.node(), m_out.greaterThanOrEqual(integerValue, m_out.constInt64(static_cast&lt;int64_t&gt;(1) &lt;&lt; (JSValue::numberOfInt52Bits - 1))));
&gt; +        speculate(Int52Overflow, doubleValue(value), edge.node(), m_out.lessThan(integerValue, m_out.constInt64(-(static_cast&lt;int64_t&gt;(1) &lt;&lt; (JSValue::numberOfInt52Bits - 1)))));

This looks correct to me, but please also add some tests to verify that these edge cases are handled correctly ... just to make sure we don&apos;t have an off by 1 error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573075</commentid>
    <comment_count>7</comment_count>
      <attachid>379315</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-09-21 09:09:34 -0700</bug_when>
    <thetext>Comment on attachment 379315
Patch

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

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:15894
&gt; +        speculate(Int52Overflow, doubleValue(value), edge.node(), valueNotConvertibleToInteger);

Might as well add a test case for this condition too.

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:15904
&gt; +        speculate(Int52Overflow, doubleValue(value), edge.node(), signBitSet);

Might as well add a test case for this condition too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573178</commentid>
    <comment_count>8</comment_count>
      <attachid>379315</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-22 02:45:10 -0700</bug_when>
    <thetext>Comment on attachment 379315
Patch

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

Thanks!

&gt;&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:15894
&gt;&gt; +        speculate(Int52Overflow, doubleValue(value), edge.node(), valueNotConvertibleToInteger);
&gt; 
&gt; Might as well add a test case for this condition too.

Added.

&gt;&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:15904
&gt;&gt; +        speculate(Int52Overflow, doubleValue(value), edge.node(), signBitSet);
&gt; 
&gt; Might as well add a test case for this condition too.

Added.

&gt;&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:15909
&gt;&gt; +        speculate(Int52Overflow, doubleValue(value), edge.node(), m_out.lessThan(integerValue, m_out.constInt64(-(static_cast&lt;int64_t&gt;(1) &lt;&lt; (JSValue::numberOfInt52Bits - 1)))));
&gt; 
&gt; This looks correct to me, but please also add some tests to verify that these edge cases are handled correctly ... just to make sure we don&apos;t have an off by 1 error.

Added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573179</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-22 02:57:52 -0700</bug_when>
    <thetext>Committed r250200: &lt;https://trac.webkit.org/changeset/250200&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379310</attachid>
            <date>2019-09-20 23:28:58 -0700</date>
            <delta_ts>2019-09-20 23:41:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202072-20190920232857.patch</filename>
            <type>text/plain</type>
            <size>5354</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
MGVhMWM0ZmY4ZDZkODQwMTUxNTU1ZjkwMTM0NmYzNjAxNzI1ZjQ3Li4xOWYwZjJlNGM0OTc3NzJm
MGEzMjUwNDRhODE1NGMyY2RhZjI1NTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wOS0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEludDUyUmVwKERvdWJsZVJlcEFueUludFVzZSkgc2hvdWxkIG5v
dCBjYWxsIG9wZXJhdGlvbiBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMDcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6ZG91YmxlVG9TdHJpY3RJbnQ1Mik6CisgICAgICAg
ICogZnRsL0ZUTE91dHB1dC5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpkb3VibGVU
b0ludDY0KToKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6OmludDY0VG9Eb3VibGUpOgorICAg
ICAgICAqIGZ0bC9GVExPdXRwdXQuaDoKKwogMjAxOS0wOS0yMCAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBlbGlkaW5nIGEgbW92ZSBpbiBBaXIgTzAg
bmVlZHMgdG8gbWFyayB0aGUgZGVzdCdzIG9sZCByZWcgYXMgYXZhaWxhYmxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggZjFmN2RjMzljODFh
MDU4YzVkYTZiNzBmNWI2YmVkYzhlNTI0ZTFmMi4uMWUxN2JhOGNjZmI5ODk4OTM3YjdkNDUzYjA5
ZjYzOTk0YTJhYmNjYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0IzLmNwcApAQCAtMTU4ODUsMTYgKzE1ODg1LDI5IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7
CiAgICAgICAgICAgICAKICAgICAgICAgcmV0dXJuIG1fb3V0LnBoaShJbnQ2NCwgaW50VG9JbnQ1
MiwgZG91YmxlVG9JbnQ1Mik7CiAgICAgfQotICAgIAorCiAgICAgTFZhbHVlIGRvdWJsZVRvU3Ry
aWN0SW50NTIoRWRnZSBlZGdlLCBMVmFsdWUgdmFsdWUpCiAgICAgewotICAgICAgICBMVmFsdWUg
cG9zc2libGVSZXN1bHQgPSBtX291dC5jYWxsKAotICAgICAgICAgICAgSW50NjQsIG1fb3V0Lm9w
ZXJhdGlvbihvcGVyYXRpb25Db252ZXJ0RG91YmxlVG9JbnQ1MiksIHZhbHVlKTsKLSAgICAgICAg
RlRMX1RZUEVfQ0hFQ0tfV0lUSF9FWElUX0tJTkQoSW50NTJPdmVyZmxvdywKLSAgICAgICAgICAg
IGRvdWJsZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0FueUludEFzRG91YmxlLAotICAgICAgICAg
ICAgbV9vdXQuZXF1YWwocG9zc2libGVSZXN1bHQsIG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6
bm90SW50NTIpKSk7Ci0gICAgICAgIAotICAgICAgICByZXR1cm4gcG9zc2libGVSZXN1bHQ7Cisg
ICAgICAgIExWYWx1ZSBpbnRlZ2VyVmFsdWUgPSBtX291dC5kb3VibGVUb0ludDY0KHZhbHVlKTsK
KyAgICAgICAgTFZhbHVlIGludGVnZXJWYWx1ZUNvbnZlcnRlZFRvRG91YmxlID0gbV9vdXQuaW50
NjRUb0RvdWJsZShpbnRlZ2VyVmFsdWUpOworICAgICAgICBMVmFsdWUgdmFsdWVOb3RDb252ZXJ0
aWJsZVRvSW50ZWdlciA9IG1fb3V0LmRvdWJsZU5vdEVxdWFsT3JVbm9yZGVyZWQodmFsdWUsIGlu
dGVnZXJWYWx1ZUNvbnZlcnRlZFRvRG91YmxlKTsKKyAgICAgICAgc3BlY3VsYXRlKEludDUyT3Zl
cmZsb3csIGRvdWJsZVZhbHVlKHZhbHVlKSwgZWRnZS5ub2RlKCksIHZhbHVlTm90Q29udmVydGli
bGVUb0ludGVnZXIpOworCisgICAgICAgIExCYXNpY0Jsb2NrIHZhbHVlSXNaZXJvID0gbV9vdXQu
bmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3
QmxvY2soKTsKKyAgICAgICAgbV9vdXQuYnJhbmNoKG1fb3V0LmlzWmVybzY0KGludGVnZXJWYWx1
ZSksIHVuc3VyZSh2YWx1ZUlzWmVybyksIHVuc3VyZShjb250aW51YXRpb24pKTsKKworICAgICAg
ICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKHZhbHVlSXNaZXJvLCBjb250
aW51YXRpb24pOworICAgICAgICBMVmFsdWUgZG91YmxlQml0Y2FzdFRvSW50NjQgPSBtX291dC5i
aXRDYXN0KHZhbHVlLCBJbnQ2NCk7CisgICAgICAgIExWYWx1ZSBzaWduQml0U2V0ID0gbV9vdXQu
bGVzc1RoYW4oZG91YmxlQml0Y2FzdFRvSW50NjQsIG1fb3V0LmNvbnN0SW50NjQoMCkpOworICAg
ICAgICBzcGVjdWxhdGUoSW50NTJPdmVyZmxvdywgZG91YmxlVmFsdWUodmFsdWUpLCBlZGdlLm5v
ZGUoKSwgc2lnbkJpdFNldCk7CisgICAgICAgIHNwZWN1bGF0ZShJbnQ1Mk92ZXJmbG93LCBkb3Vi
bGVWYWx1ZSh2YWx1ZSksIGVkZ2Uubm9kZSgpLCBtX291dC5ncmVhdGVyVGhhbk9yRXF1YWwoaW50
ZWdlclZhbHVlLCBtX291dC5jb25zdEludDY0KHN0YXRpY19jYXN0PGludDY0X3Q+KDEpIDw8IChK
U1ZhbHVlOjpudW1iZXJPZkludDUyQml0cyAtIDEpKSkpOworICAgICAgICBzcGVjdWxhdGUoSW50
NTJPdmVyZmxvdywgZG91YmxlVmFsdWUodmFsdWUpLCBlZGdlLm5vZGUoKSwgbV9vdXQubGVzc1Ro
YW4oaW50ZWdlclZhbHVlLCBtX291dC5jb25zdEludDY0KC0oc3RhdGljX2Nhc3Q8aW50NjRfdD4o
MSkgPDwgKEpTVmFsdWU6Om51bWJlck9mSW50NTJCaXRzIC0gMSkpKSkpOworICAgICAgICBtX291
dC5qdW1wKGNvbnRpbnVhdGlvbik7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0
aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIG1faW50ZXJwcmV0ZXIuZmlsdGVyKGVkZ2UsIFNwZWNB
bnlJbnRBc0RvdWJsZSk7CisgICAgICAgIHJldHVybiBpbnRlZ2VyVmFsdWU7CiAgICAgfQogCiAg
ICAgTFZhbHVlIGNvbnZlcnREb3VibGVUb0ludDMyKExWYWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRD
aGVja05lZ2F0aXZlWmVybykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMT3V0cHV0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmNwcApp
bmRleCBjYzRiYjM5NzZhMTNjZWY0ZjU2MzFiZjYyMGRmOGQ0YjNjMjVmZTBhLi43OTg0MDc2NzNl
NzU4MGUwOWJhMTYyZmY1M2VmNjgzYjc2MzliMGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExPdXRwdXQuY3BwCkBAIC0zMzMsNiArMzMzLDE4IEBAIExWYWx1ZSBPdXRwdXQ6OmRvdWJs
ZVRvSW50KExWYWx1ZSB2YWx1ZSkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitMVmFsdWUgT3V0
cHV0Ojpkb3VibGVUb0ludDY0KExWYWx1ZSB2YWx1ZSkKK3sKKyAgICBQYXRjaHBvaW50VmFsdWUq
IHJlc3VsdCA9IHBhdGNocG9pbnQoSW50NjQpOworICAgIHJlc3VsdC0+YXBwZW5kKHZhbHVlLCBW
YWx1ZVJlcDo6U29tZVJlZ2lzdGVyKTsKKyAgICByZXN1bHQtPnNldEdlbmVyYXRvcigKKyAgICAg
ICAgW10gKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBTdGFja21hcEdlbmVyYXRpb25QYXJhbXMm
IHBhcmFtcykgeworICAgICAgICAgICAgaml0LnRydW5jYXRlRG91YmxlVG9JbnQ2NChwYXJhbXNb
MV0uZnByKCksIHBhcmFtc1swXS5ncHIoKSk7CisgICAgICAgIH0pOworICAgIHJlc3VsdC0+ZWZm
ZWN0cyA9IEVmZmVjdHM6Om5vbmUoKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBMVmFsdWUg
T3V0cHV0Ojpkb3VibGVUb1VJbnQoTFZhbHVlIHZhbHVlKQogewogICAgIFBhdGNocG9pbnRWYWx1
ZSogcmVzdWx0ID0gcGF0Y2hwb2ludChJbnQzMik7CkBAIC0zNjksNiArMzgxLDExIEBAIExWYWx1
ZSBPdXRwdXQ6OmludFRvRG91YmxlKExWYWx1ZSB2YWx1ZSkKICAgICByZXR1cm4gbV9ibG9jay0+
YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6SVRvRCwgb3JpZ2luKCksIHZhbHVlKTsK
IH0KIAorTFZhbHVlIE91dHB1dDo6aW50NjRUb0RvdWJsZShMVmFsdWUgdmFsdWUpCit7CisgICAg
cmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OklUb0QsIG9y
aWdpbigpLCB2YWx1ZSk7Cit9CisKIExWYWx1ZSBPdXRwdXQ6OnVuc2lnbmVkVG9Eb3VibGUoTFZh
bHVlIHZhbHVlKQogewogICAgIHJldHVybiBpbnRUb0RvdWJsZSh6ZXJvRXh0KHZhbHVlLCBJbnQ2
NCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgKaW5kZXggYTE1Y2NlNDgzZGZi
Yzc1YjZlYzYzNDczNTI0NWJiNTBjYWQ3NzQ0Mi4uZDBjYjM1MTMwZGM0MzQ2NzhiZWRmZjcyMjU4
MDk0YzMwMzE4NDkwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
dXRwdXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCkBAIC0x
ODgsNiArMTg4LDcgQEAgY2xhc3MgT3V0cHV0IDogcHVibGljIENvbW1vblZhbHVlcyB7CiAgICAg
TFZhbHVlIGRvdWJsZUxvZyhMVmFsdWUpOwogCiAgICAgTFZhbHVlIGRvdWJsZVRvSW50KExWYWx1
ZSk7CisgICAgTFZhbHVlIGRvdWJsZVRvSW50NjQoTFZhbHVlKTsKICAgICBMVmFsdWUgZG91Ymxl
VG9VSW50KExWYWx1ZSk7CiAKICAgICBMVmFsdWUgc2lnbkV4dDMyVG82NChMVmFsdWUpOwpAQCAt
MTk1LDYgKzE5Niw3IEBAIGNsYXNzIE91dHB1dCA6IHB1YmxpYyBDb21tb25WYWx1ZXMgewogICAg
IExWYWx1ZSB6ZXJvRXh0KExWYWx1ZSwgTFR5cGUpOwogICAgIExWYWx1ZSB6ZXJvRXh0UHRyKExW
YWx1ZSB2YWx1ZSkgeyByZXR1cm4gemVyb0V4dCh2YWx1ZSwgQjM6OkludDY0KTsgfQogICAgIExW
YWx1ZSBpbnRUb0RvdWJsZShMVmFsdWUpOworICAgIExWYWx1ZSBpbnQ2NFRvRG91YmxlKExWYWx1
ZSk7CiAgICAgTFZhbHVlIHVuc2lnbmVkVG9Eb3VibGUoTFZhbHVlKTsKICAgICBMVmFsdWUgY2Fz
dFRvSW50MzIoTFZhbHVlKTsKICAgICBMVmFsdWUgZG91YmxlVG9GbG9hdChMVmFsdWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379311</attachid>
            <date>2019-09-20 23:41:16 -0700</date>
            <delta_ts>2019-09-21 00:43:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202072-20190920234116.patch</filename>
            <type>text/plain</type>
            <size>4745</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
MGVhMWM0ZmY4ZDZkODQwMTUxNTU1ZjkwMTM0NmYzNjAxNzI1ZjQ3Li5iZDU1ODk1MWNmOGUxMmIz
YzdhZjFkYWQxNjAxY2YxNTVjMTk4MDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOS0wOS0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEludDUyUmVwKERvdWJsZVJlcEFueUludFVzZSkgc2hvdWxkIG5v
dCBjYWxsIG9wZXJhdGlvbiBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMDcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6ZG91YmxlVG9TdHJpY3RJbnQ1Mik6CisgICAgICAg
ICogZnRsL0ZUTE91dHB1dC5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpkb3VibGVU
b0ludDY0KToKKyAgICAgICAgKiBmdGwvRlRMT3V0cHV0Lmg6CisKIDIwMTktMDktMjAgIEtlaXRo
IE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgZWxpZGluZyBhIG1v
dmUgaW4gQWlyIE8wIG5lZWRzIHRvIG1hcmsgdGhlIGRlc3QncyBvbGQgcmVnIGFzIGF2YWlsYWJs
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4
IGYxZjdkYzM5YzgxYTA1OGM1ZGE2YjcwZjViNmJlZGM4ZTUyNGUxZjIuLmExNDBiMGI0NDkyNzJm
NmMwZDM0Mjk3NWM2N2YxZTBhYjVmMTliNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTE1ODg1LDE2ICsxNTg4NSwzMyBAQCBjbGFzcyBM
b3dlckRGR1RvQjMgewogICAgICAgICAgICAgCiAgICAgICAgIHJldHVybiBtX291dC5waGkoSW50
NjQsIGludFRvSW50NTIsIGRvdWJsZVRvSW50NTIpOwogICAgIH0KLSAgICAKKwogICAgIExWYWx1
ZSBkb3VibGVUb1N0cmljdEludDUyKEVkZ2UgZWRnZSwgTFZhbHVlIHZhbHVlKQogICAgIHsKLSAg
ICAgICAgTFZhbHVlIHBvc3NpYmxlUmVzdWx0ID0gbV9vdXQuY2FsbCgKLSAgICAgICAgICAgIElu
dDY0LCBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uQ29udmVydERvdWJsZVRvSW50NTIpLCB2YWx1
ZSk7Ci0gICAgICAgIEZUTF9UWVBFX0NIRUNLX1dJVEhfRVhJVF9LSU5EKEludDUyT3ZlcmZsb3cs
Ci0gICAgICAgICAgICBkb3VibGVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNBbnlJbnRBc0RvdWJs
ZSwKLSAgICAgICAgICAgIG1fb3V0LmVxdWFsKHBvc3NpYmxlUmVzdWx0LCBtX291dC5jb25zdElu
dDY0KEpTVmFsdWU6Om5vdEludDUyKSkpOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIHBvc3Np
YmxlUmVzdWx0OworICAgICAgICBMVmFsdWUgaW50ZWdlclZhbHVlID0gbV9vdXQuZG91YmxlVG9J
bnQ2NCh2YWx1ZSk7CisgICAgICAgIExWYWx1ZSBpbnRlZ2VyVmFsdWVDb252ZXJ0ZWRUb0RvdWJs
ZSA9IG1fb3V0LmludFRvRG91YmxlKGludGVnZXJWYWx1ZSk7CisgICAgICAgIExWYWx1ZSB2YWx1
ZU5vdENvbnZlcnRpYmxlVG9JbnRlZ2VyID0gbV9vdXQuZG91YmxlTm90RXF1YWxPclVub3JkZXJl
ZCh2YWx1ZSwgaW50ZWdlclZhbHVlQ29udmVydGVkVG9Eb3VibGUpOworICAgICAgICBzcGVjdWxh
dGUoSW50NTJPdmVyZmxvdywgZG91YmxlVmFsdWUodmFsdWUpLCBlZGdlLm5vZGUoKSwgdmFsdWVO
b3RDb252ZXJ0aWJsZVRvSW50ZWdlcik7CisKKyAgICAgICAgTEJhc2ljQmxvY2sgdmFsdWVJc1pl
cm8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayB2YWx1ZUlzTm90WmVy
byA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9
IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIG1fb3V0LmJyYW5jaChtX291dC5pc1plcm82NChp
bnRlZ2VyVmFsdWUpLCB1bnN1cmUodmFsdWVJc1plcm8pLCB1bnN1cmUodmFsdWVJc05vdFplcm8p
KTsKKworICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKHZhbHVl
SXNaZXJvLCB2YWx1ZUlzTm90WmVybyk7CisgICAgICAgIExWYWx1ZSBkb3VibGVCaXRjYXN0VG9J
bnQ2NCA9IG1fb3V0LmJpdENhc3QodmFsdWUsIEludDY0KTsKKyAgICAgICAgTFZhbHVlIHNpZ25C
aXRTZXQgPSBtX291dC5sZXNzVGhhbihkb3VibGVCaXRjYXN0VG9JbnQ2NCwgbV9vdXQuY29uc3RJ
bnQ2NCgwKSk7CisgICAgICAgIHNwZWN1bGF0ZShJbnQ1Mk92ZXJmbG93LCBkb3VibGVWYWx1ZSh2
YWx1ZSksIGVkZ2Uubm9kZSgpLCBzaWduQml0U2V0KTsKKyAgICAgICAgbV9vdXQuanVtcChjb250
aW51YXRpb24pOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHZhbHVlSXNOb3RaZXJvLCBjb250
aW51YXRpb24pOworICAgICAgICBzcGVjdWxhdGUoSW50NTJPdmVyZmxvdywgZG91YmxlVmFsdWUo
dmFsdWUpLCBlZGdlLm5vZGUoKSwgbV9vdXQuZ3JlYXRlclRoYW5PckVxdWFsKGludGVnZXJWYWx1
ZSwgbV9vdXQuY29uc3RJbnQ2NChzdGF0aWNfY2FzdDxpbnQ2NF90PigxKSA8PCAoSlNWYWx1ZTo6
bnVtYmVyT2ZJbnQ1MkJpdHMgLSAxKSkpKTsKKyAgICAgICAgc3BlY3VsYXRlKEludDUyT3ZlcmZs
b3csIGRvdWJsZVZhbHVlKHZhbHVlKSwgZWRnZS5ub2RlKCksIG1fb3V0Lmxlc3NUaGFuKGludGVn
ZXJWYWx1ZSwgbV9vdXQuY29uc3RJbnQ2NCgtKHN0YXRpY19jYXN0PGludDY0X3Q+KDEpIDw8IChK
U1ZhbHVlOjpudW1iZXJPZkludDUyQml0cyAtIDEpKSkpKTsKKyAgICAgICAgbV9vdXQuanVtcChj
b250aW51YXRpb24pOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFz
dE5leHQpOworICAgICAgICBtX2ludGVycHJldGVyLmZpbHRlcihlZGdlLCBTcGVjQW55SW50QXNE
b3VibGUpOworICAgICAgICByZXR1cm4gaW50ZWdlclZhbHVlOwogICAgIH0KIAogICAgIExWYWx1
ZSBjb252ZXJ0RG91YmxlVG9JbnQzMihMVmFsdWUgdmFsdWUsIGJvb2wgc2hvdWxkQ2hlY2tOZWdh
dGl2ZVplcm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAKaW5kZXggY2M0
YmIzOTc2YTEzY2VmNGY1NjMxYmY2MjBkZjhkNGIzYzI1ZmUwYS4uNzQ5MzNkYzYwNTE1YzVkYTAw
ZWExOGZjN2Q1ZGIzYWQ5Y2U1ZTljZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExPdXRwdXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0
cHV0LmNwcApAQCAtMzMzLDYgKzMzMywxOCBAQCBMVmFsdWUgT3V0cHV0Ojpkb3VibGVUb0ludChM
VmFsdWUgdmFsdWUpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorTFZhbHVlIE91dHB1dDo6ZG91
YmxlVG9JbnQ2NChMVmFsdWUgdmFsdWUpCit7CisgICAgUGF0Y2hwb2ludFZhbHVlKiByZXN1bHQg
PSBwYXRjaHBvaW50KEludDY0KTsKKyAgICByZXN1bHQtPmFwcGVuZCh2YWx1ZSwgVmFsdWVSZXA6
OlNvbWVSZWdpc3Rlcik7CisgICAgcmVzdWx0LT5zZXRHZW5lcmF0b3IoCisgICAgICAgIFtdIChD
Q2FsbEhlbHBlcnMmIGppdCwgY29uc3QgU3RhY2ttYXBHZW5lcmF0aW9uUGFyYW1zJiBwYXJhbXMp
IHsKKyAgICAgICAgICAgIGppdC50cnVuY2F0ZURvdWJsZVRvSW50NjQocGFyYW1zWzFdLmZwcigp
LCBwYXJhbXNbMF0uZ3ByKCkpOworICAgICAgICB9KTsKKyAgICByZXN1bHQtPmVmZmVjdHMgPSBF
ZmZlY3RzOjpub25lKCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogTFZhbHVlIE91dHB1dDo6
ZG91YmxlVG9VSW50KExWYWx1ZSB2YWx1ZSkKIHsKICAgICBQYXRjaHBvaW50VmFsdWUqIHJlc3Vs
dCA9IHBhdGNocG9pbnQoSW50MzIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExPdXRwdXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgK
aW5kZXggYTE1Y2NlNDgzZGZiYzc1YjZlYzYzNDczNTI0NWJiNTBjYWQ3NzQ0Mi4uNDVkYjFkOTc5
YTY5NjE0ZTM4YTczYWY2NjgzYTBhMDFiNWFlZmQ0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTE91dHB1dC5oCkBAIC0xODgsNiArMTg4LDcgQEAgY2xhc3MgT3V0cHV0IDogcHVibGljIENv
bW1vblZhbHVlcyB7CiAgICAgTFZhbHVlIGRvdWJsZUxvZyhMVmFsdWUpOwogCiAgICAgTFZhbHVl
IGRvdWJsZVRvSW50KExWYWx1ZSk7CisgICAgTFZhbHVlIGRvdWJsZVRvSW50NjQoTFZhbHVlKTsK
ICAgICBMVmFsdWUgZG91YmxlVG9VSW50KExWYWx1ZSk7CiAKICAgICBMVmFsdWUgc2lnbkV4dDMy
VG82NChMVmFsdWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379315</attachid>
            <date>2019-09-21 00:43:04 -0700</date>
            <delta_ts>2019-09-21 09:08:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202072-20190921004303.patch</filename>
            <type>text/plain</type>
            <size>6479</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
MGVhMWM0ZmY4ZDZkODQwMTUxNTU1ZjkwMTM0NmYzNjAxNzI1ZjQ3Li4wZTViOTY5ZWI0NDc3ZDMz
MDM1OTZhYzg0MmFhZWY3YmYwNmM5ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxOS0wOS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEludDUyUmVwKERvdWJsZVJlcEFueUludFVzZSkgc2hvdWxkIG5v
dCBjYWxsIG9wZXJhdGlvbiBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMDcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW5saW5lIGRvdWJsZVRvU3RyaWN0SW50NTIgaW4gRlRMIHNpbmNl
IGl0IGlzIHZlcnkgc2ltcGxlIGZ1bmN0aW9uLgorICAgICAgICBUaGlzIGNoYW5nZSBpbXByb3Zl
cyBKZXRTdHJlYW0yL3N0YW5mb3JkLWNyeXB0by1zaGEyNTYgYnkgfjUlLgorCisgICAgICAgICog
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRG
R1RvQjM6OmRvdWJsZVRvU3RyaWN0SW50NTIpOgorICAgICAgICAqIGZ0bC9GVExPdXRwdXQuY3Bw
OgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6ZG91YmxlVG9JbnQ2NCk6CisgICAgICAgICog
ZnRsL0ZUTE91dHB1dC5oOgorCiAyMDE5LTA5LTIwICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxs
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIGVsaWRpbmcgYSBtb3ZlIGluIEFpciBPMCBuZWVkcyB0
byBtYXJrIHRoZSBkZXN0J3Mgb2xkIHJlZyBhcyBhdmFpbGFibGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCBmMWY3ZGMzOWM4MWEwNThjNWRh
NmI3MGY1YjZiZWRjOGU1MjRlMWYyLi5hMTQwYjBiNDQ5MjcyZjZjMGQzNDI5NzVjNjdmMWUwYWI1
ZjE5YjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMu
Y3BwCkBAIC0xNTg4NSwxNiArMTU4ODUsMzMgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAgICAg
ICAgICAgIAogICAgICAgICByZXR1cm4gbV9vdXQucGhpKEludDY0LCBpbnRUb0ludDUyLCBkb3Vi
bGVUb0ludDUyKTsKICAgICB9Ci0gICAgCisKICAgICBMVmFsdWUgZG91YmxlVG9TdHJpY3RJbnQ1
MihFZGdlIGVkZ2UsIExWYWx1ZSB2YWx1ZSkKICAgICB7Ci0gICAgICAgIExWYWx1ZSBwb3NzaWJs
ZVJlc3VsdCA9IG1fb3V0LmNhbGwoCi0gICAgICAgICAgICBJbnQ2NCwgbV9vdXQub3BlcmF0aW9u
KG9wZXJhdGlvbkNvbnZlcnREb3VibGVUb0ludDUyKSwgdmFsdWUpOwotICAgICAgICBGVExfVFlQ
RV9DSEVDS19XSVRIX0VYSVRfS0lORChJbnQ1Mk92ZXJmbG93LAotICAgICAgICAgICAgZG91Ymxl
VmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQW55SW50QXNEb3VibGUsCi0gICAgICAgICAgICBtX291
dC5lcXVhbChwb3NzaWJsZVJlc3VsdCwgbV9vdXQuY29uc3RJbnQ2NChKU1ZhbHVlOjpub3RJbnQ1
MikpKTsKLSAgICAgICAgCi0gICAgICAgIHJldHVybiBwb3NzaWJsZVJlc3VsdDsKKyAgICAgICAg
TFZhbHVlIGludGVnZXJWYWx1ZSA9IG1fb3V0LmRvdWJsZVRvSW50NjQodmFsdWUpOworICAgICAg
ICBMVmFsdWUgaW50ZWdlclZhbHVlQ29udmVydGVkVG9Eb3VibGUgPSBtX291dC5pbnRUb0RvdWJs
ZShpbnRlZ2VyVmFsdWUpOworICAgICAgICBMVmFsdWUgdmFsdWVOb3RDb252ZXJ0aWJsZVRvSW50
ZWdlciA9IG1fb3V0LmRvdWJsZU5vdEVxdWFsT3JVbm9yZGVyZWQodmFsdWUsIGludGVnZXJWYWx1
ZUNvbnZlcnRlZFRvRG91YmxlKTsKKyAgICAgICAgc3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIGRv
dWJsZVZhbHVlKHZhbHVlKSwgZWRnZS5ub2RlKCksIHZhbHVlTm90Q29udmVydGlibGVUb0ludGVn
ZXIpOworCisgICAgICAgIExCYXNpY0Jsb2NrIHZhbHVlSXNaZXJvID0gbV9vdXQubmV3QmxvY2so
KTsKKyAgICAgICAgTEJhc2ljQmxvY2sgdmFsdWVJc05vdFplcm8gPSBtX291dC5uZXdCbG9jaygp
OworICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwor
ICAgICAgICBtX291dC5icmFuY2gobV9vdXQuaXNaZXJvNjQoaW50ZWdlclZhbHVlKSwgdW5zdXJl
KHZhbHVlSXNaZXJvKSwgdW5zdXJlKHZhbHVlSXNOb3RaZXJvKSk7CisKKyAgICAgICAgTEJhc2lj
QmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyh2YWx1ZUlzWmVybywgdmFsdWVJc05vdFpl
cm8pOworICAgICAgICBMVmFsdWUgZG91YmxlQml0Y2FzdFRvSW50NjQgPSBtX291dC5iaXRDYXN0
KHZhbHVlLCBJbnQ2NCk7CisgICAgICAgIExWYWx1ZSBzaWduQml0U2V0ID0gbV9vdXQubGVzc1Ro
YW4oZG91YmxlQml0Y2FzdFRvSW50NjQsIG1fb3V0LmNvbnN0SW50NjQoMCkpOworICAgICAgICBz
cGVjdWxhdGUoSW50NTJPdmVyZmxvdywgZG91YmxlVmFsdWUodmFsdWUpLCBlZGdlLm5vZGUoKSwg
c2lnbkJpdFNldCk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKworICAgICAg
ICBtX291dC5hcHBlbmRUbyh2YWx1ZUlzTm90WmVybywgY29udGludWF0aW9uKTsKKyAgICAgICAg
c3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIGRvdWJsZVZhbHVlKHZhbHVlKSwgZWRnZS5ub2RlKCks
IG1fb3V0LmdyZWF0ZXJUaGFuT3JFcXVhbChpbnRlZ2VyVmFsdWUsIG1fb3V0LmNvbnN0SW50NjQo
c3RhdGljX2Nhc3Q8aW50NjRfdD4oMSkgPDwgKEpTVmFsdWU6Om51bWJlck9mSW50NTJCaXRzIC0g
MSkpKSk7CisgICAgICAgIHNwZWN1bGF0ZShJbnQ1Mk92ZXJmbG93LCBkb3VibGVWYWx1ZSh2YWx1
ZSksIGVkZ2Uubm9kZSgpLCBtX291dC5sZXNzVGhhbihpbnRlZ2VyVmFsdWUsIG1fb3V0LmNvbnN0
SW50NjQoLShzdGF0aWNfY2FzdDxpbnQ2NF90PigxKSA8PCAoSlNWYWx1ZTo6bnVtYmVyT2ZJbnQ1
MkJpdHMgLSAxKSkpKSk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKworICAg
ICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICAgICAgbV9p
bnRlcnByZXRlci5maWx0ZXIoZWRnZSwgU3BlY0FueUludEFzRG91YmxlKTsKKyAgICAgICAgcmV0
dXJuIGludGVnZXJWYWx1ZTsKICAgICB9CiAKICAgICBMVmFsdWUgY29udmVydERvdWJsZVRvSW50
MzIoTFZhbHVlIHZhbHVlLCBib29sIHNob3VsZENoZWNrTmVnYXRpdmVaZXJvKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuY3BwCmluZGV4IGNjNGJiMzk3NmExM2NlZjRmNTYzMWJm
NjIwZGY4ZDRiM2MyNWZlMGEuLjc0OTMzZGM2MDUxNWM1ZGEwMGVhMThmYzdkNWRiM2FkOWNlNWU5
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAKQEAgLTMzMyw2ICsz
MzMsMTggQEAgTFZhbHVlIE91dHB1dDo6ZG91YmxlVG9JbnQoTFZhbHVlIHZhbHVlKQogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKK0xWYWx1ZSBPdXRwdXQ6OmRvdWJsZVRvSW50NjQoTFZhbHVlIHZh
bHVlKQoreworICAgIFBhdGNocG9pbnRWYWx1ZSogcmVzdWx0ID0gcGF0Y2hwb2ludChJbnQ2NCk7
CisgICAgcmVzdWx0LT5hcHBlbmQodmFsdWUsIFZhbHVlUmVwOjpTb21lUmVnaXN0ZXIpOworICAg
IHJlc3VsdC0+c2V0R2VuZXJhdG9yKAorICAgICAgICBbXSAoQ0NhbGxIZWxwZXJzJiBqaXQsIGNv
bnN0IFN0YWNrbWFwR2VuZXJhdGlvblBhcmFtcyYgcGFyYW1zKSB7CisgICAgICAgICAgICBqaXQu
dHJ1bmNhdGVEb3VibGVUb0ludDY0KHBhcmFtc1sxXS5mcHIoKSwgcGFyYW1zWzBdLmdwcigpKTsK
KyAgICAgICAgfSk7CisgICAgcmVzdWx0LT5lZmZlY3RzID0gRWZmZWN0czo6bm9uZSgpOworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKIExWYWx1ZSBPdXRwdXQ6OmRvdWJsZVRvVUludChMVmFsdWUg
dmFsdWUpCiB7CiAgICAgUGF0Y2hwb2ludFZhbHVlKiByZXN1bHQgPSBwYXRjaHBvaW50KEludDMy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCmluZGV4IGExNWNjZTQ4M2RmYmM3
NWI2ZWM2MzQ3MzUyNDViYjUwY2FkNzc0NDIuLjQ1ZGIxZDk3OWE2OTYxNGUzOGE3M2FmNjY4M2Ew
YTAxYjVhZWZkNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0
cHV0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaApAQCAtMTg4
LDYgKzE4OCw3IEBAIGNsYXNzIE91dHB1dCA6IHB1YmxpYyBDb21tb25WYWx1ZXMgewogICAgIExW
YWx1ZSBkb3VibGVMb2coTFZhbHVlKTsKIAogICAgIExWYWx1ZSBkb3VibGVUb0ludChMVmFsdWUp
OworICAgIExWYWx1ZSBkb3VibGVUb0ludDY0KExWYWx1ZSk7CiAgICAgTFZhbHVlIGRvdWJsZVRv
VUludChMVmFsdWUpOwogCiAgICAgTFZhbHVlIHNpZ25FeHQzMlRvNjQoTFZhbHVlKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTMwYTY1
ZWRhYTY0NjRiMDNjMjYyN2FkNDI2ZmVhMzA4ZTU4ODAwYy4uMjFjZDEyNjE2YzI5ZWFlZTE5YmYw
ODk2ZmZlOTUyNTYzY2I1OTRhYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
SlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wOS0yMSAgWXVzdWtlIFN1
enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIEludDUyUmVwKERvdWJs
ZVJlcEFueUludFVzZSkgc2hvdWxkIG5vdCBjYWxsIG9wZXJhdGlvbiBmdW5jdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMDcyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvaW50NTJy
ZXAtd2l0aC1kb3VibGUtY2hlY2tzLWludDUyLXJhbmdlLmpzOiBBZGRlZC4KKyAgICAgICAgKHNo
b3VsZEJlKToKKyAgICAgICAgKHRlc3QpOgorCiAyMDE5LTA5LTIwICBTYWFtIEJhcmF0aSAgPHNi
YXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIE1ha2UgdG9jdG91LWhhdmlu
Zy1hLWJhZC10aW1lLW5ldy1hcnJheS5qcyBydW4gZm9yIGxlc3MgdGltZSBiZWNhdXNlIGl0J3Mg
dGltaW5nIG91dCBvbiB0aGUgZGVidWcgYm90cy4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNz
L2ludDUycmVwLXdpdGgtZG91YmxlLWNoZWNrcy1pbnQ1Mi1yYW5nZS5qcyBiL0pTVGVzdHMvc3Ry
ZXNzL2ludDUycmVwLXdpdGgtZG91YmxlLWNoZWNrcy1pbnQ1Mi1yYW5nZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mYjY2MGFhNTRkODNhMTY3MmM0YjI2NzcxYTMyMmVkNWNiMDE4MTQ3Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy9zdHJlc3MvaW50NTJyZXAtd2l0aC1kb3VibGUtY2hlY2tzLWludDUyLXJh
bmdlLmpzCkBAIC0wLDAgKzEsMjAgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0
ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQorCit2YXIgZG91YmxlQXJyYXkgPSBbMywg
MSwgMiwgMywgNCwgNS41XTsKK2RvdWJsZUFycmF5WzBdID0gMzsgLy8gQnJlYWsgQ29XLgorCitm
dW5jdGlvbiB0ZXN0KGFycmF5KQoreworICAgIHJldHVybiBmaWF0SW50NTIoYXJyYXlbMF0pICsg
MHhmZmZmZmZmZjsKK30KK25vSW5saW5lKHRlc3QpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDFl
NjsgKytpKQorICAgIHNob3VsZEJlKHRlc3QoZG91YmxlQXJyYXkpLCAweGZmZmZmZmZmICsgMyk7
Citkb3VibGVBcnJheVswXSA9IDB4ODAwMDAwMDAwMDAwMDA7CitzaG91bGRCZSh0ZXN0KGRvdWJs
ZUFycmF5KSwgMHg4MDAwMDBmZmZmZmZmZik7Citkb3VibGVBcnJheVswXSA9IDM7CitzaG91bGRC
ZSh0ZXN0KGRvdWJsZUFycmF5KSwgMHhmZmZmZmZmZiArIDMpOwo=
</data>
<flag name="review"
          id="395018"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>