<?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>26985</bug_id>
          
          <creation_ts>2009-07-05 23:30:41 -0700</creation_ts>
          <short_desc>Implement parsing of &lt;rp&gt; &amp; &lt;rt&gt; elements as per HTML5 spec</short_desc>
          <delta_ts>2009-07-18 05:45:10 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HTML5</keywords>
          <priority>P3</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Roland Steiner">rolandsteiner</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>mike</cc>
    
    <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>129897</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-05 23:30:41 -0700</bug_when>
    <thetext>The HTML5 spec specifies that end tags of the ruby tags &lt;rp&gt; and &lt;rt&gt; are optional if followed by another &lt;rp&gt; or &lt;rt&gt; tag:

http://www.whatwg.org/specs/web-apps/current-work/#optional-tags</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129898</commentid>
    <comment_count>1</comment_count>
      <attachid>32286</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-05 23:34:45 -0700</bug_when>
    <thetext>Created attachment 32286
patch: implement parsing of &lt;rt&gt;/&lt;rp&gt;, add accessibility role

This patch implements the parsing of &lt;rp&gt; and &lt;rt&gt; tags as per the HTML5 spec. 

It also sets a (new) accessibility role &quot;Annotation&quot; for &lt;rp&gt; and &lt;rt&gt;.

Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing is not affected by whether ruby is rendered properly or not (in fact, it may be more profound without ruby layouting, since the contents of &lt;rp&gt; are not hidden).

The patch includes no layout tests, as layouting will change once the patch for proper ruby rendering is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129900</commentid>
    <comment_count>2</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-07-06 00:25:49 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=32286) [details]
&gt; patch: implement parsing of &lt;rt&gt;/&lt;rp&gt;, add accessibility role
&gt; 
&gt; This patch implements the parsing of &lt;rp&gt; and &lt;rt&gt; tags as per the HTML5 spec. 
&gt; 
&gt; It also sets a (new) accessibility role &quot;Annotation&quot; for &lt;rp&gt; and &lt;rt&gt;.
&gt; 
&gt; Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing is
&gt; not affected by whether ruby is rendered properly or not (in fact, it may be
&gt; more profound without ruby layouting, since the contents of &lt;rp&gt; are not
&gt; hidden).
&gt; 
&gt; The patch includes no layout tests, as layouting will change once the patch for
&gt; proper ruby rendering is landed.

I think this patch needs regression tests anyway, since it affects behavior. Either the tests should be made so they only test parsing and not layout, or the results can be updated when layout changes too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129901</commentid>
    <comment_count>3</comment_count>
      <attachid>32286</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-07-06 00:27:16 -0700</bug_when>
    <thetext>Comment on attachment 32286
patch: implement parsing of &lt;rt&gt;/&lt;rp&gt;, add accessibility role

The code change looks good. However, I am going to say review- due to lack of tests for the newly introduced parsing behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129920</commentid>
    <comment_count>4</comment_count>
      <attachid>32296</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-06 03:20:34 -0700</bug_when>
    <thetext>Created attachment 32296
patch: update with layout test

Adding a layout test was a good thing because it turns out that for proper parsing I also needed to add code for the outer &lt;ruby&gt; tag. Without this, &lt;rp&gt;/&lt;rt&gt; wouldn&apos;t be automatically closed if no end tag is present before &lt;/ruby&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130815</commentid>
    <comment_count>5</comment_count>
      <attachid>32296</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-07-09 20:15:35 -0700</bug_when>
    <thetext>Comment on attachment 32296
patch: update with layout test

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130833</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-09 21:43:19 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/45698</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32286</attachid>
            <date>2009-07-05 23:34:45 -0700</date>
            <delta_ts>2009-07-06 03:20:34 -0700</delta_ts>
            <desc>patch: implement parsing of &lt;rt&gt;/&lt;rp&gt;, add accessibility role</desc>
            <filename>rpparsing.patch</filename>
            <type>text/plain</type>
            <size>6766</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMDktMDctMDUgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEltcGxlbWVudCB0aGUgcGFydCBvZiBIVE1MNSBzcGVjIHRoYXQgZGVhbHMgd2l0aCBw
YXJzaW5nIG9mIDxycD4gYW5kIDxydD4gdGFncworICAgICAgICBpbiB0aGF0IHRoZWlyIGVuZCB0
YWdzIGFyZSBvcHRpb25hbCBpZiBmb2xsb3dlZCBieSA8cnA+LzxydD4uCisKKyAgICAgICAgQWxz
byBzcGVjaWZ5IGEgbmV3IGFjY2Vzc2liaWxpdHkgcm9sZSAiYW5ub3RhdGlvbiIgZm9yIDxycD4g
YW5kIDxydD4uCisKKyAgICAgICAgQWZmZWN0ZWQgY29kZSBwYXJ0cyBhcmUgbm90IGVuY2xvc2Vk
IGluICNJRiBFTkFCTEUoUlVCWSksIHNpbmNlIHRoZSBwYXJzaW5nCisgICAgICAgIGlzIG5vdCBh
ZmZlY3RlZCBieSB3aGV0aGVyIHJ1YnkgaXMgcmVuZGVyZWQgcHJvcGVybHkgb3Igbm90IChpbiBm
YWN0LCBpdCBtYXkgCisgICAgICAgIGJlIG1vcmUgcHJvZm91bmQgd2l0aG91dCBydWJ5IGxheW91
dGluZywgc2luY2UgdGhlIGNvbnRlbnRzIG9mIDxycD4gYXJlIG5vdCBoaWRkZW4pLgorCisgICAg
ICAgIE5vIGxheW91dCB0ZXN0cyB5ZXQgc2luY2UgbGF5b3V0aW5nIHdpbGwgY2hhbmdlIHdpdGgg
dGhlIGludHJvZHVjdGlvbiBvZiBydWJ5IGxheW91dGluZy4KKyAgICAgICAgKExheW91dCB0ZXN0
cyB3aWxsIGJlIGluY2x1ZGVkIGluIHJ1YnkgaW1wbGVtZW50YXRpb24gcGF0Y2gpLgorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjopOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpyb2xl
VmFsdWUpOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEVsZW1lbnQ6OmVuZFRhZ1JlcXVpcmVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxFbGVtZW50Ojp0YWdQcmlvcml0eSk6CisgICAgICAgIChXZWJDb3JlOjppbmxpbmVUYWdMaXN0
KToKKyAgICAgICAgKiBodG1sL0hUTUxQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFBhcnNlcjo6cnBDcmVhdGVFcnJvckNoZWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJz
ZXI6OnJ0Q3JlYXRlRXJyb3JDaGVjayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyOjpn
ZXROb2RlKToKKyAgICAgICAgKiBodG1sL0hUTUxQYXJzZXIuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxUYWdOYW1lcy5pbjoKKwogMjAwOS0wNy0wNSAgQW50b25pbyBHb21lcyAgPGFudG9uaW8uZ29t
ZXNAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5k
ZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNp
b24gNDU1NTYpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTEsNyArMTUxLDggQEAgZW51bSBBY2Nlc3NpYmlsaXR5Um9s
ZSB7CiAgICAgTGlzdEJveE9wdGlvblJvbGUsCiAgICAgVGFibGVIZWFkZXJDb250YWluZXJSb2xl
LAogICAgIERlZmluaXRpb25MaXN0VGVybVJvbGUsCi0gICAgRGVmaW5pdGlvbkxpc3REZWZpbml0
aW9uUm9sZQorICAgIERlZmluaXRpb25MaXN0RGVmaW5pdGlvblJvbGUsCisgICAgQW5ub3RhdGlv
blJvbGUKIH07CiAKIHN0cnVjdCBWaXNpYmxlUG9zaXRpb25SYW5nZSB7CkluZGV4OiBXZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCShy
ZXZpc2lvbiA0NTU1NikKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMyNCw2ICsyMzI0LDkgQEAgQWNjZXNz
aWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iagogICAgIGlmIChub2RlICYmIG5vZGUt
Pmhhc1RhZ05hbWUoZHRUYWcpKQogICAgICAgICByZXR1cm4gRGVmaW5pdGlvbkxpc3RUZXJtUm9s
ZTsKIAorICAgIGlmIChub2RlICYmIChub2RlLT5oYXNUYWdOYW1lKHJwVGFnKSB8fCBub2RlLT5o
YXNUYWdOYW1lKHJ0VGFnKSkpCisgICAgICAgIHJldHVybiBBbm5vdGF0aW9uUm9sZTsKKyAgICAK
ICAgICBpZiAobV9yZW5kZXJlci0+aXNCbG9ja0Zsb3coKSB8fCAobm9kZSAmJiBub2RlLT5oYXNU
YWdOYW1lKGxhYmVsVGFnKSkpCiAgICAgICAgIHJldHVybiBHcm91cFJvbGU7CiAgICAgCkluZGV4
OiBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDQ1NTU2KQorKysgV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBIVE1MVGFnU3RhdHVz
IEhUTUxFbGVtZW50OjplbmRUYWdSZXF1aXJlCiB7CiAgICAgaWYgKGhhc0xvY2FsTmFtZSh3YnJU
YWcpKQogICAgICAgICByZXR1cm4gVGFnU3RhdHVzRm9yYmlkZGVuOwotICAgIGlmIChoYXNMb2Nh
bE5hbWUoZHRUYWcpIHx8IGhhc0xvY2FsTmFtZShkZFRhZykpCisgICAgaWYgKGhhc0xvY2FsTmFt
ZShkdFRhZykgfHwgaGFzTG9jYWxOYW1lKGRkVGFnKSB8fCBoYXNMb2NhbE5hbWUocnBUYWcpIHx8
IGhhc0xvY2FsTmFtZShydFRhZykpCiAgICAgICAgIHJldHVybiBUYWdTdGF0dXNPcHRpb25hbDsK
IAogICAgIC8vIFNhbWUgdmFsdWVzIGFzIDxzcGFuPi4gIFRoaXMgd2F5IGN1c3RvbSB0YWcgbmFt
ZSBlbGVtZW50cyB3aWxsIGJlaGF2ZSBsaWtlIGlubGluZSBzcGFucy4KQEAgLTkwLDcgKzkwLDcg
QEAgaW50IEhUTUxFbGVtZW50Ojp0YWdQcmlvcml0eSgpIGNvbnN0CiB7CiAgICAgaWYgKGhhc0xv
Y2FsTmFtZSh3YnJUYWcpKQogICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAoaGFzTG9jYWxOYW1l
KGFkZHJlc3NUYWcpIHx8IGhhc0xvY2FsTmFtZShkZFRhZykgfHwgaGFzTG9jYWxOYW1lKGR0VGFn
KSB8fCBoYXNMb2NhbE5hbWUobm9zY3JpcHRUYWcpKQorICAgIGlmIChoYXNMb2NhbE5hbWUoYWRk
cmVzc1RhZykgfHwgaGFzTG9jYWxOYW1lKGRkVGFnKSB8fCBoYXNMb2NhbE5hbWUoZHRUYWcpIHx8
IGhhc0xvY2FsTmFtZShub3NjcmlwdFRhZykgfHwgaGFzTG9jYWxOYW1lKHJwVGFnKSB8fCBoYXNM
b2NhbE5hbWUocnRUYWcpKQogICAgICAgICByZXR1cm4gMzsKICAgICBpZiAoaGFzTG9jYWxOYW1l
KGNlbnRlclRhZykgfHwgaGFzTG9jYWxOYW1lKG5vYnJUYWcpKQogICAgICAgICByZXR1cm4gNTsK
QEAgLTg3NSw2ICs4NzUsOCBAQCBzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4qIGlu
bGluCiAgICAgICAgIHRhZ0xpc3QuYWRkKGF1ZGlvVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7CiAg
ICAgICAgIHRhZ0xpc3QuYWRkKHZpZGVvVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7CiAjZW5kaWYK
KyAgICAgICAgdGFnTGlzdC5hZGQocnBUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKKyAgICAgICAg
dGFnTGlzdC5hZGQocnRUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKICAgICB9CiAgICAgcmV0dXJu
ICZ0YWdMaXN0OwogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxQYXJzZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MUGFyc2VyLmNwcAkocmV2aXNpb24gNDU1NTYpCisrKyBX
ZWJDb3JlL2h0bWwvSFRNTFBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5Myw2ICs3OTMs
MjAgQEAgYm9vbCBIVE1MUGFyc2VyOjpkdENyZWF0ZUVycm9yQ2hlY2soVG9rZQogICAgIHJldHVy
biB0cnVlOwogfQogCitib29sIEhUTUxQYXJzZXI6OnJwQ3JlYXRlRXJyb3JDaGVjayhUb2tlbios
IFJlZlB0cjxOb2RlPiYpCit7CisgICAgcG9wQmxvY2socnBUYWcpOworICAgIHBvcEJsb2NrKHJ0
VGFnKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBIVE1MUGFyc2VyOjpydENyZWF0ZUVy
cm9yQ2hlY2soVG9rZW4qLCBSZWZQdHI8Tm9kZT4mKQoreworICAgIHBvcEJsb2NrKHJwVGFnKTsK
KyAgICBwb3BCbG9jayhydFRhZyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgSFRNTFBh
cnNlcjo6bmVzdGVkQ3JlYXRlRXJyb3JDaGVjayhUb2tlbiogdCwgUmVmUHRyPE5vZGU+JikKIHsK
ICAgICBwb3BCbG9jayh0LT50YWdOYW1lKTsKQEAgLTkxNyw2ICs5MzEsOCBAQCBQYXNzUmVmUHRy
PE5vZGU+IEhUTUxQYXJzZXI6OmdldE5vZGUoVG9rCiAgICAgICAgIGdGdW5jdGlvbk1hcC5zZXQo
cFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjpwQ2xvc2VyQ3JlYXRlRXJyb3JD
aGVjayk7CiAgICAgICAgIGdGdW5jdGlvbk1hcC5zZXQocGxhaW50ZXh0VGFnLmxvY2FsTmFtZSgp
LmltcGwoKSwgJkhUTUxQYXJzZXI6OnBDbG9zZXJDcmVhdGVFcnJvckNoZWNrKTsKICAgICAgICAg
Z0Z1bmN0aW9uTWFwLnNldChwcmVUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmSFRNTFBhcnNlcjo6
cENsb3NlckNyZWF0ZUVycm9yQ2hlY2spOworICAgICAgICBnRnVuY3Rpb25NYXAuc2V0KHJwVGFn
LmxvY2FsTmFtZSgpLmltcGwoKSwgJkhUTUxQYXJzZXI6OnJwQ3JlYXRlRXJyb3JDaGVjayk7Cisg
ICAgICAgIGdGdW5jdGlvbk1hcC5zZXQocnRUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmSFRNTFBh
cnNlcjo6cnRDcmVhdGVFcnJvckNoZWNrKTsKICAgICAgICAgZ0Z1bmN0aW9uTWFwLnNldChzVGFn
LmxvY2FsTmFtZSgpLmltcGwoKSwgJkhUTUxQYXJzZXI6Om5lc3RlZFN0eWxlQ3JlYXRlRXJyb3JD
aGVjayk7CiAgICAgICAgIGdGdW5jdGlvbk1hcC5zZXQoc2VsZWN0VGFnLmxvY2FsTmFtZSgpLmlt
cGwoKSwgJkhUTUxQYXJzZXI6OnNlbGVjdENyZWF0ZUVycm9yQ2hlY2spOwogICAgICAgICBnRnVu
Y3Rpb25NYXAuc2V0KHNtYWxsVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJkhUTUxQYXJzZXI6Om5l
c3RlZFN0eWxlQ3JlYXRlRXJyb3JDaGVjayk7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFBhcnNl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MUGFyc2VyLmgJKHJldmlzaW9uIDQ1
NTU2KQorKysgV2ViQ29yZS9odG1sL0hUTUxQYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTAy
LDYgKzEwMiw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBub3NjcmlwdENyZWF0ZUVycm9yQ2hlY2so
VG9rZW4qLCBSZWZQdHI8Tm9kZT4mKTsKICAgICBib29sIHBDbG9zZXJDcmVhdGVFcnJvckNoZWNr
KFRva2VuKiwgUmVmUHRyPE5vZGU+Jik7CiAgICAgYm9vbCBwQ2xvc2VyU3RyaWN0Q3JlYXRlRXJy
b3JDaGVjayhUb2tlbiosIFJlZlB0cjxOb2RlPiYpOworICAgIGJvb2wgcnBDcmVhdGVFcnJvckNo
ZWNrKFRva2VuKiwgUmVmUHRyPE5vZGU+Jik7CisgICAgYm9vbCBydENyZWF0ZUVycm9yQ2hlY2so
VG9rZW4qLCBSZWZQdHI8Tm9kZT4mKTsKICAgICBib29sIHNlbGVjdENyZWF0ZUVycm9yQ2hlY2so
VG9rZW4qLCBSZWZQdHI8Tm9kZT4mKTsKICAgICBib29sIHRhYmxlQ2VsbENyZWF0ZUVycm9yQ2hl
Y2soVG9rZW4qLCBSZWZQdHI8Tm9kZT4mKTsKICAgICBib29sIHRhYmxlU2VjdGlvbkNyZWF0ZUVy
cm9yQ2hlY2soVG9rZW4qLCBSZWZQdHI8Tm9kZT4mKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1M
VGFnTmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgko
cmV2aXNpb24gNDU1NTYpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCSh3b3JraW5n
IGNvcHkpCkBAIC04OSw2ICs4OSw4IEBAIHBhcmFtCiBwbGFpbnRleHQgaW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudAogcHJlCiBxIGludGVyZmFjZU5hbWU9SFRNTFF1b3RlRWxlbWVudAorcnAgaW50
ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAorcnQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogcyBp
bnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzYW1wIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQK
IHNjcmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCg==
</data>
<flag name="review"
          id="16754"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32296</attachid>
            <date>2009-07-06 03:20:34 -0700</date>
            <delta_ts>2009-07-09 20:15:35 -0700</delta_ts>
            <desc>patch: update with layout test</desc>
            <filename>rpparsing.patch</filename>
            <type>text/plain</type>
            <size>9383</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMDktMDctMDUgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEltcGxlbWVudCB0aGUgcGFydCBvZiBIVE1MNSBzcGVjIHRoYXQgZGVhbHMgd2l0aCBw
YXJzaW5nIG9mIDxycD4gYW5kIDxydD4gdGFncworICAgICAgICBpbiB0aGF0IHRoZWlyIGVuZCB0
YWdzIGFyZSBvcHRpb25hbCBpZiBmb2xsb3dlZCBieSA8cnA+LzxydD4uCisKKyAgICAgICAgQWxz
byBzcGVjaWZ5IGEgbmV3IGFjY2Vzc2liaWxpdHkgcm9sZSAiYW5ub3RhdGlvbiIgZm9yIDxycD4g
YW5kIDxydD4uCisKKyAgICAgICAgQWZmZWN0ZWQgY29kZSBwYXJ0cyBhcmUgbm90IGVuY2xvc2Vk
IGluICNJRiBFTkFCTEUoUlVCWSksIHNpbmNlIHRoZSBwYXJzaW5nCisgICAgICAgIGlzIG5vdCBh
ZmZlY3RlZCBieSB3aGV0aGVyIHJ1YnkgaXMgcmVuZGVyZWQgcHJvcGVybHkgb3Igbm90IChpbiBm
YWN0LCBpdCBtYXkgCisgICAgICAgIGJlIG1vcmUgcHJvZm91bmQgd2l0aG91dCBydWJ5IGxheW91
dGluZywgc2luY2UgdGhlIGNvbnRlbnRzIG9mIDxycD4gYXJlIG5vdCBoaWRkZW4pLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvcnVieS9wYXJzZS1ycC5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnJvbGVWYWx1ZSk6CisgICAgICAg
ICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6
ZW5kVGFnUmVxdWlyZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnRhZ1By
aW9yaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OmlubGluZVRhZ0xpc3QpOgorICAgICAgICAqIGh0
bWwvSFRNTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyOjpycENyZWF0
ZUVycm9yQ2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlcjo6cnRDcmVhdGVFcnJv
ckNoZWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXI6OmdldE5vZGUpOgorICAgICAg
ICAqIGh0bWwvSFRNTFBhcnNlci5oOgorICAgICAgICAqIGh0bWwvSFRNTFRhZ05hbWVzLmluOgor
CiAyMDA5LTA3LTA1ICBBbnRvbmlvIEdvbWVzICA8YW50b25pby5nb21lc0BvcGVuYm9zc2Eub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCShyZXZpc2lvbiA0NTU1NikKKysrIFdl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTE1MSw3ICsxNTEsOCBAQCBlbnVtIEFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBMaXN0Qm94
T3B0aW9uUm9sZSwKICAgICBUYWJsZUhlYWRlckNvbnRhaW5lclJvbGUsCiAgICAgRGVmaW5pdGlv
bkxpc3RUZXJtUm9sZSwKLSAgICBEZWZpbml0aW9uTGlzdERlZmluaXRpb25Sb2xlCisgICAgRGVm
aW5pdGlvbkxpc3REZWZpbml0aW9uUm9sZSwKKyAgICBBbm5vdGF0aW9uUm9sZQogfTsKIAogc3Ry
dWN0IFZpc2libGVQb3NpdGlvblJhbmdlIHsKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDQ1NTU2KQor
KysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMzI0LDYgKzIzMjQsOSBAQCBBY2Nlc3NpYmlsaXR5Um9sZSBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqCiAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFnTmFtZShkdFRh
ZykpCiAgICAgICAgIHJldHVybiBEZWZpbml0aW9uTGlzdFRlcm1Sb2xlOwogCisgICAgaWYgKG5v
ZGUgJiYgKG5vZGUtPmhhc1RhZ05hbWUocnBUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUocnRUYWcp
KSkKKyAgICAgICAgcmV0dXJuIEFubm90YXRpb25Sb2xlOworICAgIAogICAgIGlmIChtX3JlbmRl
cmVyLT5pc0Jsb2NrRmxvdygpIHx8IChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUobGFiZWxUYWcp
KSkKICAgICAgICAgcmV0dXJuIEdyb3VwUm9sZTsKICAgICAKSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNw
cAkocmV2aXNpb24gNDU1NTYpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIEhUTUxUYWdTdGF0dXMgSFRNTEVsZW1lbnQ6OmVu
ZFRhZ1JlcXVpcmUKIHsKICAgICBpZiAoaGFzTG9jYWxOYW1lKHdiclRhZykpCiAgICAgICAgIHJl
dHVybiBUYWdTdGF0dXNGb3JiaWRkZW47Ci0gICAgaWYgKGhhc0xvY2FsTmFtZShkdFRhZykgfHwg
aGFzTG9jYWxOYW1lKGRkVGFnKSkKKyAgICBpZiAoaGFzTG9jYWxOYW1lKGR0VGFnKSB8fCBoYXNM
b2NhbE5hbWUoZGRUYWcpIHx8IGhhc0xvY2FsTmFtZShycFRhZykgfHwgaGFzTG9jYWxOYW1lKHJ0
VGFnKSkKICAgICAgICAgcmV0dXJuIFRhZ1N0YXR1c09wdGlvbmFsOwogCiAgICAgLy8gU2FtZSB2
YWx1ZXMgYXMgPHNwYW4+LiAgVGhpcyB3YXkgY3VzdG9tIHRhZyBuYW1lIGVsZW1lbnRzIHdpbGwg
YmVoYXZlIGxpa2UgaW5saW5lIHNwYW5zLgpAQCAtOTAsOSArOTAsOSBAQCBpbnQgSFRNTEVsZW1l
bnQ6OnRhZ1ByaW9yaXR5KCkgY29uc3QKIHsKICAgICBpZiAoaGFzTG9jYWxOYW1lKHdiclRhZykp
CiAgICAgICAgIHJldHVybiAwOwotICAgIGlmIChoYXNMb2NhbE5hbWUoYWRkcmVzc1RhZykgfHwg
aGFzTG9jYWxOYW1lKGRkVGFnKSB8fCBoYXNMb2NhbE5hbWUoZHRUYWcpIHx8IGhhc0xvY2FsTmFt
ZShub3NjcmlwdFRhZykpCisgICAgaWYgKGhhc0xvY2FsTmFtZShhZGRyZXNzVGFnKSB8fCBoYXNM
b2NhbE5hbWUoZGRUYWcpIHx8IGhhc0xvY2FsTmFtZShkdFRhZykgfHwgaGFzTG9jYWxOYW1lKG5v
c2NyaXB0VGFnKSB8fCBoYXNMb2NhbE5hbWUocnBUYWcpIHx8IGhhc0xvY2FsTmFtZShydFRhZykp
CiAgICAgICAgIHJldHVybiAzOwotICAgIGlmIChoYXNMb2NhbE5hbWUoY2VudGVyVGFnKSB8fCBo
YXNMb2NhbE5hbWUobm9iclRhZykpCisgICAgaWYgKGhhc0xvY2FsTmFtZShjZW50ZXJUYWcpIHx8
IGhhc0xvY2FsTmFtZShub2JyVGFnKSB8fCBoYXNMb2NhbE5hbWUocnVieVRhZykpCiAgICAgICAg
IHJldHVybiA1OwogICAgIGlmIChoYXNMb2NhbE5hbWUobm9lbWJlZFRhZykgfHwgaGFzTG9jYWxO
YW1lKG5vZnJhbWVzVGFnKSkKICAgICAgICAgcmV0dXJuIDEwOwpAQCAtODc1LDYgKzg3NSw5IEBA
IHN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiogaW5saW4KICAgICAgICAgdGFnTGlz
dC5hZGQoYXVkaW9UYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKICAgICAgICAgdGFnTGlzdC5hZGQo
dmlkZW9UYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKICNlbmRpZgorICAgICAgICB0YWdMaXN0LmFk
ZChycFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOworICAgICAgICB0YWdMaXN0LmFkZChydFRhZy5s
b2NhbE5hbWUoKS5pbXBsKCkpOworICAgICAgICB0YWdMaXN0LmFkZChydWJ5VGFnLmxvY2FsTmFt
ZSgpLmltcGwoKSk7CiAgICAgfQogICAgIHJldHVybiAmdGFnTGlzdDsKIH0KSW5kZXg6IFdlYkNv
cmUvaHRtbC9IVE1MUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFBh
cnNlci5jcHAJKHJldmlzaW9uIDQ1NTU2KQorKysgV2ViQ29yZS9odG1sL0hUTUxQYXJzZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03OTMsNiArNzkzLDIwIEBAIGJvb2wgSFRNTFBhcnNlcjo6ZHRD
cmVhdGVFcnJvckNoZWNrKFRva2UKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBIVE1MUGFy
c2VyOjpycENyZWF0ZUVycm9yQ2hlY2soVG9rZW4qLCBSZWZQdHI8Tm9kZT4mKQoreworICAgIHBv
cEJsb2NrKHJwVGFnKTsKKyAgICBwb3BCbG9jayhydFRhZyk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK2Jvb2wgSFRNTFBhcnNlcjo6cnRDcmVhdGVFcnJvckNoZWNrKFRva2VuKiwgUmVmUHRyPE5v
ZGU+JikKK3sKKyAgICBwb3BCbG9jayhycFRhZyk7CisgICAgcG9wQmxvY2socnRUYWcpOworICAg
IHJldHVybiB0cnVlOworfQorCiBib29sIEhUTUxQYXJzZXI6Om5lc3RlZENyZWF0ZUVycm9yQ2hl
Y2soVG9rZW4qIHQsIFJlZlB0cjxOb2RlPiYpCiB7CiAgICAgcG9wQmxvY2sodC0+dGFnTmFtZSk7
CkBAIC05MTcsNiArOTMxLDggQEAgUGFzc1JlZlB0cjxOb2RlPiBIVE1MUGFyc2VyOjpnZXROb2Rl
KFRvawogICAgICAgICBnRnVuY3Rpb25NYXAuc2V0KHBUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAm
SFRNTFBhcnNlcjo6cENsb3NlckNyZWF0ZUVycm9yQ2hlY2spOwogICAgICAgICBnRnVuY3Rpb25N
YXAuc2V0KHBsYWludGV4dFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjpwQ2xv
c2VyQ3JlYXRlRXJyb3JDaGVjayk7CiAgICAgICAgIGdGdW5jdGlvbk1hcC5zZXQocHJlVGFnLmxv
Y2FsTmFtZSgpLmltcGwoKSwgJkhUTUxQYXJzZXI6OnBDbG9zZXJDcmVhdGVFcnJvckNoZWNrKTsK
KyAgICAgICAgZ0Z1bmN0aW9uTWFwLnNldChycFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZIVE1M
UGFyc2VyOjpycENyZWF0ZUVycm9yQ2hlY2spOworICAgICAgICBnRnVuY3Rpb25NYXAuc2V0KHJ0
VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJkhUTUxQYXJzZXI6OnJ0Q3JlYXRlRXJyb3JDaGVjayk7
CiAgICAgICAgIGdGdW5jdGlvbk1hcC5zZXQoc1RhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZIVE1M
UGFyc2VyOjpuZXN0ZWRTdHlsZUNyZWF0ZUVycm9yQ2hlY2spOwogICAgICAgICBnRnVuY3Rpb25N
YXAuc2V0KHNlbGVjdFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjpzZWxlY3RD
cmVhdGVFcnJvckNoZWNrKTsKICAgICAgICAgZ0Z1bmN0aW9uTWFwLnNldChzbWFsbFRhZy5sb2Nh
bE5hbWUoKS5pbXBsKCksICZIVE1MUGFyc2VyOjpuZXN0ZWRTdHlsZUNyZWF0ZUVycm9yQ2hlY2sp
OwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvSFRNTFBhcnNlci5oCShyZXZpc2lvbiA0NTU1NikKKysrIFdlYkNvcmUvaHRtbC9IVE1M
UGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw2ICsxMDIsOCBAQCBwcml2YXRlOgogICAg
IGJvb2wgbm9zY3JpcHRDcmVhdGVFcnJvckNoZWNrKFRva2VuKiwgUmVmUHRyPE5vZGU+Jik7CiAg
ICAgYm9vbCBwQ2xvc2VyQ3JlYXRlRXJyb3JDaGVjayhUb2tlbiosIFJlZlB0cjxOb2RlPiYpOwog
ICAgIGJvb2wgcENsb3NlclN0cmljdENyZWF0ZUVycm9yQ2hlY2soVG9rZW4qLCBSZWZQdHI8Tm9k
ZT4mKTsKKyAgICBib29sIHJwQ3JlYXRlRXJyb3JDaGVjayhUb2tlbiosIFJlZlB0cjxOb2RlPiYp
OworICAgIGJvb2wgcnRDcmVhdGVFcnJvckNoZWNrKFRva2VuKiwgUmVmUHRyPE5vZGU+Jik7CiAg
ICAgYm9vbCBzZWxlY3RDcmVhdGVFcnJvckNoZWNrKFRva2VuKiwgUmVmUHRyPE5vZGU+Jik7CiAg
ICAgYm9vbCB0YWJsZUNlbGxDcmVhdGVFcnJvckNoZWNrKFRva2VuKiwgUmVmUHRyPE5vZGU+Jik7
CiAgICAgYm9vbCB0YWJsZVNlY3Rpb25DcmVhdGVFcnJvckNoZWNrKFRva2VuKiwgUmVmUHRyPE5v
ZGU+Jik7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4JKHJldmlzaW9uIDQ1NTU2KQorKysgV2ViQ29y
ZS9odG1sL0hUTUxUYWdOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtODksNiArODksOSBAQCBw
YXJhbQogcGxhaW50ZXh0IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHByZQogcSBpbnRlcmZh
Y2VOYW1lPUhUTUxRdW90ZUVsZW1lbnQKK3JwIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKK3J0
IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKK3J1YnkgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVu
dAogcyBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzYW1wIGludGVyZmFjZU5hbWU9SFRNTEVs
ZW1lbnQKIHNjcmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA0NTU1NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDA5LTA3LTA2ICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0ZWlu
ZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0IHByb3BlciBwYXJzaW5nIG9mIEhUTUw1IDxycD4gYW5kIDxydD4gdGFncy4K
KyAgICAgICAgQm90aCB0YWdzIGFyZSBvcHRpb25hbCBpZiBmb2xsb3dlZCBieSBhbm90aGVyIDxy
cD4vPHJ0PiB0YWcuCisgICAgICAgIAorICAgICAgICBTZWUgYWxzbyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5ODUKKworICAgICAgICAqIGZhc3QvcnVieTogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ydWJ5L3BhcnNlLXJwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9ydWJ5L3BhcnNlLXJwLmh0bWw6IEFkZGVkLgorCiAyMDA5LTA3LTA1ICBD
aHJpcyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBGcmFzZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3J1YnkvcGFyc2UtcnAtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcnVieS9wYXJzZS1ycC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3J1YnkvcGFyc2UtcnAt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1RoZSBmb2xsb3dpbmcg
aXMgYSB0ZXN0IGZvciBwYXJzaW5nIHJ1YnkgPHJwPiBhbmQgPHJ0PiBlbGVtZW50cy4gQWNjb3Jk
aW5nIHRvIEhUTUw1IHNwZWMsIGVuZC10YWdzIGZvciBib3RoIGFyZSBvcHRpb25hbCBpZiBmb2xs
b3dlZCBieSBhbm90aGVyIDxycD4gb3IgPHJ0Pi4gSG93ZXZlciwgdGhleSBzaG91bGQgTk9UIGJl
IGF1dG8tY2xvc2VkIGJ5IG90aGVyIGlubGluZSBlbGVtZW50cywgc3VjaCBhcyA8c3Bhbj4uCisK
K1RFU1QgUEFTU0VEOiBNYXJrdXAgd2FzIGNvcnJlY3QKKworQmVmb3JlIGJhc2UvbGVmdCBycC90
ZXh0L3JpZ2h0IHJwIEFmdGVyCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3J1YnkvcGFyc2UtcnAu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3J1YnkvcGFyc2UtcnAuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcnVieS9wYXJzZS1ycC5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB2YXIgbWFya3VwID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJ1YnkiKS5vdXRlckhUTUw7CisgICAgaWYgKG1hcmt1
cCA9PSAnPHJ1YnkgaWQ9InJ1YnkiPmJhc2UvPHJwPjxzcGFuPmxlZnQ8L3NwYW4+IHJwLzwvcnA+
PHJ0PnRleHQvPC9ydD48cnA+cmlnaHQgPHNwYW4+cnA8L3NwYW4+PC9ycD48L3J1Ynk+JykKKyAg
ICAgICAgcmVzdWx0ID0gIlRFU1QgUEFTU0VEOiBNYXJrdXAgd2FzIGNvcnJlY3QiOworICAgIGVs
c2UKKyAgICAgICAgcmVzdWx0ID0gIlRFU1QgRkFJTEVEOiBNYXJrdXAgd2FzICIgKyBtYXJrdXA7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmZpcnN0Q2hpbGQuZGF0YSA9
IHJlc3VsdDsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgor
PHA+VGhlIGZvbGxvd2luZyBpcyBhIHRlc3QgZm9yIHBhcnNpbmcgcnVieSAmbHQ7cnAmZ3Q7IGFu
ZCAmbHQ7cnQmZ3Q7IGVsZW1lbnRzLiBBY2NvcmRpbmcgdG8gSFRNTDUgc3BlYywgZW5kLXRhZ3Mg
Zm9yIGJvdGggYXJlIG9wdGlvbmFsIGlmIGZvbGxvd2VkIGJ5IGFub3RoZXIgJmx0O3JwJmd0OyBv
ciAmbHQ7cnQmZ3Q7LiBIb3dldmVyLCB0aGV5IHNob3VsZCBOT1QgYmUgYXV0by1jbG9zZWQgYnkg
b3RoZXIgaW5saW5lIGVsZW1lbnRzLCBzdWNoIGFzICZsdDtzcGFuJmd0Oy48L3A+Cis8cCBpZD0i
cmVzdWx0Ij5URVNUIERJRCBOT1QgUlVOPC9wPgorQmVmb3JlIDxydWJ5IGlkPSJydWJ5Ij5iYXNl
LzxycD48c3Bhbj5sZWZ0PC9zcGFuPiBycC88cnQ+dGV4dC88cnA+cmlnaHQgPHNwYW4+cnA8L3Nw
YW4+PC9ydWJ5PiBBZnRlcgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="16760"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>