<?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>167303</bug_id>
          
          <creation_ts>2017-01-23 06:06:56 -0800</creation_ts>
          <short_desc>[JSC] Optimize Number#toString with Int52</short_desc>
          <delta_ts>2017-01-24 18:42:12 -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>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>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1269033</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-23 06:06:56 -0800</bug_when>
    <thetext>Currently, Int52 cases are just handled in double context.
We should have a fast path for that since it is frequently called in kraken crypto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269034</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-23 06:07:54 -0800</bug_when>
    <thetext>First, I&apos;ll implement this optimization in runtime function, it should offer perf boost for all the tiers.
After that, I&apos;ll investigate DFG / FTL Number#toString handling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269035</commentid>
    <comment_count>2</comment_count>
      <attachid>299513</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-23 06:29:14 -0800</bug_when>
    <thetext>Created attachment 299513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269397</commentid>
    <comment_count>3</comment_count>
      <attachid>299595</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-24 03:43:45 -0800</bug_when>
    <thetext>Created attachment 299595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269658</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-24 18:42:12 -0800</bug_when>
    <thetext>Committed r211128: &lt;http://trac.webkit.org/changeset/211128&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299513</attachid>
            <date>2017-01-23 06:29:14 -0800</date>
            <delta_ts>2017-01-24 03:43:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167303-20170123232716.patch</filename>
            <type>text/plain</type>
            <size>7022</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZWFkZTk2NDE2YWIxOTBjOTAxZmU3YmZmZTYzMTFmYzg0NmM2ZDFlLi4zOTQ0YWM2YzU4NWZiNTdk
NGY3YTQ4ZGNiMjA4ZDJjNWExNmM0MjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0wMS0yMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBPcHRpbWl6ZSBOdW1iZXIjdG9TdHJpbmcgd2l0aCBJbnQ1
MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MzAz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50
aW1lL0pTQ0pTVmFsdWUuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlclByb3RvdHlwZS5jcHA6
CisgICAgICAgIChKU0M6OmludDUyVG9TdHJpbmdXaXRoUmFkaXgpOgorICAgICAgICAoSlNDOjp0
b1N0cmluZ1dpdGhSYWRpeCk6CisKIDIwMTctMDEtMjMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBKYXZhU2NyaXB0Q29yZSBoYXMgYSB3ZWFrIGV4dGVy
bmFsIHN5bWJvbCBpbiBpdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDSlNWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1
ZS5oCmluZGV4IDg4MDlmZGNiMTRmYWI3NTQ0MDVkYzlhOTJmMmMyZTk5YzRlMTEzYmUuLmE2MjU0
ZGVmN2I2YTRjYTZiNGQ5YTA4NzdiY2QxY2I0ZTEwMWIxZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmgKQEAgLTMxNiw5ICszMTYsOSBAQCBjbGFzcyBKU1Zh
bHVlIHsKIAogICAgIC8vIENvbnN0YW50cyB1c2VkIGZvciBJbnQ1Mi4gSW50NTIgaXNuJ3QgcGFy
dCBvZiBKU1ZhbHVlIHJpZ2h0IG5vdywgYnV0IEpTVmFsdWVzIG1heSBiZQogICAgIC8vIGNvbnZl
cnRlZCB0byBJbnQ1MnMgYW5kIGJhY2sgYWdhaW4uCi0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IG51bWJlck9mSW50NTJCaXRzID0gNTI7Ci0gICAgc3RhdGljIGNvbnN0IGludDY0X3Qgbm90SW50
NTIgPSBzdGF0aWNfY2FzdDxpbnQ2NF90PigxKSA8PCBudW1iZXJPZkludDUyQml0czsKLSAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgaW50NTJTaGlmdEFtb3VudCA9IDEyOworICAgIHN0YXRpYyBj
b25zdGV4cHIgY29uc3QgdW5zaWduZWQgbnVtYmVyT2ZJbnQ1MkJpdHMgPSA1MjsKKyAgICBzdGF0
aWMgY29uc3RleHByIGNvbnN0IGludDY0X3Qgbm90SW50NTIgPSBzdGF0aWNfY2FzdDxpbnQ2NF90
PigxKSA8PCBudW1iZXJPZkludDUyQml0czsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IHVu
c2lnbmVkIGludDUyU2hpZnRBbW91bnQgPSAxMjsKICAgICAKICAgICBzdGF0aWMgcHRyZGlmZl90
IG9mZnNldE9mUGF5bG9hZCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFz
Qml0cy5wYXlsb2FkKTsgfQogICAgIHN0YXRpYyBwdHJkaWZmX3Qgb2Zmc2V0T2ZUYWcoKSB7IHJl
dHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFnKTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKaW5kZXggZGM5
NmVlNGUxYzdhYmYyOTRjZTYyMjEwNmM0ZGI1NDAyMzU2Mjc5Zi4uMzI3ODEzODdhOWUzYTU2MDA4
YjU4ZDY0ZTRjOGJkYjY5NGIwNDBlNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwCkBAIC0xNDQsNiArMTQ0LDI3IEBAIHR5cGVkZWYg
Y2hhciBSYWRpeEJ1ZmZlclsyMTgwXTsKIC8vIE1hcHBpbmcgZnJvbSBpbnRlZ2VycyAwLi4zNSB0
byBkaWdpdCBpZGVudGlmeWluZyB0aGlzIHZhbHVlLCBmb3IgcmFkaXggMi4uMzYuCiBzdGF0aWMg
Y29uc3QgY2hhciByYWRpeERpZ2l0c1tdID0gIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJz
dHV2d3h5eiI7CiAKK3N0YXRpYyBjaGFyKiBpbnQ1MlRvU3RyaW5nV2l0aFJhZGl4KGNoYXIqIHN0
YXJ0T2ZSZXN1bHRTdHJpbmcsIGludDY0X3QgaW50NTJWYWx1ZSwgdW5zaWduZWQgcmFkaXgpCit7
CisgICAgYm9vbCBuZWdhdGl2ZSA9IGZhbHNlOworICAgIHVpbnQ2NF90IHBvc2l0aXZlTnVtYmVy
ID0gaW50NTJWYWx1ZTsKKyAgICBpZiAoaW50NTJWYWx1ZSA8IDApIHsKKyAgICAgICAgbmVnYXRp
dmUgPSB0cnVlOworICAgICAgICBwb3NpdGl2ZU51bWJlciA9IC1pbnQ1MlZhbHVlOworICAgIH0K
KworICAgIGRvIHsKKyAgICAgICAgdWludDY0X3QgaW5kZXggPSBwb3NpdGl2ZU51bWJlciAlIHJh
ZGl4OworICAgICAgICBBU1NFUlQoaW5kZXggPCBzaXplb2YocmFkaXhEaWdpdHMpKTsKKyAgICAg
ICAgKi0tc3RhcnRPZlJlc3VsdFN0cmluZyA9IHJhZGl4RGlnaXRzW2luZGV4XTsKKyAgICAgICAg
cG9zaXRpdmVOdW1iZXIgLz0gcmFkaXg7CisgICAgfSB3aGlsZSAocG9zaXRpdmVOdW1iZXIpOwor
ICAgIGlmIChuZWdhdGl2ZSkKKyAgICAgICAgKi0tc3RhcnRPZlJlc3VsdFN0cmluZyA9ICctJzsK
KworICAgIHJldHVybiBzdGFydE9mUmVzdWx0U3RyaW5nOworfQorCiBzdGF0aWMgY2hhciogdG9T
dHJpbmdXaXRoUmFkaXgoUmFkaXhCdWZmZXImIGJ1ZmZlciwgZG91YmxlIG51bWJlciwgdW5zaWdu
ZWQgcmFkaXgpCiB7CiAgICAgQVNTRVJUKHN0ZDo6aXNmaW5pdGUobnVtYmVyKSk7CkBAIC0xNjAs
MjcgKzE4MSwzMiBAQCBzdGF0aWMgY2hhciogdG9TdHJpbmdXaXRoUmFkaXgoUmFkaXhCdWZmZXIm
IGJ1ZmZlciwgZG91YmxlIG51bWJlciwgdW5zaWduZWQgcmFkaQogICAgICAgICBudW1iZXIgPSAt
bnVtYmVyOwogICAgIGRvdWJsZSBpbnRlZ2VyUGFydCA9IGZsb29yKG51bWJlcik7CiAKLSAgICAv
LyBXZSB1c2UgdGhpcyB0byB0ZXN0IGZvciBvZGQgdmFsdWVzIGluIG9kZCByYWRpeCBiYXNlcy4K
LSAgICAvLyBXaGVyZSB0aGUgYmFzZSBpcyBldmVuLCAoZS5nLiAxMCksIHRvIGRldGVybWluZSB3
aGV0aGVyIGEgdmFsdWUgaXMgZXZlbiB3ZSBuZWVkIG9ubHkKLSAgICAvLyBjb25zaWRlciB0aGUg
bGVhc3Qgc2lnbmlmaWNhbnQgZGlnaXQuIEZvciBleGFtcGxlLCAxMjQgaW4gYmFzZSAxMCBpcyBl
dmVuLCBiZWNhdXNlICc0JwotICAgIC8vIGlzIGV2ZW4uIGlmIHRoZSByYWRpeCBpcyBvZGQsIHRo
ZW4gdGhlIHJhZGl4IHJhaXNlZCB0byBhbiBpbnRlZ2VyIHBvd2VyIGlzIGFsc28gb2RkLgotICAg
IC8vIEUuZy4gaW4gYmFzZSA1LCAxMjQgcmVwcmVzZW50cyAoMSAqIDEyNSArIDIgKiAyNSArIDQg
KiA1KS4gU2luY2UgZWFjaCBkaWdpdCBpbiB0aGUgdmFsdWUKLSAgICAvLyBpcyBtdWx0aXBsaWVk
IGJ5IGFuIG9kZCBudW1iZXIsIHRoZSByZXN1bHQgaXMgZXZlbiBpZiB0aGUgc3VtIG9mIGFsbCBk
aWdpdHMgaXMgZXZlbi4KLSAgICAvLwotICAgIC8vIEZvciB0aGUgaW50ZWdlciBwb3J0aW9uIG9m
IHRoZSByZXN1bHQsIHdlIG9ubHkgbmVlZCB0ZXN0IHdoZXRoZXIgdGhlIGludGVnZXIgdmFsdWUg
aXMKLSAgICAvLyBldmVuIG9yIG9kZC4gRm9yIGVhY2ggZGlnaXQgb2YgdGhlIGZyYWN0aW9uIGFk
ZGVkLCB3ZSBzaG91bGQgaW52ZXJ0IG91ciBpZGVhIG9mIHdoZXRoZXIKLSAgICAvLyB0aGUgbnVt
YmVyIGlzIG9kZCBpZiB0aGUgbmV3IGRpZ2l0IGlzIG9kZC4KLSAgICAvLwotICAgIC8vIEFsc28g
aW5pdGlhbGl6ZSBkaWdpdCB0byB0aGlzIHZhbHVlOyBmb3IgZXZlbiByYWRpeCB2YWx1ZXMgd2Ug
b25seSBuZWVkIHRyYWNrIHdoZXRoZXIKLSAgICAvLyB0aGUgbGFzdCBpbmRpdmlkdWFsIGRpZ2l0
IHdhcyBvZGQuCi0gICAgYm9vbCBpbnRlZ2VyUGFydElzT2RkID0gaW50ZWdlclBhcnQgPD0gc3Rh
dGljX2Nhc3Q8ZG91YmxlPigweDFGRkZGRkZGRkZGRkZGdWxsKSAmJiBzdGF0aWNfY2FzdDxpbnQ2
NF90PihpbnRlZ2VyUGFydCkgJiAxOwotICAgIEFTU0VSVChpbnRlZ2VyUGFydElzT2RkID09IHN0
YXRpY19jYXN0PGJvb2w+KGZtb2QoaW50ZWdlclBhcnQsIDIpKSk7Ci0gICAgYm9vbCBpc09kZElu
T2RkUmFkaXggPSBpbnRlZ2VyUGFydElzT2RkOwotICAgIHVpbnQzMl90IGRpZ2l0ID0gaW50ZWdl
clBhcnRJc09kZDsKLQogICAgIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBoYXMgYSBmcmFjdGlvbmFs
IHBhcnQgdG8gY29udmVydC4KICAgICBkb3VibGUgZnJhY3Rpb25QYXJ0ID0gbnVtYmVyIC0gaW50
ZWdlclBhcnQ7Ci0gICAgaWYgKGZyYWN0aW9uUGFydCkgeworICAgIGlmICghZnJhY3Rpb25QYXJ0
KSB7CisgICAgICAgICpkZWNpbWFsUG9pbnQgPSAnXDAnOworICAgICAgICAvLyBXZSBkbyBub3Qg
bmVlZCB0byBjYXJlIHRoZSBuZWdhdGl2ZSB6ZXJvICgtMCkgc2luY2UgaXQgaXMgYWxzbyBjb252
ZXJ0ZWQgdG8gIjAiIGluIGFsbCB0aGUgcmFkaXguCisgICAgICAgIGlmIChpbnRlZ2VyUGFydCA8
IChzdGF0aWNfY2FzdDxpbnQ2NF90PigxKSA8PCAoSlNWYWx1ZTo6bnVtYmVyT2ZJbnQ1MkJpdHMg
LSAxKSkpCisgICAgICAgICAgICByZXR1cm4gaW50NTJUb1N0cmluZ1dpdGhSYWRpeChzdGFydE9m
UmVzdWx0U3RyaW5nLCBzdGF0aWNfY2FzdDxpbnQ2NF90PihudW1iZXIpLCByYWRpeCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgLy8gV2UgdXNlIHRoaXMgdG8gdGVzdCBmb3Igb2RkIHZhbHVlcyBp
biBvZGQgcmFkaXggYmFzZXMuCisgICAgICAgIC8vIFdoZXJlIHRoZSBiYXNlIGlzIGV2ZW4sIChl
LmcuIDEwKSwgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSB2YWx1ZSBpcyBldmVuIHdlIG5lZWQgb25s
eQorICAgICAgICAvLyBjb25zaWRlciB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgZGlnaXQuIEZvciBl
eGFtcGxlLCAxMjQgaW4gYmFzZSAxMCBpcyBldmVuLCBiZWNhdXNlICc0JworICAgICAgICAvLyBp
cyBldmVuLiBpZiB0aGUgcmFkaXggaXMgb2RkLCB0aGVuIHRoZSByYWRpeCByYWlzZWQgdG8gYW4g
aW50ZWdlciBwb3dlciBpcyBhbHNvIG9kZC4KKyAgICAgICAgLy8gRS5nLiBpbiBiYXNlIDUsIDEy
NCByZXByZXNlbnRzICgxICogMTI1ICsgMiAqIDI1ICsgNCAqIDUpLiBTaW5jZSBlYWNoIGRpZ2l0
IGluIHRoZSB2YWx1ZQorICAgICAgICAvLyBpcyBtdWx0aXBsaWVkIGJ5IGFuIG9kZCBudW1iZXIs
IHRoZSByZXN1bHQgaXMgZXZlbiBpZiB0aGUgc3VtIG9mIGFsbCBkaWdpdHMgaXMgZXZlbi4KKyAg
ICAgICAgLy8KKyAgICAgICAgLy8gRm9yIHRoZSBpbnRlZ2VyIHBvcnRpb24gb2YgdGhlIHJlc3Vs
dCwgd2Ugb25seSBuZWVkIHRlc3Qgd2hldGhlciB0aGUgaW50ZWdlciB2YWx1ZSBpcworICAgICAg
ICAvLyBldmVuIG9yIG9kZC4gRm9yIGVhY2ggZGlnaXQgb2YgdGhlIGZyYWN0aW9uIGFkZGVkLCB3
ZSBzaG91bGQgaW52ZXJ0IG91ciBpZGVhIG9mIHdoZXRoZXIKKyAgICAgICAgLy8gdGhlIG51bWJl
ciBpcyBvZGQgaWYgdGhlIG5ldyBkaWdpdCBpcyBvZGQuCisgICAgICAgIC8vCisgICAgICAgIC8v
IEFsc28gaW5pdGlhbGl6ZSBkaWdpdCB0byB0aGlzIHZhbHVlOyBmb3IgZXZlbiByYWRpeCB2YWx1
ZXMgd2Ugb25seSBuZWVkIHRyYWNrIHdoZXRoZXIKKyAgICAgICAgLy8gdGhlIGxhc3QgaW5kaXZp
ZHVhbCBkaWdpdCB3YXMgb2RkLgorICAgICAgICBib29sIGludGVnZXJQYXJ0SXNPZGQgPSBpbnRl
Z2VyUGFydCA8PSBzdGF0aWNfY2FzdDxkb3VibGU+KDB4MUZGRkZGRkZGRkZGRkZ1bGwpICYmIHN0
YXRpY19jYXN0PGludDY0X3Q+KGludGVnZXJQYXJ0KSAmIDE7CisgICAgICAgIEFTU0VSVChpbnRl
Z2VyUGFydElzT2RkID09IHN0YXRpY19jYXN0PGJvb2w+KGZtb2QoaW50ZWdlclBhcnQsIDIpKSk7
CisgICAgICAgIGJvb2wgaXNPZGRJbk9kZFJhZGl4ID0gaW50ZWdlclBhcnRJc09kZDsKKyAgICAg
ICAgdWludDMyX3QgZGlnaXQgPSBpbnRlZ2VyUGFydElzT2RkOworCiAgICAgICAgIC8vIFdyaXRl
IHRoZSBkZWNpbWFsIHBvaW50IG5vdy4KICAgICAgICAgKmRlY2ltYWxQb2ludCA9ICcuJzsKIApA
QCAtMzEwLDggKzMzNiw3IEBAIHN0YXRpYyBjaGFyKiB0b1N0cmluZ1dpdGhSYWRpeChSYWRpeEJ1
ZmZlciYgYnVmZmVyLCBkb3VibGUgbnVtYmVyLCB1bnNpZ25lZCByYWRpCiAKICAgICAgICAgKmVu
ZE9mUmVzdWx0U3RyaW5nID0gJ1wwJzsKICAgICAgICAgQVNTRVJUKGVuZE9mUmVzdWx0U3RyaW5n
IDwgYnVmZmVyICsgc2l6ZW9mKGJ1ZmZlcikpOwotICAgIH0gZWxzZQotICAgICAgICAqZGVjaW1h
bFBvaW50ID0gJ1wwJzsKKyAgICB9CiAKICAgICBCaWdJbnRlZ2VyIHVuaXRzKGludGVnZXJQYXJ0
KTsKIApAQCAtMzIxLDcgKzM0Niw3IEBAIHN0YXRpYyBjaGFyKiB0b1N0cmluZ1dpdGhSYWRpeChS
YWRpeEJ1ZmZlciYgYnVmZmVyLCBkb3VibGUgbnVtYmVyLCB1bnNpZ25lZCByYWRpCiAKICAgICAg
ICAgLy8gUmVhZCBhIHNpbmdsZSBkaWdpdCBhbmQgd3JpdGUgaXQgdG8gdGhlIGZyb250IG9mIHRo
ZSBzdHJpbmcuCiAgICAgICAgIC8vIERpdmlkZSBieSByYWRpeCB0byByZW1vdmUgb25lIGRpZ2l0
IGZyb20gdGhlIHZhbHVlLgotICAgICAgICBkaWdpdCA9IHVuaXRzLmRpdmlkZShyYWRpeCk7Cisg
ICAgICAgIHVpbnQzMl90IGRpZ2l0ID0gdW5pdHMuZGl2aWRlKHJhZGl4KTsKICAgICAgICAgKi0t
c3RhcnRPZlJlc3VsdFN0cmluZyA9IHJhZGl4RGlnaXRzW2RpZ2l0XTsKICAgICB9IHdoaWxlICgh
IXVuaXRzKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299595</attachid>
            <date>2017-01-24 03:43:45 -0800</date>
            <delta_ts>2017-01-24 08:36:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167303-20170124204145.patch</filename>
            <type>text/plain</type>
            <size>10077</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NDIzODAzOGM3MDQyMzhjMzMyODM5ZTk5NDI0MjI5OWZjOTk5Mjc2Li5lMGM5ZDM4YWZlNDQyZWU4
NGE3MDViN2FkNGMwYjIzYzcxZmFkZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNy0wMS0yNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBPcHRpbWl6ZSBOdW1iZXIjdG9TdHJpbmcgd2l0aCBJbnQ1
MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MzAz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4ga3Jh
a2VuIGNyeXB0by1zaGEyNTYtaXRlcmF0aXZlLCB3ZSBmcmVxdWVudGx5IGNhbGwgTnVtYmVyLnBy
b3RvdHlwZS50b1N0cmluZyB3aXRoCisgICAgICAgIEludDUyLiBJbiB0aGF0IGNhc2UsIHRvU3Ry
aW5nIGhhbmRsZXMgaXQgaW4gdGhlIGdlbmVyaWMgZG91YmxlIHBhdGguIEJ1dCB3ZSBzaG91bGQK
KyAgICAgICAgaGF2ZSBhIGZhc3QgcGF0aCBmb3IgdGhpcyBzaW5jZSBpdCBjYW4gYmUgcmVwcmVz
ZW50ZWQgaW4gaW50NjRfdC4KKworICAgICAgICBUaGUgc3RhbmZvcmQtY3J5cHRvLXNoYTI1Ni1p
dGVyYXRpdmUgc2hvd3MgMS42JSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCAob24gTGludXggbWFj
aGluZSBoYW5heWFtYXRhKS4KKworICAgICAgICAgICAgQ29sbGVjdGVkIDEwMCBzYW1wbGVzIHBl
ciBiZW5jaG1hcmsvVk0sIHdpdGggMTAwIFZNIGludm9jYXRpb25zIHBlciBiZW5jaG1hcmsuIEVt
aXR0ZWQgYSBjYWxsIHRvIGdjKCkgYmV0d2VlbgorICAgICAgICAgICAgc2FtcGxlIG1lYXN1cmVt
ZW50cy4gVXNlZCAxIGJlbmNobWFyayBpdGVyYXRpb24gcGVyIFZNIGludm9jYXRpb24gZm9yIHdh
cm0tdXAuIFVzZWQgdGhlIGpzYy1zcGVjaWZpYyBwcmVjaXNlVGltZSgpCisgICAgICAgICAgICBm
dW5jdGlvbiB0byBnZXQgbWljcm9zZWNvbmQtbGV2ZWwgdGltaW5nLiBSZXBvcnRpbmcgYmVuY2ht
YXJrIGV4ZWN1dGlvbiB0aW1lcyB3aXRoIDk1JSBjb25maWRlbmNlIGludGVydmFscyBpbgorICAg
ICAgICAgICAgbWlsbGlzZWNvbmRzLgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmUgICAgICAgICAgICAgICAgICBwYXRjaGVk
CisKKyAgICAgICAgICAgIHN0YW5mb3JkLWNyeXB0by1zaGEyNTYtaXRlcmF0aXZlICAgICAgICAz
Mi44NTMrLTAuMDc1ICAgICAgXiAgICAgIDMyLjMyNSstMC4wNTUgICAgICAgICBeIGRlZmluaXRl
bHkgMS4wMTYzeCBmYXN0ZXIKKworICAgICAgICAqIHJ1bnRpbWUvSlNDSlNWYWx1ZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6aW50NTJU
b1N0cmluZ1dpdGhSYWRpeCk6CisgICAgICAgIChKU0M6OnRvU3RyaW5nV2l0aFJhZGl4KToKKwog
MjAxNy0wMS0yMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFByb3ZpZGUgYSB3YXkgdG8gdHJpZ2dlciBhIEdhcmJhZ2UgQ29s
bGVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNW
YWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCmluZGV4
IDg4MDlmZGNiMTRmYWI3NTQ0MDVkYzlhOTJmMmMyZTk5YzRlMTEzYmUuLmE2MjU0ZGVmN2I2YTRj
YTZiNGQ5YTA4NzdiY2QxY2I0ZTEwMWIxZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NKU1ZhbHVlLmgKQEAgLTMxNiw5ICszMTYsOSBAQCBjbGFzcyBKU1ZhbHVlIHsKIAog
ICAgIC8vIENvbnN0YW50cyB1c2VkIGZvciBJbnQ1Mi4gSW50NTIgaXNuJ3QgcGFydCBvZiBKU1Zh
bHVlIHJpZ2h0IG5vdywgYnV0IEpTVmFsdWVzIG1heSBiZQogICAgIC8vIGNvbnZlcnRlZCB0byBJ
bnQ1MnMgYW5kIGJhY2sgYWdhaW4uCi0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bWJlck9m
SW50NTJCaXRzID0gNTI7Ci0gICAgc3RhdGljIGNvbnN0IGludDY0X3Qgbm90SW50NTIgPSBzdGF0
aWNfY2FzdDxpbnQ2NF90PigxKSA8PCBudW1iZXJPZkludDUyQml0czsKLSAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgaW50NTJTaGlmdEFtb3VudCA9IDEyOworICAgIHN0YXRpYyBjb25zdGV4cHIg
Y29uc3QgdW5zaWduZWQgbnVtYmVyT2ZJbnQ1MkJpdHMgPSA1MjsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGNvbnN0IGludDY0X3Qgbm90SW50NTIgPSBzdGF0aWNfY2FzdDxpbnQ2NF90PigxKSA8PCBu
dW1iZXJPZkludDUyQml0czsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IHVuc2lnbmVkIGlu
dDUyU2hpZnRBbW91bnQgPSAxMjsKICAgICAKICAgICBzdGF0aWMgcHRyZGlmZl90IG9mZnNldE9m
UGF5bG9hZCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXls
b2FkKTsgfQogICAgIHN0YXRpYyBwdHJkaWZmX3Qgb2Zmc2V0T2ZUYWcoKSB7IHJldHVybiBPQkpF
Q1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFnKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKaW5kZXggZGM5NmVlNGUxYzdh
YmYyOTRjZTYyMjEwNmM0ZGI1NDAyMzU2Mjc5Zi4uYmYzMmJhYzY2MWM1NGZkOGYwMDFjNTY0Y2Q5
NTMyYjA5YTFkNTE3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TnVtYmVyUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJQcm90b3R5cGUuY3BwCkBAIC0xNDQsOSArMTQ0LDMwIEBAIHR5cGVkZWYgY2hhciBSYWRp
eEJ1ZmZlclsyMTgwXTsKIC8vIE1hcHBpbmcgZnJvbSBpbnRlZ2VycyAwLi4zNSB0byBkaWdpdCBp
ZGVudGlmeWluZyB0aGlzIHZhbHVlLCBmb3IgcmFkaXggMi4uMzYuCiBzdGF0aWMgY29uc3QgY2hh
ciByYWRpeERpZ2l0c1tdID0gIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7
CiAKLXN0YXRpYyBjaGFyKiB0b1N0cmluZ1dpdGhSYWRpeChSYWRpeEJ1ZmZlciYgYnVmZmVyLCBk
b3VibGUgbnVtYmVyLCB1bnNpZ25lZCByYWRpeCkKK3N0YXRpYyBjaGFyKiBpbnQ1MlRvU3RyaW5n
V2l0aFJhZGl4KGNoYXIqIHN0YXJ0T2ZSZXN1bHRTdHJpbmcsIGludDY0X3QgaW50NTJWYWx1ZSwg
dW5zaWduZWQgcmFkaXgpCiB7Ci0gICAgQVNTRVJUKHN0ZDo6aXNmaW5pdGUobnVtYmVyKSk7Cisg
ICAgYm9vbCBuZWdhdGl2ZSA9IGZhbHNlOworICAgIHVpbnQ2NF90IHBvc2l0aXZlTnVtYmVyID0g
aW50NTJWYWx1ZTsKKyAgICBpZiAoaW50NTJWYWx1ZSA8IDApIHsKKyAgICAgICAgbmVnYXRpdmUg
PSB0cnVlOworICAgICAgICBwb3NpdGl2ZU51bWJlciA9IC1pbnQ1MlZhbHVlOworICAgIH0KKwor
ICAgIGRvIHsKKyAgICAgICAgdWludDY0X3QgaW5kZXggPSBwb3NpdGl2ZU51bWJlciAlIHJhZGl4
OworICAgICAgICBBU1NFUlQoaW5kZXggPCBzaXplb2YocmFkaXhEaWdpdHMpKTsKKyAgICAgICAg
Ki0tc3RhcnRPZlJlc3VsdFN0cmluZyA9IHJhZGl4RGlnaXRzW2luZGV4XTsKKyAgICAgICAgcG9z
aXRpdmVOdW1iZXIgLz0gcmFkaXg7CisgICAgfSB3aGlsZSAocG9zaXRpdmVOdW1iZXIpOworICAg
IGlmIChuZWdhdGl2ZSkKKyAgICAgICAgKi0tc3RhcnRPZlJlc3VsdFN0cmluZyA9ICctJzsKKwor
ICAgIHJldHVybiBzdGFydE9mUmVzdWx0U3RyaW5nOworfQorCitzdGF0aWMgY2hhciogdG9TdHJp
bmdXaXRoUmFkaXgoUmFkaXhCdWZmZXImIGJ1ZmZlciwgZG91YmxlIG9yaWdpbmFsTnVtYmVyLCB1
bnNpZ25lZCByYWRpeCkKK3sKKyAgICBBU1NFUlQoc3RkOjppc2Zpbml0ZShvcmlnaW5hbE51bWJl
cikpOwogICAgIEFTU0VSVChyYWRpeCA+PSAyICYmIHJhZGl4IDw9IDM2KTsKIAogICAgIC8vIFBv
c2l0aW9uIHRoZSBkZWNpbWFsIHBvaW50IGF0IHRoZSBjZW50ZXIgb2YgdGhlIHN0cmluZywgc2V0
CkBAIC0xNTUsMzIgKzE3NiwzOCBAQCBzdGF0aWMgY2hhciogdG9TdHJpbmdXaXRoUmFkaXgoUmFk
aXhCdWZmZXImIGJ1ZmZlciwgZG91YmxlIG51bWJlciwgdW5zaWduZWQgcmFkaQogICAgIGNoYXIq
IHN0YXJ0T2ZSZXN1bHRTdHJpbmcgPSBkZWNpbWFsUG9pbnQ7CiAKICAgICAvLyBFeHRyYWN0IHRo
ZSBzaWduLgotICAgIGJvb2wgaXNOZWdhdGl2ZSA9IG51bWJlciA8IDA7Ci0gICAgaWYgKHN0ZDo6
c2lnbmJpdChudW1iZXIpKQotICAgICAgICBudW1iZXIgPSAtbnVtYmVyOworICAgIGJvb2wgaXNO
ZWdhdGl2ZSA9IG9yaWdpbmFsTnVtYmVyIDwgMDsKKyAgICBkb3VibGUgbnVtYmVyID0gb3JpZ2lu
YWxOdW1iZXI7CisgICAgaWYgKHN0ZDo6c2lnbmJpdChvcmlnaW5hbE51bWJlcikpCisgICAgICAg
IG51bWJlciA9IC1vcmlnaW5hbE51bWJlcjsKICAgICBkb3VibGUgaW50ZWdlclBhcnQgPSBmbG9v
cihudW1iZXIpOwogCi0gICAgLy8gV2UgdXNlIHRoaXMgdG8gdGVzdCBmb3Igb2RkIHZhbHVlcyBp
biBvZGQgcmFkaXggYmFzZXMuCi0gICAgLy8gV2hlcmUgdGhlIGJhc2UgaXMgZXZlbiwgKGUuZy4g
MTApLCB0byBkZXRlcm1pbmUgd2hldGhlciBhIHZhbHVlIGlzIGV2ZW4gd2UgbmVlZCBvbmx5Ci0g
ICAgLy8gY29uc2lkZXIgdGhlIGxlYXN0IHNpZ25pZmljYW50IGRpZ2l0LiBGb3IgZXhhbXBsZSwg
MTI0IGluIGJhc2UgMTAgaXMgZXZlbiwgYmVjYXVzZSAnNCcKLSAgICAvLyBpcyBldmVuLiBpZiB0
aGUgcmFkaXggaXMgb2RkLCB0aGVuIHRoZSByYWRpeCByYWlzZWQgdG8gYW4gaW50ZWdlciBwb3dl
ciBpcyBhbHNvIG9kZC4KLSAgICAvLyBFLmcuIGluIGJhc2UgNSwgMTI0IHJlcHJlc2VudHMgKDEg
KiAxMjUgKyAyICogMjUgKyA0ICogNSkuIFNpbmNlIGVhY2ggZGlnaXQgaW4gdGhlIHZhbHVlCi0g
ICAgLy8gaXMgbXVsdGlwbGllZCBieSBhbiBvZGQgbnVtYmVyLCB0aGUgcmVzdWx0IGlzIGV2ZW4g
aWYgdGhlIHN1bSBvZiBhbGwgZGlnaXRzIGlzIGV2ZW4uCi0gICAgLy8KLSAgICAvLyBGb3IgdGhl
IGludGVnZXIgcG9ydGlvbiBvZiB0aGUgcmVzdWx0LCB3ZSBvbmx5IG5lZWQgdGVzdCB3aGV0aGVy
IHRoZSBpbnRlZ2VyIHZhbHVlIGlzCi0gICAgLy8gZXZlbiBvciBvZGQuIEZvciBlYWNoIGRpZ2l0
IG9mIHRoZSBmcmFjdGlvbiBhZGRlZCwgd2Ugc2hvdWxkIGludmVydCBvdXIgaWRlYSBvZiB3aGV0
aGVyCi0gICAgLy8gdGhlIG51bWJlciBpcyBvZGQgaWYgdGhlIG5ldyBkaWdpdCBpcyBvZGQuCi0g
ICAgLy8KLSAgICAvLyBBbHNvIGluaXRpYWxpemUgZGlnaXQgdG8gdGhpcyB2YWx1ZTsgZm9yIGV2
ZW4gcmFkaXggdmFsdWVzIHdlIG9ubHkgbmVlZCB0cmFjayB3aGV0aGVyCi0gICAgLy8gdGhlIGxh
c3QgaW5kaXZpZHVhbCBkaWdpdCB3YXMgb2RkLgotICAgIGJvb2wgaW50ZWdlclBhcnRJc09kZCA9
IGludGVnZXJQYXJ0IDw9IHN0YXRpY19jYXN0PGRvdWJsZT4oMHgxRkZGRkZGRkZGRkZGRnVsbCkg
JiYgc3RhdGljX2Nhc3Q8aW50NjRfdD4oaW50ZWdlclBhcnQpICYgMTsKLSAgICBBU1NFUlQoaW50
ZWdlclBhcnRJc09kZCA9PSBzdGF0aWNfY2FzdDxib29sPihmbW9kKGludGVnZXJQYXJ0LCAyKSkp
OwotICAgIGJvb2wgaXNPZGRJbk9kZFJhZGl4ID0gaW50ZWdlclBhcnRJc09kZDsKLSAgICB1aW50
MzJfdCBkaWdpdCA9IGludGVnZXJQYXJ0SXNPZGQ7Ci0KICAgICAvLyBDaGVjayBpZiB0aGUgdmFs
dWUgaGFzIGEgZnJhY3Rpb25hbCBwYXJ0IHRvIGNvbnZlcnQuCiAgICAgZG91YmxlIGZyYWN0aW9u
UGFydCA9IG51bWJlciAtIGludGVnZXJQYXJ0OwotICAgIGlmIChmcmFjdGlvblBhcnQpIHsKKyAg
ICBpZiAoIWZyYWN0aW9uUGFydCkgeworICAgICAgICAqZGVjaW1hbFBvaW50ID0gJ1wwJzsKKyAg
ICAgICAgLy8gV2UgZG8gbm90IG5lZWQgdG8gY2FyZSB0aGUgbmVnYXRpdmUgemVybyAoLTApIHNp
bmNlIGl0IGlzIGFsc28gY29udmVydGVkIHRvICIwIiBpbiBhbGwgdGhlIHJhZGl4LgorICAgICAg
ICBpZiAoaW50ZWdlclBhcnQgPCAoc3RhdGljX2Nhc3Q8aW50NjRfdD4oMSkgPDwgKEpTVmFsdWU6
Om51bWJlck9mSW50NTJCaXRzIC0gMSkpKQorICAgICAgICAgICAgcmV0dXJuIGludDUyVG9TdHJp
bmdXaXRoUmFkaXgoc3RhcnRPZlJlc3VsdFN0cmluZywgc3RhdGljX2Nhc3Q8aW50NjRfdD4ob3Jp
Z2luYWxOdW1iZXIpLCByYWRpeCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gV2UgdXNlIHRo
aXMgdG8gdGVzdCBmb3Igb2RkIHZhbHVlcyBpbiBvZGQgcmFkaXggYmFzZXMuCisgICAgICAgIC8v
IFdoZXJlIHRoZSBiYXNlIGlzIGV2ZW4sIChlLmcuIDEwKSwgdG8gZGV0ZXJtaW5lIHdoZXRoZXIg
YSB2YWx1ZSBpcyBldmVuIHdlIG5lZWQgb25seQorICAgICAgICAvLyBjb25zaWRlciB0aGUgbGVh
c3Qgc2lnbmlmaWNhbnQgZGlnaXQuIEZvciBleGFtcGxlLCAxMjQgaW4gYmFzZSAxMCBpcyBldmVu
LCBiZWNhdXNlICc0JworICAgICAgICAvLyBpcyBldmVuLiBpZiB0aGUgcmFkaXggaXMgb2RkLCB0
aGVuIHRoZSByYWRpeCByYWlzZWQgdG8gYW4gaW50ZWdlciBwb3dlciBpcyBhbHNvIG9kZC4KKyAg
ICAgICAgLy8gRS5nLiBpbiBiYXNlIDUsIDEyNCByZXByZXNlbnRzICgxICogMTI1ICsgMiAqIDI1
ICsgNCAqIDUpLiBTaW5jZSBlYWNoIGRpZ2l0IGluIHRoZSB2YWx1ZQorICAgICAgICAvLyBpcyBt
dWx0aXBsaWVkIGJ5IGFuIG9kZCBudW1iZXIsIHRoZSByZXN1bHQgaXMgZXZlbiBpZiB0aGUgc3Vt
IG9mIGFsbCBkaWdpdHMgaXMgZXZlbi4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gRm9yIHRoZSBp
bnRlZ2VyIHBvcnRpb24gb2YgdGhlIHJlc3VsdCwgd2Ugb25seSBuZWVkIHRlc3Qgd2hldGhlciB0
aGUgaW50ZWdlciB2YWx1ZSBpcworICAgICAgICAvLyBldmVuIG9yIG9kZC4gRm9yIGVhY2ggZGln
aXQgb2YgdGhlIGZyYWN0aW9uIGFkZGVkLCB3ZSBzaG91bGQgaW52ZXJ0IG91ciBpZGVhIG9mIHdo
ZXRoZXIKKyAgICAgICAgLy8gdGhlIG51bWJlciBpcyBvZGQgaWYgdGhlIG5ldyBkaWdpdCBpcyBv
ZGQuCisgICAgICAgIC8vCisgICAgICAgIC8vIEFsc28gaW5pdGlhbGl6ZSBkaWdpdCB0byB0aGlz
IHZhbHVlOyBmb3IgZXZlbiByYWRpeCB2YWx1ZXMgd2Ugb25seSBuZWVkIHRyYWNrIHdoZXRoZXIK
KyAgICAgICAgLy8gdGhlIGxhc3QgaW5kaXZpZHVhbCBkaWdpdCB3YXMgb2RkLgorICAgICAgICBi
b29sIGludGVnZXJQYXJ0SXNPZGQgPSBpbnRlZ2VyUGFydCA8PSBzdGF0aWNfY2FzdDxkb3VibGU+
KDB4MUZGRkZGRkZGRkZGRkZ1bGwpICYmIHN0YXRpY19jYXN0PGludDY0X3Q+KGludGVnZXJQYXJ0
KSAmIDE7CisgICAgICAgIEFTU0VSVChpbnRlZ2VyUGFydElzT2RkID09IHN0YXRpY19jYXN0PGJv
b2w+KGZtb2QoaW50ZWdlclBhcnQsIDIpKSk7CisgICAgICAgIGJvb2wgaXNPZGRJbk9kZFJhZGl4
ID0gaW50ZWdlclBhcnRJc09kZDsKKyAgICAgICAgdWludDMyX3QgZGlnaXQgPSBpbnRlZ2VyUGFy
dElzT2RkOworCiAgICAgICAgIC8vIFdyaXRlIHRoZSBkZWNpbWFsIHBvaW50IG5vdy4KICAgICAg
ICAgKmRlY2ltYWxQb2ludCA9ICcuJzsKIApAQCAtMzEwLDggKzMzNyw3IEBAIHN0YXRpYyBjaGFy
KiB0b1N0cmluZ1dpdGhSYWRpeChSYWRpeEJ1ZmZlciYgYnVmZmVyLCBkb3VibGUgbnVtYmVyLCB1
bnNpZ25lZCByYWRpCiAKICAgICAgICAgKmVuZE9mUmVzdWx0U3RyaW5nID0gJ1wwJzsKICAgICAg
ICAgQVNTRVJUKGVuZE9mUmVzdWx0U3RyaW5nIDwgYnVmZmVyICsgc2l6ZW9mKGJ1ZmZlcikpOwot
ICAgIH0gZWxzZQotICAgICAgICAqZGVjaW1hbFBvaW50ID0gJ1wwJzsKKyAgICB9CiAKICAgICBC
aWdJbnRlZ2VyIHVuaXRzKGludGVnZXJQYXJ0KTsKIApAQCAtMzIxLDcgKzM0Nyw3IEBAIHN0YXRp
YyBjaGFyKiB0b1N0cmluZ1dpdGhSYWRpeChSYWRpeEJ1ZmZlciYgYnVmZmVyLCBkb3VibGUgbnVt
YmVyLCB1bnNpZ25lZCByYWRpCiAKICAgICAgICAgLy8gUmVhZCBhIHNpbmdsZSBkaWdpdCBhbmQg
d3JpdGUgaXQgdG8gdGhlIGZyb250IG9mIHRoZSBzdHJpbmcuCiAgICAgICAgIC8vIERpdmlkZSBi
eSByYWRpeCB0byByZW1vdmUgb25lIGRpZ2l0IGZyb20gdGhlIHZhbHVlLgotICAgICAgICBkaWdp
dCA9IHVuaXRzLmRpdmlkZShyYWRpeCk7CisgICAgICAgIHVpbnQzMl90IGRpZ2l0ID0gdW5pdHMu
ZGl2aWRlKHJhZGl4KTsKICAgICAgICAgKi0tc3RhcnRPZlJlc3VsdFN0cmluZyA9IHJhZGl4RGln
aXRzW2RpZ2l0XTsKICAgICB9IHdoaWxlICghIXVuaXRzKTsKIApkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAxZWYyNzRkY2QwOWEyNTUzMWMw
ZDhiZWNmNmM4ZDk3OWZmMjMwODZjLi4xMzVmNjdhMDQyYTM1MTBmMzhhYzUxZjE1MmU1NmI5OTlj
MjI3NjIyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAxLTI0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtKU0NdIE9wdGltaXplIE51bWJlciN0b1N0cmlu
ZyB3aXRoIEludDUyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjczMDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHN0cmVzcy90by1zdHJpbmctd2l0aC1pbnQ1Mi5qczogQWRkZWQuCisgICAgICAgIChz
aG91bGRCZSk6CisKIDIwMTctMDEtMjMgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzI0
NwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvdG8tc3RyaW5nLXdpdGgtaW50NTIuanMgYi9K
U1Rlc3RzL3N0cmVzcy90by1zdHJpbmctd2l0aC1pbnQ1Mi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2ZlOTg1
NjEyNDQ2MDYxZDliOTE5OGFhNmQ4ZDZkNmYyMTg4NjA3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLXdpdGgtaW50NTIuanMKQEAgLTAsMCArMSwxNSBAQAorZnVu
Y3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkKK3sKKyAgICBpZiAoYWN0dWFsICE9PSBl
eHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwp
OworfQorCitzaG91bGRCZSgoMHhmZmZmZmZmZmZmZikudG9TdHJpbmcoMTYpLCBgZmZmZmZmZmZm
ZmZgKTsKK3Nob3VsZEJlKCgtMHhmZmZmZmZmZmZmZikudG9TdHJpbmcoMTYpLCBgLWZmZmZmZmZm
ZmZmYCk7CitzaG91bGRCZSgoMHhmZmZmZmZmZmZmZjAwMCkudG9TdHJpbmcoMTYpLCBgZmZmZmZm
ZmZmZmYwMDBgKTsKK3Nob3VsZEJlKCgtMHhmZmZmZmZmZmZmZjAwMCkudG9TdHJpbmcoMTYpLCBg
LWZmZmZmZmZmZmZmMDAwYCk7CisKK3Nob3VsZEJlKCgweDgwMDAwMDAwMDAwMDApLnRvU3RyaW5n
KDE2KSwgYDgwMDAwMDAwMDAwMDBgKTsKK3Nob3VsZEJlKCgtMHg4MDAwMDAwMDAwMDAwKS50b1N0
cmluZygxNiksIGAtODAwMDAwMDAwMDAwMGApOworc2hvdWxkQmUoKDB4ODAwMDAwMDAwMDAwMCAt
IDEpLnRvU3RyaW5nKDE2KSwgYDdmZmZmZmZmZmZmZmZgKTsKK3Nob3VsZEJlKCgtMHg4MDAwMDAw
MDAwMDAwICsgMSkudG9TdHJpbmcoMTYpLCBgLTdmZmZmZmZmZmZmZmZgKTsK
</data>
<flag name="review"
          id="321534"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>