<?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>4821</bug_id>
          
          <creation_ts>2005-09-03 02:06:48 -0700</creation_ts>
          <short_desc>Text in submitted forms should be entity-encoded if the current encoding doesn&apos;t support it</short_desc>
          <delta_ts>2005-10-10 12:46:53 -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>Forms</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>VERIFIED</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>
          
          <blocked>5232</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abosse</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>18520</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-03 02:06:48 -0700</bug_when>
    <thetext>This is potentially a reduction of bug 4575 (but its source is not available, so I can only guess).

Steps to reproduce:
1. Open the attached test case.
2. Paste some non-Roman text in the text field (e.g., copy something from www.apple.jp or 
www.apple.ru).
3. Click POST

Results: the URL contains question marks (%3F) instead of non-Roman characters
Expected results: Such characters should be encoded as HTML entities, for example &quot;form.html?q=%26%
231090%3B%26%231077%3B%26%231089%3B%26%231090%3B&quot; for &quot;&amp;#1090;&amp;#1077;&amp;#1089;&amp;#1090;&quot;

Discussion: Firefox does encode text this way.

The test case explicitly specifies Latin-1 encoding, so it should work regardless of your browser 
settings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18521</commentid>
    <comment_count>1</comment_count>
      <attachid>3730</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-03 02:07:27 -0700</bug_when>
    <thetext>Created attachment 3730
manual test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18524</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2005-09-03 02:21:25 -0700</bug_when>
    <thetext>Confirmed with both WebKit 412.7 and ToT WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18785</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-05 21:39:12 -0700</bug_when>
    <thetext>Actually, this of course doesn&apos;t test POST, but rather GET... Renamed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19858</commentid>
    <comment_count>4</comment_count>
      <attachid>3936</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-18 07:37:18 -0700</bug_when>
    <thetext>Created attachment 3936
proposed patch

Change in QTextCodec::fromUnicode(). It is only used twice - from
html_formimpl.cpp and from KWQKURL.mm. In both cases, it seems that this change
shouldn&apos;t do any harm (and of course, it fixes this issue).

Unfortunately, I have no idea about how to make an automated test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19859</commentid>
    <comment_count>5</comment_count>
      <attachid>3937</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-18 07:39:09 -0700</bug_when>
    <thetext>Created attachment 3937
proposed patch

An unrelated change sneaked into the previous patch...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19959</commentid>
    <comment_count>6</comment_count>
      <attachid>3937</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-09-18 13:21:50 -0700</bug_when>
    <thetext>Comment on attachment 3937
proposed patch

Looks fine to me.  The //FIXME: support surogate pairs should be turned into a
bugzilla bug instead of a code comment.  I&apos;ll leave this to darin or mjs for
final approval however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19961</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-18 13:32:14 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; The //FIXME: support surogate pairs should be turned into a
&gt; bugzilla bug instead of a code comment.

I took a shortcut because of other FIXMEs in the code suggesting that it may be completely rewritten at 
some point... If really needed, it&apos;s not too hard to implement this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19999</commentid>
    <comment_count>8</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-09-19 00:33:56 -0700</bug_when>
    <thetext>I think this manual test case can be turned into an automated one, with some trickery. You can either 
do the submission in a frame, and then examine its URL from the outside to see if the encoding 
worked, or you can submit to a data: URL which contains an embedded script that checks 
document.location (the latter is trickier to pull off).

Also, is it right to just change this in QTextCodec::fromUnicode? That function is called in a couple of 
different places and it&apos;s not clear to me if they should all have this behavior. Please either limit this 
escaping behavior to the form submission case, or provide test cases to show it is right in other cases 
as well.

In general, though this seems like a very good change. The code itself looks right but I want to make 
sure we have covered our bases on testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20013</commentid>
    <comment_count>9</comment_count>
      <attachid>3946</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-19 11:42:48 -0700</bug_when>
    <thetext>Created attachment 3946
Automated test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20014</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-19 12:41:37 -0700</bug_when>
    <thetext>(In reply to comment #8)
A search reveals that fromUnicode is used in:
1) html_formimpl.cpp, FormDataList::appendString(). This is the place where this problem occurs.
2) html_formimpl.cpp, HTMLFormElementImpl::formData(). Here the names of attached files are 
converted. Having question marks in uploaded file names isn&apos;t nice at all, and a smart receiver will 
probably be even able to handle entities.
3) KWQKURL.mm, encodeRelativeString(), which is only used in KURL constructor. The only place where 
this constructor is used with a non-default codec is URLWithAttributeString from WebCoreBridge. This 
function is then exported from WebDOMOperations.h.

Well, I do not have much evidence for (3), and do not know how to test its usage... But it is also a URL, 
and converting parts of URLs to question marks is highly unlikely to do any good IMHO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20019</commentid>
    <comment_count>11</comment_count>
      <attachid>3937</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-19 13:47:39 -0700</bug_when>
    <thetext>Comment on attachment 3937
proposed patch

I haven&apos;t done exactly what was requested, but thought I&apos;ll try again with this
analysis...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20048</commentid>
    <comment_count>12</comment_count>
      <attachid>3937</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-19 16:02:04 -0700</bug_when>
    <thetext>Comment on attachment 3937
proposed patch

This looks OK, but I&apos;d rather see this ported to ICU and not using CFString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20064</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-19 23:13:16 -0700</bug_when>
    <thetext>(In reply to comment #12)
Moving from a working API to an SPI doesn&apos;t make me very excited, so I&apos;d prefer not to do that in a fix for 
this particular issue...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20113</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-20 17:00:44 -0700</bug_when>
    <thetext>ICU is a cross-platform API. Calling it an SPI is very Apple-centric, and in my opinion, wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20142</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-21 00:48:48 -0700</bug_when>
    <thetext>(In reply to comment #14)

We 3rd party developers have been strongly discouraged from even looking in this direction by Deborah 
Goldsmith herself (who is a member of ICU Project Management Committee and Apple&apos;s Unicode 
liaison). She probably forgot more reasons for that than I will ever know, and I know quite a few :)

Sorry for stating the obvious, but every time an Apple app uses an (SPI, API, whatever) that 3rd parties 
cannot use, it reduces the attention to real APIs. This case is particularly clear - every time CFString 
doesn&apos;t serve WebKit well, it is something that should be fixed in CFString.

Hopefully, this explains my aversion to ICU migration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20149</commentid>
    <comment_count>16</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-09-21 02:03:25 -0700</bug_when>
    <thetext>We have discussed this with Deborah Goldsmith and she&apos;s happy with WebCore and JavaScriptCore using 
ICU. In fact, she OK&apos;d us shipping the headers in JavaScriptCore/WebCore even though ICU is theoretically 
SPI at the moment. We are in general moving towards more and more direct use of ICU for our text 
encoding needs, as it allows the code to be more portable.

Please consider ICU (I&apos;ll mark r- so you can think about it) but I think it&apos;s fine to land this change as-is, 
since the previous version already used CFString for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20314</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-23 11:06:11 -0700</bug_when>
    <thetext>(In reply to comment #16)

Well... Ok :). But this isn&apos;t going to be straightforward, I&apos;m afraid.

What I do not quite understand is the hack that&apos;s used for a backslash when the encoding is 
kCFStringEncodingShiftJIS_X0213_00 or kCFStringEncodingEUC_JP. The Shift-JIS case is more or less 
clear (there are a lot of conflicting versions of this encoding, but at least the end result matches Shift-
JIS from ICU). EUC_JP is weird: backslash is converted fine without this hack, but fails to get converted 
at all with it.

There&apos;s also a similar unhandled issue with tilde: CFString converts it into 0x8160 = U+301C = WAVE 
DASH, while in ICU version it stays at 0x7e.

Then, this page &lt;http://blogs.msdn.com/michkap/archive/2005/09/17/469941.aspx&gt; says the 
backslash problem also exists for Korean, which doesn&apos;t get such special treatment in WebKit.

So far, looks like ICU should be just used directly, and this hack should be removed... But the function 
backslashAsCurrencySymbol() is also present in RenderObject and in KWQKHTMLPart - it&apos;s used a lot, 
and I&apos;m not sure for what reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20600</commentid>
    <comment_count>18</comment_count>
      <attachid>3937</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-25 12:03:44 -0700</bug_when>
    <thetext>Comment on attachment 3937
proposed patch

I&apos;ll work on an ICU-based patch, but because of the aforementioned
complications, it should probably be done as a separate step, not while fixing
this specific issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20607</commentid>
    <comment_count>19</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-25 19:38:45 -0700</bug_when>
    <thetext>Sure, we should do the ICU thing separately.

The special backslash handling predates the use of ICU and is a complicated issue. The backslash 
character and the yen character share the same character code, and which of the two the character 
represents ends up depending on the context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20608</commentid>
    <comment_count>20</comment_count>
      <attachid>3937</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-25 19:44:17 -0700</bug_when>
    <thetext>Comment on attachment 3937
proposed patch

Looks close, but should not be checked in as-is.

This code is not correct for the use of fromUnicode in KURL. Question marks
aren&apos;t correct either. I believe that we want to use %-escape sequences in the
KURL code. As Maciej said in his earlier comment, we should not make this
change to fromUnicode -- we should make it in a function used only by the form
code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20611</commentid>
    <comment_count>21</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-25 21:30:12 -0700</bug_when>
    <thetext>(In reply to comment #20)
As I understand it, %-encoding won&apos;t work for KURL - these codes are supposed to be from the same 
encoding we are converting to, and the characters in question aren&apos;t representable in this encoding. So, we 
have to choose between entities, question marks and omitting the offending characters.

OTOH, there is at least one case when entities are certainly a correct choice for KURL - it&apos;s when 
URLWithAttributeString is used to do something similar to form submission. Since we cannot know in 
advance what URLWithAttributeString is used for, this probably means that entity-encoding is the right 
choice for all uses of fromUnicode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20738</commentid>
    <comment_count>22</comment_count>
      <attachid>4078</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-28 09:33:55 -0700</bug_when>
    <thetext>Created attachment 4078
Alternative patch

This patch limits changes to forms code, preserving the old (question marks)
behavior for KURL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20856</commentid>
    <comment_count>23</comment_count>
      <attachid>4078</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-09-28 15:18:52 -0700</bug_when>
    <thetext>Comment on attachment 4078
Alternative patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21726</commentid>
    <comment_count>24</comment_count>
    <who name="Arno Bosse">abosse</who>
    <bug_when>2005-10-10 11:33:40 -0700</bug_when>
    <thetext>Hooray, it works! The original case that prompted this (unicode entered into text boxes in Blackboard v6 - 
which uses ISO-Latin 1 throughout) now behaves correctly using the latest 10/10/05 build. Very many 
thanks to all concerned.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21732</commentid>
    <comment_count>25</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-10-10 12:46:53 -0700</bug_when>
    <thetext>*** Bug 4575 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3730</attachid>
            <date>2005-09-03 02:07:27 -0700</date>
            <delta_ts>2005-09-19 11:42:48 -0700</delta_ts>
            <desc>manual test case</desc>
            <filename>form.html</filename>
            <type>text/html</type>
            <size>253</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPHRpdGxlPkNoYXJzZXRzIGFuZCBQT1NUaW5n
PC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KPGZvcm0gYWN0aW9uPT9zZWFyY2ggbmFtZT1mPgogPGlu
cHV0IG5hbWU9cSB2YWx1ZT0iIj48YnI+CiA8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9IlBPU1Qi
Pgo8L2Zvcm0+CjwvYm9keT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3936</attachid>
            <date>2005-09-18 07:37:18 -0700</date>
            <delta_ts>2005-09-18 07:39:09 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>FromUnicodePatch.txt</filename>
            <type>text/plain</type>
            <size>4523</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IEtXUUtEZWJ1Zy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3Jl
L2t3cS9LV1FLRGVidWcuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOApkaWZmIC1wIC11IC1y
MS4xOCBLV1FLRGVidWcuaAotLS0gS1dRS0RlYnVnLmgJMjMgSnVuIDIwMDUgMjE6MjU6NDkgLTAw
MDAJMS4xOAorKysgS1dRS0RlYnVnLmgJMTggU2VwIDIwMDUgMTQ6MzI6MDggLTAwMDAKQEAgLTI5
LDYgKzI5LDggQEAKICNpbmNsdWRlICJLV1FTdHJpbmcuaCIKICNpbmNsdWRlICJLV1FUZXh0U3Ry
ZWFtLmgiCiAKKyNpbmNsdWRlIDxzdGRpby5oPgorCiAjZGVmaW5lICAgICAgICAgICAgICAgIGtf
ZnVuY2luZm8gICAgICAiWyIgPDwgX19GSUxFX18gPDwgIjoiIDw8IF9fTElORV9fIDw8ICJdICIK
IAogY2xhc3Mga2RiZ3N0cmVhbTsKQEAgLTM5LDIwICs0MSwyMCBAQCBjbGFzcyBrZGJnc3RyZWFt
IHsKIHB1YmxpYzoKICAgICBrZGJnc3RyZWFtKHVuc2lnbmVkIGludCBhcmVhID0gMCwgdW5zaWdu
ZWQgaW50IGxldmVsID0gMCwgYm9vbCBwcmludCA9IHRydWUpIHsgfQogICAgIAotICAgIGtkYmdz
dHJlYW0gJm9wZXJhdG9yPDwoaW50KSB7IHJldHVybiAqdGhpczsgfQotICAgIGtkYmdzdHJlYW0g
Jm9wZXJhdG9yPDwodW5zaWduZWQgaW50KSB7IHJldHVybiAqdGhpczsgfQotICAgIGtkYmdzdHJl
YW0gJm9wZXJhdG9yPDwobG9uZykgeyByZXR1cm4gKnRoaXM7IH0KLSAgICBrZGJnc3RyZWFtICZv
cGVyYXRvcjw8KHVuc2lnbmVkIGxvbmcpIHsgcmV0dXJuICp0aGlzOyB9Ci0gICAga2RiZ3N0cmVh
bSAmb3BlcmF0b3I8PChkb3VibGUpIHsgcmV0dXJuICp0aGlzOyB9Ci0gICAga2RiZ3N0cmVhbSAm
b3BlcmF0b3I8PChjb25zdCBjaGFyICopIHsgcmV0dXJuICp0aGlzOyB9Ci0gICAga2RiZ3N0cmVh
bSAmb3BlcmF0b3I8PChjb25zdCB2b2lkICopIHsgcmV0dXJuICp0aGlzOyB9Ci0gICAga2RiZ3N0
cmVhbSAmb3BlcmF0b3I8PChjb25zdCBRQ2hhciAmKSB7IHJldHVybiAqdGhpczsgfQotICAgIGtk
YmdzdHJlYW0gJm9wZXJhdG9yPDwoY29uc3QgUVN0cmluZyAmKSB7IHJldHVybiAqdGhpczsgfQot
ICAgIGtkYmdzdHJlYW0gJm9wZXJhdG9yPDwoY29uc3QgUUNTdHJpbmcgJikgeyByZXR1cm4gKnRo
aXM7IH0KLSAgICBrZGJnc3RyZWFtICZvcGVyYXRvcjw8KEtEQkdGVU5DKSB7IHJldHVybiAqdGhp
czsgfQorICAgIGtkYmdzdHJlYW0gJm9wZXJhdG9yPDwoaW50IHYpIHsgZnByaW50ZihzdGRlcnIs
ICIlZCIsIHYpOyAgcmV0dXJuICp0aGlzOyB9CisgICAga2RiZ3N0cmVhbSAmb3BlcmF0b3I8PCh1
bnNpZ25lZCBpbnQgdikgeyBmcHJpbnRmKHN0ZGVyciwgIiV1Iiwgdik7ICByZXR1cm4gKnRoaXM7
IH0KKyAgICBrZGJnc3RyZWFtICZvcGVyYXRvcjw8KGxvbmcgdikgeyBmcHJpbnRmKHN0ZGVyciwg
IiVsZCIsIHYpOyAgcmV0dXJuICp0aGlzOyB9CisgICAga2RiZ3N0cmVhbSAmb3BlcmF0b3I8PCh1
bnNpZ25lZCBsb25nIHYpIHsgZnByaW50ZihzdGRlcnIsICIlbHUiLCB2KTsgIHJldHVybiAqdGhp
czsgfQorICAgIGtkYmdzdHJlYW0gJm9wZXJhdG9yPDwoZG91YmxlIHYpIHsgZnByaW50ZihzdGRl
cnIsICIlZiIsIHYpOyAgcmV0dXJuICp0aGlzOyB9CisgICAga2RiZ3N0cmVhbSAmb3BlcmF0b3I8
PChjb25zdCBjaGFyICogdikgeyBmcHJpbnRmKHN0ZGVyciwgIiVzIiwgdik7ICByZXR1cm4gKnRo
aXM7IH0KKyAgICBrZGJnc3RyZWFtICZvcGVyYXRvcjw8KGNvbnN0IHZvaWQgKiB2KSB7IGZwcmlu
dGYoc3RkZXJyLCAiJXAiLCB2KTsgIHJldHVybiAqdGhpczsgfQorICAgIGtkYmdzdHJlYW0gJm9w
ZXJhdG9yPDwoY29uc3QgUUNoYXIgJiB2KSB7IGZwcmludGYoc3RkZXJyLCAiJWMiLCBjaGFyKHYp
KTsgIHJldHVybiAqdGhpczsgfQorICAgIGtkYmdzdHJlYW0gJm9wZXJhdG9yPDwoY29uc3QgUVN0
cmluZyAmIHYpIHsgZnByaW50ZihzdGRlcnIsICIlcyIsIHYuYXNjaWkoKSk7ICByZXR1cm4gKnRo
aXM7IH0KKyAgICBrZGJnc3RyZWFtICZvcGVyYXRvcjw8KGNvbnN0IFFDU3RyaW5nICYgdikgeyBm
cHJpbnRmKHN0ZGVyciwgIiVzIiwgKGNvbnN0IGNoYXIgKil2KTsgIHJldHVybiAqdGhpczsgfQor
ICAgIGtkYmdzdHJlYW0gJm9wZXJhdG9yPDwoS0RCR0ZVTkMgZikgeyByZXR1cm4gZigqdGhpcyk7
IH0KIH07CiAKLWlubGluZSBrZGJnc3RyZWFtICZlbmRsKGtkYmdzdHJlYW0gJnMpIHsgcmV0dXJu
IHM7IH0KK2lubGluZSBrZGJnc3RyZWFtICZlbmRsKGtkYmdzdHJlYW0gJnMpIHsgZnByaW50Zihz
dGRlcnIsICJcbiIpOyByZXR1cm4gczsgfQogCiBpbmxpbmUga2RiZ3N0cmVhbSBrZERlYnVnKGlu
dCBhcmVhID0gMCkgeyByZXR1cm4ga2RiZ3N0cmVhbSgpOyB9CiBpbmxpbmUga2RiZ3N0cmVhbSBr
ZFdhcm5pbmcoaW50IGFyZWEgPSAwKSB7IHJldHVybiBrZGJnc3RyZWFtKCk7IH0KSW5kZXg6IEtX
UVRleHRDb2RlYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9rd3Ev
S1dRVGV4dENvZGVjLm1tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjU0CmRpZmYgLXAgLXUgLXIx
LjU0IEtXUVRleHRDb2RlYy5tbQotLS0gS1dRVGV4dENvZGVjLm1tCTEyIEp1bCAyMDA1IDE2OjM3
OjI2IC0wMDAwCTEuNTQKKysrIEtXUVRleHRDb2RlYy5tbQkxOCBTZXAgMjAwNSAxNDozMjowOCAt
MDAwMApAQCAtMTU2LDEzICsxNTYsMzQgQEAgUUNTdHJpbmcgUVRleHRDb2RlYzo6ZnJvbVVuaWNv
ZGUoY29uc3QgUQogICAgIFFTdHJpbmcgY29weSA9IHFjczsKICAgICBjb3B5LnJlcGxhY2UoUUNo
YXIoJ1xcJyksIGJhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2woKSk7CiAgICAgQ0ZTdHJpbmdSZWYg
Y2ZzID0gY29weS5nZXRDRlN0cmluZygpOwotCi0gICAgQ0ZSYW5nZSByYW5nZSA9IENGUmFuZ2VN
YWtlKDAsIENGU3RyaW5nR2V0TGVuZ3RoKGNmcykpOwotICAgIENGSW5kZXggYnVmZmVyTGVuZ3Ro
OwotICAgIENGU3RyaW5nR2V0Qnl0ZXMoY2ZzLCByYW5nZSwgZW5jb2RpbmcsICc/JywgRkFMU0Us
IE5VTEwsIDB4N0ZGRkZGRkYsICZidWZmZXJMZW5ndGgpOwotICAgIFFDU3RyaW5nIHJlc3VsdChi
dWZmZXJMZW5ndGggKyAxKTsKLSAgICBDRlN0cmluZ0dldEJ5dGVzKGNmcywgcmFuZ2UsIGVuY29k
aW5nLCAnPycsIEZBTFNFLCByZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGNoYXIgKj4ocmVzdWx0
LmRhdGEoKSksIGJ1ZmZlckxlbmd0aCwgJmJ1ZmZlckxlbmd0aCk7Ci0gICAgcmVzdWx0W2J1ZmZl
ckxlbmd0aF0gPSAwOworICAgIAorICAgIENGSW5kZXggc3RhcnRQb3MgPSAwOworICAgIENGSW5k
ZXggY2hhcmFjdGVyc0xlZnQgPSBDRlN0cmluZ0dldExlbmd0aChjZnMpOworICAgIFFDU3RyaW5n
IHJlc3VsdCgxKTsgLy8gZm9yIHRyYWlsbmcgemVybworCisgICAgd2hpbGUgKGNoYXJhY3RlcnNM
ZWZ0ID4gMCkgeworICAgICAgICBDRlJhbmdlIHJhbmdlID0gQ0ZSYW5nZU1ha2Uoc3RhcnRQb3Ms
IGNoYXJhY3RlcnNMZWZ0KTsKKyAgICAgICAgQ0ZJbmRleCBidWZmZXJMZW5ndGg7CisgICAgICAg
IENGU3RyaW5nR2V0Qnl0ZXMoY2ZzLCByYW5nZSwgZW5jb2RpbmcsIDAsIEZBTFNFLCBOVUxMLCAw
eDdGRkZGRkZGLCAmYnVmZmVyTGVuZ3RoKTsKKyAgICAgICAgCisgICAgICAgIFFDU3RyaW5nIGNo
dW5rKGJ1ZmZlckxlbmd0aCArIDEpOworICAgICAgICBDRkluZGV4IGNoYXJhY3RlcnNDb252ZXJ0
ZWQgPSBDRlN0cmluZ0dldEJ5dGVzKGNmcywgcmFuZ2UsIGVuY29kaW5nLCAwLCBGQUxTRSwgcmVp
bnRlcnByZXRfY2FzdDx1bnNpZ25lZCBjaGFyICo+KGNodW5rLmRhdGEoKSksIGJ1ZmZlckxlbmd0
aCwgJmJ1ZmZlckxlbmd0aCk7CisgICAgICAgIGNodW5rW2J1ZmZlckxlbmd0aF0gPSAwOworICAg
ICAgICByZXN1bHQuYXBwZW5kKGNodW5rKTsKKyAgICAgICAgCisgICAgICAgIGlmIChjaGFyYWN0
ZXJzQ29udmVydGVkICE9IGNoYXJhY3RlcnNMZWZ0KSB7CisgICAgICAgICAgICAvLyBGSVhNRTog
c3VwcG9ydCBzdXJyb2dhdGUgcGFpcnMKKyAgICAgICAgICAgIFVuaUNoYXIgYmFkQ2hhciA9IENG
U3RyaW5nR2V0Q2hhcmFjdGVyQXRJbmRleChjZnMsIHN0YXJ0UG9zICsgY2hhcmFjdGVyc0NvbnZl
cnRlZCk7CisgICAgICAgICAgICBjaGFyIGJ1ZlsxNl07CisgICAgICAgICAgICBzcHJpbnRmKGJ1
ZiwgIiYjJXU7IiwgYmFkQ2hhcik7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGJ1Zik7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgICsrY2hhcmFjdGVyc0NvbnZlcnRlZDsKKyAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgc3RhcnRQb3MgKz0gY2hhcmFjdGVyc0NvbnZlcnRlZDsKKyAg
ICAgICAgY2hhcmFjdGVyc0xlZnQgLT0gY2hhcmFjdGVyc0NvbnZlcnRlZDsKKyAgICB9CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3937</attachid>
            <date>2005-09-18 07:39:09 -0700</date>
            <delta_ts>2005-09-25 19:44:17 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>FromUnicodePatch.txt</filename>
            <type>text/plain</type>
            <size>2024</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IEtXUVRleHRDb2RlYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2Vi
Q29yZS9rd3EvS1dRVGV4dENvZGVjLm1tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjU0CmRpZmYg
LXAgLXUgLXIxLjU0IEtXUVRleHRDb2RlYy5tbQotLS0gS1dRVGV4dENvZGVjLm1tCTEyIEp1bCAy
MDA1IDE2OjM3OjI2IC0wMDAwCTEuNTQKKysrIEtXUVRleHRDb2RlYy5tbQkxOCBTZXAgMjAwNSAx
NDozMjowOCAtMDAwMApAQCAtMTU2LDEzICsxNTYsMzQgQEAgUUNTdHJpbmcgUVRleHRDb2RlYzo6
ZnJvbVVuaWNvZGUoY29uc3QgUQogICAgIFFTdHJpbmcgY29weSA9IHFjczsKICAgICBjb3B5LnJl
cGxhY2UoUUNoYXIoJ1xcJyksIGJhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2woKSk7CiAgICAgQ0ZT
dHJpbmdSZWYgY2ZzID0gY29weS5nZXRDRlN0cmluZygpOwotCi0gICAgQ0ZSYW5nZSByYW5nZSA9
IENGUmFuZ2VNYWtlKDAsIENGU3RyaW5nR2V0TGVuZ3RoKGNmcykpOwotICAgIENGSW5kZXggYnVm
ZmVyTGVuZ3RoOwotICAgIENGU3RyaW5nR2V0Qnl0ZXMoY2ZzLCByYW5nZSwgZW5jb2RpbmcsICc/
JywgRkFMU0UsIE5VTEwsIDB4N0ZGRkZGRkYsICZidWZmZXJMZW5ndGgpOwotICAgIFFDU3RyaW5n
IHJlc3VsdChidWZmZXJMZW5ndGggKyAxKTsKLSAgICBDRlN0cmluZ0dldEJ5dGVzKGNmcywgcmFu
Z2UsIGVuY29kaW5nLCAnPycsIEZBTFNFLCByZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGNoYXIg
Kj4ocmVzdWx0LmRhdGEoKSksIGJ1ZmZlckxlbmd0aCwgJmJ1ZmZlckxlbmd0aCk7Ci0gICAgcmVz
dWx0W2J1ZmZlckxlbmd0aF0gPSAwOworICAgIAorICAgIENGSW5kZXggc3RhcnRQb3MgPSAwOwor
ICAgIENGSW5kZXggY2hhcmFjdGVyc0xlZnQgPSBDRlN0cmluZ0dldExlbmd0aChjZnMpOworICAg
IFFDU3RyaW5nIHJlc3VsdCgxKTsgLy8gZm9yIHRyYWlsbmcgemVybworCisgICAgd2hpbGUgKGNo
YXJhY3RlcnNMZWZ0ID4gMCkgeworICAgICAgICBDRlJhbmdlIHJhbmdlID0gQ0ZSYW5nZU1ha2Uo
c3RhcnRQb3MsIGNoYXJhY3RlcnNMZWZ0KTsKKyAgICAgICAgQ0ZJbmRleCBidWZmZXJMZW5ndGg7
CisgICAgICAgIENGU3RyaW5nR2V0Qnl0ZXMoY2ZzLCByYW5nZSwgZW5jb2RpbmcsIDAsIEZBTFNF
LCBOVUxMLCAweDdGRkZGRkZGLCAmYnVmZmVyTGVuZ3RoKTsKKyAgICAgICAgCisgICAgICAgIFFD
U3RyaW5nIGNodW5rKGJ1ZmZlckxlbmd0aCArIDEpOworICAgICAgICBDRkluZGV4IGNoYXJhY3Rl
cnNDb252ZXJ0ZWQgPSBDRlN0cmluZ0dldEJ5dGVzKGNmcywgcmFuZ2UsIGVuY29kaW5nLCAwLCBG
QUxTRSwgcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBjaGFyICo+KGNodW5rLmRhdGEoKSksIGJ1
ZmZlckxlbmd0aCwgJmJ1ZmZlckxlbmd0aCk7CisgICAgICAgIGNodW5rW2J1ZmZlckxlbmd0aF0g
PSAwOworICAgICAgICByZXN1bHQuYXBwZW5kKGNodW5rKTsKKyAgICAgICAgCisgICAgICAgIGlm
IChjaGFyYWN0ZXJzQ29udmVydGVkICE9IGNoYXJhY3RlcnNMZWZ0KSB7CisgICAgICAgICAgICAv
LyBGSVhNRTogc3VwcG9ydCBzdXJyb2dhdGUgcGFpcnMKKyAgICAgICAgICAgIFVuaUNoYXIgYmFk
Q2hhciA9IENGU3RyaW5nR2V0Q2hhcmFjdGVyQXRJbmRleChjZnMsIHN0YXJ0UG9zICsgY2hhcmFj
dGVyc0NvbnZlcnRlZCk7CisgICAgICAgICAgICBjaGFyIGJ1ZlsxNl07CisgICAgICAgICAgICBz
cHJpbnRmKGJ1ZiwgIiYjJXU7IiwgYmFkQ2hhcik7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5k
KGJ1Zik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgICsrY2hhcmFjdGVyc0NvbnZlcnRlZDsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgc3RhcnRQb3MgKz0gY2hhcmFjdGVyc0NvbnZl
cnRlZDsKKyAgICAgICAgY2hhcmFjdGVyc0xlZnQgLT0gY2hhcmFjdGVyc0NvbnZlcnRlZDsKKyAg
ICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAo=
</data>
<flag name="review"
          id="584"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3946</attachid>
            <date>2005-09-19 11:42:48 -0700</date>
            <delta_ts>2005-09-19 11:42:48 -0700</delta_ts>
            <desc>Automated test</desc>
            <filename>form-data-encoding.html</filename>
            <type>text/html</type>
            <size>966</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPHRpdGxlPkNoYXJzZXRzIGFuZCBzdWJtaXR0
aW5nIGZvcm1zPC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KPGZvcm0gYWN0aW9uPSI/IiBuYW1lPWY+
CiA8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1xIHZhbHVlPSImIzEwOTA7JiMxMDc3OyYjMTA4OTsm
IzEwOTA7Ij48YnI+CjwvZm9ybT4KPHNjcmlwdD4KaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgewoJbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwoJbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwp9CgppZiAoZG9jdW1lbnQuVVJMLnN1YnN0cmluZygw
LCA0KSA9PSAiZmlsZSIpIHsKCglpZiAoZG9jdW1lbnQuVVJMLmluZGV4T2YoJz8nKSA9PSAtMSkg
ewoKCQlkb2N1bWVudC5mLnN1Ym1pdCgpOwoKCX0gZWxzZSB7CgkJCgkJaWYgKHVuZXNjYXBlKGRv
Y3VtZW50LlVSTC5zdWJzdHJpbmcoZG9jdW1lbnQuVVJMLmluZGV4T2YoJz8nKSsxLCBkb2N1bWVu
dC5VUkwubGVuZ3RoKSkgPT0gdW5lc2NhcGUoInE9JTI2JTIzMTA5MCUzQiUyNiUyMzEwNzclM0Il
MjYlMjMxMDg5JTNCJTI2JTIzMTA5MCUzQiIpKQoJCQlkb2N1bWVudC53cml0ZSgiPHA+U3VjY2Vz
czwvcD4iKTsKCQllbHNlCgkJCWRvY3VtZW50LndyaXRlKCI8cD5GYWlsdXJlPC9wPiIpOwoJCQoJ
CWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCgkJCWxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKCX0KCn0gZWxzZSB7CgoJZG9jdW1lbnQud3JpdGUoIjxwPlRoaXMgdGVz
dCBkb2Vzbid0IHdvcmsgZGlyZWN0bHkgZnJvbSBidWd6aWxsYSwgcGxlYXNlIHNhdmUgaXQgdG8g
YSBsb2NhbCBmaWxlIGZpcnN0LjwvcD4iKTsKfQo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4078</attachid>
            <date>2005-09-28 09:33:55 -0700</date>
            <delta_ts>2005-09-28 15:18:52 -0700</delta_ts>
            <desc>Alternative patch</desc>
            <filename>FromUnicodePatch2.txt</filename>
            <type>text/plain</type>
            <size>4345</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2h0bWwvaHRtbF9mb3JtaW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L1dlYkNvcmUva2h0bWwvaHRtbC9odG1sX2Zvcm1pbXBsLmNwcCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xOTQKZGlmZiAtcCAtdSAtcjEuMTk0IGtodG1sL2h0bWwvaHRtbF9mb3Jt
aW1wbC5jcHAKLS0tIGtodG1sL2h0bWwvaHRtbF9mb3JtaW1wbC5jcHAJMjAgU2VwIDIwMDUgMjM6
MDE6MzkgLTAwMDAJMS4xOTQKKysrIGtodG1sL2h0bWwvaHRtbF9mb3JtaW1wbC5jcHAJMjggU2Vw
IDIwMDUgMTY6MDM6NTggLTAwMDAKQEAgLTQxNSw3ICs0MTUsNyBAQCBib29sIEhUTUxGb3JtRWxl
bWVudEltcGw6OmZvcm1EYXRhKEZvcm1ECiAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlu
Z3MgaWYgdGhlIGZpbGVuYW1lIGluY2x1ZGVzIGNoYXJhY3RlcnMgeW91IGNhbid0IGVuY29kZQog
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIHdlYnNpdGUncyBjaGFyYWN0ZXIgc2V0
LgogICAgICAgICAgICAgICAgICAgICAgICAgaHN0ciArPSAiOyBmaWxlbmFtZT1cIiI7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBoc3RyICs9IGNvZGVjLT5mcm9tVW5pY29kZShwYXRoLm1pZChw
YXRoLmZpbmRSZXYoJy8nKSArIDEpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGhzdHIgKz0g
Y29kZWMtPmZyb21Vbmljb2RlKHBhdGgubWlkKHBhdGguZmluZFJldignLycpICsgMSksIHRydWUp
OwogICAgICAgICAgICAgICAgICAgICAgICAgaHN0ciArPSAiXCIiOwogCiAgICAgICAgICAgICAg
ICAgICAgICAgICBpZighc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudEltcGwqPihjdXJyZW50
KS0+dmFsdWUoKS5pc0VtcHR5KCkpCkBAIC0zODgyLDcgKzM4ODIsNyBAQCB2b2lkIEZvcm1EYXRh
TGlzdDo6YXBwZW5kU3RyaW5nKGNvbnN0IFFDCiAKIHZvaWQgRm9ybURhdGFMaXN0OjphcHBlbmRT
dHJpbmcoY29uc3QgUVN0cmluZyAmcykKIHsKLSAgICBRQ1N0cmluZyBjc3RyID0gZml4TGluZUJy
ZWFrcyhtX2NvZGVjLT5mcm9tVW5pY29kZShzKSk7CisgICAgUUNTdHJpbmcgY3N0ciA9IGZpeExp
bmVCcmVha3MobV9jb2RlYy0+ZnJvbVVuaWNvZGUocywgdHJ1ZSkpOwogICAgIGNzdHIudHJ1bmNh
dGUoY3N0ci5sZW5ndGgoKSk7CiAgICAgbV9saXN0LmFwcGVuZChjc3RyKTsKIH0KSW5kZXg6IGt3
cS9LV1FUZXh0Q29kZWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9r
d3EvS1dRVGV4dENvZGVjLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjUKZGlmZiAtcCAtdSAt
cjEuMjUga3dxL0tXUVRleHRDb2RlYy5oCi0tLSBrd3EvS1dRVGV4dENvZGVjLmgJMjcgQXByIDIw
MDQgMDQ6MjA6MDkgLTAwMDAJMS4yNQorKysga3dxL0tXUVRleHRDb2RlYy5oCTI4IFNlcCAyMDA1
IDE2OjA0OjAwIC0wMDAwCkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIFFUZXh0RGVj
b2RlciAqbWFrZURlY29kZXIoKSBjb25zdDsKIAotICAgIFFDU3RyaW5nIGZyb21Vbmljb2RlKGNv
bnN0IFFTdHJpbmcgJikgY29uc3Q7CisgICAgUUNTdHJpbmcgZnJvbVVuaWNvZGUoY29uc3QgUVN0
cmluZyAmc3RyLCBib29sIGFsbG93RW50aXRpZXMgPSBmYWxzZSkgY29uc3Q7CiAKICAgICBRU3Ry
aW5nIHRvVW5pY29kZShjb25zdCBjaGFyICosIGludCkgY29uc3Q7CiAgICAgUVN0cmluZyB0b1Vu
aWNvZGUoY29uc3QgUUJ5dGVBcnJheSAmLCBpbnQpIGNvbnN0OwpJbmRleDoga3dxL0tXUVRleHRD
b2RlYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9rd3EvS1dRVGV4
dENvZGVjLm1tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjU1CmRpZmYgLXAgLXUgLXIxLjU1IGt3
cS9LV1FUZXh0Q29kZWMubW0KLS0tIGt3cS9LV1FUZXh0Q29kZWMubW0JMjcgU2VwIDIwMDUgMjI6
Mzc6MzIgLTAwMDAJMS41NQorKysga3dxL0tXUVRleHRDb2RlYy5tbQkyOCBTZXAgMjAwNSAxNjow
NDowMCAtMDAwMApAQCAtMTQ0LDcgKzE0NCw3IEBAIGlubGluZSBDRlN0cmluZ0VuY29kaW5nIGVm
ZmVjdGl2ZUVuY29kaW4KICAgICByZXR1cm4gZTsKIH0KIAotUUNTdHJpbmcgUVRleHRDb2RlYzo6
ZnJvbVVuaWNvZGUoY29uc3QgUVN0cmluZyAmcWNzKSBjb25zdAorUUNTdHJpbmcgUVRleHRDb2Rl
Yzo6ZnJvbVVuaWNvZGUoY29uc3QgUVN0cmluZyAmcWNzLCBib29sIGFsbG93RW50aXRpZXMpIGNv
bnN0CiB7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZWFsbHkgdXNlIHRoZSBzYW1lIEFQSSBp
biBib3RoIGRpcmVjdGlvbnMuCiAgICAgLy8gQ3VycmVudGx5IHdlIHVzZSBJQ1UgdG8gZGVjb2Rl
IGFuZCBDRlN0cmluZyB0byBlbmNvZGU7IGl0IHdvdWxkIGJlIGJldHRlciB0byBlbmNvZGUgd2l0
aCBJQ1UgdG9vLgpAQCAtMTU2LDEzICsxNTYsMzQgQEAgUUNTdHJpbmcgUVRleHRDb2RlYzo6ZnJv
bVVuaWNvZGUoY29uc3QgUQogICAgIFFTdHJpbmcgY29weSA9IHFjczsKICAgICBjb3B5LnJlcGxh
Y2UoUUNoYXIoJ1xcJyksIGJhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2woKSk7CiAgICAgQ0ZTdHJp
bmdSZWYgY2ZzID0gY29weS5nZXRDRlN0cmluZygpOwotCi0gICAgQ0ZSYW5nZSByYW5nZSA9IENG
UmFuZ2VNYWtlKDAsIENGU3RyaW5nR2V0TGVuZ3RoKGNmcykpOwotICAgIENGSW5kZXggYnVmZmVy
TGVuZ3RoOwotICAgIENGU3RyaW5nR2V0Qnl0ZXMoY2ZzLCByYW5nZSwgZW5jb2RpbmcsICc/Jywg
RkFMU0UsIE5VTEwsIDB4N0ZGRkZGRkYsICZidWZmZXJMZW5ndGgpOwotICAgIFFDU3RyaW5nIHJl
c3VsdChidWZmZXJMZW5ndGggKyAxKTsKLSAgICBDRlN0cmluZ0dldEJ5dGVzKGNmcywgcmFuZ2Us
IGVuY29kaW5nLCAnPycsIEZBTFNFLCByZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGNoYXIgKj4o
cmVzdWx0LmRhdGEoKSksIGJ1ZmZlckxlbmd0aCwgJmJ1ZmZlckxlbmd0aCk7Ci0gICAgcmVzdWx0
W2J1ZmZlckxlbmd0aF0gPSAwOworICAgIAorICAgIENGSW5kZXggc3RhcnRQb3MgPSAwOworICAg
IENGSW5kZXggY2hhcmFjdGVyc0xlZnQgPSBDRlN0cmluZ0dldExlbmd0aChjZnMpOworICAgIFFD
U3RyaW5nIHJlc3VsdCgxKTsgLy8gZm9yIHRyYWlsbmcgemVybworCisgICAgd2hpbGUgKGNoYXJh
Y3RlcnNMZWZ0ID4gMCkgeworICAgICAgICBDRlJhbmdlIHJhbmdlID0gQ0ZSYW5nZU1ha2Uoc3Rh
cnRQb3MsIGNoYXJhY3RlcnNMZWZ0KTsKKyAgICAgICAgQ0ZJbmRleCBidWZmZXJMZW5ndGg7Cisg
ICAgICAgIENGU3RyaW5nR2V0Qnl0ZXMoY2ZzLCByYW5nZSwgZW5jb2RpbmcsIGFsbG93RW50aXRp
ZXMgPyAwIDogJz8nLCBGQUxTRSwgTlVMTCwgMHg3RkZGRkZGRiwgJmJ1ZmZlckxlbmd0aCk7Cisg
ICAgICAgIAorICAgICAgICBRQ1N0cmluZyBjaHVuayhidWZmZXJMZW5ndGggKyAxKTsKKyAgICAg
ICAgQ0ZJbmRleCBjaGFyYWN0ZXJzQ29udmVydGVkID0gQ0ZTdHJpbmdHZXRCeXRlcyhjZnMsIHJh
bmdlLCBlbmNvZGluZywgYWxsb3dFbnRpdGllcyA/IDAgOiAnPycsIEZBTFNFLCByZWludGVycHJl
dF9jYXN0PHVuc2lnbmVkIGNoYXIgKj4oY2h1bmsuZGF0YSgpKSwgYnVmZmVyTGVuZ3RoLCAmYnVm
ZmVyTGVuZ3RoKTsKKyAgICAgICAgY2h1bmtbYnVmZmVyTGVuZ3RoXSA9IDA7CisgICAgICAgIHJl
c3VsdC5hcHBlbmQoY2h1bmspOworICAgICAgICAKKyAgICAgICAgaWYgKGNoYXJhY3RlcnNDb252
ZXJ0ZWQgIT0gY2hhcmFjdGVyc0xlZnQpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBzdXBwb3J0
IHN1cnJvZ2F0ZSBwYWlycworICAgICAgICAgICAgVW5pQ2hhciBiYWRDaGFyID0gQ0ZTdHJpbmdH
ZXRDaGFyYWN0ZXJBdEluZGV4KGNmcywgc3RhcnRQb3MgKyBjaGFyYWN0ZXJzQ29udmVydGVkKTsK
KyAgICAgICAgICAgIGNoYXIgYnVmWzE2XTsKKyAgICAgICAgICAgIHNwcmludGYoYnVmLCAiJiMl
dTsiLCBiYWRDaGFyKTsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoYnVmKTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgKytjaGFyYWN0ZXJzQ29udmVydGVkOworICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICBzdGFydFBvcyArPSBjaGFyYWN0ZXJzQ29udmVydGVkOworICAgICAgICBj
aGFyYWN0ZXJzTGVmdCAtPSBjaGFyYWN0ZXJzQ29udmVydGVkOworICAgIH0KICAgICByZXR1cm4g
cmVzdWx0OwogfQogCg==
</data>
<flag name="review"
          id="632"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>