<?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>151464</bug_id>
          
          <creation_ts>2015-11-19 14:15:45 -0800</creation_ts>
          <short_desc>B3 should have a story for Ext/Trunc strength reduction</short_desc>
          <delta_ts>2015-11-19 15:36:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>151428</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1143442</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-19 14:15:45 -0800</bug_when>
    <thetext>The LLVM shift operations require the shift amount to have the same type as the shift base. The B3 shift operations require the shift amount to be an Int32. DFG concurs with this. But the initial lowering will probably involve pretending the FTLOutput&apos;s shift operations still take an LLVM-style shift amount, and then on B3 they will emit a Trunc. That means that we&apos;ll want to be able to constant fold Trunc and be able to fold Trunc(ZExt).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143461</commentid>
    <comment_count>1</comment_count>
      <attachid>265907</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-19 14:56:11 -0800</bug_when>
    <thetext>Created attachment 265907
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143464</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-19 15:08:27 -0800</bug_when>
    <thetext>Attachment 265907 did not pass style-queue:


ERROR: Source/JavaScriptCore/ftl/FTLB3Output.cpp:133:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 7 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>1143473</commentid>
    <comment_count>3</comment_count>
      <attachid>265907</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-11-19 15:18:38 -0800</bug_when>
    <thetext>Comment on attachment 265907
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143480</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-19 15:36:13 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/192665</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265907</attachid>
            <date>2015-11-19 14:56:11 -0800</date>
            <delta_ts>2015-11-19 15:18:38 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>14280</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkyNjYwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBA
CisyMDE1LTExLTE5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QjMgc2hvdWxkIGhhdmUgYSBzdG9yeSBmb3IgRXh0L1RydW5jIHN0cmVuZ3RoIHJlZHVjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNDY0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIExMVk0g
c2hpZnQgb3BlcmF0aW9ucyByZXF1aXJlIHRoZSBzaGlmdCBhbW91bnQgdG8gaGF2ZSB0aGUgc2Ft
ZSB0eXBlIGFzIHRoZSBzaGlmdCBiYXNlLiBUaGUgQjMKKyAgICAgICAgc2hpZnQgb3BlcmF0aW9u
cyByZXF1aXJlIHRoZSBzaGlmdCBhbW91bnQgdG8gYmUgYW4gSW50MzIuIERGRyBjb25jdXJzIHdp
dGggdGhpcy4gQnV0IHRoZSBpbml0aWFsCisgICAgICAgIGxvd2VyaW5nIHNob3VsZCBpbnZvbHZl
IHByZXRlbmRpbmcgdGhlIEZUTE91dHB1dCdzIHNoaWZ0IG9wZXJhdGlvbnMgc3RpbGwgdGFrZSBh
biBMTFZNLXN0eWxlIHNoaWZ0CisgICAgICAgIGFtb3VudCBzbyB0aGF0IHdlIGRvbid0IHJlZ3Jl
c3MgRlRMLT5MTFZNIHBlcmZvcm1hbmNlLiBUaGF0IG1lYW5zIGVtaXR0aW5nIGFuIGV4dHJhIFRy
dW5jLiBUaGF0IG1lYW5zCisgICAgICAgIHRoYXQgd2Ugd2FudCB0byBiZSBhYmxlIHRvIGNvbnN0
YW50IGZvbGQgVHJ1bmMgYW5kIGJlIGFibGUgdG8gZm9sZCBUcnVuYyhaRXh0KS4KKworICAgICAg
ICAqIGIzL0IzTG93ZXJUb0Fpci5jcHA6CisgICAgICAgIChKU0M6OkIzOjpBaXI6Okxvd2VyVG9B
aXI6Omxvd2VyKToKKyAgICAgICAgKiBiMy9CM1JlZHVjZVN0cmVuZ3RoLmNwcDoKKyAgICAgICAg
KiBiMy9haXIvQWlyT3Bjb2RlLm9wY29kZXM6CisgICAgICAgICogYjMvdGVzdGIzLmNwcDoKKyAg
ICAgICAgKEpTQzo6QjM6OnRlc3RTd2l0Y2hDaGlsbERpdik6CisgICAgICAgIChKU0M6OkIzOjp0
ZXN0VHJ1bmNGb2xkKToKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RaRXh0MzIpOgorICAgICAgICAo
SlNDOjpCMzo6dGVzdFpFeHQzMkZvbGQpOgorICAgICAgICAoSlNDOjpCMzo6dGVzdFNFeHQzMik6
CisgICAgICAgIChKU0M6OkIzOjp0ZXN0U0V4dDMyRm9sZCk6CisgICAgICAgIChKU0M6OkIzOjp0
ZXN0VHJ1bmNaRXh0MzIpOgorICAgICAgICAoSlNDOjpCMzo6dGVzdFRydW5jU0V4dDMyKToKKyAg
ICAgICAgKEpTQzo6QjM6Onplcm8pOgorICAgICAgICAoSlNDOjpCMzo6cnVuKToKKyAgICAgICAg
KiBmdGwvRlRMQjNPdXRwdXQuY3BwOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6c3RvcmUp
OgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6YmFzZUluZGV4KToKKyAgICAgICAgKEpTQzo6
RlRMOjpPdXRwdXQ6OmJyYW5jaCk6CisgICAgICAgICogZnRsL0ZUTEIzT3V0cHV0Lmg6CisgICAg
ICAgIChKU0M6OkZUTDo6T3V0cHV0OjpiaXRBbmQpOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1
dDo6Yml0T3IpOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6Yml0WG9yKToKKyAgICAgICAg
KEpTQzo6RlRMOjpPdXRwdXQ6OnNobCk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjphU2hy
KToKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6OmxTaHIpOgorICAgICAgICAoSlNDOjpGVEw6
Ok91dHB1dDo6Yml0Tm90KToKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6Omluc2VydEVsZW1l
bnQpOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6YWRkcmVzcyk6CisgICAgICAgIChKU0M6
OkZUTDo6T3V0cHV0OjpiYXNlSW5kZXgpOgorCiAyMDE1LTExLTE5ICBGaWxpcCBQaXpsbyAgPGZw
aXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRlRMLT5CMyBsb3dlcmluZyBzaG91bGQgc3VwcG9y
dCBpbnRlZ2VyIGNvbXBhcmlzb25zIHdpdGggdGhlIG9wY29kZSBhYnN0cmFjdGVkIGFuZCBhIGZl
dyBvdGhlciB0aGluZ3MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9B
aXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9B
aXIuY3BwCShyZXZpc2lvbiAxOTI2NTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNM
b3dlclRvQWlyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM5OCw2ICsxMzk4LDExIEBAIHByaXZh
dGU6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIFNFeHQz
MjogeworICAgICAgICAgICAgYXBwZW5kKFNpZ25FeHRlbmQzMlRvUHRyLCB0bXAobV92YWx1ZS0+
Y2hpbGQoMCkpLCB0bXAobV92YWx1ZSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisKICAgICAgICAgY2FzZSBBcmd1bWVudFJlZzogewogICAgICAgICAgICAgbV9wcm9sb2d1ZS5h
cHBlbmQoSW5zdCgKICAgICAgICAgICAgICAgICBtb3ZlRm9yVHlwZShtX3ZhbHVlLT50eXBlKCkp
LCBtX3ZhbHVlLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUmVkdWNlU3RyZW5n
dGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1JlZHVjZVN0
cmVuZ3RoLmNwcAkocmV2aXNpb24gMTkyNjU2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzUmVkdWNlU3RyZW5ndGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNiArMzI2LDE2IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAKKyAgICAg
ICAgICAgIC8vIFR1cm4gdGhpczogQml0QW5kKDY0LWJpdCB2YWx1ZSwgMzIgb25lcykKKyAgICAg
ICAgICAgIC8vIEludG8gdGhpczogWkV4dDMyKFRydW5jKDY0LWJpdCB2YWx1ZSkpCisgICAgICAg
ICAgICBpZiAobV92YWx1ZS0+Y2hpbGQoMSktPmlzSW50NjQoMHhmZmZmZmZmZmxsdSkpIHsKKyAg
ICAgICAgICAgICAgICBWYWx1ZSogbmV3VmFsdWUgPSBtX2luc2VydGlvblNldC5pbnNlcnQ8VmFs
dWU+KAorICAgICAgICAgICAgICAgICAgICBtX2luZGV4LCBaRXh0MzIsIG1fdmFsdWUtPm9yaWdp
bigpLAorICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnQ8VmFsdWU+KG1f
aW5kZXgsIFRydW5jLCBtX3ZhbHVlLT5vcmlnaW4oKSwgbV92YWx1ZS0+Y2hpbGQoMCkpKTsKKyAg
ICAgICAgICAgICAgICBtX3ZhbHVlLT5yZXBsYWNlV2l0aElkZW50aXR5KG5ld1ZhbHVlKTsKKyAg
ICAgICAgICAgICAgICBtX2NoYW5nZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBCaXRPcjoK
QEAgLTQ3OSw3ICs0ODksNDUgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBtX2NoYW5nZWQg
PSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQorICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBTRXh0MzI6CisgICAgICAgICAgICAvLyBUdXJuIHRo
aXM6IFNFeHQzMihjb25zdGFudCkKKyAgICAgICAgICAgIC8vIEludG8gdGhpczogc3RhdGljX2Nh
c3Q8aW50NjRfdD4oY29uc3RhbnQpCisgICAgICAgICAgICBpZiAobV92YWx1ZS0+Y2hpbGQoMCkt
Pmhhc0ludDMyKCkpIHsKKyAgICAgICAgICAgICAgICByZXBsYWNlV2l0aE5ld1ZhbHVlKG1fcHJv
Yy5hZGRJbnRDb25zdGFudChtX3ZhbHVlLCBtX3ZhbHVlLT5jaGlsZCgwKS0+YXNJbnQzMigpKSk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVh
azsKKworICAgICAgICBjYXNlIFpFeHQzMjoKKyAgICAgICAgICAgIC8vIFR1cm4gdGhpczogWkV4
dDMyKGNvbnN0YW50KQorICAgICAgICAgICAgLy8gSW50byB0aGlzOiBzdGF0aWNfY2FzdDx1aW50
NjRfdD4oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNvbnN0YW50KSkKKyAgICAgICAgICAgIGlmICht
X3ZhbHVlLT5jaGlsZCgwKS0+aGFzSW50MzIoKSkgeworICAgICAgICAgICAgICAgIHJlcGxhY2VX
aXRoTmV3VmFsdWUoCisgICAgICAgICAgICAgICAgICAgIG1fcHJvYy5hZGRJbnRDb25zdGFudCgK
KyAgICAgICAgICAgICAgICAgICAgICAgIG1fdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDx1aW50NjRfdD4oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fdmFsdWUtPmNo
aWxkKDApLT5hc0ludDMyKCkpKSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBUcnVuYzoKKyAgICAgICAg
ICAgIC8vIFR1cm4gdGhpczogVHJ1bmMoY29uc3RhbnQpCisgICAgICAgICAgICAvLyBJbnRvIHRo
aXM6IHN0YXRpY19jYXN0PGludDMyX3Q+KGNvbnN0YW50KQorICAgICAgICAgICAgaWYgKG1fdmFs
dWUtPmNoaWxkKDApLT5oYXNJbnQ2NCgpKSB7CisgICAgICAgICAgICAgICAgcmVwbGFjZVdpdGhO
ZXdWYWx1ZSgKKyAgICAgICAgICAgICAgICAgICAgbV9wcm9jLmFkZEludENvbnN0YW50KG1fdmFs
dWUsIHN0YXRpY19jYXN0PGludDMyX3Q+KG1fdmFsdWUtPmNoaWxkKDApLT5hc0ludDY0KCkpKSk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIC8v
IFR1cm4gdGhpczogVHJ1bmMoU0V4dDMyKHZhbHVlKSkgb3IgVHJ1bmMoWkV4dDMyKHZhbHVlKSkK
KyAgICAgICAgICAgIC8vIEludG8gdGhpczogdmFsdWUKKyAgICAgICAgICAgIGlmIChtX3ZhbHVl
LT5jaGlsZCgwKS0+b3Bjb2RlKCkgPT0gU0V4dDMyIHx8IG1fdmFsdWUtPmNoaWxkKDApLT5vcGNv
ZGUoKSA9PSBaRXh0MzIpIHsKKyAgICAgICAgICAgICAgICBtX3ZhbHVlLT5yZXBsYWNlV2l0aElk
ZW50aXR5KG1fdmFsdWUtPmNoaWxkKDApLT5jaGlsZCgwKSk7CisgICAgICAgICAgICAgICAgbV9j
aGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgTG9hZDhaOgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHJldmlzaW9uIDE5MjY1NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy90ZXN0YjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjI5LDYgKzQ2MjksMTA5
IEBAIHZvaWQgdGVzdFN3aXRjaENoaWxsRGl2KHVuc2lnbmVkIGRlZ3JlZSwKICAgICBDSEVDSygh
aW52b2tlPGludDMyX3Q+KCpjb2RlLCBkZWdyZWUgKiBnYXAgKyAxLCA0MiwgMTEpKTsKIH0KIAor
dm9pZCB0ZXN0VHJ1bmNGb2xkKGludDY0X3QgdmFsdWUpCit7CisgICAgUHJvY2VkdXJlIHByb2M7
CisgICAgQmFzaWNCbG9jayogcm9vdCA9IHByb2MuYWRkQmxvY2soKTsKKyAgICByb290LT5hcHBl
bmROZXc8Q29udHJvbFZhbHVlPigKKyAgICAgICAgcHJvYywgUmV0dXJuLCBPcmlnaW4oKSwKKyAg
ICAgICAgcm9vdC0+YXBwZW5kTmV3PFZhbHVlPigKKyAgICAgICAgICAgIHByb2MsIFRydW5jLCBP
cmlnaW4oKSwKKyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdDY0VmFsdWU+KHByb2Ms
IE9yaWdpbigpLCB2YWx1ZSkpKTsKKworICAgIENIRUNLKGNvbXBpbGVBbmRSdW48aW50Pihwcm9j
KSA9PSBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSk7Cit9CisKK3ZvaWQgdGVzdFpFeHQzMihpbnQz
Ml90IHZhbHVlKQoreworICAgIFByb2NlZHVyZSBwcm9jOworICAgIEJhc2ljQmxvY2sqIHJvb3Qg
PSBwcm9jLmFkZEJsb2NrKCk7CisgICAgcm9vdC0+YXBwZW5kTmV3PENvbnRyb2xWYWx1ZT4oCisg
ICAgICAgIHByb2MsIFJldHVybiwgT3JpZ2luKCksCisgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxW
YWx1ZT4oCisgICAgICAgICAgICBwcm9jLCBaRXh0MzIsIE9yaWdpbigpLAorICAgICAgICAgICAg
cm9vdC0+YXBwZW5kTmV3PFZhbHVlPigKKyAgICAgICAgICAgICAgICBwcm9jLCBUcnVuYywgT3Jp
Z2luKCksCisgICAgICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PEFyZ3VtZW50UmVnVmFsdWU+
KHByb2MsIE9yaWdpbigpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApKSkpOworCisgICAgQ0hFQ0so
Y29tcGlsZUFuZFJ1bjx1aW50NjRfdD4ocHJvYywgdmFsdWUpID09IHN0YXRpY19jYXN0PHVpbnQ2
NF90PihzdGF0aWNfY2FzdDx1aW50MzJfdD4odmFsdWUpKSk7Cit9CisKK3ZvaWQgdGVzdFpFeHQz
MkZvbGQoaW50MzJfdCB2YWx1ZSkKK3sKKyAgICBQcm9jZWR1cmUgcHJvYzsKKyAgICBCYXNpY0Js
b2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOworICAgIHJvb3QtPmFwcGVuZE5ldzxDb250cm9s
VmFsdWU+KAorICAgICAgICBwcm9jLCBSZXR1cm4sIE9yaWdpbigpLAorICAgICAgICByb290LT5h
cHBlbmROZXc8VmFsdWU+KAorICAgICAgICAgICAgcHJvYywgWkV4dDMyLCBPcmlnaW4oKSwKKyAg
ICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdDMyVmFsdWU+KHByb2MsIE9yaWdpbigpLCB2
YWx1ZSkpKTsKKworICAgIENIRUNLKGNvbXBpbGVBbmRSdW48dWludDY0X3Q+KHByb2MsIHZhbHVl
KSA9PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHZhbHVlKSkp
OworfQorCit2b2lkIHRlc3RTRXh0MzIoaW50MzJfdCB2YWx1ZSkKK3sKKyAgICBQcm9jZWR1cmUg
cHJvYzsKKyAgICBCYXNpY0Jsb2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOworICAgIHJvb3Qt
PmFwcGVuZE5ldzxDb250cm9sVmFsdWU+KAorICAgICAgICBwcm9jLCBSZXR1cm4sIE9yaWdpbigp
LAorICAgICAgICByb290LT5hcHBlbmROZXc8VmFsdWU+KAorICAgICAgICAgICAgcHJvYywgU0V4
dDMyLCBPcmlnaW4oKSwKKyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4oCisgICAg
ICAgICAgICAgICAgcHJvYywgVHJ1bmMsIE9yaWdpbigpLAorICAgICAgICAgICAgICAgIHJvb3Qt
PmFwcGVuZE5ldzxBcmd1bWVudFJlZ1ZhbHVlPihwcm9jLCBPcmlnaW4oKSwgR1BSSW5mbzo6YXJn
dW1lbnRHUFIwKSkpKTsKKworICAgIENIRUNLKGNvbXBpbGVBbmRSdW48aW50NjRfdD4ocHJvYywg
dmFsdWUpID09IHN0YXRpY19jYXN0PGludDY0X3Q+KHZhbHVlKSk7Cit9CisKK3ZvaWQgdGVzdFNF
eHQzMkZvbGQoaW50MzJfdCB2YWx1ZSkKK3sKKyAgICBQcm9jZWR1cmUgcHJvYzsKKyAgICBCYXNp
Y0Jsb2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOworICAgIHJvb3QtPmFwcGVuZE5ldzxDb250
cm9sVmFsdWU+KAorICAgICAgICBwcm9jLCBSZXR1cm4sIE9yaWdpbigpLAorICAgICAgICByb290
LT5hcHBlbmROZXc8VmFsdWU+KAorICAgICAgICAgICAgcHJvYywgU0V4dDMyLCBPcmlnaW4oKSwK
KyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxDb25zdDMyVmFsdWU+KHByb2MsIE9yaWdpbigp
LCB2YWx1ZSkpKTsKKworICAgIENIRUNLKGNvbXBpbGVBbmRSdW48aW50NjRfdD4ocHJvYywgdmFs
dWUpID09IHN0YXRpY19jYXN0PGludDY0X3Q+KHZhbHVlKSk7Cit9CisKK3ZvaWQgdGVzdFRydW5j
WkV4dDMyKGludDMyX3QgdmFsdWUpCit7CisgICAgUHJvY2VkdXJlIHByb2M7CisgICAgQmFzaWNC
bG9jayogcm9vdCA9IHByb2MuYWRkQmxvY2soKTsKKyAgICByb290LT5hcHBlbmROZXc8Q29udHJv
bFZhbHVlPigKKyAgICAgICAgcHJvYywgUmV0dXJuLCBPcmlnaW4oKSwKKyAgICAgICAgcm9vdC0+
YXBwZW5kTmV3PFZhbHVlPigKKyAgICAgICAgICAgIHByb2MsIFRydW5jLCBPcmlnaW4oKSwKKyAg
ICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4oCisgICAgICAgICAgICAgICAgcHJvYywg
WkV4dDMyLCBPcmlnaW4oKSwKKyAgICAgICAgICAgICAgICByb290LT5hcHBlbmROZXc8VmFsdWU+
KAorICAgICAgICAgICAgICAgICAgICBwcm9jLCBUcnVuYywgT3JpZ2luKCksCisgICAgICAgICAg
ICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxBcmd1bWVudFJlZ1ZhbHVlPihwcm9jLCBPcmlnaW4o
KSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKSkpKSk7CisKKyAgICBDSEVDSyhjb21waWxlQW5kUnVu
PGludDMyX3Q+KHByb2MsIHZhbHVlKSA9PSB2YWx1ZSk7Cit9CisKK3ZvaWQgdGVzdFRydW5jU0V4
dDMyKGludDMyX3QgdmFsdWUpCit7CisgICAgUHJvY2VkdXJlIHByb2M7CisgICAgQmFzaWNCbG9j
ayogcm9vdCA9IHByb2MuYWRkQmxvY2soKTsKKyAgICByb290LT5hcHBlbmROZXc8Q29udHJvbFZh
bHVlPigKKyAgICAgICAgcHJvYywgUmV0dXJuLCBPcmlnaW4oKSwKKyAgICAgICAgcm9vdC0+YXBw
ZW5kTmV3PFZhbHVlPigKKyAgICAgICAgICAgIHByb2MsIFRydW5jLCBPcmlnaW4oKSwKKyAgICAg
ICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4oCisgICAgICAgICAgICAgICAgcHJvYywgU0V4
dDMyLCBPcmlnaW4oKSwKKyAgICAgICAgICAgICAgICByb290LT5hcHBlbmROZXc8VmFsdWU+KAor
ICAgICAgICAgICAgICAgICAgICBwcm9jLCBUcnVuYywgT3JpZ2luKCksCisgICAgICAgICAgICAg
ICAgICAgIHJvb3QtPmFwcGVuZE5ldzxBcmd1bWVudFJlZ1ZhbHVlPihwcm9jLCBPcmlnaW4oKSwg
R1BSSW5mbzo6YXJndW1lbnRHUFIwKSkpKSk7CisKKyAgICBDSEVDSyhjb21waWxlQW5kUnVuPGlu
dDMyX3Q+KHByb2MsIHZhbHVlKSA9PSB2YWx1ZSk7Cit9CisKIC8vIE1ha2Ugc3VyZSB0aGUgY29t
cGlsZXIgZG9lcyBub3QgdHJ5IHRvIG9wdGltaXplIGFueXRoaW5nIG91dC4KIE5FVkVSX0lOTElO
RSBkb3VibGUgemVybygpCiB7CkBAIC01Mzc4LDYgKzU0ODEsNTAgQEAgdm9pZCBydW4oY29uc3Qg
Y2hhciogZmlsdGVyKQogICAgIFJVTih0ZXN0U3dpdGNoQ2hpbGxEaXYoMTAwLCAxKSk7CiAgICAg
UlVOKHRlc3RTd2l0Y2hDaGlsbERpdigxMDAsIDEwMCkpOwogCisgICAgUlVOKHRlc3RUcnVuYygw
KSk7CisgICAgUlVOKHRlc3RUcnVuYygxKSk7CisgICAgUlVOKHRlc3RUcnVuYygtMSkpOworICAg
IFJVTih0ZXN0VHJ1bmMoMTAwMDAwMDAwMDAwMGxsKSk7CisgICAgUlVOKHRlc3RUcnVuYygtMTAw
MDAwMDAwMDAwMGxsKSk7CisgICAgUlVOKHRlc3RUcnVuY0ZvbGQoMCkpOworICAgIFJVTih0ZXN0
VHJ1bmNGb2xkKDEpKTsKKyAgICBSVU4odGVzdFRydW5jRm9sZCgtMSkpOworICAgIFJVTih0ZXN0
VHJ1bmNGb2xkKDEwMDAwMDAwMDAwMDBsbCkpOworICAgIFJVTih0ZXN0VHJ1bmNGb2xkKC0xMDAw
MDAwMDAwMDAwbGwpKTsKKyAgICAKKyAgICBSVU4odGVzdFpFeHQzMigwKSk7CisgICAgUlVOKHRl
c3RaRXh0MzIoMSkpOworICAgIFJVTih0ZXN0WkV4dDMyKC0xKSk7CisgICAgUlVOKHRlc3RaRXh0
MzIoMTAwMDAwMDAwMGxsKSk7CisgICAgUlVOKHRlc3RaRXh0MzIoLTEwMDAwMDAwMDBsbCkpOwor
ICAgIFJVTih0ZXN0WkV4dDMyRm9sZCgwKSk7CisgICAgUlVOKHRlc3RaRXh0MzJGb2xkKDEpKTsK
KyAgICBSVU4odGVzdFpFeHQzMkZvbGQoLTEpKTsKKyAgICBSVU4odGVzdFpFeHQzMkZvbGQoMTAw
MDAwMDAwMGxsKSk7CisgICAgUlVOKHRlc3RaRXh0MzJGb2xkKC0xMDAwMDAwMDAwbGwpKTsKKwor
ICAgIFJVTih0ZXN0U0V4dDMyKDApKTsKKyAgICBSVU4odGVzdFNFeHQzMigxKSk7CisgICAgUlVO
KHRlc3RTRXh0MzIoLTEpKTsKKyAgICBSVU4odGVzdFNFeHQzMigxMDAwMDAwMDAwbGwpKTsKKyAg
ICBSVU4odGVzdFNFeHQzMigtMTAwMDAwMDAwMGxsKSk7CisgICAgUlVOKHRlc3RTRXh0MzJGb2xk
KDApKTsKKyAgICBSVU4odGVzdFNFeHQzMkZvbGQoMSkpOworICAgIFJVTih0ZXN0U0V4dDMyRm9s
ZCgtMSkpOworICAgIFJVTih0ZXN0U0V4dDMyRm9sZCgxMDAwMDAwMDAwbGwpKTsKKyAgICBSVU4o
dGVzdFNFeHQzMkZvbGQoLTEwMDAwMDAwMDBsbCkpOworCisgICAgUlVOKHRlc3RUcnVuY1pFeHQz
MigwKSk7CisgICAgUlVOKHRlc3RUcnVuY1pFeHQzMigxKSk7CisgICAgUlVOKHRlc3RUcnVuY1pF
eHQzMigtMSkpOworICAgIFJVTih0ZXN0VHJ1bmNaRXh0MzIoMTAwMDAwMDAwMGxsKSk7CisgICAg
UlVOKHRlc3RUcnVuY1pFeHQzMigtMTAwMDAwMDAwMGxsKSk7CisgICAgUlVOKHRlc3RUcnVuY1NF
eHQzMigwKSk7CisgICAgUlVOKHRlc3RUcnVuY1NFeHQzMigxKSk7CisgICAgUlVOKHRlc3RUcnVu
Y1NFeHQzMigtMSkpOworICAgIFJVTih0ZXN0VHJ1bmNTRXh0MzIoMTAwMDAwMDAwMGxsKSk7Cisg
ICAgUlVOKHRlc3RUcnVuY1NFeHQzMigtMTAwMDAwMDAwMGxsKSk7CisKICAgICBpZiAodGFza3Mu
aXNFbXB0eSgpKQogICAgICAgICB1c2FnZSgpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9haXIvQWlyT3Bjb2RlLm9wY29kZXMJKHJldmlzaW9uIDE5MjY1NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyT3Bjb2RlLm9wY29kZXMJKHdvcmtpbmcgY29w
eSkKQEAgLTIyNSw2ICsyMjUsOSBAQCBNb3ZlMzIgVTpHLCBEOkcKICAgICBJbW0sIEFkZHIgYXMg
c3RvcmUzMgogICAgIEltbSwgSW5kZXggYXMgc3RvcmUzMgogCitTaWduRXh0ZW5kMzJUb1B0ciBV
OkcsIEQ6RworICAgIFRtcCwgVG1wCisKIE1vdmVEb3VibGUgVTpGLCBEOkYKICAgICBUbXAsIFRt
cAogICAgIEFkZHIsIFRtcCBhcyBsb2FkRG91YmxlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEIzT3V0cHV0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEIzT3V0cHV0LmNwcAkocmV2aXNpb24gMTkyNjU2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsx
MTAsMzIgQEAgdm9pZCBPdXRwdXQ6OnN0b3JlKExWYWx1ZSB2YWx1ZSwgVHlwZWRQbwogICAgIHBv
aW50ZXIuaGVhcCgpLmRlY29yYXRlSW5zdHJ1Y3Rpb24oc3RvcmUsICptX2hlYXBzKTsKIH0KIAor
TFZhbHVlIE91dHB1dDo6YmFzZUluZGV4KExWYWx1ZSBiYXNlLCBMVmFsdWUgaW5kZXgsIFNjYWxl
IHNjYWxlLCBwdHJkaWZmX3Qgb2Zmc2V0KQoreworICAgIExWYWx1ZSBhY2N1bXVsYXRlZE9mZnNl
dDsKKyAgICAgICAgCisgICAgc3dpdGNoIChzY2FsZSkgeworICAgIGNhc2UgU2NhbGVPbmU6Cisg
ICAgICAgIGFjY3VtdWxhdGVkT2Zmc2V0ID0gaW5kZXg7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgU2NhbGVUd286CisgICAgICAgIGFjY3VtdWxhdGVkT2Zmc2V0ID0gc2hsKGluZGV4LCBpbnRQ
dHJPbmUpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNjYWxlRm91cjoKKyAgICAgICAgYWNj
dW11bGF0ZWRPZmZzZXQgPSBzaGwoaW5kZXgsIGludFB0clR3byk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgU2NhbGVFaWdodDoKKyAgICBjYXNlIFNjYWxlUHRyOgorICAgICAgICBhY2N1bXVs
YXRlZE9mZnNldCA9IHNobChpbmRleCwgaW50UHRyVGhyZWUpOworICAgICAgICBicmVhazsKKyAg
ICB9CisgICAgICAgIAorICAgIGlmIChvZmZzZXQpCisgICAgICAgIGFjY3VtdWxhdGVkT2Zmc2V0
ID0gYWRkKGFjY3VtdWxhdGVkT2Zmc2V0LCBjb25zdEludFB0cihvZmZzZXQpKTsKKyAgICAgICAg
CisgICAgcmV0dXJuIGFkZChiYXNlLCBhY2N1bXVsYXRlZE9mZnNldCk7Cit9CisKIHZvaWQgT3V0
cHV0OjpicmFuY2goTFZhbHVlIGNvbmRpdGlvbiwgTEJhc2ljQmxvY2sgdGFrZW4sIFdlaWdodCB0
YWtlbldlaWdodCwgTEJhc2ljQmxvY2sgbm90VGFrZW4sIFdlaWdodCBub3RUYWtlbldlaWdodCkK
IHsKICAgICBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OkNvbnRyb2xWYWx1ZT4oCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEIzT3V0cHV0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5oCShyZXZpc2lvbiAxOTI2NTkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEIzT3V0cHV0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTE0Miw5ICsxNDIsOSBAQCBwdWJsaWM6CiAgICAgTFZhbHVlIGJpdEFuZChMVmFsdWUgbGVmdCwg
TFZhbHVlIHJpZ2h0KSB7IHJldHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OlZhbHVlPihtX3By
b2MsIEIzOjpCaXRBbmQsIG9yaWdpbigpLCBsZWZ0LCByaWdodCk7IH0KICAgICBMVmFsdWUgYml0
T3IoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3
PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6Qml0T3IsIG9yaWdpbigpLCBsZWZ0LCByaWdodCk7IH0K
ICAgICBMVmFsdWUgYml0WG9yKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIG1f
YmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OkJpdFhvciwgb3JpZ2luKCks
IGxlZnQsIHJpZ2h0KTsgfQotICAgIExWYWx1ZSBzaGwoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdo
dCkgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9wcm9jLCBCMzo6U2hs
LCBvcmlnaW4oKSwgbGVmdCwgcmlnaHQpOyB9Ci0gICAgTFZhbHVlIGFTaHIoTFZhbHVlIGxlZnQs
IExWYWx1ZSByaWdodCkgeyByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpWYWx1ZT4obV9w
cm9jLCBCMzo6U1Nociwgb3JpZ2luKCksIGxlZnQsIHJpZ2h0KTsgfQotICAgIExWYWx1ZSBsU2hy
KExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVuZE5ldzxC
Mzo6VmFsdWU+KG1fcHJvYywgQjM6OlpTaHIsIG9yaWdpbigpLCBsZWZ0LCByaWdodCk7IH0KKyAg
ICBMVmFsdWUgc2hsKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIG1fYmxvY2st
PmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OlNobCwgb3JpZ2luKCksIGxlZnQsIGNh
c3RUb0ludDMyKHJpZ2h0KSk7IH0KKyAgICBMVmFsdWUgYVNocihMVmFsdWUgbGVmdCwgTFZhbHVl
IHJpZ2h0KSB7IHJldHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6OlZhbHVlPihtX3Byb2MsIEIz
OjpTU2hyLCBvcmlnaW4oKSwgbGVmdCwgY2FzdFRvSW50MzIocmlnaHQpKTsgfQorICAgIExWYWx1
ZSBsU2hyKExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVu
ZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OlpTaHIsIG9yaWdpbigpLCBsZWZ0LCBjYXN0VG9J
bnQzMihyaWdodCkpOyB9CiAgICAgTFZhbHVlIGJpdE5vdChMVmFsdWUgdmFsdWUpIHsgQ1JBU0go
KTsgfQogCiAgICAgTFZhbHVlIGluc2VydEVsZW1lbnQoTFZhbHVlIHZlY3RvciwgTFZhbHVlIGVs
ZW1lbnQsIExWYWx1ZSBpbmRleCkgeyBDUkFTSCgpOyB9CkBAIC0yNDUsNyArMjQ1LDcgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gYWRkcmVzcyhmaWVsZCwgYmFzZSwgb2Zmc2V0ICsgZmllbGQu
b2Zmc2V0KCkpOwogICAgIH0KIAotICAgIExWYWx1ZSBiYXNlSW5kZXgoTFZhbHVlIGJhc2UsIExW
YWx1ZSBpbmRleCwgU2NhbGUsIHB0cmRpZmZfdCBvZmZzZXQgPSAwKSB7IENSQVNIKCk7IH0KKyAg
ICBMVmFsdWUgYmFzZUluZGV4KExWYWx1ZSBiYXNlLCBMVmFsdWUgaW5kZXgsIFNjYWxlLCBwdHJk
aWZmX3Qgb2Zmc2V0ID0gMCk7CiAKICAgICBUeXBlZFBvaW50ZXIgYmFzZUluZGV4KGNvbnN0IEFi
c3RyYWN0SGVhcCYgaGVhcCwgTFZhbHVlIGJhc2UsIExWYWx1ZSBpbmRleCwgU2NhbGUgc2NhbGUs
IHB0cmRpZmZfdCBvZmZzZXQgPSAwKQogICAgIHsK
</data>
<flag name="review"
          id="290932"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>