<?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>17012</bug_id>
          
          <creation_ts>2008-01-25 19:01:42 -0800</creation_ts>
          <short_desc>REGRESSION: JSC can&apos;t round trip an object literal</short_desc>
          <delta_ts>2008-02-11 17:02:21 -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>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>13638</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>darin</cc>
    
    <cc>jruderman</cc>
    
    <cc>sam</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>68242</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-25 19:01:42 -0800</bug_when>
    <thetext>JSC looses a pair of parenthesis when performing toString on a function, so that
  function f(){
   ({}).x;
  }
  f.toString()
produces
  function f(){
   {}.x;
  }
which is invalid.

This was found by jsfunfuzz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68244</commentid>
    <comment_count>1</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-25 19:14:21 -0800</bug_when>
    <thetext>I have a one line fix for this

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68245</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-01-25 19:15:48 -0800</bug_when>
    <thetext>This is a regression from shipping Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68246</commentid>
    <comment_count>3</comment_count>
    <who name="Jesse Ruderman">jruderman</who>
    <bug_when>2008-01-25 19:17:08 -0800</bug_when>
    <thetext>toSource and uneval have to put parens around functions, but toString doesn&apos;t have to.  JSC&apos;s current behavior matches Spidermonkey.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68247</commentid>
    <comment_count>4</comment_count>
    <who name="Jesse Ruderman">jruderman</who>
    <bug_when>2008-01-25 19:26:16 -0800</bug_when>
    <thetext>Never mind, I misread the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68248</commentid>
    <comment_count>5</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-25 19:59:29 -0800</bug_when>
    <thetext>this also occurs with function expressions

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68255</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-25 22:12:49 -0800</bug_when>
    <thetext>I was wrong, it looks like our current funciton expression behaviour is sufficient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68256</commentid>
    <comment_count>7</comment_count>
      <attachid>18697</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-25 22:22:13 -0800</bug_when>
    <thetext>Created attachment 18697
Patch to fix the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68259</commentid>
    <comment_count>8</comment_count>
      <attachid>18697</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-25 22:36:05 -0800</bug_when>
    <thetext>Comment on attachment 18697
Patch to fix the bug

r=me

But is this a bug fix or not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68262</commentid>
    <comment_count>9</comment_count>
      <attachid>18697</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-25 22:47:58 -0800</bug_when>
    <thetext>Comment on attachment 18697
Patch to fix the bug

This is a bug fix -- the current code means Function.toString can produce incorrect code.

Maciej suggested an approach that would not use unnecessary ()&apos;s for object literals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68265</commentid>
    <comment_count>10</comment_count>
      <attachid>18699</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-25 23:39:44 -0800</bug_when>
    <thetext>Created attachment 18699
New version of fix

No longer introduce unnecessary ()&apos;s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68267</commentid>
    <comment_count>11</comment_count>
      <attachid>18699</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-01-25 23:43:50 -0800</bug_when>
    <thetext>Comment on attachment 18699
New version of fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68268</commentid>
    <comment_count>12</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-25 23:56:53 -0800</bug_when>
    <thetext>Landed r29802</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18697</attachid>
            <date>2008-01-25 22:22:13 -0800</date>
            <delta_ts>2008-01-25 23:39:44 -0800</delta_ts>
            <desc>Patch to fix the bug</desc>
            <filename>recompile-fix.patch</filename>
            <type>text/plain</type>
            <size>3027</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA2ZThkNWE3Li44NDY4ZTA4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMDgtMDEtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgMTcwMTI6IFJFR1JF
U1NJT046IEpTQyBjYW4ndCByb3VuZCB0cmlwIGFuIG9iamVjdCBsaXRlcmFsCisKKyAgICAgICAg
QWx0ZXIgdGhlIHByZWNlZGVuY2Ugb2Ygb2JqZWN0IGxpdGVyYWxzIHNvIHRoYXQgd2UgYWx3YXlz
IGdlbmVyYXRlIAorICAgICAgICB3cmFwcGluZyBwYXJlbnRoZXNpcy4gIFRoaXMgaXMgbW9yZSBj
b25zZXJ2YXRpdmUgdGhhbiBpcyBuZWNlc3NhcnksCisgICAgICAgIGJ1dCBpdCBjb3JyZWN0Lgor
CisgICAgICAgICoga2pzL25vZGVzLmg6CisKIDIwMDgtMDEtMjQgIFN0ZXZlIEZhbGtlbmJ1cmcg
IDxzZmFsa2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuaCBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCmlu
ZGV4IDJmZGFiZDIuLmZiZWZjMGIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rl
cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCkBAIC00MzQsNyArNDM0LDcgQEAg
bmFtZXNwYWNlIEtKUyB7CiAgICAgdmlydHVhbCB2b2lkIG9wdGltaXplVmFyaWFibGVBY2Nlc3Mo
U3ltYm9sVGFibGUmLCBEZWNsYXJhdGlvblN0YWNrczo6Tm9kZVN0YWNrJikgS0pTX0ZBU1RfQ0FM
TDsKICAgICB2aXJ0dWFsIEpTVmFsdWUqIGV2YWx1YXRlKEV4ZWNTdGF0ZSopIEtKU19GQVNUX0NB
TEw7CiAgICAgdmlydHVhbCB2b2lkIHN0cmVhbVRvKFNvdXJjZVN0cmVhbSYpIGNvbnN0IEtKU19G
QVNUX0NBTEw7Ci0gICAgdmlydHVhbCBQcmVjZWRlbmNlIHByZWNlZGVuY2UoKSBjb25zdCB7IHJl
dHVybiBQcmVjUHJpbWFyeTsgfQorICAgIHZpcnR1YWwgUHJlY2VkZW5jZSBwcmVjZWRlbmNlKCkg
Y29uc3QgeyByZXR1cm4gUHJlY0V4cHJlc3Npb247IH0KICAgcHJpdmF0ZToKICAgICBSZWZQdHI8
UHJvcGVydHlMaXN0Tm9kZT4gbGlzdDsKICAgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2ZTI4NzkwLi5kNzVlZDI0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDgtMDEtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYWRkaXRpb25hbCBjaGVjayBmb3IgdXNpbmcgRnVuY3Rpb24udG9TdHJpbmcgb24gYSBm
dW5jdGlvbiB3aXRoIG9iamVjdCBsaXRlcmFscworCisgICAgICAgICogZmFzdC9qcy9mdW5jdGlv
bi10b1N0cmluZy1wYXJlbnRoZXNlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9qcy9y
ZXNvdXJjZXMvZnVuY3Rpb24tdG9TdHJpbmctcGFyZW50aGVzZXMuanM6CisKIDIwMDgtMDEtMjUg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFu
ZGVycy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvZnVuY3Rpb24tdG9TdHJpbmct
cGFyZW50aGVzZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9mdW5jdGlvbi10
b1N0cmluZy1wYXJlbnRoZXNlcy1leHBlY3RlZC50eHQKaW5kZXggZDY5N2Y1My4uZjZmNzNiYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9mdW5jdGlvbi10b1N0cmluZy1wYXJlbnRo
ZXNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9mdW5jdGlvbi10b1N0
cmluZy1wYXJlbnRoZXNlcy1leHBlY3RlZC50eHQKQEAgLTQwMiw2ICs0MDIsNyBAQCBQQVNTIGNv
bXBpbGVBbmRTZXJpYWxpemUoJyghYSkrKycpIGlzICcoIWEpKysnCiBQQVNTIGNvbXBpbGVBbmRT
ZXJpYWxpemUoJyFhLS0nKSBpcyAnIWEtLScKIFBBU1MgY29tcGlsZUFuZFNlcmlhbGl6ZSgnIShh
LS0pJykgaXMgJyFhLS0nCiBQQVNTIGNvbXBpbGVBbmRTZXJpYWxpemUoJyghYSktLScpIGlzICco
IWEpLS0nCitQQVNTIGNvbXBpbGVBbmRTZXJpYWxpemUoJyh7IH0pLngnKSBpcyAnKHsgfSkueCcK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnVuY3Rpb24tdG9TdHJpbmctcGFy
ZW50aGVzZXMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9mdW5jdGlvbi10b1N0
cmluZy1wYXJlbnRoZXNlcy5qcwppbmRleCBlMDFjMmZlLi40N2NjZWI3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9mdW5jdGlvbi10b1N0cmluZy1wYXJlbnRoZXNl
cy5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9mdW5jdGlvbi10b1N0cmlu
Zy1wYXJlbnRoZXNlcy5qcwpAQCAtMTI3LDYgKzEyNyw2IEBAIHNob3VsZEJlKCJjb21waWxlQW5k
U2VyaWFsaXplKCcoIWEpKysnKSIsICInKCFhKSsrJyIpOwogc2hvdWxkQmUoImNvbXBpbGVBbmRT
ZXJpYWxpemUoJyFhLS0nKSIsICInIWEtLSciKTsKIHNob3VsZEJlKCJjb21waWxlQW5kU2VyaWFs
aXplKCchKGEtLSknKSIsICInIWEtLSciKTsKIHNob3VsZEJlKCJjb21waWxlQW5kU2VyaWFsaXpl
KCcoIWEpLS0nKSIsICInKCFhKS0tJyIpOwotCitzaG91bGRCZSgiY29tcGlsZUFuZFNlcmlhbGl6
ZSgnKHsgfSkueCcpIiwgIicoeyB9KS54JyIpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsK
</data>
<flag name="review"
          id="8159"
          type_id="1"
          status="-"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18699</attachid>
            <date>2008-01-25 23:39:44 -0800</date>
            <delta_ts>2008-01-25 23:43:50 -0800</delta_ts>
            <desc>New version of fix</desc>
            <filename>recompile-fix.patch</filename>
            <type>text/plain</type>
            <size>7834</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA2ZThkNWE3Li4wN2VhYzRiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMDgtMDEtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9yIGJ1ZyAxNzAx
MjogUkVHUkVTU0lPTjogSlNDIGNhbid0IHJvdW5kIHRyaXAgYW4gb2JqZWN0IGxpdGVyYWwKKwor
ICAgICAgICBBZGQgbG9naWMgdG8gZW5zdXJlIHRoYXQgb2JqZWN0IGxpdGVyYWxzIGFuZCBmdW5j
dGlvbiBleHByZXNzaW9ucyBnZXQKKyAgICAgICAgcGFyZW50aGVzaXMgd2hlbiBuZWNlc3Nhcnku
CisKKyAgICAgICAgKiBranMvbm9kZXMuaDoKKyAgICAgICAgKiBranMvbm9kZXMyc3RyaW5nLmNw
cDoKKyAgICAgICAgKEtKUzo6U291cmNlU3RyZWFtOjpvcGVyYXRvcjw8KToKKwogMjAwOC0wMS0y
NCAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxk
IGZpeC4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oIGIvSmF2YVNjcmlw
dENvcmUva2pzL25vZGVzLmgKaW5kZXggMmZkYWJkMi4uNjc4YWYyZCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUva2pzL25vZGVzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgK
QEAgLTEzMyw3ICsxMzMsOCBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAvLyBTZXJpYWxpemF0aW9u
LgogICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1UbyhTb3VyY2VTdHJlYW0mKSBjb25zdCBLSlNfRkFT
VF9DQUxMID0gMDsKICAgICB2aXJ0dWFsIFByZWNlZGVuY2UgcHJlY2VkZW5jZSgpIGNvbnN0ID0g
MDsKLSAgICAKKyAgICB2aXJ0dWFsIGJvb2wgbmVlZHNQYXJlbnNJZkxlZnRtb3N0KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KKwogICAgIC8vIFVzZWQgZm9yIGl0ZXJhdGl2ZSwgZGVwdGgtZmly
c3QgdHJhdmVyc2FsIG9mIHRoZSBub2RlIHRyZWUuIERvZXMgbm90IGNyb3NzIGZ1bmN0aW9uIGNh
bGwgYm91bmRhcmllcy4KICAgICB2aXJ0dWFsIHZvaWQgb3B0aW1pemVWYXJpYWJsZUFjY2VzcyhT
eW1ib2xUYWJsZSYsIERlY2xhcmF0aW9uU3RhY2tzOjpOb2RlU3RhY2smKSBLSlNfRkFTVF9DQUxM
IHsgfQogCkBAIC00MzUsNiArNDM2LDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgdmlydHVhbCBK
U1ZhbHVlKiBldmFsdWF0ZShFeGVjU3RhdGUqKSBLSlNfRkFTVF9DQUxMOwogICAgIHZpcnR1YWwg
dm9pZCBzdHJlYW1UbyhTb3VyY2VTdHJlYW0mKSBjb25zdCBLSlNfRkFTVF9DQUxMOwogICAgIHZp
cnR1YWwgUHJlY2VkZW5jZSBwcmVjZWRlbmNlKCkgY29uc3QgeyByZXR1cm4gUHJlY1ByaW1hcnk7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgbmVlZHNQYXJlbnNJZkxlZnRtb3N0KCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQogICBwcml2YXRlOgogICAgIFJlZlB0cjxQcm9wZXJ0eUxpc3ROb2RlPiBsaXN0
OwogICB9OwpAQCAtMjAyMCw2ICsyMDIyLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgdmlydHVh
bCBKU1ZhbHVlICpldmFsdWF0ZShFeGVjU3RhdGUqKSBLSlNfRkFTVF9DQUxMOwogICAgIHZpcnR1
YWwgdm9pZCBzdHJlYW1UbyhTb3VyY2VTdHJlYW0mKSBjb25zdCBLSlNfRkFTVF9DQUxMOwogICAg
IHZpcnR1YWwgUHJlY2VkZW5jZSBwcmVjZWRlbmNlKCkgY29uc3QgeyByZXR1cm4gUHJlY01lbWJl
cjsgfQorICAgIHZpcnR1YWwgYm9vbCBuZWVkc1BhcmVuc0lmTGVmdG1vc3QoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CiAgIHByaXZhdGU6CiAgICAgdm9pZCBhZGRQYXJhbXMoKSBLSlNfRkFTVF9D
QUxMOwogICAgIC8vIFVzZWQgZm9yIHN0cmVhbVRvCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ranMvbm9kZXMyc3RyaW5nLmNwcCBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2RlczJzdHJpbmcu
Y3BwCmluZGV4IDU3N2VhNjkuLjQ5YWMxNTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2tq
cy9ub2RlczJzdHJpbmcuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2RlczJzdHJpbmcu
Y3BwCkBAIC00MSw3ICs0MSw3IEBAIGVudW0gRG90RXhwclR5cGUgeyBEb3RFeHByIH07CiAKIGNs
YXNzIFNvdXJjZVN0cmVhbSB7CiBwdWJsaWM6Ci0gICAgU291cmNlU3RyZWFtKCkgOiBtX251bWJl
ck5lZWRzUGFyZW5zKGZhbHNlKSwgbV9wcmVjZWRlbmNlKFByZWNFeHByZXNzaW9uKSB7IH0KKyAg
ICBTb3VyY2VTdHJlYW0oKSA6IG1fbnVtYmVyTmVlZHNQYXJlbnMoZmFsc2UpLCBtX2F0U3RhcnRP
ZlN0YXRlbWVudCh0cnVlKSwgbV9wcmVjZWRlbmNlKFByZWNFeHByZXNzaW9uKSB7IH0KICAgICBV
U3RyaW5nIHRvU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmc7IH0KICAgICBTb3VyY2VT
dHJlYW0mIG9wZXJhdG9yPDwoY29uc3QgSWRlbnRpZmllciYpOwogICAgIFNvdXJjZVN0cmVhbSYg
b3BlcmF0b3I8PChjb25zdCBVU3RyaW5nJik7CkBAIC02MCw2ICs2MCw3IEBAIHByaXZhdGU6CiAg
ICAgVVN0cmluZyBtX3N0cmluZzsKICAgICBVU3RyaW5nIG1fc3BhY2VzRm9ySW5kZW50YXRpb247
CiAgICAgYm9vbCBtX251bWJlck5lZWRzUGFyZW5zOworICAgIGJvb2wgbV9hdFN0YXJ0T2ZTdGF0
ZW1lbnQ7CiAgICAgUHJlY2VkZW5jZSBtX3ByZWNlZGVuY2U7CiB9OwogCkBAIC0xNTAsNiArMTUx
LDcgQEAgc3RhdGljIGJvb2wgaXNQYXJzZXJSb3VuZFRyaXBOdW1iZXIoY29uc3QgVVN0cmluZyYg
c3RyaW5nKQogU291cmNlU3RyZWFtJiBTb3VyY2VTdHJlYW06Om9wZXJhdG9yPDwoY2hhciBjKQog
ewogICAgIG1fbnVtYmVyTmVlZHNQYXJlbnMgPSBmYWxzZTsKKyAgICBtX2F0U3RhcnRPZlN0YXRl
bWVudCA9IGZhbHNlOwogICAgIFVDaGFyIGNoKGMpOwogICAgIG1fc3RyaW5nLmFwcGVuZChjaCk7
CiAgICAgcmV0dXJuICp0aGlzOwpAQCAtMTU4LDYgKzE2MCw3IEBAIFNvdXJjZVN0cmVhbSYgU291
cmNlU3RyZWFtOjpvcGVyYXRvcjw8KGNoYXIgYykKIFNvdXJjZVN0cmVhbSYgU291cmNlU3RyZWFt
OjpvcGVyYXRvcjw8KGNvbnN0IGNoYXIqIHMpCiB7CiAgICAgbV9udW1iZXJOZWVkc1BhcmVucyA9
IGZhbHNlOworICAgIG1fYXRTdGFydE9mU3RhdGVtZW50ID0gZmFsc2U7CiAgICAgbV9zdHJpbmcg
Kz0gczsKICAgICByZXR1cm4gKnRoaXM7CiB9CkBAIC0xNjYsNiArMTY5LDcgQEAgU291cmNlU3Ry
ZWFtJiBTb3VyY2VTdHJlYW06Om9wZXJhdG9yPDwoZG91YmxlIHZhbHVlKQogewogICAgIGJvb2wg
bmVlZFBhcmVucyA9IG1fbnVtYmVyTmVlZHNQYXJlbnM7CiAgICAgbV9udW1iZXJOZWVkc1BhcmVu
cyA9IGZhbHNlOworICAgIG1fYXRTdGFydE9mU3RhdGVtZW50ID0gZmFsc2U7CiAKICAgICBpZiAo
bmVlZFBhcmVucykKICAgICAgICAgbV9zdHJpbmcuYXBwZW5kKCcoJyk7CkBAIC0xNzksNiArMTgz
LDcgQEAgU291cmNlU3RyZWFtJiBTb3VyY2VTdHJlYW06Om9wZXJhdG9yPDwoZG91YmxlIHZhbHVl
KQogU291cmNlU3RyZWFtJiBTb3VyY2VTdHJlYW06Om9wZXJhdG9yPDwoY29uc3QgVVN0cmluZyYg
cykKIHsKICAgICBtX251bWJlck5lZWRzUGFyZW5zID0gZmFsc2U7CisgICAgbV9hdFN0YXJ0T2ZT
dGF0ZW1lbnQgPSBmYWxzZTsKICAgICBtX3N0cmluZyArPSBzOwogICAgIHJldHVybiAqdGhpczsK
IH0KQEAgLTE4NiwxMyArMTkxLDE0IEBAIFNvdXJjZVN0cmVhbSYgU291cmNlU3RyZWFtOjpvcGVy
YXRvcjw8KGNvbnN0IFVTdHJpbmcmIHMpCiBTb3VyY2VTdHJlYW0mIFNvdXJjZVN0cmVhbTo6b3Bl
cmF0b3I8PChjb25zdCBJZGVudGlmaWVyJiBzKQogewogICAgIG1fbnVtYmVyTmVlZHNQYXJlbnMg
PSBmYWxzZTsKKyAgICBtX2F0U3RhcnRPZlN0YXRlbWVudCA9IGZhbHNlOwogICAgIG1fc3RyaW5n
ICs9IHMudXN0cmluZygpOwogICAgIHJldHVybiAqdGhpczsKIH0KIAogU291cmNlU3RyZWFtJiBT
b3VyY2VTdHJlYW06Om9wZXJhdG9yPDwoY29uc3QgTm9kZSogbikKIHsKLSAgICBib29sIG5lZWRQ
YXJlbnMgPSBtX3ByZWNlZGVuY2UgIT0gUHJlY0V4cHJlc3Npb24gJiYgbi0+cHJlY2VkZW5jZSgp
ID4gbV9wcmVjZWRlbmNlOworICAgIGJvb2wgbmVlZFBhcmVucyA9IChtX3ByZWNlZGVuY2UgIT0g
UHJlY0V4cHJlc3Npb24gJiYgbi0+cHJlY2VkZW5jZSgpID4gbV9wcmVjZWRlbmNlKSB8fCAobV9h
dFN0YXJ0T2ZTdGF0ZW1lbnQgJiYgbi0+bmVlZHNQYXJlbnNJZkxlZnRtb3N0KCkpOwogICAgIG1f
cHJlY2VkZW5jZSA9IFByZWNFeHByZXNzaW9uOwogICAgIGlmIChuKSB7CiAgICAgICAgIGlmIChu
ZWVkUGFyZW5zKQpAQCAtMjA3LDYgKzIxMyw3IEBAIFNvdXJjZVN0cmVhbSYgU291cmNlU3RyZWFt
OjpvcGVyYXRvcjw8KGNvbnN0IE5vZGUqIG4pCiBTb3VyY2VTdHJlYW0mIFNvdXJjZVN0cmVhbTo6
b3BlcmF0b3I8PChFbmRsVHlwZSkKIHsKICAgICBtX251bWJlck5lZWRzUGFyZW5zID0gZmFsc2U7
CisgICAgbV9hdFN0YXJ0T2ZTdGF0ZW1lbnQgPSB0cnVlOwogICAgIG1fc3RyaW5nLmFwcGVuZCgn
XG4nKTsKICAgICBtX3N0cmluZy5hcHBlbmQobV9zcGFjZXNGb3JJbmRlbnRhdGlvbik7CiAgICAg
cmV0dXJuICp0aGlzOwpAQCAtMjE1LDYgKzIyMiw3IEBAIFNvdXJjZVN0cmVhbSYgU291cmNlU3Ry
ZWFtOjpvcGVyYXRvcjw8KEVuZGxUeXBlKQogU291cmNlU3RyZWFtJiBTb3VyY2VTdHJlYW06Om9w
ZXJhdG9yPDwoSW5kZW50VHlwZSkKIHsKICAgICBtX251bWJlck5lZWRzUGFyZW5zID0gZmFsc2U7
CisgICAgbV9hdFN0YXJ0T2ZTdGF0ZW1lbnQgPSBmYWxzZTsKICAgICBtX3NwYWNlc0ZvckluZGVu
dGF0aW9uICs9ICIgICI7CiAgICAgcmV0dXJuICp0aGlzOwogfQpAQCAtMjIyLDYgKzIzMCw3IEBA
IFNvdXJjZVN0cmVhbSYgU291cmNlU3RyZWFtOjpvcGVyYXRvcjw8KEluZGVudFR5cGUpCiBTb3Vy
Y2VTdHJlYW0mIFNvdXJjZVN0cmVhbTo6b3BlcmF0b3I8PChVbmluZGVudFR5cGUpCiB7CiAgICAg
bV9udW1iZXJOZWVkc1BhcmVucyA9IGZhbHNlOworICAgIG1fYXRTdGFydE9mU3RhdGVtZW50ID0g
ZmFsc2U7CiAgICAgbV9zcGFjZXNGb3JJbmRlbnRhdGlvbiA9IG1fc3BhY2VzRm9ySW5kZW50YXRp
b24uc3Vic3RyKDAsIG1fc3BhY2VzRm9ySW5kZW50YXRpb24uc2l6ZSgpIC0gMik7CiAgICAgcmV0
dXJuICp0aGlzOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZlMjg3OTAuLmQ3NWVkMjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAwOC0wMS0yNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhZGRpdGlvbmFs
IGNoZWNrIGZvciB1c2luZyBGdW5jdGlvbi50b1N0cmluZyBvbiBhIGZ1bmN0aW9uIHdpdGggb2Jq
ZWN0IGxpdGVyYWxzCisKKyAgICAgICAgKiBmYXN0L2pzL2Z1bmN0aW9uLXRvU3RyaW5nLXBhcmVu
dGhlc2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9mdW5jdGlv
bi10b1N0cmluZy1wYXJlbnRoZXNlcy5qczoKKwogMjAwOC0wMS0yNSAgRGFyaW4gQWRsZXIgIDxk
YXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9mdW5jdGlvbi10b1N0cmluZy1wYXJlbnRoZXNlcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2Z1bmN0aW9uLXRvU3RyaW5nLXBhcmVudGhl
c2VzLWV4cGVjdGVkLnR4dAppbmRleCBkNjk3ZjUzLi43MTE5ZjllIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2pzL2Z1bmN0aW9uLXRvU3RyaW5nLXBhcmVudGhlc2VzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2Z1bmN0aW9uLXRvU3RyaW5nLXBhcmVudGhlc2Vz
LWV4cGVjdGVkLnR4dApAQCAtNDAyLDYgKzQwMiw4IEBAIFBBU1MgY29tcGlsZUFuZFNlcmlhbGl6
ZSgnKCFhKSsrJykgaXMgJyghYSkrKycKIFBBU1MgY29tcGlsZUFuZFNlcmlhbGl6ZSgnIWEtLScp
IGlzICchYS0tJwogUEFTUyBjb21waWxlQW5kU2VyaWFsaXplKCchKGEtLSknKSBpcyAnIWEtLScK
IFBBU1MgY29tcGlsZUFuZFNlcmlhbGl6ZSgnKCFhKS0tJykgaXMgJyghYSktLScKK1BBU1MgY29t
cGlsZUFuZFNlcmlhbGl6ZUxlZnRtb3N0VGVzdCgnKHsgfSkueCcpIGlzICcoeyB9KS54JworUEFT
UyBjb21waWxlQW5kU2VyaWFsaXplTGVmdG1vc3RUZXN0KCd4ID0geyB9JykgaXMgJ3ggPSB7IH0n
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2Z1bmN0aW9uLXRvU3RyaW5nLXBh
cmVudGhlc2VzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnVuY3Rpb24tdG9T
dHJpbmctcGFyZW50aGVzZXMuanMKaW5kZXggZTAxYzJmZS4uODEyMDUxZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnVuY3Rpb24tdG9TdHJpbmctcGFyZW50aGVz
ZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvZnVuY3Rpb24tdG9TdHJp
bmctcGFyZW50aGVzZXMuanMKQEAgLTEzLDYgKzEzLDE2IEBAIGZ1bmN0aW9uIGNvbXBpbGVBbmRT
ZXJpYWxpemUoZXhwcmVzc2lvbikKICAgICByZXR1cm4gc2VyaWFsaXplZFN0cmluZzsKIH0KIAor
ZnVuY3Rpb24gY29tcGlsZUFuZFNlcmlhbGl6ZUxlZnRtb3N0VGVzdChleHByZXNzaW9uKQorewor
ICAgIHZhciBmID0gZXZhbCgiKGZ1bmN0aW9uICgpIHsgIiArIGV4cHJlc3Npb24gKyAiOyB9KSIp
OworICAgIHZhciBzZXJpYWxpemVkU3RyaW5nID0gZi50b1N0cmluZygpOworICAgIHNlcmlhbGl6
ZWRTdHJpbmcgPSBzZXJpYWxpemVkU3RyaW5nLnJlcGxhY2UoL1sgXHRcclxuXSsvZywgIiAiKTsK
KyAgICBzZXJpYWxpemVkU3RyaW5nID0gc2VyaWFsaXplZFN0cmluZy5yZXBsYWNlKCJmdW5jdGlv
biAoKSB7ICIsICIiKTsKKyAgICBzZXJpYWxpemVkU3RyaW5nID0gc2VyaWFsaXplZFN0cmluZy5y
ZXBsYWNlKCI7IH0iLCAiIik7CisgICAgcmV0dXJuIHNlcmlhbGl6ZWRTdHJpbmc7Cit9CisKIHZh
ciByZW1vdmVzRXh0cmFQYXJlbnRoZXNlcyA9IGNvbXBpbGVBbmRTZXJpYWxpemUoIihhICsgYikg
KyBjIikgPT0gImEgKyBiICsgYyI7CiAKIGZ1bmN0aW9uIHRlc3RMZWZ0QXNzb2NpYXRpdmVTYW1l
KG9wQSwgb3BCKQpAQCAtMTI3LDYgKzEzNyw3IEBAIHNob3VsZEJlKCJjb21waWxlQW5kU2VyaWFs
aXplKCcoIWEpKysnKSIsICInKCFhKSsrJyIpOwogc2hvdWxkQmUoImNvbXBpbGVBbmRTZXJpYWxp
emUoJyFhLS0nKSIsICInIWEtLSciKTsKIHNob3VsZEJlKCJjb21waWxlQW5kU2VyaWFsaXplKCch
KGEtLSknKSIsICInIWEtLSciKTsKIHNob3VsZEJlKCJjb21waWxlQW5kU2VyaWFsaXplKCcoIWEp
LS0nKSIsICInKCFhKS0tJyIpOwotCitzaG91bGRCZSgiY29tcGlsZUFuZFNlcmlhbGl6ZUxlZnRt
b3N0VGVzdCgnKHsgfSkueCcpIiwgIicoeyB9KS54JyIpOworc2hvdWxkQmUoImNvbXBpbGVBbmRT
ZXJpYWxpemVMZWZ0bW9zdFRlc3QoJ3ggPSB7IH0nKSIsICIneCA9IHsgfSciKTsKIAogdmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>
<flag name="review"
          id="8161"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>