<?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>11315</bug_id>
          
          <creation_ts>2006-10-16 08:50:31 -0700</creation_ts>
          <short_desc>Mutating document.constructor.prototype mutates Object.prototype</short_desc>
          <delta_ts>2007-06-25 23:43:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>419.x</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>http://bdash.net.nz/files/constructor-prototypes.html</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="Liam Clancy (metafeather)">webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bleroy</cc>
    
    <cc>ggaren</cc>
    
    <cc>heycam</cc>
    
    <cc>mrowe</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>52448</commentid>
    <comment_count>0</comment_count>
    <who name="Liam Clancy (metafeather)">webkit</who>
    <bug_when>2006-10-16 08:50:31 -0700</bug_when>
    <thetext>Not wanting to rehash discussions in the wider community about the use of Object.prototype to extend the native JS objects, I have found the following inconsitency between the MS Atlas Firefox and Safari compatibility layers that I do not think is intended, but on reviewing the JS code cannot see how this is happened unless there is a possible bug in Safari.

In AtlasCompat.js (see: http://atlas.asp.net/ScriptLibrary/Atlas/Release/AtlasCompat.js) the _loadSafariCompatLayer() function appears to add &apos;getElementById&apos;, &apos;attachEvent&apos; and &apos;deleteEvent&apos; functions to every native Object of the window rather than just the HTMLElement prototype Object that it intends.

To replicate:

1. Go to http://atlas.asp.net/atlastoolkit/Accordion/Accordion.aspx in Safari and Firefox (or other Atlas using site)

2. In each enter to following in the address bar to create a new Object and then iterate through its properties:

 javascript:var mytest = new Object();mytest.myprop = &apos;prop&apos;;for (var key in mytest){alert(key+&apos; = &apos;+typeof(mytest[key]))}

3. In Firefox there will be one alert with a value of &apos;myprop = prop&apos;. In Safari there will be 4 alerts, including the extra function names (Tested in Safari 2.0.4 and Firefox 1.5.0.7)

I believe that this manipulation of Objects (in Safari only) is one of the reasons why developers have been having problems integrating custom code or other OS libraries (e.g. Prototype) with Atlas in Safari, and changing this will greatly simplify things.

This may be an MS Atlas JS bug so this is cross-posted to the ASP.NET AJAX Discussion forum here: http://forums.asp.net/1007/ShowForum.aspx (its being moderated).

However any work with the MS Atlas developers on their Safari Compatibility layer JS would be greatly appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52390</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-10-16 14:39:11 -0700</bug_when>
    <thetext>I&apos;m of the opinion that this bug is in the Atlas Safari compatibility layer.  Visiting the URL you provide in Safari produces the results that you describe.  If I tell Safari to use a Mozilla-derived user agent string, I get the expected behaviour of the single alert.  This suggests to me that the Atlas Safari &quot;Compatibility layer&quot; doesn&apos;t live up to its name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52391</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-10-16 14:41:03 -0700</bug_when>
    <thetext>Some further details for clarification:  I tested this in both WebKit 418.9 (latest released WebKit) and a development build of WebKit from this morning.  With the default Safari user agent, the problem is visible.  When spoofing as Firefox, the problem goes away.  Browser sniffing is by far the most likely cause.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52197</commentid>
    <comment_count>3</comment_count>
    <who name="Bertrand Le Roy">bleroy</who>
    <bug_when>2006-10-17 18:19:22 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Some further details for clarification:  I tested this in both WebKit 418.9
&gt; (latest released WebKit) and a development build of WebKit from this morning. 
&gt; With the default Safari user agent, the problem is visible.  When spoofing as
&gt; Firefox, the problem goes away.  Browser sniffing is by far the most likely
&gt; cause.

The Atlas compat layer has been completely redesigned so this problem should disappear with the next release, which is imminent.

Still, it seems a bit weird that extending the DOM element prototype would extend the Object prototype, as seems to be the case here... That might be a bug independently of Atlas and may be worth checking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52169</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-10-17 19:54:20 -0700</bug_when>
    <thetext>For reference, the compatibility layer lives at &lt;http://atlas.asp.net/atlastoolkit/WebResource.axd?d=ZidpH4MlDxMuA9Jx5T0S2RlYrgnGn8zp6lOCmDxRTEeIDVmeAbTy9eZPPvGZl_JrrSL40S25JCAqX-J26XRbphlI2WaPp7Ax0ZHC9o6n7HaZx4XWo7OuUA2&amp;t=632939316100000000&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52171</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-10-17 20:25:54 -0700</bug_when>
    <thetext>So I got bored and decided to reduce this issue to see what exactly was going wrong.  My initial assumption was that the Atlas had been doing something incorrect inside the Safari-specific portion of the JavaScript.  This code wasn&apos;t easily testable on other browsers, so I have reduced the issue.  The reduction is available from &lt;http://bdash.net.nz/files/constructor-prototypes.html&gt;.  The meat of the issue appears to be that document.constructor.prototype and document.createTextNode(&quot;&quot;).constructor.prototype both reference Object.prototype.  Adding properties to this results in all Object&apos;s gaining the new properties.  Firefox does not exhibit this behaviour on the reduction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51957</commentid>
    <comment_count>6</comment_count>
    <who name="Bertrand Le Roy">bleroy</who>
    <bug_when>2006-10-18 09:57:11 -0700</bug_when>
    <thetext>That explains it, thanks. We could actually have changed the document object directly instead of document.constructor.prototype as there is only one...
Personally, I wouldn&apos;t expect WebKit to fix that as long as document is of type Object, but...
Has the WebKit team considered doing what Firefox and Opera are doing, which is that elements are instances of HTMLElement, and document is an instance of HTMLDocument (both types deriving from Node)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6750</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-06-22 05:26:07 -0700</bug_when>
    <thetext>Actually marking confirmed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6695</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2007-06-22 11:29:59 -0700</bug_when>
    <thetext>I think there are two issues here:
1. HTMLDocument.prototype should be the document prototype, not the object prototype
2. HTMLDocument.prototype.__proto__ should == Node.prototype</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6660</commentid>
    <comment_count>9</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2007-06-22 12:14:25 -0700</bug_when>
    <thetext>The problem seems to be that our DOM bindings don&apos;t generate the .constructor property correctly.

javascript:alert(document.constructor === window.Object) =&gt; true (should be false)
javascript:alert(document.constructor === window.HTMLDocument) =&gt; false (should be true)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6656</commentid>
    <comment_count>10</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2007-06-22 17:46:50 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I think there are two issues here:
&gt; 1. HTMLDocument.prototype should be the document prototype, not the object
&gt; prototype
&gt; 2. HTMLDocument.prototype.__proto__ should == Node.prototype

Shouldn&apos;t HTMLDocument.prototype.__proto__ == Document.prototype?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6398</commentid>
    <comment_count>11</comment_count>
      <attachid>15213</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-06-24 21:44:19 -0700</bug_when>
    <thetext>Created attachment 15213
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6273</commentid>
    <comment_count>12</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-06-25 21:34:06 -0700</bug_when>
    <thetext>In general this looks good, but I think it would be good to cover a few more cases, maybe at least one HTML element, at least one SVG element, and a couple of things that aren&apos;t descended from Node at all.

r=me either way, but please consider improving the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6256</commentid>
    <comment_count>13</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-06-25 23:36:05 -0700</bug_when>
    <thetext>Landed in r23786.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15213</attachid>
            <date>2007-06-24 21:44:19 -0700</date>
            <delta_ts>2007-06-25 23:43:22 -0700</delta_ts>
            <desc>patch</desc>
            <filename>constructorPatch.diff</filename>
            <type>text/plain</type>
            <size>8649</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzc1NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDctMDYtMjQgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBm
b3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMTUKKyAgICAgICAg
TXV0YXRpbmcgZG9jdW1lbnQuY29uc3RydWN0b3IucHJvdG90eXBlIG11dGF0ZXMgT2JqZWN0LnBy
b3RvdHlwZQorCisgICAgICAgIFRlc3Q6IGZhc3QvanMvY29uc3RydWN0b3IuaHRtbAorCisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06IGFkZCBjb25zdHJ1Y3Rv
ciBhdHRyaWJ1dGUgdG8KKyAgICAgICAgY2xhc3NlcyB3aXRoIGNvbnN0cnVjdG9ycy4gIEl0IGlz
IGFuIG5vbi1lbnVtZXJhdGFibGUsIG5vbi1kZWxldGFibGUsCisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZS4KKwogMjAwNy0wNi0yNCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5pZnkgdGhlIHN0eWxlIG9mIGVudW1zIGluIHRoZSBJbnNwZWN0b3IgSlMKSW5k
ZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNp
b24gMjM3NTMpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CSh3b3JraW5nIGNvcHkpCkBAIC0zMjMsNyArMzIzLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAg
ICAgfQogCiAgICAgIyBHZXR0ZXJzCi0gICAgaWYgKCRudW1BdHRyaWJ1dGVzID4gMCkgeworICAg
IGlmICgkbnVtQXR0cmlidXRlcyA+IDAgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9KSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQs
ICIgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdChLSlM6OkV4ZWNTdGF0ZSosIGNv
bnN0IEtKUzo6SWRlbnRpZmllciYsIEtKUzo6UHJvcGVydHlTbG90Jik7XG4iKTsKICAgICAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBLSlM6OkpTVmFsdWUqIGdldFZhbHVlUHJvcGVydHko
S0pTOjpFeGVjU3RhdGUqLCBpbnQgdG9rZW4pIGNvbnN0O1xuIik7CiAgICAgICAgIGlmICgkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QifSkg
ewpAQCAtMzY5LDE2ICszNjksMTUgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAKICAgICAjIENvbnN0
cnVjdG9yIG9iamVjdCBnZXR0ZXIKICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9KSB7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICIgICAgc3RhdGljIEtKUzo6SlNWYWx1ZSogZ2V0Q29uc3RydWN0b3IoS0pTOjpFeGVjU3Rh
dGUqKTtcbiIpCisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGljIEtKUzo6
SlNWYWx1ZSogZ2V0Q29uc3RydWN0b3IoS0pTOjpFeGVjU3RhdGUqKTtcbiIpOwogICAgIH0KIAog
ICAgIG15ICRudW1DdXN0b21GdW5jdGlvbnMgPSAwOwogICAgIG15ICRudW1DdXN0b21BdHRyaWJ1
dGVzID0gMDsKIAogICAgICMgQXR0cmlidXRlIGFuZCBmdW5jdGlvbiBlbnVtcwotICAgIGlmICgk
bnVtQXR0cmlidXRlcyArICRudW1GdW5jdGlvbnMgPiAwKSB7Ci0gICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICIgICAgZW51bSB7XG4iKQotICAgIH0KKyAgICBteSAkaGFzQXR0ckZ1bmN0aW9u
RW51bSA9ICgkbnVtQXR0cmlidXRlcyArICRudW1GdW5jdGlvbnMgPiAwKSB8fCAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJHZW5lcmF0ZUNvbnN0cnVjdG9yIn07CisgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgIiAgICBlbnVtIHtcbiIpIGlmICgkaGFzQXR0ckZ1bmN0aW9uRW51bSk7
CiAKICAgICBpZiAoJG51bUF0dHJpYnV0ZXMgPiAwKSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNv
bnRlbnQsICIgICAgICAgIC8vIEF0dHJpYnV0ZXNcbiAgICAgICAgIik7CkBAIC0zOTcsMTQgKzM5
NiwxOSBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgICAgIG15ICR2YWx1ZSA9ICRhdHRy
aWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLwogICAgICAgICAgICAgICAg
ICAgICAgID8gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5uYW1lIC4gIkNvbnN0cnVjdG9yQXR0ck51
bSIKICAgICAgICAgICAgICAgICAgICAgICA6IFdLX3VjZmlyc3QoJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLT5uYW1lKSAuICJBdHRyTnVtIjsKLSAgICAgICAgICAgICR2YWx1ZSAuPSAiLCAiIGlmICgo
JGkgPCAkbnVtQXR0cmlidXRlcyAtIDEpKTsKLSAgICAgICAgICAgICR2YWx1ZSAuPSAiLCAiIGlm
ICgoJGkgZXEgJG51bUF0dHJpYnV0ZXMgLSAxKSBhbmQgKCRudW1GdW5jdGlvbnMgbmUgMCkpOwor
ICAgICAgICAgICAgJHZhbHVlIC49ICIsICIgaWYgKCgkaSA8ICRudW1BdHRyaWJ1dGVzIC0gMSkg
b3IgKCgkaSBlcSAkbnVtQXR0cmlidXRlcyAtIDEpIGFuZCAoKCRudW1GdW5jdGlvbnMgbmUgMCkg
b3IgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9
KSkpOwogICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgJHZhbHVlKTsKICAgICAgICAg
fQogICAgIH0KIAotICAgIGlmICgkbnVtRnVuY3Rpb25zID4gMCkgeworICAgIGlmICgkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJHZW5lcmF0ZUNvbnN0cnVjdG9yIn0pIHsKICAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIlxuXG4iKSBpZiAkbnVtQXR0cmlidXRlcyA+IDA7Cisg
ICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgICAgIC8vIFRoZSBDb25zdHJ1Y3RvciBB
dHRyaWJ1dGVcbiIpOworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICAgICBDb25z
dHJ1Y3RvckF0dHJOdW0iIC4gKCRudW1GdW5jdGlvbnMgPyAiLCAiIDogIiIpKTsKKyAgICB9CisK
KyAgICBpZiAoJG51bUZ1bmN0aW9ucyA+IDApIHsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgIlxuXG4iKSBpZiAkbnVtQXR0cmlidXRlcyA+IDAgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9OwogICAgICAgICBwdXNoKEBoZWFkZXJD
b250ZW50LCIgICAgICAgIC8vIEZ1bmN0aW9uc1xuICAgICAgICAiKTsKIAogICAgICAgICAkaSA9
IC0xOwpAQCAtNDIxLDcgKzQyNSw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICB9CiAg
ICAgfQogCi0gICAgcHVzaChAaGVhZGVyQ29udGVudCwgIlxuICAgIH07XG4iKSBpZiAoJG51bUF0
dHJpYnV0ZXMgKyAkbnVtRnVuY3Rpb25zID4gMCk7CisKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50
LCAiXG4gICAgfTtcbiIpIGlmICgkaGFzQXR0ckZ1bmN0aW9uRW51bSk7CiAKICAgICBpZiAoJG51
bUN1c3RvbUF0dHJpYnV0ZXMgPiAwKSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJc
biAgICAvLyBDdXN0b20gYXR0cmlidXRlc1xuIik7CkBAIC01NzYsNiArNTgxLDggQEAgc3ViIEdl
bmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgICMgLSBBZGQgYWxsIGF0dHJpYnV0ZXMgaW4gYSBo
YXNodGFibGUgZGVmaW5pdGlvbgogICAgIG15ICRudW1BdHRyaWJ1dGVzID0gQHskZGF0YU5vZGUt
PmF0dHJpYnV0ZXN9OworICAgICRudW1BdHRyaWJ1dGVzKysgaWYgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9OworCiAgICAgaWYgKCRudW1BdHRy
aWJ1dGVzID4gMCkgewogICAgICAgICBteSAkaGFzaFNpemUgPSAkbnVtQXR0cmlidXRlczsKICAg
ICAgICAgbXkgJGhhc2hOYW1lID0gJGNsYXNzTmFtZSAuICJUYWJsZSI7CkBAIC02MDQsNiArNjEx
LDEzIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICBwdXNoKEBoYXNo
UGFyYW1ldGVycywgJG51bVBhcmFtZXRlcnMpOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlQ29uc3RydWN0b3IifSkgewor
ICAgICAgICAgICAgcHVzaChAaGFzaEtleXMsICJjb25zdHJ1Y3RvciIpOworICAgICAgICAgICAg
cHVzaChAaGFzaFZhbHVlcywgJGNsYXNzTmFtZSAuICI6OkNvbnN0cnVjdG9yQXR0ck51bSIpOwor
ICAgICAgICAgICAgcHVzaChAaGFzaFNwZWNpYWxzLCAiRG9udERlbGV0ZXxEb250RW51bXxSZWFk
T25seSIpOworICAgICAgICAgICAgcHVzaChAaGFzaFBhcmFtZXRlcnMsICIwIik7CisgICAgICAg
IH0KKwogICAgICAgICAkb2JqZWN0LT5HZW5lcmF0ZUhhc2hUYWJsZSgkaGFzaE5hbWUsICRoYXNo
U2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXEBoYXNoS2V5cywgXEBo
YXNoVmFsdWVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcQGhhc2hTcGVj
aWFscywgXEBoYXNoUGFyYW1ldGVycyk7CkBAIC04NDcsNyArODYxLDcgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KIAogICAgICAgICBpZiAoJHBvZFR5cGUpIHsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgICRwb2RUeXBlJiBpbXAoKmltcGwoKSk7XG5cbiIpOwotICAg
ICAgICB9IGVsc2UgeworICAgICAgICB9IGVsc2lmICghKCRudW1BdHRyaWJ1dGVzID09IDEgJiYg
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVDb25zdHJ1Y3RvciJ9KSkg
ewogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUqIGlt
cCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xhc3NOYW1lKj4oaW1wbCgpKTtcblxuIik7CiAgICAgICAg
IH0KIApAQCAtOTQzLDYgKzk1NywxMiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIH1cbiIpOwogICAgICAgICAgICAg
fQogICAgICAgICB9CisKKyAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkdlbmVyYXRlQ29uc3RydWN0b3IifSkgeworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgY2FzZSBDb25zdHJ1Y3RvckF0dHJOdW06XG4iKTsKKyAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm4gZ2V0Q29uc3RydWN0b3IoZXhlYyk7XG4iKTsK
KyAgICAgICAgfQorCiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIH1cbiAgICByZXR1
cm4gMDtcbn1cblxuIik7CiAKICAgICAgICAgIyBDaGVjayBpZiB3ZSBoYXZlIGFueSB3cml0YWJs
ZSBhdHRyaWJ1dGVzCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzc1NikKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDA3LTA2LTI0ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTEzMTUKKyAgICAgICAgTXV0YXRpbmcgZG9jdW1lbnQuY29uc3RydWN0b3IucHJv
dG90eXBlIG11dGF0ZXMgT2JqZWN0LnByb3RvdHlwZQorCisgICAgICAgICogZmFzdC9qcy9jb25z
dHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvY29uc3RydWN0
b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9yZXNvdXJjZXMvY29uc3RydWN0b3Iu
anM6IEFkZGVkLgorCiAyMDA3LTA2LTIzICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTWl0ei4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvY29u
c3RydWN0b3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMv
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9qcy9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQg
QEAKK1RoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIHByb3BlcnR5IG9mIERPTSBvYmplY3RzOiBo
dHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTMxNQorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuZG9jdW1lbnQuY29uc3RydWN0b3IgPT09
IHdpbmRvdy5PYmplY3QgaXMgZmFsc2UKK1BBU1Mgd2luZG93LmRvY3VtZW50LmNvbnN0cnVjdG9y
ID09PSB3aW5kb3cuSFRNTERvY3VtZW50IGlzIHRydWUKK1BBU1Mgd2luZG93LmRvY3VtZW50LmNv
bnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gd2luZG93LkhUTUxEb2N1bWVudC5wcm90b3R5cGUgaXMg
dHJ1ZQorUEFTUyB3aW5kb3cuZG9jdW1lbnQuY29uc3RydWN0b3IucHJvdG90eXBlLl9fcHJvdG9f
XyA9PT0gd2luZG93LkhUTUxEb2N1bWVudC5wcm90b3R5cGUuX19wcm90b19fIGlzIHRydWUKK1BB
U1Mgd2luZG93LmRvY3VtZW50LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5fX3Byb3RvX18gPT09IHdp
bmRvdy5Eb2N1bWVudC5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvY29u
c3RydWN0b3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL2NvbnN0cnVj
dG9yLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2NvbnN0cnVjdG9y
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvY29uc3RydWN0b3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvY29uc3RydWN0b3IuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvY29uc3RydWN0b3IuanMJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9jb25zdHJ1Y3Rvci5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5IEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0
aGUgY29uc3RydWN0b3IgcHJvcGVydHkgb2YgRE9NIG9iamVjdHM6IGh0dHA6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzE1Iik7CisKK3Nob3VsZEJlRmFsc2UoIndpbmRvdy5k
b2N1bWVudC5jb25zdHJ1Y3RvciA9PT0gd2luZG93Lk9iamVjdCIpOworc2hvdWxkQmVUcnVlKCJ3
aW5kb3cuZG9jdW1lbnQuY29uc3RydWN0b3IgPT09IHdpbmRvdy5IVE1MRG9jdW1lbnQiKTsKK3No
b3VsZEJlVHJ1ZSgid2luZG93LmRvY3VtZW50LmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gd2lu
ZG93LkhUTUxEb2N1bWVudC5wcm90b3R5cGUiKTsKK3Nob3VsZEJlVHJ1ZSgid2luZG93LmRvY3Vt
ZW50LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5fX3Byb3RvX18gPT09IHdpbmRvdy5IVE1MRG9jdW1l
bnQucHJvdG90eXBlLl9fcHJvdG9fXyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuZG9jdW1lbnQu
Y29uc3RydWN0b3IucHJvdG90eXBlLl9fcHJvdG9fXyA9PT0gd2luZG93LkRvY3VtZW50LnByb3Rv
dHlwZSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>