<?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>53398</bug_id>
          
          <creation_ts>2011-01-30 09:05:10 -0800</creation_ts>
          <short_desc>Use Document::encoding() instead of DocumentWriter::encoding()</short_desc>
          <delta_ts>2011-02-05 12:35: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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>53406</dependson>
          <blocked>52036</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>342310</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-01-30 09:05:10 -0800</bug_when>
    <thetext>Use Document::encoding() instead of DocumentWriter::encoding()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342315</commentid>
    <comment_count>1</comment_count>
      <attachid>80593</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-01-30 09:11:39 -0800</bug_when>
    <thetext>Created attachment 80593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342318</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-30 09:14:36 -0800</bug_when>
    <thetext>Attachment 80593 did not build on chromium:
Build output: http://queues.webkit.org/results/7584818</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342324</commentid>
    <comment_count>3</comment_count>
      <attachid>80594</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-01-30 09:24:47 -0800</bug_when>
    <thetext>Created attachment 80594
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342326</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-01-30 09:28:32 -0800</bug_when>
    <thetext>Attachment 80593 did not build on win:
Build output: http://queues.webkit.org/results/7679413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342336</commentid>
    <comment_count>5</comment_count>
      <attachid>80594</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-30 10:34:31 -0800</bug_when>
    <thetext>Comment on attachment 80594
Patch

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

R- for using a virtual method when a non-virtual one does the same job.  Also, one question:

&gt; Source/WebCore/ChangeLog:6
&gt; +        Use Document::encoding() instead of DocumentWriter::encoding()
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=53398

Do you mean Document::charset?  Document.h says: &quot;Use Document::encoding() to avoid virtual dispatch&quot; but you&apos;re not doing that...  Are these two always the same?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342394</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-30 16:29:20 -0800</bug_when>
    <thetext>Note that Document::encoding() can be affected by assigning to document.charset. It&apos;s not clear what exactly we want to change in that case - it&apos;s particularly questionable that we change document.inputEncoding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344971</commentid>
    <comment_count>7</comment_count>
      <attachid>80594</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-03 13:49:06 -0800</bug_when>
    <thetext>Comment on attachment 80594
Patch

Document::encoding() and DocumentWriter::encoding() are always the same.

Document::setDecoder() will be called at
http://trac.webkit.org/browser/trunk/Source/WebCore/loader/DocumentWriter.cpp?rev=76872#L133
http://trac.webkit.org/browser/trunk/Source/WebCore/loader/DocumentWriter.cpp?rev=76872#L177
where Document::encoding will be set to DocumentWriter::encoding

There is one place where this happens in the other direction:
http://trac.webkit.org/browser/trunk/Source/WebCore/loader/FrameLoader.cpp?rev=76872#L2166

And there is one call where we set Document::encoding and don&apos;t have a DocumentWriter:
http://trac.webkit.org/browser/trunk/Source/WebCore/xml/XSLTProcessor.cpp?rev=76872#L92</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345769</commentid>
    <comment_count>8</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-04 13:52:52 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Note that Document::encoding() can be affected by assigning to document.charset. It&apos;s not clear what exactly we want to change in that case - it&apos;s particularly questionable that we change document.inputEncoding.
Document::setCharset will set encoding of Document::m_decoder. The decoder of Document and DocumentWriter are the same: see comment #7.

AFAICS this patch does not change behavior of the existing code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345783</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-04 14:08:20 -0800</bug_when>
    <thetext>Comment 7 lists all places where encoding is set. Could you please describe how DocumentWriter encoding becomes equal to document encoding in the particular case of document.charset being set from JS, for ease of comprehension?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345791</commentid>
    <comment_count>10</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-04 14:20:14 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Note that Document::encoding() can be affected by assigning to document.charset. It&apos;s not clear what exactly we want to change in that case - it&apos;s particularly questionable that we change document.inputEncoding.
charset and inputEncoding are always the same. http://trac.webkit.org/browser/trunk/LayoutTests/fast/dom/Document/document-charset.html?rev=13706 tests for this.


(In reply to comment #9)
&gt; Comment 7 lists all places where encoding is set. Could you please describe how DocumentWriter encoding becomes equal to document encoding in the particular case of document.charset being set from JS, for ease of comprehension?
DocumentWriter and Document share the same TextResourceDecoder (m_decoder).


But two other cases:
a) User selects an ecoding: We generate a new Document, where the TextResourceDecoder has the encoding selected by the user. So decoder() returns the correct encoding.
b) When we fall back to the defaultEncoding we return null string in Document::encoding(), but we will use the defaultEncoding when creating a TextResourceDecoder with no valid encoding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345802</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-04 14:37:59 -0800</bug_when>
    <thetext>&gt; charset and inputEncoding are always the same. http://trac.webkit.org/browser/trunk/LayoutTests/fast/dom/Document/document-charset.html?rev=13706 tests for this.

Yes, that&apos;s current behavior, that was chosen in absence of any spec or compatibility info. Now that IE9 has inputEncoding, we should test what it does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345819</commentid>
    <comment_count>12</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-04 14:52:31 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; charset and inputEncoding are always the same. http://trac.webkit.org/browser/trunk/LayoutTests/fast/dom/Document/document-charset.html?rev=13706 tests for this.
&gt; 
&gt; Yes, that&apos;s current behavior, that was chosen in absence of any spec or compatibility info. Now that IE9 has inputEncoding, we should test what it does.
IMHO that&apos;s a different task, since this patch does not change the behavior.

Matching the IE9 behavior is a separate task we can do after this is landed too. But if you think we need to ensure IE9 compatibility _before_ I need a IE9, which I don&apos;t have and can&apos;t install on XP :-(.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345838</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-04 15:10:05 -0800</bug_when>
    <thetext>There is a chance of being counter-productive if we clean up implementation before deciding what the desired behavior is. That&apos;s all I&apos;m concerned about.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346086</commentid>
    <comment_count>14</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-05 01:52:46 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; There is a chance of being counter-productive if we clean up implementation before deciding what the desired behavior is. That&apos;s all I&apos;m concerned about.
I agree with you!

Opening LayoutTests/fast/dom/Document/document-charset.html with IE9beta on Windows Server 2008 R2 gives the following result:

Initial
 document.charset: koi8-r
 document.defaultCharset: defined
 document.characterSet: undefined
 document.inputEncoding: undefined

Setting charset to UTF-8...
 document.charset: utf-8
 document.defaultCharset: defined
 document.characterSet: undefined
 document.inputEncoding: undefined

Setting characterSet to KOI8-R (expected to fail, matching Firefox)...
 document.charset: utf-8
 document.defaultCharset: defined
 document.characterSet: KOI8-R
 document.inputEncoding: undefined

It seams inputEncoding isn&apos;t working in IE9! Matching the current behavior of IE9 does not seam to go in the right direction. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346088</commentid>
    <comment_count>15</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-05 01:57:32 -0800</bug_when>
    <thetext>comment #14 was with Quirks mode :-/

With IE9 standards mode:

Initial
 document.charset: utf-8
 document.defaultCharset: defined
 document.characterSet: utf-8
 document.inputEncoding: UTF-8

Setting charset to UTF-8...
 document.charset: utf-8
 document.defaultCharset: defined
 document.characterSet: utf-8
 document.inputEncoding: UTF-8

Setting characterSet to KOI8-R (expected to fail, matching Firefox)...
Failure (expected)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346143</commentid>
    <comment_count>16</comment_count>
      <attachid>81360</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-05 07:51:58 -0800</bug_when>
    <thetext>Created attachment 81360
Patch

After document.charset is set, the given encoding will be used in IE9. AFAIKS we match the IE9 behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346167</commentid>
    <comment_count>17</comment_count>
      <attachid>80594</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-05 11:36:10 -0800</bug_when>
    <thetext>Comment on attachment 80594
Patch

OK. Please consider adding a doctype to document-charset.html, to make the test pass in IE9 out of the box.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346168</commentid>
    <comment_count>18</comment_count>
      <attachid>81360</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-05 11:40:41 -0800</bug_when>
    <thetext>Comment on attachment 81360
Patch

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

Another thing to test is whether the main document decoding starts using the new encoding after assignment to charset. That&apos;s obviously tricky, as decoding happens ahead of execution - but as far as I can tell, that&apos;s completely broken in WebKit now. Changing TextResourceDecoder charset on the fly resets it, dropping buffered characters, so assigning to document.charset means that a decoding error will occur at some later point.

&gt; LayoutTests/fast/encoding/external-script-charset-expected.txt:4
&gt;  PASS
&gt; +PASS

Would be nice to explain what these subtests are, like it&apos;s done in other tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346181</commentid>
    <comment_count>19</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-05 12:30:50 -0800</bug_when>
    <thetext>Committed r77749: &lt;http://trac.webkit.org/changeset/77749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346182</commentid>
    <comment_count>20</comment_count>
      <attachid>80594</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-05 12:34:42 -0800</bug_when>
    <thetext>Comment on attachment 80594
Patch

Clearing flags on attachment: 80594

Committed r77750: &lt;http://trac.webkit.org/changeset/77750&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80593</attachid>
            <date>2011-01-30 09:11:39 -0800</date>
            <delta_ts>2011-01-30 09:24:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53398-20110130181136.patch</filename>
            <type>text/plain</type>
            <size>4912</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmMjYzMmVhNDY2MDBjYWQwMDdlYTc4MDRhMGY2YTY0NDczNjMzMzdjLi5l
ZDAxMjUxMDY5NTUyYjgyNmVjYWQ3MTBiNGIxOGZiNDlhZjAwMDViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTEtMDEtMzAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXNlIERvY3VtZW50OjplbmNvZGluZygpIGluc3RlYWQgb2YgRG9jdW1lbnRXcml0ZXI6OmVuY29k
aW5nKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUz
Mzk4CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIGNvZGUgbW9yZSByZWFkYWJsZSwg
d2hlbiBhIHN1YnJlc291cmNlCisgICAgICAgIGluaGVyaXRzIHRoZSBjaGFyYWN0ZXIgZW5jb2Rp
bmcgb2YgdGhlIGRvY3VtZW50LgorCisgICAgICAgICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmNoZWNrU3R5
bGVTaGVldCk6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RWxlbWVudDo6c2NyaXB0Q2hhcnNldCk6CisgICAgICAgICogaHRtbC9IVE1M
TGlua0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50Ojpwcm9j
ZXNzKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RQcmVsb2FkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGb3JtRGF0YUJ1aWxkZXI6OmVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQpOgor
CiAyMDExLTAxLTI3ICBHcmVnIENvbGV0dGEgIDxncmVnLmNvbGV0dGFAbm9raWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IExhc3psbyBHb21ib3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCmluZGV4IDU0NGQ3ODk4YTIwMmZmYTA0YTkyNTAzODYz
N2FkN2FjNTc3OGVlNTAuLjQxYmJkOTIxZDIzMzdlNzkyYTViODNiYmRjY2ZmODJmNzM5MTk1NTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCkBAIC0x
NjgsNyArMTY4LDcgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmNoZWNrU3R5bGVTaGVl
dCgpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgU3RyaW5nIGNoYXJzZXQgPSBhdHRy
cy5nZXQoImNoYXJzZXQiKTsKICAgICAgICAgICAgICAgICBpZiAoY2hhcnNldC5pc0VtcHR5KCkp
Ci0gICAgICAgICAgICAgICAgICAgIGNoYXJzZXQgPSBkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2Fk
ZXIoKS0+d3JpdGVyKCktPmVuY29kaW5nKCk7CisgICAgICAgICAgICAgICAgICAgIGNoYXJzZXQg
PSBkb2N1bWVudCgpLT5jaGFyc2V0KCk7CiAKICAgICAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0
ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdENTU1N0eWxlU2hl
ZXQodXJsLCBjaGFyc2V0KTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVt
ZW50LmNwcAppbmRleCA3NDdmN2ExM2IzODMxNzVkODc3NTIyNTczNDdkMGVlNGVjNjU4MjY2Li5m
ZDgzODQ0NWE1ZmJhYTA2MDBlOTBiMmM3NTI5ZDhhNTRiNzZiOWVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yOTIsMTAgKzI5Miw4IEBAIFN0cmluZyBTY3JpcHRFbGVt
ZW50OjpzY3JpcHRDaGFyc2V0KCkgY29uc3QKICAgICBTdHJpbmcgY2hhcnNldCA9IGNoYXJzZXRB
dHRyaWJ1dGVWYWx1ZSgpLnN0cmlwV2hpdGVTcGFjZSgpOwogCiAgICAgLy8gSWYgY2hhcnNldCBo
YXMgbm90IGJlZW4gZGVjbGFyZWQgaW4gc2NyaXB0IHRhZywgZmFsbCBiYWNrIHRvIGZyYW1lIGVu
Y29kaW5nLgotICAgIGlmIChjaGFyc2V0LmlzRW1wdHkoKSkgewotICAgICAgICBpZiAoRnJhbWUq
IGZyYW1lID0gbV9lbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpKQotICAgICAgICAgICAgY2hh
cnNldCA9IGZyYW1lLT5sb2FkZXIoKS0+d3JpdGVyKCktPmVuY29kaW5nKCk7Ci0gICAgfQorICAg
IGlmIChjaGFyc2V0LmlzRW1wdHkoKSkKKyAgICAgICAgY2hhcnNldCA9IGRvY3VtZW50KCktPmNo
YXJzZXQoKTsKIAogICAgIHJldHVybiBjaGFyc2V0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TGlua0VsZW1lbnQuY3BwCmluZGV4IGZjMjlkMWQwNTZmNGU2MzQyMTJmNzI4M2Y1ZGQzZTVlZGNm
MDQ1MzguLjFhYTcyZjZmOTlkNDA2MzVjYjNiN2M5ZWE1OTEyOTgwOTQ4ZmFmYjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTIyOSw3ICsyMjksNyBAQCB2b2lk
IEhUTUxMaW5rRWxlbWVudDo6cHJvY2VzcygpCiAgICAgICAgIAogICAgICAgICBTdHJpbmcgY2hh
cnNldCA9IGdldEF0dHJpYnV0ZShjaGFyc2V0QXR0cik7CiAgICAgICAgIGlmIChjaGFyc2V0Lmlz
RW1wdHkoKSAmJiBkb2N1bWVudCgpLT5mcmFtZSgpKQotICAgICAgICAgICAgY2hhcnNldCA9IGRv
Y3VtZW50KCktPmZyYW1lKCktPmxvYWRlcigpLT53cml0ZXIoKS0+ZW5jb2RpbmcoKTsKKyAgICAg
ICAgICAgIGNoYXJzZXQgPSBkb2N1bWVudCgpLT5jaGFyc2V0KCk7CiAgICAgICAgIAogICAgICAg
ICBpZiAobV9jYWNoZWRTaGVldCkgewogICAgICAgICAgICAgcmVtb3ZlUGVuZGluZ1NoZWV0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAppbmRleCA0NzhjOTk4Zjc3OTc3NmNlZTk0NDA0NmFiYmRlZmVhODlkNDhkNmFjLi42
ZGZmZDFhYzIyZWZiNjQ1YjhlY2VhNTBhMzU1Mzc0OWFjODliZTQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTYx
OCw3ICs2MTgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UHJlbG9hZChD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBTdHJpbgogewogICAgIFN0cmluZyBlbmNv
ZGluZzsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0IHx8IHR5cGUgPT0g
Q2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQpCi0gICAgICAgIGVuY29kaW5nID0gY2hhcnNl
dC5pc0VtcHR5KCkgPyBtX2RvY3VtZW50LT5mcmFtZSgpLT5sb2FkZXIoKS0+d3JpdGVyKCktPmVu
Y29kaW5nKCkgOiBjaGFyc2V0OworICAgICAgICBlbmNvZGluZyA9IGNoYXJzZXQuaXNFbXB0eSgp
ID8gbV9kb2N1bWVudC0+Y2hhcnNldCgpIDogY2hhcnNldDsKIAogICAgIENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSA9IHJlcXVlc3RSZXNvdXJjZSh0eXBlLCB1cmwsIGVuY29kaW5nLCBSZXNvdXJj
ZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQsIHRydWUpOwogICAgIGlmICghcmVzb3VyY2UgfHwgKG1f
cHJlbG9hZHMgJiYgbV9wcmVsb2Fkcy0+Y29udGFpbnMocmVzb3VyY2UpKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcAppbmRleCBk
YTI4ZmMyMmEwZjczYzljODNiMGJmZjYyZWRkZWUwZjMxNDI0MmRmLi5lOTczZjk5NDM5Nzk3OGQz
ZmQyMDM4MzE5YzE1MWExZTJiODc3MzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwCkBAIC05NCwxMCArOTQsNyBAQCBUZXh0
RW5jb2RpbmcgRm9ybURhdGFCdWlsZGVyOjplbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0
IFN0cmluZyYgYWNjZXB0Q2hhcgogICAgICAgICAgICAgcmV0dXJuIGVuY29kaW5nOwogICAgIH0K
IAotICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAgICAgcmV0
dXJuIGZyYW1lLT5sb2FkZXIoKS0+d3JpdGVyKCktPmVuY29kaW5nKCk7Ci0KLSAgICByZXR1cm4g
TGF0aW4xRW5jb2RpbmcoKTsKKyAgICByZXR1cm4gZG9jdW1lbnQtPmlucHV0RW5jb2RpbmcoKTsK
IH0KIAogVmVjdG9yPGNoYXI+IEZvcm1EYXRhQnVpbGRlcjo6Z2VuZXJhdGVVbmlxdWVCb3VuZGFy
eVN0cmluZygpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80594</attachid>
            <date>2011-01-30 09:24:47 -0800</date>
            <delta_ts>2011-02-05 12:34:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53398-20110130182444.patch</filename>
            <type>text/plain</type>
            <size>4923</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmMjYzMmVhNDY2MDBjYWQwMDdlYTc4MDRhMGY2YTY0NDczNjMzMzdjLi5l
ZDAxMjUxMDY5NTUyYjgyNmVjYWQ3MTBiNGIxOGZiNDlhZjAwMDViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTEtMDEtMzAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXNlIERvY3VtZW50OjplbmNvZGluZygpIGluc3RlYWQgb2YgRG9jdW1lbnRXcml0ZXI6OmVuY29k
aW5nKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUz
Mzk4CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIGNvZGUgbW9yZSByZWFkYWJsZSwg
d2hlbiBhIHN1YnJlc291cmNlCisgICAgICAgIGluaGVyaXRzIHRoZSBjaGFyYWN0ZXIgZW5jb2Rp
bmcgb2YgdGhlIGRvY3VtZW50LgorCisgICAgICAgICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmNoZWNrU3R5
bGVTaGVldCk6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RWxlbWVudDo6c2NyaXB0Q2hhcnNldCk6CisgICAgICAgICogaHRtbC9IVE1M
TGlua0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50Ojpwcm9j
ZXNzKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RQcmVsb2FkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGb3JtRGF0YUJ1aWxkZXI6OmVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQpOgor
CiAyMDExLTAxLTI3ICBHcmVnIENvbGV0dGEgIDxncmVnLmNvbGV0dGFAbm9raWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IExhc3psbyBHb21ib3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCmluZGV4IDU0NGQ3ODk4YTIwMmZmYTA0YTkyNTAzODYz
N2FkN2FjNTc3OGVlNTAuLjQxYmJkOTIxZDIzMzdlNzkyYTViODNiYmRjY2ZmODJmNzM5MTk1NTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCkBAIC0x
NjgsNyArMTY4LDcgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmNoZWNrU3R5bGVTaGVl
dCgpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgU3RyaW5nIGNoYXJzZXQgPSBhdHRy
cy5nZXQoImNoYXJzZXQiKTsKICAgICAgICAgICAgICAgICBpZiAoY2hhcnNldC5pc0VtcHR5KCkp
Ci0gICAgICAgICAgICAgICAgICAgIGNoYXJzZXQgPSBkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2Fk
ZXIoKS0+d3JpdGVyKCktPmVuY29kaW5nKCk7CisgICAgICAgICAgICAgICAgICAgIGNoYXJzZXQg
PSBkb2N1bWVudCgpLT5jaGFyc2V0KCk7CiAKICAgICAgICAgICAgICAgICBtX2NhY2hlZFNoZWV0
ID0gZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdENTU1N0eWxlU2hl
ZXQodXJsLCBjaGFyc2V0KTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVt
ZW50LmNwcAppbmRleCA3NDdmN2ExM2IzODMxNzVkODc3NTIyNTczNDdkMGVlNGVjNjU4MjY2Li4x
OTM5YTA4MGRmYzg4MzY5ZjAyZmZmNzZjZTY4M2JjNTZiYTM4NTJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yOTIsMTAgKzI5Miw4IEBAIFN0cmluZyBTY3JpcHRFbGVt
ZW50OjpzY3JpcHRDaGFyc2V0KCkgY29uc3QKICAgICBTdHJpbmcgY2hhcnNldCA9IGNoYXJzZXRB
dHRyaWJ1dGVWYWx1ZSgpLnN0cmlwV2hpdGVTcGFjZSgpOwogCiAgICAgLy8gSWYgY2hhcnNldCBo
YXMgbm90IGJlZW4gZGVjbGFyZWQgaW4gc2NyaXB0IHRhZywgZmFsbCBiYWNrIHRvIGZyYW1lIGVu
Y29kaW5nLgotICAgIGlmIChjaGFyc2V0LmlzRW1wdHkoKSkgewotICAgICAgICBpZiAoRnJhbWUq
IGZyYW1lID0gbV9lbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpKQotICAgICAgICAgICAgY2hh
cnNldCA9IGZyYW1lLT5sb2FkZXIoKS0+d3JpdGVyKCktPmVuY29kaW5nKCk7Ci0gICAgfQorICAg
IGlmIChjaGFyc2V0LmlzRW1wdHkoKSkKKyAgICAgICAgY2hhcnNldCA9IG1fZWxlbWVudC0+ZG9j
dW1lbnQoKS0+Y2hhcnNldCgpOwogCiAgICAgcmV0dXJuIGNoYXJzZXQ7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKaW5kZXggZmMyOWQxZDA1NmY0ZTYzNDIxMmY3Mjgz
ZjVkZDNlNWVkY2YwNDUzOC4uMWFhNzJmNmY5OWQ0MDYzNWNiM2I3YzllYTU5MTI5ODA5NDhmYWZi
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcApAQCAtMjI5LDcgKzIy
OSw3IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50Ojpwcm9jZXNzKCkKICAgICAgICAgCiAgICAgICAg
IFN0cmluZyBjaGFyc2V0ID0gZ2V0QXR0cmlidXRlKGNoYXJzZXRBdHRyKTsKICAgICAgICAgaWYg
KGNoYXJzZXQuaXNFbXB0eSgpICYmIGRvY3VtZW50KCktPmZyYW1lKCkpCi0gICAgICAgICAgICBj
aGFyc2V0ID0gZG9jdW1lbnQoKS0+ZnJhbWUoKS0+bG9hZGVyKCktPndyaXRlcigpLT5lbmNvZGlu
ZygpOworICAgICAgICAgICAgY2hhcnNldCA9IGRvY3VtZW50KCktPmNoYXJzZXQoKTsKICAgICAg
ICAgCiAgICAgICAgIGlmIChtX2NhY2hlZFNoZWV0KSB7CiAgICAgICAgICAgICByZW1vdmVQZW5k
aW5nU2hlZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDQ3OGM5OThmNzc5Nzc2Y2VlOTQ0MDQ2YWJiZGVmZWE4
OWQ0OGQ2YWMuLjZkZmZkMWFjMjJlZmI2NDViOGVjZWE1MGEzNTUzNzQ5YWM4OWJlNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmNwcApAQCAtNjE4LDcgKzYxOCw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVl
c3RQcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFN0cmluCiB7CiAgICAg
U3RyaW5nIGVuY29kaW5nOwogICAgIGlmICh0eXBlID09IENhY2hlZFJlc291cmNlOjpTY3JpcHQg
fHwgdHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCkKLSAgICAgICAgZW5jb2Rp
bmcgPSBjaGFyc2V0LmlzRW1wdHkoKSA/IG1fZG9jdW1lbnQtPmZyYW1lKCktPmxvYWRlcigpLT53
cml0ZXIoKS0+ZW5jb2RpbmcoKSA6IGNoYXJzZXQ7CisgICAgICAgIGVuY29kaW5nID0gY2hhcnNl
dC5pc0VtcHR5KCkgPyBtX2RvY3VtZW50LT5jaGFyc2V0KCkgOiBjaGFyc2V0OwogCiAgICAgQ2Fj
aGVkUmVzb3VyY2UqIHJlc291cmNlID0gcmVxdWVzdFJlc291cmNlKHR5cGUsIHVybCwgZW5jb2Rp
bmcsIFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCwgdHJ1ZSk7CiAgICAgaWYgKCFyZXNv
dXJjZSB8fCAobV9wcmVsb2FkcyAmJiBtX3ByZWxvYWRzLT5jb250YWlucyhyZXNvdXJjZSkpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIu
Y3BwCmluZGV4IGRhMjhmYzIyYTBmNzNjOWM4M2IwYmZmNjJlZGRlZTBmMzE0MjQyZGYuLmU5NzNm
OTk0Mzk3OTc4ZDNmZDIwMzgzMTljMTUxYTFlMmI4NzczNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAKQEAgLTk0LDEwICs5
NCw3IEBAIFRleHRFbmNvZGluZyBGb3JtRGF0YUJ1aWxkZXI6OmVuY29kaW5nRnJvbUFjY2VwdENo
YXJzZXQoY29uc3QgU3RyaW5nJiBhY2NlcHRDaGFyCiAgICAgICAgICAgICByZXR1cm4gZW5jb2Rp
bmc7CiAgICAgfQogCi0gICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgpKQot
ICAgICAgICByZXR1cm4gZnJhbWUtPmxvYWRlcigpLT53cml0ZXIoKS0+ZW5jb2RpbmcoKTsKLQot
ICAgIHJldHVybiBMYXRpbjFFbmNvZGluZygpOworICAgIHJldHVybiBkb2N1bWVudC0+aW5wdXRF
bmNvZGluZygpOwogfQogCiBWZWN0b3I8Y2hhcj4gRm9ybURhdGFCdWlsZGVyOjpnZW5lcmF0ZVVu
aXF1ZUJvdW5kYXJ5U3RyaW5nKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81360</attachid>
            <date>2011-02-05 07:51:58 -0800</date>
            <delta_ts>2011-02-05 12:35:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53398-lt.patch</filename>
            <type>text/plain</type>
            <size>4442</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlNDEzMTViLi4xNWMzMjQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDIt
MDUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFkZGl0aW9uIHRlc3QgZm9y
IGluaGVyaXRlZCBlbmNvZGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTMzOTgKKworICAgICAgICBDaGVjayBpZiB0aGUgcmlnaHQgZW5jb2Rpbmcg
aXMgdXNlZCwgYWZ0ZXIgZG9jdW1lbnQuY2hhcnNldCB3YXMgc2V0LgorCisgICAgICAgICogZmFz
dC9lbmNvZGluZy9jc3MtY2hhcnNldC1kZWZhdWx0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2VuY29kaW5nL2Nzcy1jaGFyc2V0LWRlZmF1bHQueGh0bWw6CisgICAgICAgICogZmFzdC9l
bmNvZGluZy9leHRlcm5hbC1zY3JpcHQtY2hhcnNldC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9lbmNvZGluZy9leHRlcm5hbC1zY3JpcHQtY2hhcnNldC1rb2ktOC5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9lbmNvZGluZy9leHRlcm5hbC1zY3JpcHQtY2hhcnNldC54aHRtbDoKKwog
MjAxMS0wMi0wNCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAog
ICAgICAgICBOb3QgcmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2VuY29k
aW5nL2Nzcy1jaGFyc2V0LWRlZmF1bHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9l
bmNvZGluZy9jc3MtY2hhcnNldC1kZWZhdWx0LWV4cGVjdGVkLnR4dAppbmRleCA5NTQ3OTBlLi42
OWRkYmIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL2Nzcy1jaGFyc2V0
LWRlZmF1bHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvY3Nz
LWNoYXJzZXQtZGVmYXVsdC1leHBlY3RlZC50eHQKQEAgLTcsMyArNyw1IEBAIFN0eWxlc2hlZXQg
MiAoaW5oZXJpdCBkb2N1bWVudCBjaGFyc2V0IHVzaW5nIGxpbmspOiBTVdCh0KHQlVNTCiBTdHls
ZXNoZWV0IDMgKGluaGVyaXQgcmVmZXJyaW5nIHN0eWxlc2hlZXQgY2hhcnNldCk6IFNV0KHQodCV
U1MKIAogU3R5bGVzaGVldCA0IChpbmhlcml0IHJlZmVycmluZyBpbmxpbmUgc3R5bGVzaGVldCBj
aGFyc2V0KTogU1XQodCh0JVTUworCitTdHlsZXNoZWV0IDUgKGluaGVyaXQgZG9jdW1lbnQgY2hh
cnNldCB1c2luZyBsaW5rIGFmdGVyIGRvY3VtZW50LmNoYXJzZXQgd2FzIHNldCk6IFNV0KHQodCV
U1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvY3NzLWNoYXJzZXQtZGVm
YXVsdC54aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvY3NzLWNoYXJzZXQtZGVmYXVs
dC54aHRtbAppbmRleCAyNDQzMmYyLi44N2E2ZDY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2VuY29kaW5nL2Nzcy1jaGFyc2V0LWRlZmF1bHQueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9lbmNvZGluZy9jc3MtY2hhcnNldC1kZWZhdWx0LnhodG1sCkBAIC0xMCw2ICsxMCw4IEBA
CiAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAgQGltcG9ydCAiY3NzLWNoYXJz
ZXQtaW5oZXJpdC1pc28tODg1OS01LmNzcz80IjsKICAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+
ZG9jdW1lbnQuY2hhcnNldCA9ICJrb2k4LXIiOzwvc2NyaXB0PgorICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImNzcy1jaGFyc2V0LWluaGVyaXQta29pLTgu
Y3NzPzIiLz4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0idGVzdCgpIj4KIDxwPlRlc3QgZm9yIDxh
IGhyZWY9Imh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDExIj5idWcg
MTEwMTE8L2E+OgpAQCAtMTksNiArMjEsNyBAQCBFeHRlcm5hbCBDU1MgaXMgcGFyc2VkIGFzIGlz
by04ODU5LTEgZXZlbiB0aG91Z2ggdGhlIG1haW4gZG9jdW1lbnQgaXMgdXRmLTguPC9wPgogPHAg
aWQ9InJlczIiPlN0eWxlc2hlZXQgMiAoaW5oZXJpdCBkb2N1bWVudCBjaGFyc2V0IHVzaW5nIGxp
bmspOiA8L3A+CiA8cCBpZD0icmVzMyI+U3R5bGVzaGVldCAzIChpbmhlcml0IHJlZmVycmluZyBz
dHlsZXNoZWV0IGNoYXJzZXQpOiA8L3A+CiA8cCBpZD0icmVzNCI+U3R5bGVzaGVldCA0IChpbmhl
cml0IHJlZmVycmluZyBpbmxpbmUgc3R5bGVzaGVldCBjaGFyc2V0KTogPC9wPgorPHAgaWQ9InJl
czUiPlN0eWxlc2hlZXQgNSAoaW5oZXJpdCBkb2N1bWVudCBjaGFyc2V0IHVzaW5nIGxpbmsgYWZ0
ZXIgZG9jdW1lbnQuY2hhcnNldCB3YXMgc2V0KTogPC9wPgogCiA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CiBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQpAQCAtMzMsNiAr
MzYsOCBAQCBmdW5jdGlvbiB0ZXN0KCkgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXMzIikuaW5uZXJIVE1MICs9IGRvY3VtZW50LnN0eWxlU2hlZXRzWzJdLmNzc1J1bGVzWzFdLnN0
eWxlU2hlZXQuY3NzUnVsZXNbMF0uc3R5bGUuY29udGVudDsKIAogICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXM0IikuaW5uZXJIVE1MICs9IGRvY3VtZW50LnN0eWxlU2hlZXRzWzNdLmNz
c1J1bGVzWzBdLnN0eWxlU2hlZXQuY3NzUnVsZXNbMF0uc3R5bGUuY29udGVudDsKKworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXM1IikuaW5uZXJIVE1MICs9IGRvY3VtZW50LnN0eWxl
U2hlZXRzWzRdLmNzc1J1bGVzWzBdLnN0eWxlLmNvbnRlbnQ7CiAgIH0gY2F0Y2ggKGV4KSB7CiAg
ICAgYWxlcnQoZXgudG9TdHJpbmcoKSk7CiAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZW5jb2RpbmcvZXh0ZXJuYWwtc2NyaXB0LWNoYXJzZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9lbmNvZGluZy9leHRlcm5hbC1zY3JpcHQtY2hhcnNldC1leHBlY3RlZC50eHQK
aW5kZXggNjU3NTc1OS4uZGNhM2RlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9lbmNv
ZGluZy9leHRlcm5hbC1zY3JpcHQtY2hhcnNldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9lbmNvZGluZy9leHRlcm5hbC1zY3JpcHQtY2hhcnNldC1leHBlY3RlZC50eHQKQEAg
LTEsMyArMSw0IEBACiBUZXN0IHRoYXQgZXh0ZXJuYWwgc2NyaXB0cyBpbiBYSFRNTCBkb2N1bWVu
dHMgaW5oZXJpdCBkb2N1bWVudCBjaGFyc2V0LgogCiBQQVNTCitQQVNTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL2V4dGVybmFsLXNjcmlwdC1jaGFyc2V0LWtvaS04Lmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9leHRlcm5hbC1zY3JpcHQtY2hhcnNldC1rb2kt
OC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2I0M2Y5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9leHRlcm5hbC1zY3JpcHQtY2hh
cnNldC1rb2ktOC5qcwpAQCAtMCwwICsxIEBACitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVz
dWx0MiIpLmlubmVySFRNTCA9ICgi8yIgPT0gIlx1MDQyMSIpID8gIlBBU1MiIDogIkZBSUwiOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9leHRlcm5hbC1zY3JpcHQtY2hh
cnNldC54aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvZXh0ZXJuYWwtc2NyaXB0LWNo
YXJzZXQueGh0bWwKaW5kZXggZDg5YjlkNi4uZWI0NDQ2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9lbmNvZGluZy9leHRlcm5hbC1zY3JpcHQtY2hhcnNldC54aHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2VuY29kaW5nL2V4dGVybmFsLXNjcmlwdC1jaGFyc2V0LnhodG1sCkBAIC0y
LDYgKzIsOSBAQAogPGJvZHk+CiAgICAgPHA+VGVzdCB0aGF0IGV4dGVybmFsIHNjcmlwdHMgaW4g
WEhUTUwgZG9jdW1lbnRzIGluaGVyaXQgZG9jdW1lbnQgY2hhcnNldC48L3A+CiAgICAgPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZXN1bHQyIj48L2Rpdj4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJleHRlcm5hbC1zY3JpcHQtY2hhcnNldC5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD5kb2N1bWVudC5jaGFyc2V0ID0gImtvaTgtciI7PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iZXh0ZXJuYWwt
c2NyaXB0LWNoYXJzZXQta29pLTguanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>