<?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>141546</bug_id>
          
          <creation_ts>2015-02-12 17:54:06 -0800</creation_ts>
          <short_desc>ArithSqrt should not be conditional on supportsFloatingPointSqrt</short_desc>
          <delta_ts>2015-02-13 15:08:23 -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>New Bugs</component>
          <version>528+ (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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1068813</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-12 17:54:06 -0800</bug_when>
    <thetext>ArithSqrt should not be conditional on supportsFloatingPointSqrt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068814</commentid>
    <comment_count>1</comment_count>
      <attachid>246495</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-12 17:55:26 -0800</bug_when>
    <thetext>Created attachment 246495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068959</commentid>
    <comment_count>2</comment_count>
      <attachid>246495</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-02-13 10:46:31 -0800</bug_when>
    <thetext>Comment on attachment 246495
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068994</commentid>
    <comment_count>3</comment_count>
      <attachid>246495</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-13 11:58:38 -0800</bug_when>
    <thetext>Comment on attachment 246495
Patch

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

You should fix the register allocation bug.  Also, since your tests currently don&apos;t disable concurrent JIT, they will be flaky.

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:3549
&gt; +    FPRTemporary result(this, op1);

This should be FPRResult instead of FPRTemporary when we&apos;re doing flushRegisters().  Otherwise weird and uncommon register allocation bugs will happen.

&gt; Source/JavaScriptCore/tests/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js:1
&gt; +//@ run(&quot;no-architecture-specific-optimizations&quot;, &quot;--enableArchitectureSpecificOptimizations=false&quot;)

Should probably be:

run(&quot;no-architecture-specific-optimizations&quot;, &quot;--enableArchitectureSpecificOptimizations=false&quot;, *NO_CJIT_OPTIONS)

For good measure, you should probably also add a second line that runs in FTL as well.

&gt; Source/JavaScriptCore/tests/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js:10
&gt; +    for (var i = 0; i &lt; 1000000; ++i) {

Only 10000 runs are needed with cjit turned off.

&gt; Source/JavaScriptCore/tests/stress/math-sqrt-basics.js:8
&gt; +    for (var i = 0; i &lt; 1000000; ++i) {

Only 10000 runs are needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069041</commentid>
    <comment_count>4</comment_count>
      <attachid>246552</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-13 14:55:54 -0800</bug_when>
    <thetext>Created attachment 246552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069042</commentid>
    <comment_count>5</comment_count>
      <attachid>246552</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-02-13 14:57:27 -0800</bug_when>
    <thetext>Comment on attachment 246552
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069043</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-13 15:08:23 -0800</bug_when>
    <thetext>Committed r180085: &lt;http://trac.webkit.org/changeset/180085&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246495</attachid>
            <date>2015-02-12 17:55:26 -0800</date>
            <delta_ts>2015-02-13 14:55:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141546-20150212175524.patch</filename>
            <type>text/plain</type>
            <size>9638</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5OTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
OTgwMDUwNGQ1MGViYjE4NWNlOGMwOTY1ZmYxMzhkOTc2ZDdlZTRjLi4zMzUxODlmNTQ0MmM3NzI4
ODQwODA3ZWI5OWQwYmE5YzIzMzM2ZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxNS0wMi0xMiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBBcml0aFNxcnQgc2hvdWxkIG5vdCBiZSBjb25kaXRpb25hbCBvbiBz
dXBwb3J0c0Zsb2F0aW5nUG9pbnRTcXJ0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDE1NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBKdXN0IGZhbGxiYWNrIHRvIHRoZSBmdW5jdGlvbiBjYWxsIGluIHRo
ZSBERkcgY29kZWdlbi4KKworICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpYyk6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoU3FydCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0
aXZlSklULmg6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9tYXRoLXNxcnQtYmFzaWNzLmpz
OiBBZGRlZC4KKyAgICAgICAgQmFzaWMgY292ZXJhZ2UuCisKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvbWF0aC1zcXJ0LWJhc2ljcy1kaXNhYmxlLWFyY2hpdGVjdHVyZS1zcGVjaWZpYy1vcHRpbWl6
YXRpb25zLmpzOiBBZGRlZC4KKyAgICAgICAgU2FtZSB0ZXN0cyBidXQgZm9yY2luZyB0aGUgZnVu
Y3Rpb24gY2FsbC4KKwogMjAxNS0wMi0xMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIFNldHVwVmFyYXJnc0ZyYW1lIHNob3VsZCBub3QgYXNzdW1lIHRoYXQgYW4g
aW5saW5lIHN0YWNrIGZyYW1lIHdvdWxkIGhhdmUgaWRlbnRpY2FsIGxheW91dCB0byBhIG5vcm1h
bCBzdGFjayBmcmFtZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcAppbmRleCBhMTA4ODliYzYyMmJkMGJkMGM0MTZiMTExZGNhYzY2YzRmNjM3MTlm
Li5iODIzN2VhZmVjYmEzMmY0MGJkZmM5NDI3OTY0NjFhMGQxY2RhODU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMTY2OCw5ICsx
NjY4LDYgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmluc2ljKGludCByZXN1bHRP
cGVyYW5kLCBJbnRyaW5zaWMgaW50cmluc2ljLCBpbnQKICAgICAgICAgCiAgICAgICAgIHN3aXRj
aCAoaW50cmluc2ljKSB7CiAgICAgICAgIGNhc2UgU3FydEludHJpbnNpYzoKLSAgICAgICAgICAg
IGlmICghTWFjcm9Bc3NlbWJsZXI6OnN1cHBvcnRzRmxvYXRpbmdQb2ludFNxcnQoKSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAKICAgICAgICAgICAgIHNldChW
aXJ0dWFsUmVnaXN0ZXIocmVzdWx0T3BlcmFuZCksIGFkZFRvR3JhcGgoQXJpdGhTcXJ0LCBnZXQo
dmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoMSwgcmVnaXN0ZXJPZmZzZXQpKSkpOwogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggODg4NjQ3NTc0YTAwOGI1OWFhMmVi
YWM3N2YzOTM0YWY4NTI2ZDQzMS4uNDQxYWE4NDQ2ODliYjJhNzI0ZmIxZmE5NzkxMmYyNGIzOTZk
NmFmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAKQEAgLTM1NDMsNiArMzU0MywyMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
QXJpdGhNb2QoTm9kZSogbm9kZSkKICAgICB9CiB9CiAKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVBcml0aFNxcnQoTm9kZSogbm9kZSkKK3sKKyAgICBTcGVjdWxhdGVEb3VibGVPcGVyYW5k
IG9wMSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgRlBSVGVtcG9yYXJ5IHJlc3VsdCh0aGlz
LCBvcDEpOworICAgIEZQUlJlZyBvcDFGUFIgPSBvcDEuZnByKCk7CisKKyAgICBpZiAoIU1hY3Jv
QXNzZW1ibGVyOjpzdXBwb3J0c0Zsb2F0aW5nUG9pbnRTcXJ0KCkgfHwgIU9wdGlvbnM6OmVuYWJs
ZUFyY2hpdGVjdHVyZVNwZWNpZmljT3B0aW1pemF0aW9ucygpKSB7CisgICAgICAgIGZsdXNoUmVn
aXN0ZXJzKCk7CisgICAgICAgIGNhbGxPcGVyYXRpb24oc3FydCwgcmVzdWx0LmZwcigpLCBvcDFG
UFIpOworICAgIH0gZWxzZQorICAgICAgICBtX2ppdC5zcXJ0RG91YmxlKG9wMS5mcHIoKSwgcmVz
dWx0LmZwcigpKTsKKworICAgIGRvdWJsZVJlc3VsdChyZXN1bHQuZnByKCksIG5vZGUpOworfQor
CiAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbXBhcmUgaXMgZnVzZWQgd2l0aCBhIHN1YnNlcXVl
bnQgYnJhbmNoLgogYm9vbCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGFyZShOb2RlKiBub2RlLCBNYWNy
b0Fzc2VtYmxlcjo6UmVsYXRpb25hbENvbmRpdGlvbiBjb25kaXRpb24sIE1hY3JvQXNzZW1ibGVy
OjpEb3VibGVDb25kaXRpb24gZG91YmxlQ29uZGl0aW9uLCBTX0pJVE9wZXJhdGlvbl9FSkogb3Bl
cmF0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oCmluZGV4IDI1YjgzZThiN2ZhOTM2ZmYxZTljNmY1MTQwNTAxZDJmZTQ5NmI5ZmEuLmJjZTM5
NDA3NjQwNzFlOTQxOWNhMzRjNjkyMDZlZWUzNGQ1N2QyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTIxNzAsNiArMjE3MCw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIGNvbXBpbGVBcml0aE11bChOb2RlKik7CiAgICAgdm9pZCBjb21waWxl
QXJpdGhEaXYoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUFyaXRoTW9kKE5vZGUqKTsKKyAgICB2
b2lkIGNvbXBpbGVBcml0aFNxcnQoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUNvbnN0YW50U3Rv
cmFnZVBvaW50ZXIoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUdldEluZGV4ZWRQcm9wZXJ0eVN0
b3JhZ2UoTm9kZSopOwogICAgIEpJVENvbXBpbGVyOjpKdW1wIGp1bXBGb3JUeXBlZEFycmF5T3V0
T2ZCb3VuZHMoTm9kZSosIEdQUlJlZyBiYXNlR1BSLCBHUFJSZWcgaW5kZXhHUFIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAK
aW5kZXggYzhlYTUwMzVhODYzODQ3NGUyNGI3N2NjZDlkNGE1NDgxMDQyY2JjMi4uZTVjM2U3MjA0
M2UzZjc1OTEwOTI5NjRmMDcxYzg2MWJmNGI4ZDY5NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC0yMDk5LDE3ICsy
MDk5LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAg
ICAgfQogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgICAgIAotICAgIGNhc2UgQXJpdGhTcXJ0
OiB7Ci0gICAgICAgIFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxk
MSgpKTsKLSAgICAgICAgRlBSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBvcDEpOwotICAgICAgICAK
LSAgICAgICAgbV9qaXQuc3FydERvdWJsZShvcDEuZnByKCksIHJlc3VsdC5mcHIoKSk7Ci0gICAg
ICAgIAotICAgICAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBub2RlKTsKKworICAgIGNh
c2UgQXJpdGhTcXJ0OgorICAgICAgICBjb21waWxlQXJpdGhTcXJ0KG5vZGUpOwogICAgICAgICBi
cmVhazsKLSAgICB9Ci0gICAgICAgIAorCiAgICAgY2FzZSBBcml0aEZSb3VuZDogewogICAgICAg
ICBTcGVjdWxhdGVEb3VibGVPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAg
ICAgIEZQUlRlbXBvcmFyeSByZXN1bHQodGhpcywgb3AxKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDBiYWRkZDkxMTQwMWQ0
ODUzODMxNDYyNDNhYTMyNDA0YzVkYzBlODcuLjQyYWFjMWEwYTMyYThiNjZjODllNjEyYTkzNmNm
ZjcyYTZmZGEzYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcApAQCAtMjI0MCwxNyArMjI0MCwxMSBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAg
fQotICAgICAgICAKLSAgICBjYXNlIEFyaXRoU3FydDogewotICAgICAgICBTcGVjdWxhdGVEb3Vi
bGVPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgIEZQUlRlbXBvcmFy
eSByZXN1bHQodGhpcywgb3AxKTsKLSAgICAgICAgCi0gICAgICAgIG1faml0LnNxcnREb3VibGUo
b3AxLmZwcigpLCByZXN1bHQuZnByKCkpOwotICAgICAgICAKLSAgICAgICAgZG91YmxlUmVzdWx0
KHJlc3VsdC5mcHIoKSwgbm9kZSk7CisKKyAgICBjYXNlIEFyaXRoU3FydDoKKyAgICAgICAgY29t
cGlsZUFyaXRoU3FydChub2RlKTsKICAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgICAgICAKKwog
ICAgIGNhc2UgQXJpdGhGUm91bmQ6IHsKICAgICAgICAgU3BlY3VsYXRlRG91YmxlT3BlcmFuZCBv
cDEodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBGUFJUZW1wb3JhcnkgcmVzdWx0KHRo
aXMsIG9wMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L21hdGgtc3FydC1iYXNpY3MtZGlzYWJsZS1hcmNoaXRlY3R1cmUtc3BlY2lmaWMtb3B0aW1pemF0
aW9ucy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbWF0aC1zcXJ0LWJh
c2ljcy1kaXNhYmxlLWFyY2hpdGVjdHVyZS1zcGVjaWZpYy1vcHRpbWl6YXRpb25zLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM0NDUwYzZlYjkzNWRiNWMyNmVkMDYxOWMzYzk3MGEzMTlhZmY3ZmYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21hdGgtc3FydC1i
YXNpY3MtZGlzYWJsZS1hcmNoaXRlY3R1cmUtc3BlY2lmaWMtb3B0aW1pemF0aW9ucy5qcwpAQCAt
MCwwICsxLDQ3IEBACisvL0AgcnVuKCJuby1hcmNoaXRlY3R1cmUtc3BlY2lmaWMtb3B0aW1pemF0
aW9ucyIsICItLWVuYWJsZUFyY2hpdGVjdHVyZVNwZWNpZmljT3B0aW1pemF0aW9ucz1mYWxzZSIp
CisKKy8vIEJhc2ljIGNhc2VzIG9mIE1hdGguc3FydCgpLgorZnVuY3Rpb24gc3FydE9uSW50ZWdl
cihyYWRpY2FuZCkgeworICAgIHJldHVybiBNYXRoLnNxcnQocmFkaWNhbmQpOworfQorbm9Jbmxp
bmUoc3FydE9uSW50ZWdlcik7CisKK2Z1bmN0aW9uIHRlc3RTcXVhcmVSb290MTYoKSB7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9
IHNxcnRPbkludGVnZXIoMTYpOworICAgICAgICBpZiAocmVzdWx0ICE9PSA0KQorICAgICAgICAg
ICAgdGhyb3cgInNxcnRPbkludGVnZXIoMTYpID0gIiArIHJlc3VsdCArICIsIGV4cGVjdGVkIDQi
OworICAgIH0KK30KK3Rlc3RTcXVhcmVSb290MTYoKTsKKwordmFyIHNxcnRPbkludGVnZXJOZWdh
dGl2ZU51bWJlciA9IHNxcnRPbkRvdWJsZSgtNCk7CitpZiAoIWlzTmFOKHNxcnRPbkludGVnZXJO
ZWdhdGl2ZU51bWJlcikpCisgICAgdGhyb3cgInNxcnRPbkRvdWJsZSgtNCkgPSAiICsgc3FydE9u
SW50ZWdlck5lZ2F0aXZlTnVtYmVyICsgIiwgZXhwZWN0ZWQgTmFOIjsKKwordmFyIHNxcnRPbklu
dGVnZXJGYWxsYmFjayA9IHNxcnRPbkludGVnZXIoTWF0aC5QSSk7CitpZiAoc3FydE9uSW50ZWdl
ckZhbGxiYWNrICE9IDEuNzcyNDUzODUwOTA1NTE1OSkKKyAgICB0aHJvdyAic3FydE9uSW50ZWdl
cihNYXRoLlBJKSA9ICIgKyBzcXJ0T25JbnRlZ2VyRmFsbGJhY2sgKyAiLCBleHBlY3RlZCAxLjc3
MjQ1Mzg1MDkwNTUxNTkiOworCisKK2Z1bmN0aW9uIHNxcnRPbkRvdWJsZShyYWRpY2FuZCkgewor
ICAgIHJldHVybiBNYXRoLnNxcnQocmFkaWNhbmQpOworfQorbm9JbmxpbmUoc3FydE9uRG91Ymxl
KTsKKworZnVuY3Rpb24gdGVzdFNxdWFyZVJvb3REb3VibGUoKSB7CisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgICAgIHZhciByZXN1bHQgPSBzcXJ0T25JbnRlZ2Vy
KE1hdGguTE4yKTsKKyAgICAgICAgaWYgKHJlc3VsdCAhPT0gMC44MzI1NTQ2MTExNTc2OTc3KQor
ICAgICAgICAgICAgdGhyb3cgInNxcnRPbkludGVnZXIoTWF0aC5MTjIpID0gIiArIHJlc3VsdCAr
ICIsIGV4cGVjdGVkIDAuODMyNTU0NjExMTU3Njk3NyI7CisgICAgfQorfQordGVzdFNxdWFyZVJv
b3REb3VibGUoKTsKKwordmFyIHNxcnRPbkRvdWJsZU5lZ2F0aXZlTnVtYmVyID0gc3FydE9uRG91
YmxlKC1NYXRoLlBJKTsKK2lmICghaXNOYU4oc3FydE9uRG91YmxlTmVnYXRpdmVOdW1iZXIpKQor
ICAgIHRocm93ICJzcXJ0T25Eb3VibGUoLU1hdGguUEkpID0gIiArIHNxcnRPbkRvdWJsZU5lZ2F0
aXZlTnVtYmVyICsgIiwgZXhwZWN0ZWQgTmFOIjsKKwordmFyIHNxcnRPbkRvdWJsZUZhbGxiYWNr
ID0gc3FydE9uRG91YmxlKDQpOworaWYgKHNxcnRPbkRvdWJsZUZhbGxiYWNrICE9PSAyKQorICAg
IHRocm93ICJzcXJ0T25Eb3VibGUoNCkgPSAiICsgc3FydE9uRG91YmxlRmFsbGJhY2sgKyAiLCBl
eHBlY3RlZCAyIjsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21hdGgtc3FydC1iYXNpY3MuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21hdGgtc3FydC1iYXNpY3MuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTA3OTJmZTU3MTk1M2E1N2EwY2RhZmM5Njg5ZTVkMTFmYmU1MDE5OQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbWF0aC1zcXJ0LWJh
c2ljcy5qcwpAQCAtMCwwICsxLDQ1IEBACisvLyBCYXNpYyBjYXNlcyBvZiBNYXRoLnNxcnQoKS4K
K2Z1bmN0aW9uIHNxcnRPbkludGVnZXIocmFkaWNhbmQpIHsKKyAgICByZXR1cm4gTWF0aC5zcXJ0
KHJhZGljYW5kKTsKK30KK25vSW5saW5lKHNxcnRPbkludGVnZXIpOworCitmdW5jdGlvbiB0ZXN0
U3F1YXJlUm9vdDE2KCkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7
CisgICAgICAgIHZhciByZXN1bHQgPSBzcXJ0T25JbnRlZ2VyKDE2KTsKKyAgICAgICAgaWYgKHJl
c3VsdCAhPT0gNCkKKyAgICAgICAgICAgIHRocm93ICJzcXJ0T25JbnRlZ2VyKDE2KSA9ICIgKyBy
ZXN1bHQgKyAiLCBleHBlY3RlZCA0IjsKKyAgICB9Cit9Cit0ZXN0U3F1YXJlUm9vdDE2KCk7CisK
K3ZhciBzcXJ0T25JbnRlZ2VyTmVnYXRpdmVOdW1iZXIgPSBzcXJ0T25Eb3VibGUoLTQpOworaWYg
KCFpc05hTihzcXJ0T25JbnRlZ2VyTmVnYXRpdmVOdW1iZXIpKQorICAgIHRocm93ICJzcXJ0T25E
b3VibGUoLTQpID0gIiArIHNxcnRPbkludGVnZXJOZWdhdGl2ZU51bWJlciArICIsIGV4cGVjdGVk
IE5hTiI7CisKK3ZhciBzcXJ0T25JbnRlZ2VyRmFsbGJhY2sgPSBzcXJ0T25JbnRlZ2VyKE1hdGgu
UEkpOworaWYgKHNxcnRPbkludGVnZXJGYWxsYmFjayAhPSAxLjc3MjQ1Mzg1MDkwNTUxNTkpCisg
ICAgdGhyb3cgInNxcnRPbkludGVnZXIoTWF0aC5QSSkgPSAiICsgc3FydE9uSW50ZWdlckZhbGxi
YWNrICsgIiwgZXhwZWN0ZWQgMS43NzI0NTM4NTA5MDU1MTU5IjsKKworCitmdW5jdGlvbiBzcXJ0
T25Eb3VibGUocmFkaWNhbmQpIHsKKyAgICByZXR1cm4gTWF0aC5zcXJ0KHJhZGljYW5kKTsKK30K
K25vSW5saW5lKHNxcnRPbkRvdWJsZSk7CisKK2Z1bmN0aW9uIHRlc3RTcXVhcmVSb290RG91Ymxl
KCkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgICAgICB2YXIg
cmVzdWx0ID0gc3FydE9uSW50ZWdlcihNYXRoLkxOMik7CisgICAgICAgIGlmIChyZXN1bHQgIT09
IDAuODMyNTU0NjExMTU3Njk3NykKKyAgICAgICAgICAgIHRocm93ICJzcXJ0T25JbnRlZ2VyKE1h
dGguTE4yKSA9ICIgKyByZXN1bHQgKyAiLCBleHBlY3RlZCAwLjgzMjU1NDYxMTE1NzY5NzciOwor
ICAgIH0KK30KK3Rlc3RTcXVhcmVSb290RG91YmxlKCk7CisKK3ZhciBzcXJ0T25Eb3VibGVOZWdh
dGl2ZU51bWJlciA9IHNxcnRPbkRvdWJsZSgtTWF0aC5QSSk7CitpZiAoIWlzTmFOKHNxcnRPbkRv
dWJsZU5lZ2F0aXZlTnVtYmVyKSkKKyAgICB0aHJvdyAic3FydE9uRG91YmxlKC1NYXRoLlBJKSA9
ICIgKyBzcXJ0T25Eb3VibGVOZWdhdGl2ZU51bWJlciArICIsIGV4cGVjdGVkIE5hTiI7CisKK3Zh
ciBzcXJ0T25Eb3VibGVGYWxsYmFjayA9IHNxcnRPbkRvdWJsZSg0KTsKK2lmIChzcXJ0T25Eb3Vi
bGVGYWxsYmFjayAhPT0gMikKKyAgICB0aHJvdyAic3FydE9uRG91YmxlKDQpID0gIiArIHNxcnRP
bkRvdWJsZUZhbGxiYWNrICsgIiwgZXhwZWN0ZWQgMiI7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246552</attachid>
            <date>2015-02-13 14:55:54 -0800</date>
            <delta_ts>2015-02-13 14:57:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141546-20150213145551.patch</filename>
            <type>text/plain</type>
            <size>9817</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
NjExNDU0YzIyOTc3YWIyNDVlOTI3MTk3ZjhjOTZjZTczYTkwOTk2Li40ZDZlZDY0YzA1OGM2MmQz
ODc4ZWQwMTkxMzNhNzc2N2IyNDc3ZTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxNS0wMi0xMiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBBcml0aFNxcnQgc2hvdWxkIG5vdCBiZSBjb25kaXRpb25hbCBvbiBz
dXBwb3J0c0Zsb2F0aW5nUG9pbnRTcXJ0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDE1NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBKdXN0IGZhbGxiYWNrIHRvIHRoZSBmdW5jdGlvbiBjYWxsIGluIHRo
ZSBERkcgY29kZWdlbi4KKworICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpYyk6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoU3FydCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0
aXZlSklULmg6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9tYXRoLXNxcnQtYmFzaWNzLmpz
OiBBZGRlZC4KKyAgICAgICAgQmFzaWMgY292ZXJhZ2UuCisKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvbWF0aC1zcXJ0LWJhc2ljcy1kaXNhYmxlLWFyY2hpdGVjdHVyZS1zcGVjaWZpYy1vcHRpbWl6
YXRpb25zLmpzOiBBZGRlZC4KKyAgICAgICAgU2FtZSB0ZXN0cyBidXQgZm9yY2luZyB0aGUgZnVu
Y3Rpb24gY2FsbC4KKwogMjAxNS0wMi0xMyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFw
cGxlLmNvbT4KIAogICAgICAgICBHZW5lcmF0ZSBpbmNxIGluc3RlYWQgb2YgYWRkcSB3aGVuIHRo
ZSBpbW1lZGlhdGUgdmFsdWUgaXMgb25lCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGExMDg4OWJjNjIyYmQwYmQwYzQxNmIxMTFkY2Fj
NjZjNGY2MzcxOWYuLmI4MjM3ZWFmZWNiYTMyZjQwYmRmYzk0Mjc5NjQ2MWEwZDFjZGE4NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBA
IC0xNjY4LDkgKzE2NjgsNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbnRyaW5zaWMo
aW50IHJlc3VsdE9wZXJhbmQsIEludHJpbnNpYyBpbnRyaW5zaWMsIGludAogICAgICAgICAKICAg
ICAgICAgc3dpdGNoIChpbnRyaW5zaWMpIHsKICAgICAgICAgY2FzZSBTcXJ0SW50cmluc2ljOgot
ICAgICAgICAgICAgaWYgKCFNYWNyb0Fzc2VtYmxlcjo6c3VwcG9ydHNGbG9hdGluZ1BvaW50U3Fy
dCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIAogICAgICAg
ICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihyZXN1bHRPcGVyYW5kKSwgYWRkVG9HcmFwaChBcml0
aFNxcnQsIGdldCh2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudCgxLCByZWdpc3Rlck9mZnNldCkp
KSk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBiNGNkOTExMDg4
ZWFjNGJkY2RiNWI1Yzg5MjU2YTQ2NmY1MTRiOTg1Li4zOGU2NjE3MWQ0NjA2NmVhNjMwN2I4ZDQz
NTczNzdlNzZjOTkyNzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcApAQCAtMzU0Myw2ICszNTQzLDIzIEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVBcml0aE1vZChOb2RlKiBub2RlKQogICAgIH0KIH0KIAordm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUFyaXRoU3FydChOb2RlKiBub2RlKQoreworICAgIFNwZWN1bGF0ZURv
dWJsZU9wZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICBGUFJSZWcgb3AxRlBS
ID0gb3AxLmZwcigpOworCisgICAgaWYgKCFNYWNyb0Fzc2VtYmxlcjo6c3VwcG9ydHNGbG9hdGlu
Z1BvaW50U3FydCgpIHx8ICFPcHRpb25zOjplbmFibGVBcmNoaXRlY3R1cmVTcGVjaWZpY09wdGlt
aXphdGlvbnMoKSkgeworICAgICAgICBmbHVzaFJlZ2lzdGVycygpOworICAgICAgICBGUFJSZXN1
bHQgcmVzdWx0KHRoaXMpOworICAgICAgICBjYWxsT3BlcmF0aW9uKHNxcnQsIHJlc3VsdC5mcHIo
KSwgb3AxRlBSKTsKKyAgICAgICAgZG91YmxlUmVzdWx0KHJlc3VsdC5mcHIoKSwgbm9kZSk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgRlBSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBvcDEpOworICAg
ICAgICBtX2ppdC5zcXJ0RG91YmxlKG9wMS5mcHIoKSwgcmVzdWx0LmZwcigpKTsKKyAgICAgICAg
ZG91YmxlUmVzdWx0KHJlc3VsdC5mcHIoKSwgbm9kZSk7CisgICAgfQorfQorCiAvLyBSZXR1cm5z
IHRydWUgaWYgdGhlIGNvbXBhcmUgaXMgZnVzZWQgd2l0aCBhIHN1YnNlcXVlbnQgYnJhbmNoLgog
Ym9vbCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGFyZShOb2RlKiBub2RlLCBNYWNyb0Fzc2VtYmxlcjo6
UmVsYXRpb25hbENvbmRpdGlvbiBjb25kaXRpb24sIE1hY3JvQXNzZW1ibGVyOjpEb3VibGVDb25k
aXRpb24gZG91YmxlQ29uZGl0aW9uLCBTX0pJVE9wZXJhdGlvbl9FSkogb3BlcmF0aW9uKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDVl
YjQ3NmM0YzQ1OTQ5MmJlZDRkMzNmZmI0MTE1MTFjNzdmMGE5ODQuLjNiN2M1ZDAwYjc3ODc0ZTQ5
NjY0MzllMDZkOTRkZDZkNmJiYjE1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTIxMzQsNiArMjEzNCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGNvbXBpbGVBcml0aE11bChOb2RlKik7CiAgICAgdm9pZCBjb21waWxlQXJpdGhEaXYoTm9k
ZSopOwogICAgIHZvaWQgY29tcGlsZUFyaXRoTW9kKE5vZGUqKTsKKyAgICB2b2lkIGNvbXBpbGVB
cml0aFNxcnQoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUNvbnN0YW50U3RvcmFnZVBvaW50ZXIo
Tm9kZSopOwogICAgIHZvaWQgY29tcGlsZUdldEluZGV4ZWRQcm9wZXJ0eVN0b3JhZ2UoTm9kZSop
OwogICAgIEpJVENvbXBpbGVyOjpKdW1wIGp1bXBGb3JUeXBlZEFycmF5T3V0T2ZCb3VuZHMoTm9k
ZSosIEdQUlJlZyBiYXNlR1BSLCBHUFJSZWcgaW5kZXhHUFIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggNzZlYjdh
YTA2NTJiZDg2M2YwNTE5NWIzOTA4NjYxODAzNTU0OWQ1My4uYjgxMDU5M2E1MzI0ZTU5NWRlNGNk
OTdmZWYzZjlhODA2MDFjNGQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC0yMDk5LDE3ICsyMDk5LDExIEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgfQogICAgICAg
ICBicmVhazsKICAgICB9Ci0gICAgICAgIAotICAgIGNhc2UgQXJpdGhTcXJ0OiB7Ci0gICAgICAg
IFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAg
ICAgRlBSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBvcDEpOwotICAgICAgICAKLSAgICAgICAgbV9q
aXQuc3FydERvdWJsZShvcDEuZnByKCksIHJlc3VsdC5mcHIoKSk7Ci0gICAgICAgIAotICAgICAg
ICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBub2RlKTsKKworICAgIGNhc2UgQXJpdGhTcXJ0
OgorICAgICAgICBjb21waWxlQXJpdGhTcXJ0KG5vZGUpOwogICAgICAgICBicmVhazsKLSAgICB9
Ci0gICAgICAgIAorCiAgICAgY2FzZSBBcml0aEZSb3VuZDogewogICAgICAgICBTcGVjdWxhdGVE
b3VibGVPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIEZQUlRlbXBv
cmFyeSByZXN1bHQodGhpcywgb3AxKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDU3YjAzZjIzMmUxMzBhYzE5NzU1OWZlZTIy
NmM5ZTEzNGUyMDcxYjUuLmNlMDY3YTk5NWViYzc3NTEzNzk5OTlmNjNiMDJmYWJmMDQ4NzMwOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcApAQCAtMjI0MCwxNyArMjI0MCwxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUqIG5vZGUpCiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgICAgICAK
LSAgICBjYXNlIEFyaXRoU3FydDogewotICAgICAgICBTcGVjdWxhdGVEb3VibGVPcGVyYW5kIG9w
MSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgIEZQUlRlbXBvcmFyeSByZXN1bHQodGhp
cywgb3AxKTsKLSAgICAgICAgCi0gICAgICAgIG1faml0LnNxcnREb3VibGUob3AxLmZwcigpLCBy
ZXN1bHQuZnByKCkpOwotICAgICAgICAKLSAgICAgICAgZG91YmxlUmVzdWx0KHJlc3VsdC5mcHIo
KSwgbm9kZSk7CisKKyAgICBjYXNlIEFyaXRoU3FydDoKKyAgICAgICAgY29tcGlsZUFyaXRoU3Fy
dChub2RlKTsKICAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgICAgICAKKwogICAgIGNhc2UgQXJp
dGhGUm91bmQ6IHsKICAgICAgICAgU3BlY3VsYXRlRG91YmxlT3BlcmFuZCBvcDEodGhpcywgbm9k
ZS0+Y2hpbGQxKCkpOwogICAgICAgICBGUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMsIG9wMSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21hdGgtc3FydC1i
YXNpY3MtZGlzYWJsZS1hcmNoaXRlY3R1cmUtc3BlY2lmaWMtb3B0aW1pemF0aW9ucy5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbWF0aC1zcXJ0LWJhc2ljcy1kaXNhYmxl
LWFyY2hpdGVjdHVyZS1zcGVjaWZpYy1vcHRpbWl6YXRpb25zLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyOWJm
NTZkN2JmMjVmNmRhZWU0YWUyYmU4NzQxY2QzZWYyYzgwMzAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21hdGgtc3FydC1iYXNpY3MtZGlzYWJs
ZS1hcmNoaXRlY3R1cmUtc3BlY2lmaWMtb3B0aW1pemF0aW9ucy5qcwpAQCAtMCwwICsxLDQ4IEBA
CisvL0AgcnVuKCJuby1hcmNoaXRlY3R1cmUtc3BlY2lmaWMtb3B0aW1pemF0aW9ucyIsICItLWVu
YWJsZUFyY2hpdGVjdHVyZVNwZWNpZmljT3B0aW1pemF0aW9ucz1mYWxzZSIsICpOT19DSklUX09Q
VElPTlMpCisvL0AgcnVuKCJuby1hcmNoaXRlY3R1cmUtc3BlY2lmaWMtb3B0aW1pemF0aW9ucy1m
dGwiLCAiLS1lbmFibGVBcmNoaXRlY3R1cmVTcGVjaWZpY09wdGltaXphdGlvbnM9ZmFsc2UiLCAq
RlRMX09QVElPTlMpCisKKy8vIEJhc2ljIGNhc2VzIG9mIE1hdGguc3FydCgpLgorZnVuY3Rpb24g
c3FydE9uSW50ZWdlcihyYWRpY2FuZCkgeworICAgIHJldHVybiBNYXRoLnNxcnQocmFkaWNhbmQp
OworfQorbm9JbmxpbmUoc3FydE9uSW50ZWdlcik7CisKK2Z1bmN0aW9uIHRlc3RTcXVhcmVSb290
MTYoKSB7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgICAgIHZh
ciByZXN1bHQgPSBzcXJ0T25JbnRlZ2VyKDE2KTsKKyAgICAgICAgaWYgKHJlc3VsdCAhPT0gNCkK
KyAgICAgICAgICAgIHRocm93ICJzcXJ0T25JbnRlZ2VyKDE2KSA9ICIgKyByZXN1bHQgKyAiLCBl
eHBlY3RlZCA0IjsKKyAgICB9Cit9Cit0ZXN0U3F1YXJlUm9vdDE2KCk7CisKK3ZhciBzcXJ0T25J
bnRlZ2VyTmVnYXRpdmVOdW1iZXIgPSBzcXJ0T25Eb3VibGUoLTQpOworaWYgKCFpc05hTihzcXJ0
T25JbnRlZ2VyTmVnYXRpdmVOdW1iZXIpKQorICAgIHRocm93ICJzcXJ0T25Eb3VibGUoLTQpID0g
IiArIHNxcnRPbkludGVnZXJOZWdhdGl2ZU51bWJlciArICIsIGV4cGVjdGVkIE5hTiI7CisKK3Zh
ciBzcXJ0T25JbnRlZ2VyRmFsbGJhY2sgPSBzcXJ0T25JbnRlZ2VyKE1hdGguUEkpOworaWYgKHNx
cnRPbkludGVnZXJGYWxsYmFjayAhPSAxLjc3MjQ1Mzg1MDkwNTUxNTkpCisgICAgdGhyb3cgInNx
cnRPbkludGVnZXIoTWF0aC5QSSkgPSAiICsgc3FydE9uSW50ZWdlckZhbGxiYWNrICsgIiwgZXhw
ZWN0ZWQgMS43NzI0NTM4NTA5MDU1MTU5IjsKKworCitmdW5jdGlvbiBzcXJ0T25Eb3VibGUocmFk
aWNhbmQpIHsKKyAgICByZXR1cm4gTWF0aC5zcXJ0KHJhZGljYW5kKTsKK30KK25vSW5saW5lKHNx
cnRPbkRvdWJsZSk7CisKK2Z1bmN0aW9uIHRlc3RTcXVhcmVSb290RG91YmxlKCkgeworICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgICAgICB2YXIgcmVzdWx0ID0gc3Fy
dE9uSW50ZWdlcihNYXRoLkxOMik7CisgICAgICAgIGlmIChyZXN1bHQgIT09IDAuODMyNTU0NjEx
MTU3Njk3NykKKyAgICAgICAgICAgIHRocm93ICJzcXJ0T25JbnRlZ2VyKE1hdGguTE4yKSA9ICIg
KyByZXN1bHQgKyAiLCBleHBlY3RlZCAwLjgzMjU1NDYxMTE1NzY5NzciOworICAgIH0KK30KK3Rl
c3RTcXVhcmVSb290RG91YmxlKCk7CisKK3ZhciBzcXJ0T25Eb3VibGVOZWdhdGl2ZU51bWJlciA9
IHNxcnRPbkRvdWJsZSgtTWF0aC5QSSk7CitpZiAoIWlzTmFOKHNxcnRPbkRvdWJsZU5lZ2F0aXZl
TnVtYmVyKSkKKyAgICB0aHJvdyAic3FydE9uRG91YmxlKC1NYXRoLlBJKSA9ICIgKyBzcXJ0T25E
b3VibGVOZWdhdGl2ZU51bWJlciArICIsIGV4cGVjdGVkIE5hTiI7CisKK3ZhciBzcXJ0T25Eb3Vi
bGVGYWxsYmFjayA9IHNxcnRPbkRvdWJsZSg0KTsKK2lmIChzcXJ0T25Eb3VibGVGYWxsYmFjayAh
PT0gMikKKyAgICB0aHJvdyAic3FydE9uRG91YmxlKDQpID0gIiArIHNxcnRPbkRvdWJsZUZhbGxi
YWNrICsgIiwgZXhwZWN0ZWQgMiI7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9tYXRoLXNxcnQtYmFzaWNz
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9tYXRoLXNxcnQtYmFzaWNz
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYxOWI3NTJiNWJlYzNkMjVmNjk5ZmZlNTFhYzAwMjA1MWVmNWFhMDcK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21h
dGgtc3FydC1iYXNpY3MuanMKQEAgLTAsMCArMSw0NSBAQAorLy8gQmFzaWMgY2FzZXMgb2YgTWF0
aC5zcXJ0KCkuCitmdW5jdGlvbiBzcXJ0T25JbnRlZ2VyKHJhZGljYW5kKSB7CisgICAgcmV0dXJu
IE1hdGguc3FydChyYWRpY2FuZCk7Cit9Citub0lubGluZShzcXJ0T25JbnRlZ2VyKTsKKworZnVu
Y3Rpb24gdGVzdFNxdWFyZVJvb3QxNigpIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
OyArK2kpIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IHNxcnRPbkludGVnZXIoMTYpOworICAgICAg
ICBpZiAocmVzdWx0ICE9PSA0KQorICAgICAgICAgICAgdGhyb3cgInNxcnRPbkludGVnZXIoMTYp
ID0gIiArIHJlc3VsdCArICIsIGV4cGVjdGVkIDQiOworICAgIH0KK30KK3Rlc3RTcXVhcmVSb290
MTYoKTsKKwordmFyIHNxcnRPbkludGVnZXJOZWdhdGl2ZU51bWJlciA9IHNxcnRPbkRvdWJsZSgt
NCk7CitpZiAoIWlzTmFOKHNxcnRPbkludGVnZXJOZWdhdGl2ZU51bWJlcikpCisgICAgdGhyb3cg
InNxcnRPbkRvdWJsZSgtNCkgPSAiICsgc3FydE9uSW50ZWdlck5lZ2F0aXZlTnVtYmVyICsgIiwg
ZXhwZWN0ZWQgTmFOIjsKKwordmFyIHNxcnRPbkludGVnZXJGYWxsYmFjayA9IHNxcnRPbkludGVn
ZXIoTWF0aC5QSSk7CitpZiAoc3FydE9uSW50ZWdlckZhbGxiYWNrICE9IDEuNzcyNDUzODUwOTA1
NTE1OSkKKyAgICB0aHJvdyAic3FydE9uSW50ZWdlcihNYXRoLlBJKSA9ICIgKyBzcXJ0T25JbnRl
Z2VyRmFsbGJhY2sgKyAiLCBleHBlY3RlZCAxLjc3MjQ1Mzg1MDkwNTUxNTkiOworCisKK2Z1bmN0
aW9uIHNxcnRPbkRvdWJsZShyYWRpY2FuZCkgeworICAgIHJldHVybiBNYXRoLnNxcnQocmFkaWNh
bmQpOworfQorbm9JbmxpbmUoc3FydE9uRG91YmxlKTsKKworZnVuY3Rpb24gdGVzdFNxdWFyZVJv
b3REb3VibGUoKSB7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAg
ICAgIHZhciByZXN1bHQgPSBzcXJ0T25JbnRlZ2VyKE1hdGguTE4yKTsKKyAgICAgICAgaWYgKHJl
c3VsdCAhPT0gMC44MzI1NTQ2MTExNTc2OTc3KQorICAgICAgICAgICAgdGhyb3cgInNxcnRPbklu
dGVnZXIoTWF0aC5MTjIpID0gIiArIHJlc3VsdCArICIsIGV4cGVjdGVkIDAuODMyNTU0NjExMTU3
Njk3NyI7CisgICAgfQorfQordGVzdFNxdWFyZVJvb3REb3VibGUoKTsKKwordmFyIHNxcnRPbkRv
dWJsZU5lZ2F0aXZlTnVtYmVyID0gc3FydE9uRG91YmxlKC1NYXRoLlBJKTsKK2lmICghaXNOYU4o
c3FydE9uRG91YmxlTmVnYXRpdmVOdW1iZXIpKQorICAgIHRocm93ICJzcXJ0T25Eb3VibGUoLU1h
dGguUEkpID0gIiArIHNxcnRPbkRvdWJsZU5lZ2F0aXZlTnVtYmVyICsgIiwgZXhwZWN0ZWQgTmFO
IjsKKwordmFyIHNxcnRPbkRvdWJsZUZhbGxiYWNrID0gc3FydE9uRG91YmxlKDQpOworaWYgKHNx
cnRPbkRvdWJsZUZhbGxiYWNrICE9PSAyKQorICAgIHRocm93ICJzcXJ0T25Eb3VibGUoNCkgPSAi
ICsgc3FydE9uRG91YmxlRmFsbGJhY2sgKyAiLCBleHBlY3RlZCAyIjsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCg==
</data>
<flag name="review"
          id="271493"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>