<?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>69083</bug_id>
          
          <creation_ts>2011-09-29 05:03:21 -0700</creation_ts>
          <short_desc>Several CSS lexer rules don&apos;t match CSS 2.1 spec</short_desc>
          <delta_ts>2024-02-13 03:18:26 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=185953</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>74148</dependson>
    
    <dependson>70807</dependson>
    
    <dependson>70909</dependson>
    
    <dependson>71000</dependson>
    
    <dependson>71097</dependson>
    
    <dependson>72007</dependson>
    
    <dependson>72008</dependson>
    
    <dependson>72360</dependson>
    
    <dependson>74178</dependson>
    
    <dependson>74815</dependson>
    
    <dependson>76152</dependson>
          <blocked>70107</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Herczeg">zherczeg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abecsi</cc>
    
    <cc>ahmad.saleem792</cc>
    
    <cc>annevk</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>karlcow</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>475378</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-09-29 05:03:21 -0700</bug_when>
    <thetext>I am playing with a hand written CSS lexer, and during that work I found a few bugs in the current flex rules in WebKit. I am not sure we prefer compatibility or standard compilance in such case, so I just tell you what I found, and let you decide what to do with them:

The &quot;original&quot; comes form: http://www.w3.org/TR/CSS21/grammar.html &quot;G.2 Lexical scanner&quot;
The &quot;wk&quot; comes form css/tokenizer.flex

original:
nonascii	[\240-\377]
wk:
nonascii        [\200-\377]

They start nonascii from 160 not 128. Not sure why.

original:
string1		\&quot;([^\n\r\f\\&quot;]|\\{nl}|{escape})*\&quot;
wk:
string1         \&quot;([\t !#$%&amp;(-~]|\\{nl}|\&apos;|{nonascii}|{escape})*\&quot;

Basically we disallow 127 (DELETE) and &lt;32 non-newline chars while the original grammar allows them.

original:
unicode		\\{h}{1,6}(\r\n|[ \t\r\n\f])?
wk:
unicode         \\{h}{1,6}[ \t\r\n\f]?

This can be exploited by a \r\n newline: A\41\r\nB should be &quot;AAB&quot; but it will be &quot;AA&quot; and &quot;B&quot; in WK.

original:
{num}%			{return PERCENTAGE;}
wk:
{num}%+                 {yyTok = PERCENTAGE; return yyTok;}

Why do we allow multpile percent sign? Although we still treat them as one...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475385</commentid>
    <comment_count>1</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-09-29 05:30:11 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; I am playing with a hand written CSS lexer, and during that work I found a few bugs in the current flex rules in WebKit. I am not sure we prefer compatibility or standard compilance in such case, so I just tell you what I found, and let you decide what to do with them:
&gt; 
&gt; The &quot;original&quot; comes form: http://www.w3.org/TR/CSS21/grammar.html &quot;G.2 Lexical scanner&quot;
&gt; The &quot;wk&quot; comes form css/tokenizer.flex
&gt; 
&gt; original:
&gt; nonascii    [\240-\377]
&gt; wk:
&gt; nonascii        [\200-\377]
&gt; 
&gt; They start nonascii from 160 not 128. Not sure why.

I think this is just wrong in the spec, but there might be an explanation for it.

&gt; 
&gt; original:
&gt; string1        \&quot;([^\n\r\f\\&quot;]|\\{nl}|{escape})*\&quot;
&gt; wk:
&gt; string1         \&quot;([\t !#$%&amp;(-~]|\\{nl}|\&apos;|{nonascii}|{escape})*\&quot;
&gt; 
&gt; Basically we disallow 127 (DELETE) and &lt;32 non-newline chars while the original grammar allows them.
&gt; 

This might be to make the parser simpler, not sure why the spec is that permissive.

&gt; original:
&gt; unicode        \\{h}{1,6}(\r\n|[ \t\r\n\f])?
&gt; wk:
&gt; unicode         \\{h}{1,6}[ \t\r\n\f]?
&gt; 
&gt; This can be exploited by a \r\n newline: A\41\r\nB should be &quot;AAB&quot; but it will be &quot;AA&quot; and &quot;B&quot; in WK.
&gt; 

This feels like a real bug which could need a test case if possible

&gt; original:
&gt; {num}%            {return PERCENTAGE;}
&gt; wk:
&gt; {num}%+                 {yyTok = PERCENTAGE; return yyTok;}
&gt; 
&gt; Why do we allow multpile percent sign? Although we still treat them as one...

In this case the WebKit lexer only consumes all the garbage percentage signs which I think is not a big compatibility problem.

All this is really ancient code though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475436</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-29 08:43:20 -0700</bug_when>
    <thetext>A good way to investigate these concerns is to construct test cases demonstrating the issues and try them in other browsers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475463</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-29 09:38:47 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; The &quot;original&quot; comes form: http://www.w3.org/TR/CSS21/grammar.html &quot;G.2 Lexical scanner&quot;
&gt; The &quot;wk&quot; comes form css/tokenizer.flex
&gt; 
&gt; original:
&gt; nonascii    [\240-\377]
&gt; wk:
&gt; nonascii        [\200-\377]
&gt; 
&gt; They start nonascii from 160 not 128. Not sure why.

The characters in the range U+0080-009F are considered “control characters” so I can imagine they might not be permitted in some contexts. But we need to be careful about what kind of text is passed in. If this tokenizer is used on UTF-8 text then it’s critical to allow 80-9F bytes.

&gt; original:
&gt; string1        \&quot;([^\n\r\f\\&quot;]|\\{nl}|{escape})*\&quot;
&gt; wk:
&gt; string1         \&quot;([\t !#$%&amp;(-~]|\\{nl}|\&apos;|{nonascii}|{escape})*\&quot;
&gt; 
&gt; Basically we disallow 127 (DELETE) and &lt;32 non-newline chars while the original grammar allows them.

Another batch of what are considered control characters.

&gt; original:
&gt; unicode        \\{h}{1,6}(\r\n|[ \t\r\n\f])?
&gt; wk:
&gt; unicode         \\{h}{1,6}[ \t\r\n\f]?
&gt; 
&gt; This can be exploited by a \r\n newline: A\41\r\nB should be &quot;AAB&quot; but it will be &quot;AA&quot; and &quot;B&quot; in WK.

Seems likely to just be a bug.

&gt; original:
&gt; {num}%            {return PERCENTAGE;}
&gt; wk:
&gt; {num}%+                 {yyTok = PERCENTAGE; return yyTok;}
&gt; 
&gt; Why do we allow multpile percent sign? Although we still treat them as one...

Subversion indicates that I made this change 8 years ago in &lt;http://trac.webkit.org/changeset/4059&gt;.

The problem being solved was a table element had a content attribute width=&quot;90%%&quot;. Other browsers were treating this as 90%. So this wasn’t about CSS itself, but rather about parsing the value of a width content attribute.

Here’s what Hyatt advised me back in 2003 (things may have changed since then):

&gt; (1) We could just patch the tokenizer of the CSS parser to make the percent token be %+ (i.e., 1 or more percent signs). 
&gt; (2) The yacc grammar could be patched.
&gt; (3) A simple function could be written that parses HTML widths without using the CSS parser at all, which is what we did for color.
&gt;
&gt; (3) is IMO where we want to go ultimately, but either (1) or (2) would do as a beta fix.

I think we are looking at three or four separate issues here, and we should use separate bugs for them. We’ll need to fix and test each separately. Perhaps the two control character issues could be grouped, though.

Even if we make no change, for each of these we should construct test cases demonstrating the behavior. As I said, running those cases in other browsers can give us valuable information too.

When replacing a piece of code like the lexer, an important first step is to increase test coverage sufficiently. That’s the first order of business. There’s no reason to tie the behavior change to the time we do a rewrite. In fact, it’s better to do it independently either before or after the rewrite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475525</commentid>
    <comment_count>4</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-09-29 10:52:24 -0700</bug_when>
    <thetext>&gt; Even if we make no change, for each of these we should construct test cases demonstrating the behavior. As I said, running those cases in other browsers can give us valuable information too.
&gt; 
&gt; When replacing a piece of code like the lexer, an important first step is to increase test coverage sufficiently. That’s the first order of business. There’s no reason to tie the behavior change to the time we do a rewrite. In fact, it’s better to do it independently either before or after the rewrite.

Totally agree. The motivation of this bug is simply to raise the visibility of these differences and see that they have a known reason. But it looks like we need further investigation. Testing other browsers and creating regression tests could be a good task for our younger team members.

Rewriting the tokeinzer has an entiriely different motivation. According to our recent profile data the total time of the tokenizer is comparable to the total time of the CSS parser which was a surprise for us. We simply want to see how a hand written tokenizer performs compared to the generated one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475625</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-29 13:03:04 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Rewriting the tokeinzer has an entiriely different motivation. According to our recent profile data the total time of the tokenizer is comparable to the total time of the CSS parser which was a surprise for us. We simply want to see how a hand written tokenizer performs compared to the generated one.

Sure, when we did the new HTML parser and the new JavaScript tokenizer both made things much faster.

And in both cases, the work began by adding far more test cases to make it safe to replace the component.

Unless you see your exercise as a purely scientific experiment, I suggest you beef up test cases as an early step of the rewrite. It’s typically a straightforward and relatively quick task.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490713</commentid>
    <comment_count>6</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-10-26 03:10:51 -0700</bug_when>
    <thetext>Playing with the CSS tokenizer is quite funny. Although there are several bugs in the tokeinzer, they cannot be exploited because other mechanics hides them.

Yesterday I checked an URI parsing bug. Due to a bug in CSSParser::text(...) the slash-newlines sequences are converted to newline in the same way as &apos;\a&apos; converted to &apos;a&apos;, so they are treated as normal escape sequences. I thought I could exploit this, but I didn&apos;t work, since there is another funny CSS rule, which says chars &lt; 32 must be skipped.

So www&lt;tab&gt;.&lt;tab&gt;google&lt;tab&gt;.&lt;tab&gt;com is the same as www.google.com since &lt;tab&gt; is equal to 9, which is less than 32, and discarded. However, www&lt;space&gt;.&lt;space&gt;google&lt;space&gt;.&lt;space&gt;com is different, since &lt;space&gt; is not less than 32. &lt;newline&gt; is equal to 10, so it is discarded as well.

Today I checked this bug:

&gt; Another batch of what are considered control characters.
&gt; 
&gt; &gt; original:
&gt; &gt; unicode        \\{h}{1,6}(\r\n|[ \t\r\n\f])?
&gt; &gt; wk:
&gt; &gt; unicode         \\{h}{1,6}[ \t\r\n\f]?
&gt; &gt; 
&gt; &gt; This can be exploited by a \r\n newline: A\41\r\nB should be &quot;AAB&quot; but it will be &quot;AA&quot; and &quot;B&quot; in WK.
&gt; 
&gt; Seems likely to just be a bug.

Guess what it does not appear as well. Why?

WebCore/xml/MarkupTokenizerBase.h InputStreamPreprocessor::peek(...) converts &apos;\r\n&apos; sequences to &apos;\n&apos;! This function is indirectly called from WebCore/html/parser/HTMLDocumentParser.cpp:267 through m_tokenizer-&gt;nextToken(...). Thus, the CSS parser never encounters a &apos;\r\n&apos;.

Although we could simplify the &quot;nl \n|\r\n|\r|\f&quot; rule and CSSParser::text(...), I don&apos;t want to do it since I hope they will be dropped in the future as the hand written parser is more than twice as fast.

But I want to add a newline related layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490718</commentid>
    <comment_count>7</comment_count>
      <attachid>112477</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-10-26 03:35:34 -0700</bug_when>
    <thetext>Created attachment 112477
Flex killer test-case (should have yellow background)

Just to advertise the advantages of hand written parser a little more, the attached test case does not work in WebKit, but works in FireFox, Opera and even with Internet Explorer 8. Furthermore it cannot be fixed as the bug is in the flex lexer generator :] (It cannot process the last token)

By the way WebKit uses a workaround for this in its internal style things: they terminated with an unnecessary extra space, which seemed stupid for me before, but now I understand everything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490732</commentid>
    <comment_count>8</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-10-26 04:31:15 -0700</bug_when>
    <thetext>I&apos;m all for hand written parser. The only advertisement it really needs is that it is faster and at least as correct as the old one, without being too much less readable/hackable. Is there a bug tracking this work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490734</commentid>
    <comment_count>9</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-10-26 04:33:26 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I&apos;m all for hand written parser. The only advertisement it really needs is that it is faster and at least as correct as the old one, without being too much less readable/hackable. Is there a bug tracking this work?

https://bugs.webkit.org/show_bug.cgi?id=70107</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491420</commentid>
    <comment_count>10</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-10-27 02:16:26 -0700</bug_when>
    <thetext>This bug should be a master bug, adding the dependent bugs.

Thanks Darin for reviewing them!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492363</commentid>
    <comment_count>11</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-10-28 03:56:07 -0700</bug_when>
    <thetext>There is one more difference worth mention:

According to the spec, you can use escape sequences in any CSS reserved words inlcuding number types, so &quot;100px&quot; and &quot;100\70\78&quot; has exactly the same meaning. This is supported by FireFox, Opera and Internet Explorer but not in WebKit and would be a complicated change with the current lexer. Can I postpone this change until the custom written parser lands?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492516</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-28 10:36:28 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Can I postpone this change until the custom written parser lands?

Sure, but don’t postpone writing a test, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492557</commentid>
    <comment_count>13</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-10-28 11:29:14 -0700</bug_when>
    <thetext>&gt; Sure, but don’t postpone writing a test, please.

I don&apos;t quite understand your request. Do you need a currently failing test or something else ...?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492571</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-28 11:51:40 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; Sure, but don’t postpone writing a test, please.
&gt; 
&gt; I don&apos;t quite understand your request. Do you need a currently failing test or something else ...?

Our tests are regression tests that help us notice changes in behavior. A test showing the current behavior, which characterize it either as failing or succeeding, would be great. The expectations would reflect the current behavior. And the expectations, at least, would change in the patch that fixes the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495378</commentid>
    <comment_count>15</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-11-03 05:32:22 -0700</bug_when>
    <thetext>&gt; Our tests are regression tests that help us notice changes in behavior. A test showing the current behavior, which characterize it either as failing or succeeding, would be great. The expectations would reflect the current behavior. And the expectations, at least, would change in the patch that fixes the bug.

I gave this task to Szilard. He will submit patches soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497115</commentid>
    <comment_count>16</comment_count>
      <attachid>113854</attachid>
    <who name="Szilard Ledan">szledan</who>
    <bug_when>2011-11-07 06:04:13 -0800</bug_when>
    <thetext>Created attachment 113854
Added a test for css number types, where &apos;px&apos; is defined like \70\78, etc.

Added a test for css number types, where &apos;px&apos; is defined like \70\78, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497990</commentid>
    <comment_count>17</comment_count>
      <attachid>114052</attachid>
    <who name="Szilard Ledan">szledan</who>
    <bug_when>2011-11-08 05:48:53 -0800</bug_when>
    <thetext>Created attachment 114052
Added three tests for css lexer parsing problems.


The first and second are testing the css number types parser, where &apos;px&apos; defined like escape sequences (\70\78), etc.
The third is testing the css square braces block parser. The WebKit css lexer didn&apos;t pars correctly the css block.
Example:
1. &lt;html&gt;... &lt;p style=&quot;font-size: 12px;&quot;&gt;...&lt;/p&gt;...&lt;/html&gt; it&apos;s ok
2. &lt;html&gt;... &lt;p style=&quot;{font-size: 12px;}&quot;&gt;...&lt;/p&gt;...&lt;/html&gt; it&apos;s not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497994</commentid>
    <comment_count>18</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-11-08 05:52:50 -0800</bug_when>
    <thetext>Hey Szilard,

please open a separate bugzilla entry for each patches. Your second patch does not invalidate the first one. Moreover, this is a meta-bug not an entry for specific issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506871</commentid>
    <comment_count>19</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-11-21 04:27:54 -0800</bug_when>
    <thetext>I found one more thing:

http://www.w3.org/TR/selectors/#structural-pseudos

says:

The following selectors are therefore equivalent:
bar:nth-child(1n+0)   /* represents all bar elements, specificity (0,1,1) */
bar:nth-child(n+0)    /* same */
bar:nth-child(n)      /* same */
bar                   /* same but lower specificity (0,0,1) */

However, in our tokenizer.flex:
{ident}                 {yyTok = IDENT; return yyTok;}
&lt;nthchild&gt;{nth}         {yyTok = NTH; return yyTok;}

Thus, identifier got higher priority than nth in &lt;nthchild&gt; mode, so &apos;n&apos; is reported as IDENT not as NTH.

I think we should swap these rules. Do you agree?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511829</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-30 10:03:47 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; However, in our tokenizer.flex:
&gt; {ident}                 {yyTok = IDENT; return yyTok;}
&gt; &lt;nthchild&gt;{nth}         {yyTok = NTH; return yyTok;}
&gt; 
&gt; Thus, identifier got higher priority than nth in &lt;nthchild&gt; mode, so &apos;n&apos; is reported as IDENT not as NTH.
&gt; 
&gt; I think we should swap these rules.

If this is a bug you should be able to demonstrate it with a test case; you could then try it in other browsers to see if they match the spec.

Swapping the rules seems like a fine way to fix the bug if it works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719597</commentid>
    <comment_count>21</comment_count>
      <attachid>114052</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-13 09:44:09 -0700</bug_when>
    <thetext>Comment on attachment 114052
Added three tests for css lexer parsing problems.

I think you want dumpAsText for these (I see one of them is).

I assume other browsers pass these tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809236</commentid>
    <comment_count>22</comment_count>
      <attachid>114052</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-17 03:43:12 -0800</bug_when>
    <thetext>Comment on attachment 114052
Added three tests for css lexer parsing problems.

Attachment 114052 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/15937047

New failing tests:
fast/css/parsing-css-wrap.html
fast/css/parsing-css-number-types.html
fast/css/parsing-css-square-braces.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871336</commentid>
    <comment_count>23</comment_count>
      <attachid>114052</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-04-08 18:11:53 -0700</bug_when>
    <thetext>Comment on attachment 114052
Added three tests for css lexer parsing problems.

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

&gt; LayoutTests/fast/css/parsing-css-wrap-expected.txt:11
&gt; +          text run at (0,0) width 205: &quot;TEST DID NOT COMPLETE&quot;

It would be much better to have a text result, even if this test won’t complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1885500</commentid>
    <comment_count>24</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-07-20 17:12:55 -0700</bug_when>
    <thetext>In attached test (Flex killer), Safari 15.6 on macOS 12.5 matches with other browsers (Chrome Canary 105 and Firefox Nightly 104).

But from the test case from the patch - there are following differences:

Test Case - https://jsfiddle.net/zryLu2pa/show

Safari 15.6 and Chrome Canary 105 fails but show following rules for stylesheet:

body { background: rgb(255, 255, 255); }

While Firefox Nightly 104 does:

body { background: rgb(255, 255, 255) none repeat scroll 0% 0%; }

__________________

If I am testing incorrectly, please ignore. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1885503</commentid>
    <comment_count>25</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-07-20 17:14:56 -0700</bug_when>
    <thetext>I think if all three browser match behavior, we are probably &quot;RESOLVE | CONFIG CHANGED&quot;.

Can you try the test case on Firefox or Chrome to see if they match?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1885504</commentid>
    <comment_count>26</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-07-20 17:15:25 -0700</bug_when>
    <thetext>My guess is that the 11-year-old test is no longer completely aligned with the modern spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1885507</commentid>
    <comment_count>27</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-07-20 17:21:32 -0700</bug_when>
    <thetext>In one of the test cases, as mentioned in Comment 24 (refer to JSfiddle), Safari 15.5 output is different from Firefox but matches with Chrome. I am not sure on Web Spec so I can&apos;t comment whether Safari behavior is right or Firefox. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905176</commentid>
    <comment_count>28</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-10-12 14:57:07 -0700</bug_when>
    <thetext>(In reply to Ahmad Saleem from comment #24)
&gt; In attached test (Flex killer), Safari 15.6 on macOS 12.5 matches with other
&gt; browsers (Chrome Canary 105 and Firefox Nightly 104).
&gt; 
&gt; But from the test case from the patch - there are following differences:
&gt; 
&gt; Test Case - https://jsfiddle.net/zryLu2pa/show
&gt; 
&gt; Safari 15.6 and Chrome Canary 105 fails but show following rules for
&gt; stylesheet:
&gt; 
&gt; body { background: rgb(255, 255, 255); }
&gt; 
&gt; While Firefox Nightly 104 does:
&gt; 
&gt; body { background: rgb(255, 255, 255) none repeat scroll 0% 0%; }
&gt; 
&gt; __________________
&gt; 
&gt; If I am testing incorrectly, please ignore. Thanks!

Just to update:

Now Safari 16 and TP 155 show:

body { background-color: rgb(255, 255, 255); }

while Firefox Nightly 107 matched Chrome Canary 108 and shows:

body { background: rgb(255, 255, 255); }

and now difference is &quot;background-color&quot; vs &quot;background&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905272</commentid>
    <comment_count>29</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2022-10-12 23:01:00 -0700</bug_when>
    <thetext>Probably partially a duplicate of Bug 185953 and Bug 245105</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1960533</commentid>
    <comment_count>30</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-06-08 06:15:57 -0700</bug_when>
    <thetext>(In reply to Ahmad Saleem from comment #28)
&gt; (In reply to Ahmad Saleem from comment #24)
&gt; &gt; In attached test (Flex killer), Safari 15.6 on macOS 12.5 matches with other
&gt; &gt; browsers (Chrome Canary 105 and Firefox Nightly 104).
&gt; &gt; 
&gt; &gt; But from the test case from the patch - there are following differences:
&gt; &gt; 
&gt; &gt; Test Case - https://jsfiddle.net/zryLu2pa/show
&gt; &gt; 
&gt; &gt; Safari 15.6 and Chrome Canary 105 fails but show following rules for
&gt; &gt; stylesheet:
&gt; &gt; 
&gt; &gt; body { background: rgb(255, 255, 255); }
&gt; &gt; 
&gt; &gt; While Firefox Nightly 104 does:
&gt; &gt; 
&gt; &gt; body { background: rgb(255, 255, 255) none repeat scroll 0% 0%; }
&gt; &gt; 
&gt; &gt; __________________
&gt; &gt; 
&gt; &gt; If I am testing incorrectly, please ignore. Thanks!
&gt; 
&gt; Just to update:
&gt; 
&gt; Now Safari 16 and TP 155 show:
&gt; 
&gt; body { background-color: rgb(255, 255, 255); }
&gt; 
&gt; while Firefox Nightly 107 matched Chrome Canary 108 and shows:
&gt; 
&gt; body { background: rgb(255, 255, 255); }
&gt; 
&gt; and now difference is &quot;background-color&quot; vs &quot;background&quot;.

All browsers (Chrome Canary 116, WebKit ToT, Firefox Nightly 116) show:

Test parsing of CSS number types.

FAILURE

Rules from the stylesheet:

body { background: rgb(255, 255, 255); }

Expected result:

#a { font-size: 16px; }
	#b { font-size: 16px; }
	#c { font-size: 16px; }
	#d { font-size: 16px; }
	#e { font-size: 1em; }
	#f { font-size: 1em; }
	#g { font-size: 1em; }
	#h { font-size: 1em; }
	#i { font-size: 12pt; }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2011973</commentid>
    <comment_count>31</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-02-08 15:42:55 -0800</bug_when>
    <thetext>&lt;rdar://problem/122588295&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2013116</commentid>
    <comment_count>32</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2024-02-13 03:18:26 -0800</bug_when>
    <thetext>Thanks Ahmad, let&apos;s consider this closed then.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>112477</attachid>
            <date>2011-10-26 03:35:34 -0700</date>
            <delta_ts>2011-10-26 03:35:34 -0700</delta_ts>
            <desc>Flex killer test-case (should have yellow background)</desc>
            <filename>index.html</filename>
            <type>text/html</type>
            <size>81</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6eWVsbG93PC9zdHlsZT4NCjxi
b2R5Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113854</attachid>
            <date>2011-11-07 06:04:13 -0800</date>
            <delta_ts>2011-11-08 05:48:53 -0800</delta_ts>
            <desc>Added a test for css number types, where &apos;px&apos; is defined like \70\78, etc.</desc>
            <filename>0001-Added-a-test-for-css-number-types-problem.patch</filename>
            <type>text/plain</type>
            <size>3882</size>
            <attacher name="Szilard Ledan">szledan</attacher>
            
              <data encoding="base64">RnJvbSA2YTQ3NTJkODYzZTAzZThiYmVlNjY4MWU2MGVjYjMwNmQ1YTJlZDkxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTemlsYXJkIExlZGFuIDxMZWRhbi1NdW50ZWFuLlN6aWxhcmRA
c3R1ZC51LXN6ZWdlZC5odT4KRGF0ZTogTW9uLCA3IE5vdiAyMDExIDA1OjU1OjU3IC0wODAwClN1
YmplY3Q6IFtQQVRDSF0gQWRkZWQgYSB0ZXN0IGZvciBjc3MgbnVtYmVyIHR5cGVzIHByb2JsZW0u
CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogZmFzdC9jc3MvcGFyc2luZy1jc3MtbnVt
YmVyLXR5cGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogZmFzdC9jc3MvcGFyc2luZy1jc3MtbnVt
YmVyLXR5cGVzLmh0bWw6IEFkZGVkLgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysKIC4uLi9mYXN0L2Nzcy9wYXJzaW5nLWNz
cy1udW1iZXItdHlwZXMtZXhwZWN0ZWQudHh0IHwgICAyOCArKysrKysrKwogTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvcGFyc2luZy1jc3MtbnVtYmVyLXR5cGVzLmh0bWwgfCAgIDcwICsrKysrKysrKysr
KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEwOCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9u
cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3Nz
LW51bWJlci10eXBlcy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1udW1iZXItdHlwZXMuaHRtbAoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ODdiYjZj
Li5jM2QxMzgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTEtMDcgIFN6aWxhcmQgTGVk
YW4gIDxMZWRhbi1NdW50ZWFuLlN6aWxhcmRAc3R1ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBB
ZGRlZCBhIHRlc3QgZm9yIGNzcyBudW1iZXIgdHlwZXMgcHJvYmxlbS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDgzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLWNzcy1u
dW1iZXItdHlwZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJz
aW5nLWNzcy1udW1iZXItdHlwZXMuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMDcgIFBoaWxpcHBl
IE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEdU
SyBmbGFreSB0ZXN0cyBjbGVhbi11cC4gTW92ZWQgbW9zdCBvZiB0aGVtIHRvCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1udW1iZXItdHlwZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbnVtYmVyLXR5cGVzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWExYWIwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbnVtYmVyLXR5
cGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitUZXN0IHBhcnNpbmcgb2YgQ1NTIG51
bWJlciB0eXBlcy4KKworRkFJTFVSRQorCitSdWxlcyBmcm9tIHRoZSBzdHlsZXNoZWV0OgorCisj
YSB7IGZvbnQtc2l6ZTogMTZweDsgfQorI2IgeyB9CisjYyB7IH0KKyNkIHsgfQorI2UgeyBmb250
LXNpemU6IDFlbTsgfQorI2YgeyB9CisjZyB7IH0KKyNoIHsgfQorI2kgeyBmb250LXNpemU6IDEy
cHQ7IH0KK0V4cGVjdGVkIHJlc3VsdDoKKworI2EgeyBmb250LXNpemU6IDE2cHg7IH0KKyNiIHsg
Zm9udC1zaXplOiAxNnB4OyB9CisjYyB7IGZvbnQtc2l6ZTogMTZweDsgfQorI2QgeyBmb250LXNp
emU6IDE2cHg7IH0KKyNlIHsgZm9udC1zaXplOiAxZW07IH0KKyNmIHsgZm9udC1zaXplOiAxZW07
IH0KKyNnIHsgZm9udC1zaXplOiAxZW07IH0KKyNoIHsgZm9udC1zaXplOiAxZW07IH0KKyNpIHsg
Zm9udC1zaXplOiAxMnB0OyB9CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
cGFyc2luZy1jc3MtbnVtYmVyLXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJz
aW5nLWNzcy1udW1iZXItdHlwZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4yMGUyZTdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFy
c2luZy1jc3MtbnVtYmVyLXR5cGVzLmh0bWwKQEAgLTAsMCArMSw3MCBAQAorPGhlYWQ+Cis8c3R5
bGU+CisKKy8qIEJhc2UgZm9ybSBvZiB0aGUgcnVsZTogKi8KKyNhIHsgZm9udC1zaXplOiAxNnB4
OyB9CisjYiB7IGZvbnQtc2l6ZTogMTZcNzBcNzg7IH0KKyNjIHsgZm9udC1zaXplOiAxNlw3MHg7
IH0KKyNkIHsgZm9udC1zaXplOiAxNnBcNzg7IH0KKyNlIHsgZm9udC1zaXplOiAxZW07IH0KKyNm
IHsgZm9udC1zaXplOiAxXDY1bTsgfQorI2cgeyBmb250LXNpemU6IDFcNjVcNkQ7IH0KKyNoIHsg
Zm9udC1zaXplOiAxXDY1XDZkOyB9CisjaSB7IGZvbnQtc2l6ZTogMTJwdCB9CisKKzwvc3R5bGU+
CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKworICAgIHZhciBydWxlcyA9IGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLmNzc1J1bGVz
OworICAgIHZhciB0ZXh0ID0gIiI7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5n
dGg7IGkrKykgeworICAgICAgICB0ZXh0ICs9IHJ1bGVzLml0ZW0oaSkuY3NzVGV4dDsKKyAgICAg
ICAgdGV4dCArPSAiXG4iOworICAgIH0KKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSk7CisKKyAg
ICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmZpcnN0Q2hpbGQuZGF0YSA9
PT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4cGVjdGVkIikuZmlyc3RDaGlsZC5kYXRhKQor
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVzc2FnZSIpLmZpcnN0Q2hpbGQuZGF0
YSA9ICJTVUNDRVNTIjsKKyAgICBlbHNlCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJtZXNzYWdlIikuZmlyc3RDaGlsZC5kYXRhID0gIkZBSUxVUkUiOworfQorCis8L3NjcmlwdD4K
KworPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisKKzxwPlRlc3QgcGFyc2lu
ZyBvZiBDU1MgbnVtYmVyIHR5cGVzLjwvcD4KKworPHAgaWQ9Im1lc3NhZ2UiPlRFU1QgRElEIE5P
VCBDT01QTEVURTwvcD4KKworPHA+UnVsZXMgZnJvbSB0aGUgc3R5bGVzaGVldDo8L3A+CisKKzxw
cmUgaWQ9InJlc3VsdCI+PC9wcmU+CisKKzxwPkV4cGVjdGVkIHJlc3VsdDo8L3A+CisKKzxwcmUg
aWQ9ImV4cGVjdGVkIj4jYSB7IGZvbnQtc2l6ZTogMTZweDsgfQorI2IgeyBmb250LXNpemU6IDE2
cHg7IH0KKyNjIHsgZm9udC1zaXplOiAxNnB4OyB9CisjZCB7IGZvbnQtc2l6ZTogMTZweDsgfQor
I2UgeyBmb250LXNpemU6IDFlbTsgfQorI2YgeyBmb250LXNpemU6IDFlbTsgfQorI2cgeyBmb250
LXNpemU6IDFlbTsgfQorI2ggeyBmb250LXNpemU6IDFlbTsgfQorI2kgeyBmb250LXNpemU6IDEy
cHQ7IH0KKworPC9wcmU+CisKKzxzY3JpcHQ+CisKKzwvc2NyaXB0PgorPC9ib2R5PgotLSAKMS43
LjUuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114052</attachid>
            <date>2011-11-08 05:48:53 -0800</date>
            <delta_ts>2013-04-08 18:11:53 -0700</delta_ts>
            <desc>Added three tests for css lexer parsing problems.</desc>
            <filename>0001-Added-three-tests-for-css-lexer-parsing-problems.patch</filename>
            <type>text/plain</type>
            <size>10034</size>
            <attacher name="Szilard Ledan">szledan</attacher>
            
              <data encoding="base64">RnJvbSBmYTRiZGFlNTJkM2RhNTgwYjYxY2M2NTZlZWUwMDZjMzg4Yzg1MGRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTemlsYXJkIExlZGFuIDxMZWRhbi1NdW50ZWFuLlN6aWxhcmRA
c3R1ZC51LXN6ZWdlZC5odT4KRGF0ZTogVHVlLCA4IE5vdiAyMDExIDA1OjMzOjA3IC0wODAwClN1
YmplY3Q6IFtQQVRDSF0gQWRkZWQgdGhyZWUgdGVzdHMgZm9yIGNzcyBsZXhlciBwYXJzaW5nIHBy
b2JsZW1zLiBUaGUgZmlyc3QKIGFuZCBzZWNvbmQgYXJlIHRlc3RpbmcgdGhlIGNzcyBudW1iZXIg
dHlwZXMgcGFyc2VyLCB3aGVyZQogJ3B4JyBkZWZpbmVkIGxpa2UgZXNjYXBlIHNlcXVlbmNlcyAo
XDcwXDc4KS4gVGhlIHRoaXJkIGlzCiB0ZXN0aW5nIHRoZSBjc3Mgc3F1YXJlIGJyYWNlcyBibG9j
ayBwYXJzZXIuCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwODMK
ClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKKiBmYXN0L2Nzcy9wYXJzaW5nLWNzcy1udW1i
ZXItdHlwZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L2Nzcy9wYXJzaW5nLWNzcy1udW1i
ZXItdHlwZXMuaHRtbDogQWRkZWQuCiogZmFzdC9jc3MvcGFyc2luZy1jc3Mtc3F1YXJlLWJyYWNl
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIGZhc3QvY3NzL3BhcnNpbmctY3NzLXNxdWFyZS1icmFj
ZXMuaHRtbDogQWRkZWQuCiogZmFzdC9jc3MvcGFyc2luZy1jc3Mtd3JhcC1leHBlY3RlZC50eHQ6
IEFkZGVkLgoqIGZhc3QvY3NzL3BhcnNpbmctY3NzLXdyYXAuaHRtbDogQWRkZWQuCi0tLQogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE2ICsr
KysrCiAuLi4vZmFzdC9jc3MvcGFyc2luZy1jc3MtbnVtYmVyLXR5cGVzLWV4cGVjdGVkLnR4dCB8
ICAgMjcgKysrKysrKysKIExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW51bWJlci10
eXBlcy5odG1sIHwgICA2OSArKysrKysrKysrKysrKysrKysrKwogLi4uL2Nzcy9wYXJzaW5nLWNz
cy1zcXVhcmUtYnJhY2VzLWV4cGVjdGVkLnR4dCAgICAgfCAgIDE3ICsrKysrCiAuLi4vZmFzdC9j
c3MvcGFyc2luZy1jc3Mtc3F1YXJlLWJyYWNlcy5odG1sICAgICAgICB8ICAgNDcgKysrKysrKysr
KysrKwogTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3Mtd3JhcC1leHBlY3RlZC50eHQg
fCAgIDMxICsrKysrKysrKwogTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3Mtd3JhcC5o
dG1sICAgICAgICAgfCAgIDUzICsrKysrKysrKysrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAyNjAg
aW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1udW1iZXItdHlwZXMtZXhwZWN0ZWQudHh0CiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbnVtYmVyLXR5
cGVzLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5n
LWNzcy1zcXVhcmUtYnJhY2VzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91
dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLXNxdWFyZS1icmFjZXMuaHRtbAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLXdyYXAtZXhwZWN0ZWQu
dHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3Mt
d3JhcC5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGZlMTQ2MDIuLmFkNmEyNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxMS0xMS0wOCAgU3ppbGFyZCBMZWRhbiAgPExlZGFuLU11bnRlYW4uU3ppbGFyZEBzdHVk
LnUtc3plZ2VkLmh1PgorCisgICAgICAgIEFkZGVkIHRocmVlIHRlc3RzIGZvciBjc3MgbGV4ZXIg
cGFyc2luZyBwcm9ibGVtcy4KKyAgICAgICAgVGhlIGZpcnN0IGFuZCBzZWNvbmQgYXJlIHRlc3Rp
bmcgdGhlIGNzcyBudW1iZXIgdHlwZXMgcGFyc2VyLCB3aGVyZSAncHgnIGRlZmluZWQgbGlrZSBl
c2NhcGUgc2VxdWVuY2VzIChcNzBcNzgpLgorICAgICAgICBUaGUgdGhpcmQgaXMgdGVzdGluZyB0
aGUgY3NzIHNxdWFyZSBicmFjZXMgYmxvY2sgcGFyc2VyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwODMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3BhcnNpbmctY3NzLW51bWJlci10
eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3BhcnNpbmctY3Nz
LW51bWJlci10eXBlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLWNz
cy1zcXVhcmUtYnJhY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mv
cGFyc2luZy1jc3Mtc3F1YXJlLWJyYWNlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy9wYXJzaW5nLWNzcy13cmFwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9j
c3MvcGFyc2luZy1jc3Mtd3JhcC5odG1sOiBBZGRlZC4KKwogMjAxMS0xMS0wOCAgWXV0YSBLaXRh
bXVyYSAgPHl1dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3
ZWQsIHRyeWluZyB0byB1cGRhdGUgdGVzdF9leHBlY3RhdGlvbnMudHh0IGZvciB0aGUgdGVzdHMg
d2hpY2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW51bWJl
ci10eXBlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1u
dW1iZXItdHlwZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmE5ZjhhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJz
aW5nLWNzcy1udW1iZXItdHlwZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK1Rlc3Qg
cGFyc2luZyBvZiBDU1MgbnVtYmVyIHR5cGVzLgorCitGQUlMVVJFCisKK1J1bGVzIGZyb20gdGhl
IHN0eWxlc2hlZXQ6CisKKyNhIHsgZm9udC1zaXplOiAxNnB4OyB9CisjYiB7IH0KKyNjIHsgfQor
I2QgeyB9CisjZSB7IGZvbnQtc2l6ZTogMWVtOyB9CisjZiB7IH0KKyNnIHsgfQorI2ggeyB9Cisj
aSB7IGZvbnQtc2l6ZTogMTJwdDsgfQorRXhwZWN0ZWQgcmVzdWx0OgorCisjYSB7IGZvbnQtc2l6
ZTogMTZweDsgfQorI2IgeyBmb250LXNpemU6IDE2cHg7IH0KKyNjIHsgZm9udC1zaXplOiAxNnB4
OyB9CisjZCB7IGZvbnQtc2l6ZTogMTZweDsgfQorI2UgeyBmb250LXNpemU6IDFlbTsgfQorI2Yg
eyBmb250LXNpemU6IDFlbTsgfQorI2cgeyBmb250LXNpemU6IDFlbTsgfQorI2ggeyBmb250LXNp
emU6IDFlbTsgfQorI2kgeyBmb250LXNpemU6IDEycHQ7IH0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbnVtYmVyLXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1udW1iZXItdHlwZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4zMTkxNTIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbnVtYmVyLXR5cGVzLmh0bWwKQEAgLTAsMCArMSw2OSBA
QAorPGhlYWQ+Cis8c3R5bGU+CisKKy8qIEJhc2UgZm9ybSBvZiB0aGUgcnVsZTogKi8KKyNhIHsg
Zm9udC1zaXplOiAxNnB4OyB9CisjYiB7IGZvbnQtc2l6ZTogMTZcNzBcNzg7IH0KKyNjIHsgZm9u
dC1zaXplOiAxNlw3MHg7IH0KKyNkIHsgZm9udC1zaXplOiAxNnBcNzg7IH0KKyNlIHsgZm9udC1z
aXplOiAxZW07IH0KKyNmIHsgZm9udC1zaXplOiAxXDY1bTsgfQorI2cgeyBmb250LXNpemU6IDFc
NjVcNkQ7IH0KKyNoIHsgZm9udC1zaXplOiAxXDY1XDZkOyB9CisjaSB7IGZvbnQtc2l6ZTogMTJw
dCB9CisKKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHZhciBydWxlcyA9IGRvY3VtZW50LnN0eWxlU2hl
ZXRzWzBdLmNzc1J1bGVzOworICAgIHZhciB0ZXh0ID0gIiI7CisgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBydWxlcy5sZW5ndGg7IGkrKykgeworICAgICAgICB0ZXh0ICs9IHJ1bGVzLml0ZW0oaSku
Y3NzVGV4dDsKKyAgICAgICAgdGV4dCArPSAiXG4iOworICAgIH0KKworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSh0ZXh0KSk7CisKKyAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmZp
cnN0Q2hpbGQuZGF0YSA9PT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4cGVjdGVkIikuZmly
c3RDaGlsZC5kYXRhKQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVzc2FnZSIp
LmZpcnN0Q2hpbGQuZGF0YSA9ICJTVUNDRVNTIjsKKyAgICBlbHNlCisgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJtZXNzYWdlIikuZmlyc3RDaGlsZC5kYXRhID0gIkZBSUxVUkUiOwor
fQorCis8L3NjcmlwdD4KKworPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisK
KzxwPlRlc3QgcGFyc2luZyBvZiBDU1MgbnVtYmVyIHR5cGVzLjwvcD4KKworPHAgaWQ9Im1lc3Nh
Z2UiPlRFU1QgRElEIE5PVCBDT01QTEVURTwvcD4KKworPHA+UnVsZXMgZnJvbSB0aGUgc3R5bGVz
aGVldDo8L3A+CisKKzxwcmUgaWQ9InJlc3VsdCI+PC9wcmU+CisKKzxwPkV4cGVjdGVkIHJlc3Vs
dDo8L3A+CisKKzxwcmUgaWQ9ImV4cGVjdGVkIj4jYSB7IGZvbnQtc2l6ZTogMTZweDsgfQorI2Ig
eyBmb250LXNpemU6IDE2cHg7IH0KKyNjIHsgZm9udC1zaXplOiAxNnB4OyB9CisjZCB7IGZvbnQt
c2l6ZTogMTZweDsgfQorI2UgeyBmb250LXNpemU6IDFlbTsgfQorI2YgeyBmb250LXNpemU6IDFl
bTsgfQorI2cgeyBmb250LXNpemU6IDFlbTsgfQorI2ggeyBmb250LXNpemU6IDFlbTsgfQorI2kg
eyBmb250LXNpemU6IDEycHQ7IH0KKzwvcHJlPgorCis8c2NyaXB0PgorCis8L3NjcmlwdD4KKzwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLXNxdWFy
ZS1icmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3Mt
c3F1YXJlLWJyYWNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uMTdlYmJkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Bh
cnNpbmctY3NzLXNxdWFyZS1icmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rl
c3QgcGFyc2luZyBvZiBDU1Mgc3F1YXItYnJhY2VzIGJsb2NrCisKK0ZBSUxVUkUKKworUnVsZXMg
ZnJvbSB0aGUgc3R5bGVzaGVldDoKKworRm9udCBzaXplIGlzIDE2cHguCisKKworCitFeHBlY3Rl
ZCByZXN1bHQ6CisKK0ZvbnQgc2l6ZSBpcyAxNnB4LgorCisKKworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1zcXVhcmUtYnJhY2VzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1zcXVhcmUtYnJhY2VzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA5N2MwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLXNxdWFyZS1icmFjZXMuaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8aGVhZD4KKzxzdHlsZT4KKworLyogQmFzZSBmb3JtIG9mIHRoZSBydWxlOiAqLwor
PC9zdHlsZT4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworCisgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQi
KS5maXJzdENoaWxkLnN0eWxlLmZvbnRTaXplID09PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZXhwZWN0ZWQiKS5maXJzdENoaWxkLnN0eWxlLmZvbnRTaXplKQorICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibWVzc2FnZSIpLmZpcnN0Q2hpbGQuZGF0YSA9ICJTVUNDRVNTIjsKKyAg
ICBlbHNlCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtZXNzYWdlIikuZmlyc3RD
aGlsZC5kYXRhID0gIkZBSUxVUkUiOworfQorCis8L3NjcmlwdD4KKworPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+CisKKzxwPlRlc3QgcGFyc2luZyBvZiBDU1Mgc3F1YXItYnJh
Y2VzIGJsb2NrPC9wPgorCis8cCBpZD0ibWVzc2FnZSI+VEVTVCBESUQgTk9UIENPTVBMRVRFPC9w
PgorCis8cD5SdWxlcyBmcm9tIHRoZSBzdHlsZXNoZWV0OjwvcD4KKworPHByZSBpZD0icmVzdWx0
Ij4KKzxwIHN0eWxlPSJ7Zm9udC1zaXplOiAxNnB4O30iPkZvbnQgc2l6ZSBpcyAxNnB4LjwvcD4K
KworPC9wcmU+CisKKzxwPkV4cGVjdGVkIHJlc3VsdDo8L3A+CisKKzxwcmUgaWQ9ImV4cGVjdGVk
Ij4KKzxwIHN0eWxlPSJmb250LXNpemU6IDE2cHg7Ij5Gb250IHNpemUgaXMgMTZweC48L3A+CisK
KzwvcHJlPgorCis8c2NyaXB0PgorCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLXdyYXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3Mtd3JhcC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc3NzIxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLXdyYXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHg1NzkKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4
NHgyMQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjF4MjEKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjE6ICJUZXN0IHBhcnNpbmcgb2YgQ1NT
ICdcXG5cXHInIG5ldyBsaW5lIGNoYXJhY3RlcnMuIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgwLDM3KSBzaXplIDc4NHgyMQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAyMDV4MjEKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMDU6ICJURVNU
IERJRCBOT1QgQ09NUExFVEUiCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNzQpIHNpemUg
Nzg0eDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4M3gyMQor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE4MzogIlJ1bGVzIGZyb20gdGhlIHN0
eWxlc2hlZXQ6IgorICAgICAgUmVuZGVyQmxvY2sge1BSRX0gYXQgKDAsMTExKSBzaXplIDc4NHg0
NQorICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTYKKyAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA5NHgxNgorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggOTQ6ICJGb250IHNpemUgaXMgMTZweC4iCisgICAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDI4KSBzaXplIDc4NHgxNworICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MTcKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDA6ICIgIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE3Mikg
c2l6ZSA3ODR4MjEKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTE0
eDIxCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE0OiAiRXhwZWN0ZWQgcmVz
dWx0OiIKKyAgICAgIFJlbmRlckJsb2NrIHtQUkV9IGF0ICgwLDIwOSkgc2l6ZSA3ODR4NTQKKyAg
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDIxCisgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTI0eDIxCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAxMjQ6ICJGb250IHNpemUgaXMgMTZweC4iCisgICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM3KSBzaXplIDc4NHgxNworICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MTcKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDA6ICIgIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFy
c2luZy1jc3Mtd3JhcC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3Mtd3Jh
cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYjM1NzQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy13cmFwLmh0bWwK
QEAgLTAsMCArMSw1MyBAQAorPGhlYWQ+Cis8c3R5bGU+CisKKy8qIEJhc2UgZm9ybSBvZiB0aGUg
cnVsZTogKi8KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQorewor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0IikuZmlyc3RDaGlsZC5zdHlsZS5mb250U2l6ZSA9PT0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImV4cGVjdGVkIikuZmlyc3RDaGlsZC5zdHlsZS5mb250U2l6ZSkKKyAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lc3NhZ2UiKS5maXJzdENoaWxkLmRhdGEgPSAiU1VD
Q0VTUyI7CisgICAgZWxzZQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVzc2Fn
ZSIpLmZpcnN0Q2hpbGQuZGF0YSA9ICJGQUlMVVJFIjsKK30KKworLyoqIENoYW5nZXMgdGhlIHJl
c3VsdCB0ZXh0IGZvbnQgc2l6ZS4gKi8KK2Z1bmN0aW9uIGYoKQoreworCXZhciBkZXNjcmlwdE5v
ZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuZmlyc3RDaGlsZDsKKwlkZXNj
cmlwdE5vZGUuc2V0QXR0cmlidXRlKCJzdHlsZSIsIntmb250LXNpemU6XG5cciAxNnB4O30iKTsK
KwlydW5UZXN0KCk7Cit9CisKKzwvc2NyaXB0PgorCis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0i
c2V0VGltZW91dCgnZigpJywgMCkiPgorCis8cD5UZXN0IHBhcnNpbmcgb2YgQ1NTICdcblxyJyBu
ZXcgbGluZSBjaGFyYWN0ZXJzLjwvcD4KKworPHAgaWQ9Im1lc3NhZ2UiPlRFU1QgRElEIE5PVCBD
T01QTEVURTwvcD4KKworPHA+UnVsZXMgZnJvbSB0aGUgc3R5bGVzaGVldDo8L3A+CisKKzxwcmUg
aWQ9InJlc3VsdCI+Cis8cCBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyI+Rm9udCBzaXplIGlzIDE2
cHguPC9wPgorPC9wcmU+CisKKzxwPkV4cGVjdGVkIHJlc3VsdDo8L3A+CisKKzxwcmUgaWQ9ImV4
cGVjdGVkIj4KKzxwIHN0eWxlPSJmb250LXNpemU6IDE2cHg7Ij5Gb250IHNpemUgaXMgMTZweC48
L3A+Cis8L3ByZT4KKworPHNjcmlwdD4KKworPC9zY3JpcHQ+Cis8L2JvZHk+Ci0tIAoxLjcuNS40
Cgo=
</data>
<flag name="review"
          id="112594"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="201441"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>