<?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>3230</bug_id>
          
          <creation_ts>2005-06-01 14:35:03 -0700</creation_ts>
          <short_desc>CSS1: Words with inline elements get extra capital letters</short_desc>
          <delta_ts>2006-03-02 17:51:00 -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>412</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andrew</cc>
    
    <cc>bdakin</cc>
    
    <cc>nickshanks</cc>
    
    <cc>zach</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>10415</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-06-01 14:35:05 -0700</bug_when>
    <thetext>Words with inline elements should only have one capital letter when text-transform: capitalize is 
applied.

this is in the w3c test, and is mentioned on diveintomark.

test case:
&lt;html&gt;
&lt;head&gt;
&lt;style type=&quot;text/css&quot;&gt;
.cap {text-transform: capitalize;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;P&gt;Words with inline elements inside them should only capitalize the first letter of the word. 
Therefore, the last word in this sentence should have one, and only one, capital &lt;SPAN 
CLASS=cap&gt;le&lt;SPAN&gt;tt&lt;/SPAN&gt;er&lt;/SPAN&gt;. 
&lt;/P&gt;

&lt;/body&gt;
&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12115</commentid>
    <comment_count>1</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2005-06-15 07:33:21 -0700</bug_when>
    <thetext>See my testcase attached to other capitalise bug (#3406) for this, specifically the words &apos;earthquake&apos; 
&apos;earthworm&apos; and &apos;cheeseburger&apos; in the english and 3eme in the french.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26964</commentid>
    <comment_count>2</comment_count>
      <attachid>5328</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-28 01:56:12 -0800</bug_when>
    <thetext>Created attachment 5328
test case as attachement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32310</commentid>
    <comment_count>3</comment_count>
      <attachid>6458</attachid>
    <who name="Andrew Wellington">andrew</who>
    <bug_when>2006-02-13 04:44:28 -0800</bug_when>
    <thetext>Created attachment 6458
Proposed patch

While this doesn&apos;t use UBreakIterator, it does fix the problems we have displaying the CSS1 test suite and should make all capitalisation obey the same rules instead of inlines being able to break rendering (essentially we capitalise the first letter after a space and nothing else).

Also added Copyright to StringImpl because I wrote the last fix for capitalisation in here, otherwise it&apos;s hardly worth it :)

To be attached in a second after this, updated LayoutTests/css2.1/support/css1test545.png for the new capitalisation behaviour to draw the green box correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32311</commentid>
    <comment_count>4</comment_count>
      <attachid>6459</attachid>
    <who name="Andrew Wellington">andrew</who>
    <bug_when>2006-02-13 04:46:57 -0800</bug_when>
    <thetext>Created attachment 6459
Updated LayoutTests/css2.1/support/css1test545.png

Update to go with patch for background image from test case css2.1/t1605-c545-txttrans-00-b-ag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32320</commentid>
    <comment_count>5</comment_count>
      <attachid>6458</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-02-13 11:37:14 -0800</bug_when>
    <thetext>Comment on attachment 6458
Proposed patch

+                    for (o = previousRenderer(); o &amp;&amp; o-&gt;isInline() &amp;&amp; !o-&gt;isText(); o = o-&gt;previousRenderer())

This will include images that occur between words, e.g.,

foo&lt;img&gt;goo

I&apos;m not sure that&apos;s right.  You might want to see what other browsers do.


+                        ;
+                    if (o &amp;&amp; o-&gt;isText()) {
+                        DOMStringImpl* prevStr = static_cast&lt;RenderText*&gt;(o)-&gt;string();
+                        QChar c = (*prevStr)[prevStr-&gt;length() - 1];
+                        if (!c.isSpace())
+                            runOnString = true;
+                    }

Not sure about this from an RTL perspective.  Maybe Mitz could comment, but that seems dangerous to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32411</commentid>
    <comment_count>6</comment_count>
      <attachid>6471</attachid>
    <who name="Andrew Wellington">andrew</who>
    <bug_when>2006-02-13 16:21:02 -0800</bug_when>
    <thetext>Created attachment 6471
Proposed patch 2

Fix the img case hyatt mentioned. Works correctly with RTL text as discussed with mitzpettel. Added a new LayoutTest to check for img case and RTL case. Will add the greenbox.png to this bug. Will require updated pixel test image for updated tests as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32412</commentid>
    <comment_count>7</comment_count>
      <attachid>6472</attachid>
    <who name="Andrew Wellington">andrew</who>
    <bug_when>2006-02-13 16:22:28 -0800</bug_when>
    <thetext>Created attachment 6472
greenbox.png for testcase

Required for added test case in patch 2, located in LayoutTests/css1/text_properties/support/greenbox.png</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33237</commentid>
    <comment_count>8</comment_count>
      <attachid>6471</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-02-18 06:40:42 -0800</bug_when>
    <thetext>Comment on attachment 6471
Proposed patch 2

I think it&apos;s OK to land this now. I don&apos;t like the name &quot;runOnString&quot; for a boolean that means &quot;has a previous character is not a space&quot;, but those are nitpicks and this seems fine.

Dave had told me this is a difficult area to get right, but on his previous review he only mentioned the two issues that were investigated and fixed so I&apos;m going to assume all is well.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33274</commentid>
    <comment_count>9</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2006-02-18 11:17:27 -0800</bug_when>
    <thetext>To Andrew: Does this handle non?breaking spaces, zero?width space, thin spaces, em spaces etc. too?
Does it NOT capitalise after zero width joiner, zero width non?joiner?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33317</commentid>
    <comment_count>10</comment_count>
    <who name="Andrew Wellington">andrew</who>
    <bug_when>2006-02-18 18:27:53 -0800</bug_when>
    <thetext>Nick: This follows the same rules as capitalisation within a single span. From my tests this means that the following &quot;unusual&quot; characters are considered to break a work:
Thin Space
Em-space
En-space

Not breaking on:
non-breaking space (not sure if we should or not on this one)
zero-width non-joiner
zero-width joiner

The best way to resolve these is probably to use UBreakIterator, or to decide if they should be considered spaces for the isSpace() call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33355</commentid>
    <comment_count>11</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2006-02-19 01:50:43 -0800</bug_when>
    <thetext>Sorry about my previous comment, i didn&apos;t realise bugzilla couldn&apos;t handle unicode. (I have remapped U+2010 HYPHEN to the key between zero and equals.)

Word breaking isn&apos;t the same thing though, so you shouldn&apos;t be using UBreakIterator really. For example hyphenated words like Semi?circle (that&apos;s &quot;Semi-circle&quot; using a HYPHEN-MINUS) or Meso­potamia (Mesopotamia with a SOFT HYPHEN after the second syllable) can break after the hyphen but should not capitalise. All of the spaces from U+2002 to U+200B should be followed by a capital. As for the non?breaking space, which as best I can tell is mostly used in cases such as &quot;20 kg&quot; and &quot;Rameses II&quot; should probably not be capitalised due to usage, where for example &quot;100 ?&quot; ? &quot;100 ?&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33356</commentid>
    <comment_count>12</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2006-02-19 01:53:07 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; where for example &quot;100 ?&quot; ? &quot;100 ?&quot;.

Grr. That was supposed to say &quot;100 microns&quot; does not equal &quot;100 capital Mu&quot;.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34264</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-02-27 22:01:09 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Word breaking isn&apos;t the same thing though, so you shouldn&apos;t be using
&gt; UBreakIterator really.

That&apos;s the reason to not use UBreakIterator&apos;s &quot;word boundary analysis&quot;. But according to the ICU documentation &quot;title boundary analysis locates all positions, typically starts of words, that should be set to title case when title casing the text.&quot;

It seems that *is* what we want to use.

Anyway, since this bug is fixed, lets file new bug reports about further enhancements and cases that are behaving incorrectly instead of putting more comments here where no one is going to read them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34265</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-02-27 22:14:11 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; To be attached in a second after this, updated
&gt; LayoutTests/css2.1/support/css1test545.png for the new capitalisation behaviour
&gt; to draw the green box correctly.

I wanted to land this patch, but I don&apos;t understand why we have to modify the CSS 1 test suite itself. That PNG came with the test suite -- why do we want to change it?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34902</commentid>
    <comment_count>15</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2006-03-02 17:51:00 -0800</bug_when>
    <thetext>I committed this fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>5328</attachid>
            <date>2005-12-28 01:56:12 -0800</date>
            <delta_ts>2005-12-28 01:56:12 -0800</delta_ts>
            <desc>test case as attachement</desc>
            <filename>cap.html</filename>
            <type>text/html</type>
            <size>343</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgouY2FwIHt0ZXh0LXRyYW5zZm9y
bTogY2FwaXRhbGl6ZTt9Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8UD5Xb3JkcyB3aXRoIGlu
bGluZSBlbGVtZW50cyBpbnNpZGUgdGhlbSBzaG91bGQgb25seSBjYXBpdGFsaXplIHRoZSBmaXJz
dCBsZXR0ZXIgb2YgdGhlIHdvcmQuIApUaGVyZWZvcmUsIHRoZSBsYXN0IHdvcmQgaW4gdGhpcyBz
ZW50ZW5jZSBzaG91bGQgaGF2ZSBvbmUsIGFuZCBvbmx5IG9uZSwgY2FwaXRhbCA8U1BBTiAKQ0xB
U1M9Y2FwPmxlPFNQQU4+dHQ8L1NQQU4+ZXI8L1NQQU4+LiAKPC9QPgoKPC9ib2R5Pgo8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6458</attachid>
            <date>2006-02-13 04:44:28 -0800</date>
            <delta_ts>2006-02-13 16:21:02 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-3230-patch-1.txt</filename>
            <type>text/plain</type>
            <size>14697</size>
            <attacher name="Andrew Wellington">andrew</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEyNzc5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDYtMDItMTMgIEFuZHJldyBXZWxsaW5ndG9u
ICA8cHJvdG9uQHdpcmV0YXBwZWQubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorICAgICAgICAKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3
aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjMwCisgICAgICAgICAgQ1NTMTogV29yZHMgd2l0aCBp
bmxpbmUgZWxlbWVudHMgZ2V0IGV4dHJhIGNhcGl0YWwgbGV0dGVycworICAgICAgICAgIAorICAg
ICAgICBVcGRhdGUgZXhpc3RpbmcgdGVzdHMgZm9yIG5ldyByZXN1bHRzCisKKyAgICAgICAgKiBj
c3MxL3RleHRfcHJvcGVydGllcy90ZXh0LXRyYW5zQ2FwaXRhbGl6ZS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogY3NzMS90ZXh0X3Byb3BlcnRpZXMvdGV4dF90cmFuc2Zvcm0tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGNzczIuMS9zdXBwb3J0L2NzczF0ZXN0NTQ1LnBuZzoKKyAgICAgICAgKiBj
c3MyLjEvdDE2MDUtYzU0NS10eHR0cmFucy0wMC1iLWFnLWV4cGVjdGVkLnR4dDoKKwogMjAwNi0w
Mi0xMiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAa2lsemVyLm5ldD4KIAogICAgICAgICBSZXZp
ZXdlZCBhbmQgdHdlYWtlZCBieSBEYXJpbi4KSW5kZXg6IExheW91dFRlc3RzL2NzczEvdGV4dF9w
cm9wZXJ0aWVzL3RleHRfdHJhbnNmb3JtLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9jc3MxL3RleHRfcHJvcGVydGllcy90ZXh0X3RyYW5zZm9ybS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDEyNzc5KQorKysgTGF5b3V0VGVzdHMvY3NzMS90ZXh0X3Byb3BlcnRpZXMvdGV4
dF90cmFuc2Zvcm0tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxNiArMjYsMTYg
QEAKICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSA3NTN4MzYKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3NTM6ICJXb3JkcyB3aXRoIGlubGluZSBlbGVt
ZW50cyBpbnNpZGUgdGhlbSBzaG91bGQgb25seSBjYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXIg
b2YgdGhlIHdvcmQuIFRoZXJlZm9yZSwgdGhlIGxhc3Qgd29yZCBpbiB0aGlzIgogICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAzMDQ6ICJzZW50ZW5jZSBzaG91bGQgaGF2ZSBvbmUs
IGFuZCBvbmx5IG9uZSwgY2FwaXRhbCAiCi0gICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQg
KDAsMCkgc2l6ZSA0NngxOAorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNp
emUgMzd4MTgKICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMzA0LDE4KSBzaXplIDE3
eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzA0LDE4KSB3aWR0aCAxNzogIkxlIgotICAg
ICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxNHgxOAotICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDMyMSwxOCkgc2l6ZSAxNHgxOAotICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMzIxLDE4KSB3aWR0aCAxNDogIlR0IgotICAgICAgICAgIFJlbmRlclRl
eHQge1RFWFR9IGF0ICgzMzUsMTgpIHNpemUgMTV4MTgKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzMzUsMTgpIHdpZHRoIDE1OiAiRXIiCi0gICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgz
NTAsMTgpIHNpemUgNHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgzNTAsMTgpIHdpZHRoIDQ6
ICIuIgorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA4eDE4Cisg
ICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMzIxLDE4KSBzaXplIDh4MTgKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDMyMSwxOCkgd2lkdGggODogInR0IgorICAgICAgICAgIFJl
bmRlclRleHQge1RFWFR9IGF0ICgzMjksMTgpIHNpemUgMTJ4MTgKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgzMjksMTgpIHdpZHRoIDEyOiAiZXIiCisgICAgICAgIFJlbmRlclRleHQge1RFWFR9
IGF0ICgzNDEsMTgpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgzNDEsMTgpIHdp
ZHRoIDQ6ICIuIgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDMxNCkgc2l6ZSA3Njl4NTQK
ICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSA3MjF4MzYKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3MjE6ICJUSElTIFBBUkFHUkFQSCBJUyBVUFBFUkNB
U0VEIEFORCBTTUFMTCBDSEFSQUNURVJTIElOIFRIRSBTT1VSQ0UgKEUuRy4gQSBBTkQgXHh7QzV9
KSIKQEAgLTc1LDE2ICs3NSwxNiBAQAogICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9
IGF0ICgwLDApIHNpemUgNzI3eDM2CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCA3Mjc6ICJXb3JkcyB3aXRoIGlubGluZSBlbGVtZW50cyBpbnNpZGUgdGhlbSBzaG91
bGQgb25seSBjYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXIgb2YgdGhlIHdvcmQuIFRoZXJlZm9y
ZSwgdGhlIGxhc3Qgd29yZCBpbiIKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4
KSB3aWR0aCAzMzA6ICJ0aGlzIHNlbnRlbmNlIHNob3VsZCBoYXZlIG9uZSwgYW5kIG9ubHkgb25l
LCBjYXBpdGFsICIKLSAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDAp
IHNpemUgNDZ4MTgKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDAp
IHNpemUgMzd4MTgKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgzMzAs
MTgpIHNpemUgMTd4MTgKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMzMCwxOCkg
d2lkdGggMTc6ICJMZSIKLSAgICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQg
KDAsMCkgc2l6ZSAxNHgxOAotICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBh
dCAoMzQ3LDE4KSBzaXplIDE0eDE4Ci0gICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDM0NywxOCkgd2lkdGggMTQ6ICJUdCIKLSAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RF
WFR9IGF0ICgzNjEsMTgpIHNpemUgMTV4MTgKLSAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDM2MSwxOCkgd2lkdGggMTU6ICJFciIKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtU
RVhUfSBhdCAoMzc2LDE4KSBzaXplIDR4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzNzYsMTgpIHdpZHRoIDQ6ICIuIgorICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
VEVYVH0gYXQgKDM0NywxOCkgc2l6ZSA4eDE4CisgICAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDM0NywxOCkgd2lkdGggODogInR0IgorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7VEVYVH0gYXQgKDM1NSwxOCkgc2l6ZSAxMngxOAorICAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMzU1LDE4KSB3aWR0aCAxMjogImVyIgorICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQge1RFWFR9IGF0ICgzNjcsMTgpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDM2NywxOCkgd2lkdGggNDogIi4iCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoNCwxNzgpIHNpemUgNzQ3eDU0CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVY
VH0gYXQgKDAsMCkgc2l6ZSA3MjF4MzYKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDcyMTogIlRISVMgUEFSQUdSQVBIIElTIFVQUEVSQ0FTRUQgQU5EIFNNQUxMIENI
QVJBQ1RFUlMgSU4gVEhFIFNPVVJDRSAoRS5HLiBBIEFORCBceHtDNX0pIgpJbmRleDogTGF5b3V0
VGVzdHMvY3NzMS90ZXh0X3Byb3BlcnRpZXMvdGV4dC10cmFuc0NhcGl0YWxpemUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczEvdGV4dF9wcm9wZXJ0aWVzL3RleHQt
dHJhbnNDYXBpdGFsaXplLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTI3NzkpCisrKyBMYXlvdXRU
ZXN0cy9jc3MxL3RleHRfcHJvcGVydGllcy90ZXh0LXRyYW5zQ2FwaXRhbGl6ZS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTQxNCwyMSArNDE0LDIxIEBACiAgICAgICAgICAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzNHgxOAogICAgICAgICAgICAgICAgIFJl
bmRlclRleHQge1RFWFR9IGF0ICgyLDM4KSBzaXplIDM0eDE4CiAgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMiwzOCkgd2lkdGggMzQ6ICJFYXJ0aCIKLSAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7VEVYVH0gYXQgKDM2LDM4KSBzaXplIDgweDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDM2LDM4KSB3aWR0aCA4MDogIlF1YWtlIEVhcnRoIgotICAgICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNDB4MTgKLSAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHtURVhUfSBhdCAoMTE2LDM4KSBzaXplIDQweDE4Ci0gICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTE2LDM4KSB3aWR0aCA0MDogIldvcm0iCi0gICAgICAgICAgICAgIFJlbmRl
clRleHQge1RFWFR9IGF0ICgxNTYsMzgpIHNpemUgNHgxOAotICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxNTYsMzgpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtU
RVhUfSBhdCAoMzYsMzgpIHNpemUgNzZ4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzYsMzgpIHdpZHRoIDc2OiAicXVha2UgRWFydGgiCisgICAgICAgICAgICAgIFJlbmRlcklubGlu
ZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzN3gxOAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
e1RFWFR9IGF0ICgxMTIsMzgpIHNpemUgMzd4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxMTIsMzgpIHdpZHRoIDM3OiAid29ybSIKKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
VEVYVH0gYXQgKDE0OSwzOCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDE0OSwzOCkgd2lkdGggNDogIiAiCiAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0g
YXQgKDAsMCkgc2l6ZSA0NngxOAotICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0
ICgxNjAsMzgpIHNpemUgNDZ4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNjAs
MzgpIHdpZHRoIDQ2OiAiQ2hlZXNlIgotICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59
IGF0ICgwLDApIHNpemUgNDR4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBh
dCAoMjA2LDM4KSBzaXplIDQ0eDE4Ci0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjA2
LDM4KSB3aWR0aCA0NDogIkJ1cmdlciIKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0g
YXQgKDI1MCwzOCkgc2l6ZSAxMjZ4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUw
LDM4KSB3aWR0aCAxMjY6ICIgW0hvdXNlXSB+U2l4IC1CaWctIgorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQge1RFWFR9IGF0ICgxNTMsMzgpIHNpemUgNDZ4MTgKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxNTMsMzgpIHdpZHRoIDQ2OiAiQ2hlZXNlIgorICAgICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNDF4MTgKKyAgICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHtURVhUfSBhdCAoMTk5LDM4KSBzaXplIDQxeDE4CisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTk5LDM4KSB3aWR0aCA0MTogImJ1cmdlciIKKyAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7VEVYVH0gYXQgKDI0MCwzOCkgc2l6ZSAxMjZ4MTgKKyAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjQwLDM4KSB3aWR0aCAxMjY6ICIgW0hvdXNlXSB+U2l4IC1CaWctIgog
ICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VEh9IGF0ICgyLDE3MCkgc2l6ZSA1M3gyMiBbYmdjb2xvcj0j
RjhGOEY4XSBbYm9yZGVyOiAoMXB4IHNvbGlkICNFRUVFRUUpXSBbcj00IGM9MCBycz0xIGNzPTFd
CiAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgyMCwyKSBzaXplIDEzeDE4CkBA
IC00NDMsOSArNDQzLDkgQEAKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1
NywxOTQpIHNpemUgNzEweDI2IFtib3JkZXI6ICgxcHggc29saWQgI0VFRUVFRSldIFtyPTUgYz0x
IHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDIsNikgc2l6
ZSAyMjN4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiw2KSB3aWR0aCAyMjM6ICJR
dWVscXUndW4gTFx4ezIwMTl9YW1vdXIgVCdhcHBlbGxlc1x4ezIwMTF9dHUgMyIKLSAgICAgICAg
ICAgICAgUmVuZGVySW5saW5lIHtTVVB9IGF0ICgwLDApIHNpemUgMjR4MTUKLSAgICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMjI1LDIpIHNpemUgMjR4MTUKLSAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyMjUsMikgd2lkdGggMjQ6ICJFbWUiCisgICAgICAgICAgICAg
IFJlbmRlcklubGluZSB7U1VQfSBhdCAoMCwwKSBzaXplIDIyeDE1CisgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7VEVYVH0gYXQgKDIyNSwyKSBzaXplIDIyeDE1CisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjI1LDIpIHdpZHRoIDIyOiAiZW1lIgogICAgICAgICAgIFJlbmRlclRh
YmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VEh9IGF0ICgyLDIyMikgc2l6ZSA1M3gyMiBbYmdjb2xvcj0jRjhGOEY4XSBbYm9yZGVyOiAo
MXB4IHNvbGlkICNFRUVFRUUpXSBbcj02IGM9MCBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJl
bmRlclRleHQge1RFWFR9IGF0ICgxNywyKSBzaXplIDE4eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9j
c3MyLjEvdDE2MDUtYzU0NS10eHR0cmFucy0wMC1iLWFnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9jc3MyLjEvdDE2MDUtYzU0NS10eHR0cmFucy0wMC1iLWFnLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMTI3NzkpCisrKyBMYXlvdXRUZXN0cy9jc3MyLjEvdDE2MDUtYzU0
NS10eHR0cmFucy0wMC1iLWFnLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNzgsNyAr
NzgsNyBAQAogICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDIzMCwwKSBzaXplIDIw
eDEwCiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMzAsMCkgd2lkdGggMjA6ICJYeCIKICAg
ICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMjUwLDApIHNpemUgNDB4MTAKLSAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgyNTAsMCkgd2lkdGggNDA6ICJYeHggIgorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDI1MCwwKSB3aWR0aCA0MDogInh4eCAiCiAgICAgICAgICAgUmVuZGVySW5saW5l
IHtTUEFOfSBhdCAoMCwwKSBzaXplIDMweDEwCiAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhU
fSBhdCAoMjkwLDApIHNpemUgMzB4MTAKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI5MCww
KSB3aWR0aCAzMDogInh4eCIKQEAgLTg4LDcgKzg4LDcgQEAKICAgICAgICAgICAgIFJlbmRlclRl
eHQge1RFWFR9IGF0ICgyMzAsMTApIHNpemUgMjB4MTAKICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDIzMCwxMCkgd2lkdGggMjA6ICJQcCIKICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBh
dCAoMjUwLDEwKSBzaXplIDQweDEwCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUwLDEwKSB3
aWR0aCA0MDogIlBwcCAiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUwLDEwKSB3aWR0aCA0
MDogInBwcCAiCiAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDMw
eDEwCiAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMjkwLDEwKSBzaXplIDMweDEw
CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyOTAsMTApIHdpZHRoIDMwOiAicHBwIgpAQCAt
OTgsNyArOTgsNyBAQAogICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDIzMCwyMCkg
c2l6ZSAyMHgxMAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjMwLDIwKSB3aWR0aCAyMDog
Ilx4e0M5fVx4e0U5fSIKICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMjUwLDIwKSBz
aXplIDQweDEwCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUwLDIwKSB3aWR0aCA0MDogIlx4
e0M5fVx4e0U5fVx4e0U5fSAiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUwLDIwKSB3aWR0
aCA0MDogIlx4e0U5fVx4e0U5fVx4e0U5fSAiCiAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDMweDEwCiAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAo
MjkwLDIwKSBzaXplIDMweDEwCiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyOTAsMjApIHdp
ZHRoIDMwOiAiXHh7RTl9XHh7RTl9XHh7RTl9IgpJbmRleDogTGF5b3V0VGVzdHMvY3NzMi4xL3N1
cHBvcnQvY3NzMXRlc3Q1NDUucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vU3RyaW5nSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vU3RyaW5nSW1wbC5oCShyZXZpc2lvbiAxMjc3OSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vU3Ry
aW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCw3ICs4OCw3IEBACiAgICAgYm9vbCBpc0xv
d2VyKCkgY29uc3Q7CiAgICAgU3RyaW5nSW1wbCogbG93ZXIoKSBjb25zdDsKICAgICBTdHJpbmdJ
bXBsKiB1cHBlcigpIGNvbnN0OwotICAgIFN0cmluZ0ltcGwqIGNhcGl0YWxpemUoKSBjb25zdDsK
KyAgICBTdHJpbmdJbXBsKiBjYXBpdGFsaXplKGJvb2wgcnVuT25TdHJpbmcpIGNvbnN0OwogCiAg
ICAgaW50IGZpbmQoY29uc3QgY2hhciosIGludCBpbmRleCA9IDAsIGJvb2wgY2FzZVNlbnNpdGl2
ZSA9IHRydWUpIGNvbnN0OwogICAgIGludCBmaW5kKFFDaGFyLCBpbnQgaW5kZXggPSAwKSBjb25z
dDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vU3RyaW5nSW1wbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9TdHJpbmdJbXBsLmNwcAkocmV2aXNpb24gMTI3NzkpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL1N0cmluZ0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01LDYgKzUsNyBA
QAogICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3Jn
KQogICogICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVlbGxlciAoIG11ZWxsZXJAa2RlLm9yZyAp
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYgQXBwbGUgQ29tcHV0ZXIs
IEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBbmRyZXcgV2VsbGluZ3RvbiAocHJvdG9uQHdp
cmV0YXBwZWQubmV0KQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zNzMsMTAgKzM3NCwxMCBAQAog
ICAgIHJldHVybiBjOwogfQogCi1TdHJpbmdJbXBsKiBTdHJpbmdJbXBsOjpjYXBpdGFsaXplKCkg
Y29uc3QKK1N0cmluZ0ltcGwqIFN0cmluZ0ltcGw6OmNhcGl0YWxpemUoYm9vbCBydW5PblN0cmlu
ZykgY29uc3QKIHsKICAgICBTdHJpbmdJbXBsKiBjID0gbmV3IFN0cmluZ0ltcGw7Ci0gICAgYm9v
bCBoYXZlQ2FwcGVkID0gZmFsc2U7CisgICAgYm9vbCBoYXZlQ2FwcGVkID0gcnVuT25TdHJpbmc7
CiAgICAgaWYoIWwpIHJldHVybiBjOwogCiAgICAgYy0+cyA9IG5ld1FDaGFyVmVjdG9yKGwpOwpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29udGFpbmVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb250YWluZXIuY3BwCShyZXZpc2lvbiAxMjc3OSkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbnRhaW5lci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUsNiArNSw3IEBACiAgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtv
aXZpc3RvQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDIwMDAgRGlyayBNdWVsbGVyIChtdWVs
bGVyQGtkZS5vcmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYgQXBw
bGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBbmRyZXcgV2VsbGluZ3Rv
biAocHJvdG9uQHdpcmV0YXBwZWQubmV0KQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0xNTEsNiAr
MTUyLDE0IEBACiAJLy8ganVzdCBhZGQgaXQuLi4KIAlpbnNlcnRDaGlsZE5vZGUobmV3Q2hpbGQs
IGJlZm9yZUNoaWxkKTsKICAgICB9CisgICAgCisgICAgaWYgKG5ld0NoaWxkLT5pc1RleHQoKSAm
JgorICAgICAgICBuZXdDaGlsZC0+c3R5bGUoKS0+dGV4dFRyYW5zZm9ybSgpID09IENBUElUQUxJ
WkUpCisgICAgeworICAgICAgICBSZWZQdHI8RE9NU3RyaW5nSW1wbD4gdGV4dFRvVHJhbnNmb3Jt
ID0gIHN0YXRpY19jYXN0PFJlbmRlclRleHQqPihuZXdDaGlsZCktPm9yaWdpbmFsU3RyaW5nKCk7
CisgICAgICAgIGlmICh0ZXh0VG9UcmFuc2Zvcm0pCisgICAgICAgICAgICBzdGF0aWNfY2FzdDxS
ZW5kZXJUZXh0Kj4obmV3Q2hpbGQpLT5zZXRUZXh0KHRleHRUb1RyYW5zZm9ybS5nZXQoKSwgdHJ1
ZSk7CisgICAgfQogfQogCiBSZW5kZXJPYmplY3QqIFJlbmRlckNvbnRhaW5lcjo6cmVtb3ZlQ2hp
bGROb2RlKFJlbmRlck9iamVjdCogb2xkQ2hpbGQpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcAkocmV2aXNpb24gMTI3NzkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNCw2ICs0LDcgQEAKICAqIChDKSAxOTk5IExhcnMgS25vbGwg
KGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMCBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9y
ZykKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5j
LgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFuZHJldyBXZWxsaW5ndG9uIChwcm90b25Ad2lyZXRh
cHBlZC5uZXQpCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTg3Nyw3ICs4NzgsMjIgQEAKICAgICAg
ICAgc3RyID0gc3RyLT5yZXBsYWNlKCdcXCcsIGJhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2woKSk7
CiAgICAgICAgIGlmIChzdHlsZSgpKSB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0eWxlKCktPnRl
eHRUcmFuc2Zvcm0oKSkgewotICAgICAgICAgICAgICAgIGNhc2UgQ0FQSVRBTElaRTogc3RyID0g
c3RyLT5jYXBpdGFsaXplKCk7ICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIENBUElUQUxJ
WkU6CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvLyBmaW5kIHByZXZp
b3VzIHRleHQgcmVuZGVyZXIgaWYgb25lIGV4aXN0cworICAgICAgICAgICAgICAgICAgICBSZW5k
ZXJPYmplY3QqIG87CisgICAgICAgICAgICAgICAgICAgIGJvb2wgcnVuT25TdHJpbmcgPSBmYWxz
ZTsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChvID0gcHJldmlvdXNSZW5kZXJlcigpOyBvICYm
IG8tPmlzSW5saW5lKCkgJiYgIW8tPmlzVGV4dCgpOyBvID0gby0+cHJldmlvdXNSZW5kZXJlcigp
KQorICAgICAgICAgICAgICAgICAgICAgICAgOworICAgICAgICAgICAgICAgICAgICBpZiAobyAm
JiBvLT5pc1RleHQoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgRE9NU3RyaW5nSW1wbCog
cHJldlN0ciA9IHN0YXRpY19jYXN0PFJlbmRlclRleHQqPihvKS0+c3RyaW5nKCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBRQ2hhciBjID0gKCpwcmV2U3RyKVtwcmV2U3RyLT5sZW5ndGgoKSAt
IDFdOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjLmlzU3BhY2UoKSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBydW5PblN0cmluZyA9IHRydWU7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgc3RyID0gc3RyLT5jYXBpdGFsaXplKHJ1bk9uU3Ry
aW5nKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgICAgIGNhc2UgVVBQRVJDQVNFOiAgc3RyID0gc3RyLT51cHBlcigpOyAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgICBjYXNlIExPV0VSQ0FTRTogIHN0ciA9IHN0ci0+bG93ZXIo
KTsgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBOT05FOgpJbmRleDogV2ViQ29y
ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEy
Nzc5KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBA
QAorMjAwNi0wMi0xMyAgQW5kcmV3IFdlbGxpbmd0b24gIDxwcm90b25Ad2lyZXRhcHBlZC5uZXQ+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAg
ICAtIGZpeCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MzAKKyAgICAgICAgICBDU1MxOiBXb3JkcyB3aXRoIGlubGluZSBlbGVtZW50cyBnZXQgZXh0cmEg
Y2FwaXRhbCBsZXR0ZXJzCisgICAgICAgICAgCisgICAgICAgIERvZXMgbm90IHVzZSBVQnJlYWtJ
dGVyYXRvciAoeWV0PykgZm9yIHRoaXMsIGJ1dCBhIHJlbGF0aXZlbHkgc2ltcGxlCisgICAgICAg
IGNoYW5nZSB0aGF0IGZpeGVzIG91ciBmYWlsdXJlIGluIHRoZSBDU1MxIHRlc3Qgc3VpdGUgKDUu
NC41KS4KKworICAgICAgICAqIHBsYXRmb3JtL1N0cmluZ0ltcGwuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3RyaW5nSW1wbDo6Y2FwaXRhbGl6ZSk6IHNwZWNpZnkgaWYgdGhpcyBpcyBhIHJ1bi1v
bgorICAgICAgICAqIHBsYXRmb3JtL1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckNvbnRhaW5lcjo6
YWRkQ2hpbGQpOiBjaGFuZ2UgdG8gcmUtcnVuCisgICAgICAgICAgICBjYXBpdGFsaXNhdGlvbiB3
aGVuIGFkZGVkIGludG8gdHJlZSBhcyBwcmV2aW91cyB0ZXh0IG5vZGUgY2hhbmdlcworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRl
eHQ6OnNldFRleHQpOiBjaGVjayBpZiBwcmV2aW91cyBub2RlIGlzIHRleHQgdGhhdAorICAgICAg
ICAgICAgZG9lc24ndCBlbmQgaW4gYSBzcGFjZQorCiAyMDA2LTAyLTEyICBEYXJpbiBBZGxlciAg
PGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBIeWF0dC4K
</data>
<flag name="review"
          id="1601"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6459</attachid>
            <date>2006-02-13 04:46:57 -0800</date>
            <delta_ts>2006-02-13 04:46:57 -0800</delta_ts>
            <desc>Updated LayoutTests/css2.1/support/css1test545.png</desc>
            <filename>css1test545.png</filename>
            <type>image/png</type>
            <size>1804</size>
            <attacher name="Andrew Wellington">andrew</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAUAAAACWCAIAAAAg4sZ7AAAABGdBTUEAANjr9RwUqgAABBJpQ0NQ
UGhvdG9zaG9wIElDQyBwcm9maWxlAAB42mNg4HiSWFCQw8TAwJCbV1IU5O6kEBEZpcB+lYGHgZuB
j0GGwSAxubjAMSDAhwEn+HaNgRFEX9YFmXVd5ejXjY1MuSG/5U9//H9dlwE/4C0CWsjAwKgAZIuk
Q9gmIHYShO0BYpeXFJQA2TEgdnJGYgqQXQBk6xSFBDkD2XOAbL50CHsNiJ0EYe8BscuS00F6zzAw
MAvlpWTmMTCwPACy+VJSi5MZGNg/ANXMSS4oAqrh6AGydXNz84Hmc4D0aoDCAuLMQkUGBgsRBgam
cwixOCcGhs1xDAxS0ggx9WKgEw8yMGwzR4h9jgOHD2PW5+I0YyOwEKPkCwYG7qD//19KAJ14hYHh
L+///z9U/v///YiBgW0ZA8NktuTSojJoGDEynmVgIMSH+BMKmIEWMjIws3Fy8wkIi4pLSsvKKyqr
qmloaevqGxgZm5iZW1pZ29rZOzo5u7i5e3h6+/j6+QcGBYeEhgHdHR0TGxefkJiYlJySmpaenpGZ
lZ2Tm5dfUFhUXFpWXlFVXVNX39DU3NLW3tnV3dvXP2HS5ClTp02fMXPW7Dlz581fsHDRosVLli5b
vnzFylWrV69Zu279+g0bN23avGXr1m3bd+zYuWv37j179+7bf+DAwUOHDx85evTY8RMnTp46ffrM
2bPnzl+4cPHSpctXrly9dv36jZs3b92+fefu3Xv37z94+PDR48dPnj599vz5i5cvX71+/ebt23fv
33/4+PHT589fvn799u37jx8/f/36/fvP37///v0f9f8I9z8DJL+DMwQbA8NSIB0ExG5APP0AA4Oa
OAOD4G8GBg8HBgZg8cb0LA2OmRkqGECFIiMDK7AcFGFQYNBjcGAIYchhaGdYxnCS4QOjNKM3YwPj
LsZfTPZM3Ux3mc2YpzH/ZclhecSayPqCrZydj309RwQnF+cRrg7uYB51Xmbe53yX+A8LHBF8Kawv
MlmMX3yepKXUDZkSOWb5SoXLSirKhSq71BjUnTVaNU9o8+mE6y7V+2MQa3ja2MPkhlmdha2VpI2Y
naVDi9N71yIPPq9Dvn0BRcG5YfWRy2KeJJglz0kXy1qYZ1f4pnRFZVGtR6N2q3KnaW/ixOXTWGZV
zedYvGZF+lqzTVLbhfbIHrQ4lnx67oU31wJvX3pY9Nz0rcJn858N//+P+ne4+xdS54GBmK+ro4Kh
uYWZm4uCc2JOZlJRYklqCqz+EGPwZXBlcASGiyGDOYMFgxkw07gAec4MicAwymRIYigCskoYUhlS
CBtGHChJrQDXX875BZVFmekZJQqOwNZEqoJzfm5BaUlqkY6CZ16yno6CkYGBMUgdpJ4GAZOFDAzi
wNzKtHA3j2IDurkAkiZYCbxk92cAAAAgY0hSTQAAWKQAAFk7AAD0HQAAfM8AAGEhAADQ3wAALocA
ABPMeHxmAgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAmRJREFUeNrt3UuOo0AQQEHsk3Nz97J3yLic
zk9FiC0MjXkqNELk83UcH2/HebXtduS4LeucV/7drH13+42eB9CWgEHAgIABAYOAAQEDAgYEDFsF
/DivtpV9444cp+M573Y1Vu66rDt2ZbMCg0doQMCAgEHAgIABAQP3A36dV9vKvnFHjtPxnHe7Git3
XdYdu7JZgcEjNCBgQMAgYEDAgIABAYOAgSoBz/tSxG7iviPR8e+1AgN9Ap73ju5u4t7g7fj3WoEB
AQMCBgQMAgYEDAgYEDAIGKgYsOmEv7kaHZlOaDoh4BEaBAwIGBAwIGAQMNAzYNMJf3M1OjKd0HRC
wCM0CBgQMCBgQMAgYEDAgICB/4DNeuvOdELTCYGeAZv11p3phKYTAgIGBAwIGAQMCBgQMCBgEDBQ
PeCsKXLzeIO3wn1lOiHgERoQMAgYEDAgYEDAIOC8KXLz+I5EhfvKdELAIzQgYBAwIGBAwICAQcCA
gIGogDt+cyPr6xY1v6qRNZ3Qr2AFBtYC7vi2c9Z7xTXfZ86aTuhXsAIDAgYBAwIGBAwIGAQMCBgQ
MCBgZpr3vrrphGAFBgQMCBgQMAgYEDAgYPY276spphOCFRgQMCBgQMAgYEDAgIBBwECPgONm22Ud
OU7Nc+44nbDmvllX0goMu67AcbPtso4cp+Y5d5xOWHPfrCtpBQb/iQUIGBAwIGAQMCBgQMCAgGFC
wN6Ffp93oWdfjZotmE4IHqEBAQMCBgQMAgYEDNwP2Bc53ueLHLOvRs0WTCcEj9CAgAEBAwIGAQMC
BgQMAgYEDN9Xc0qggIHb/gA87nW/VMU2YAAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6471</attachid>
            <date>2006-02-13 16:21:02 -0800</date>
            <delta_ts>2006-02-18 06:40:42 -0800</delta_ts>
            <desc>Proposed patch 2</desc>
            <filename>bug-3230-patch-2.txt</filename>
            <type>text/plain</type>
            <size>19038</size>
            <attacher name="Andrew Wellington">andrew</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2NzczEvdGV4dF9wcm9wZXJ0aWVzL3RleHQtY2FwaXRhbGl6ZS1v
ZGR0ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMS90ZXh0X3Byb3BlcnRp
ZXMvdGV4dC1jYXBpdGFsaXplLW9kZHRleHQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2NzczEvdGV4dF9wcm9wZXJ0aWVzL3RleHQtY2FwaXRhbGl6ZS1vZGR0ZXh0Lmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGV4dCBU
cmFuc2Zvcm0gQ2FwaXRhbGl6ZSBUZXN0czwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPgor
VGhpcyBmaWxlIHRlc3RzIGNhcGl0YWxpc2F0aW9uIHdpdGggYWxsIHNvcnRzIG9mIG9kZCB0aGlu
Z3MuIFRoZXJlIGlzIHNvbWUgUlRMIHRleHQsIHNvbWUgdGV4dCB3aXRoIGFuIGlubGluZWQtZGl2
IHBsYWNlZCBpbnNpZGUgYSB3b3JkLCBhbiBpbWFnZSBiZXR3ZWVuIHdvcmRzIGFzIHdlbGwgYXMg
YSBkaXYgYmV0d2VlbiB3b3Jkcy4gRWFjaCB3b3JkIGJlbG93IHNob3VsZCBiZSBjYXBpdGFsaXNl
ZCwgYW5kIHRoZXJlIHNob3VsZCBiZSBubyBjYXBpdGFscyBuIHRoZSBtaWRkbGUgb2Ygd29yZHMu
Cis8L3A+Cis8ZGl2IHN0eWxlPSJtYXJnaW46IDIwcHg7IHBhZGRpbmc6IDIwcHg7IGJvcmRlcjog
NXB4IHNvbGlkIHJlZDsiPgorPGRpdiBzdHlsZT0idW5pY29kZS1iaWRpOiBiaWRpLW92ZXJyaWRl
OyBkaXJlY3Rpb246IHJ0bDsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7Ij5jYXBpPHNwYW4+
dGFsPC9zcGFuPmlzZTwvZGl2PgorPGRpdiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IGNhcGl0YWxp
emUiPmEgdzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZSI+b3I8L2Rpdj5kIHdpdGg8aW1nIHNy
Yz0ic3VwcG9ydC9ncmVlbmJveC5wbmciPmFuIGltYWdlPGRpdj48L2Rpdj5pbiBiZTxzcGFuPnR3
PC9zcGFuPmVlbjwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvY3NzMS90ZXh0X3Byb3BlcnRpZXMvdGV4
dF90cmFuc2Zvcm0tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczEv
dGV4dF9wcm9wZXJ0aWVzL3RleHRfdHJhbnNmb3JtLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTI3
ODMpCisrKyBMYXlvdXRUZXN0cy9jc3MxL3RleHRfcHJvcGVydGllcy90ZXh0X3RyYW5zZm9ybS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI2LDE2ICsyNiwxNiBAQAogICAgICAgICBS
ZW5kZXJUZXh0IHtURVhUfSBhdCAoMCwwKSBzaXplIDc1M3gzNgogICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDc1MzogIldvcmRzIHdpdGggaW5saW5lIGVsZW1lbnRzIGluc2lkZSB0
aGVtIHNob3VsZCBvbmx5IGNhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciBvZiB0aGUgd29yZC4g
VGhlcmVmb3JlLCB0aGUgbGFzdCB3b3JkIGluIHRoaXMiCiAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMTgpIHdpZHRoIDMwNDogInNlbnRlbmNlIHNob3VsZCBoYXZlIG9uZSwgYW5kIG9ubHkgb25l
LCBjYXBpdGFsICIKLSAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDQ2
eDE4CisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzN3gxOAogICAg
ICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgzMDQsMTgpIHNpemUgMTd4MTgKICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzMDQsMTgpIHdpZHRoIDE3OiAiTGUiCi0gICAgICAgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE0eDE4Ci0gICAgICAgICAgICBSZW5kZXJUZXh0
IHtURVhUfSBhdCAoMzIxLDE4KSBzaXplIDE0eDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzMjEsMTgpIHdpZHRoIDE0OiAiVHQiCi0gICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQg
KDMzNSwxOCkgc2l6ZSAxNXgxOAotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMzNSwxOCkgd2lk
dGggMTU6ICJFciIKLSAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDM1MCwxOCkgc2l6ZSA0
eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDM1MCwxOCkgd2lkdGggNDogIi4iCisgICAgICAg
ICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAgICAgICAgIFJl
bmRlclRleHQge1RFWFR9IGF0ICgzMjEsMTgpIHNpemUgOHgxOAorICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMzIxLDE4KSB3aWR0aCA4OiAidHQiCisgICAgICAgICAgUmVuZGVyVGV4dCB7VEVY
VH0gYXQgKDMyOSwxOCkgc2l6ZSAxMngxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMyOSwx
OCkgd2lkdGggMTI6ICJlciIKKyAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDM0MSwxOCkg
c2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDM0MSwxOCkgd2lkdGggNDogIi4iCiAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzE0KSBzaXplIDc2OXg1NAogICAgICAgICBSZW5k
ZXJUZXh0IHtURVhUfSBhdCAoMCwwKSBzaXplIDcyMXgzNgogICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDcyMTogIlRISVMgUEFSQUdSQVBIIElTIFVQUEVSQ0FTRUQgQU5EIFNNQUxM
IENIQVJBQ1RFUlMgSU4gVEhFIFNPVVJDRSAoRS5HLiBBIEFORCBceHtDNX0pIgpAQCAtNzUsMTYg
Kzc1LDE2IEBACiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6
ZSA3Mjd4MzYKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDcyNzog
IldvcmRzIHdpdGggaW5saW5lIGVsZW1lbnRzIGluc2lkZSB0aGVtIHNob3VsZCBvbmx5IGNhcGl0
YWxpemUgdGhlIGZpcnN0IGxldHRlciBvZiB0aGUgd29yZC4gVGhlcmVmb3JlLCB0aGUgbGFzdCB3
b3JkIGluIgogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDMzMDog
InRoaXMgc2VudGVuY2Ugc2hvdWxkIGhhdmUgb25lLCBhbmQgb25seSBvbmUsIGNhcGl0YWwgIgot
ICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA0NngxOAor
ICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzN3gxOAog
ICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDMzMCwxOCkgc2l6ZSAxN3gx
OAogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzMwLDE4KSB3aWR0aCAxNzogIkxl
IgotICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE0
eDE4Ci0gICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgzNDcsMTgpIHNp
emUgMTR4MTgKLSAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzQ3LDE4KSB3aWR0
aCAxNDogIlR0IgotICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDM2MSwx
OCkgc2l6ZSAxNXgxOAotICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzYxLDE4KSB3
aWR0aCAxNTogIkVyIgotICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgzNzYs
MTgpIHNpemUgNHgxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM3NiwxOCkgd2lk
dGggNDogIi4iCisgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDAp
IHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMzQ3
LDE4KSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzQ3LDE4
KSB3aWR0aCA4OiAidHQiCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAo
MzU1LDE4KSBzaXplIDEyeDE4CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNTUs
MTgpIHdpZHRoIDEyOiAiZXIiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQg
KDM2NywxOCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzY3LDE4
KSB3aWR0aCA0OiAiLiIKICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDE3OCkg
c2l6ZSA3NDd4NTQKICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMCwwKSBz
aXplIDcyMXgzNgogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzIx
OiAiVEhJUyBQQVJBR1JBUEggSVMgVVBQRVJDQVNFRCBBTkQgU01BTEwgQ0hBUkFDVEVSUyBJTiBU
SEUgU09VUkNFIChFLkcuIEEgQU5EIFx4e0M1fSkiCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MxL3Rl
eHRfcHJvcGVydGllcy90ZXh0LXRyYW5zQ2FwaXRhbGl6ZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvY3NzMS90ZXh0X3Byb3BlcnRpZXMvdGV4dC10cmFuc0NhcGl0YWxp
emUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMjc4MykKKysrIExheW91dFRlc3RzL2NzczEvdGV4
dF9wcm9wZXJ0aWVzL3RleHQtdHJhbnNDYXBpdGFsaXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtNDE0LDIxICs0MTQsMjEgQEAKICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDM0eDE4CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVY
VH0gYXQgKDIsMzgpIHNpemUgMzR4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
LDM4KSB3aWR0aCAzNDogIkVhcnRoIgotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBh
dCAoMzYsMzgpIHNpemUgODB4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzYsMzgp
IHdpZHRoIDgwOiAiUXVha2UgRWFydGgiCi0gICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BB
Tn0gYXQgKDAsMCkgc2l6ZSA0MHgxOAotICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9
IGF0ICgxMTYsMzgpIHNpemUgNDB4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
MTYsMzgpIHdpZHRoIDQwOiAiV29ybSIKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0g
YXQgKDE1NiwzOCkgc2l6ZSA0eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE1Niwz
OCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgzNiwz
OCkgc2l6ZSA3NngxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNiwzOCkgd2lkdGgg
NzY6ICJxdWFrZSBFYXJ0aCIKKyAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAo
MCwwKSBzaXplIDM3eDE4CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDEx
MiwzOCkgc2l6ZSAzN3gxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDExMiwzOCkg
d2lkdGggMzc6ICJ3b3JtIgorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMTQ5
LDM4KSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQ5LDM4KSB3aWR0
aCA0OiAiICIKICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDQ2eDE4Ci0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDE2MCwzOCkgc2l6
ZSA0NngxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2MCwzOCkgd2lkdGggNDY6
ICJDaGVlc2UiCi0gICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6
ZSA0NHgxOAotICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgyMDYsMzgpIHNp
emUgNDR4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDYsMzgpIHdpZHRoIDQ0
OiAiQnVyZ2VyIgotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMjUwLDM4KSBz
aXplIDEyNngxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNTAsMzgpIHdpZHRoIDEy
NjogIiBbSG91c2VdIH5TaXggLUJpZy0iCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVY
VH0gYXQgKDE1MywzOCkgc2l6ZSA0NngxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDE1MywzOCkgd2lkdGggNDY6ICJDaGVlc2UiCisgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7
U1BBTn0gYXQgKDAsMCkgc2l6ZSA0MXgxOAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQge1RF
WFR9IGF0ICgxOTksMzgpIHNpemUgNDF4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxOTksMzgpIHdpZHRoIDQxOiAiYnVyZ2VyIgorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtU
RVhUfSBhdCAoMjQwLDM4KSBzaXplIDEyNngxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgyNDAsMzgpIHdpZHRoIDEyNjogIiBbSG91c2VdIH5TaXggLUJpZy0iCiAgICAgICAgICAgUmVu
ZGVyVGFibGVSb3cge1RSfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtUSH0gYXQgKDIsMTcwKSBzaXplIDUzeDIyIFtiZ2NvbG9yPSNGOEY4RjhdIFtib3Jk
ZXI6ICgxcHggc29saWQgI0VFRUVFRSldIFtyPTQgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDIwLDIpIHNpemUgMTN4MTgKQEAgLTQ0Myw5ICs0NDMs
OSBAQAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDU3LDE5NCkgc2l6ZSA3
MTB4MjYgW2JvcmRlcjogKDFweCBzb2xpZCAjRUVFRUVFKV0gW3I9NSBjPTEgcnM9MSBjcz0xXQog
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMiw2KSBzaXplIDIyM3gxOAogICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDYpIHdpZHRoIDIyMzogIlF1ZWxxdSd1biBMXHh7
MjAxOX1hbW91ciBUJ2FwcGVsbGVzXHh7MjAxMX10dSAzIgotICAgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge1NVUH0gYXQgKDAsMCkgc2l6ZSAyNHgxNQotICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQge1RFWFR9IGF0ICgyMjUsMikgc2l6ZSAyNHgxNQotICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDIyNSwyKSB3aWR0aCAyNDogIkVtZSIKKyAgICAgICAgICAgICAgUmVuZGVySW5saW5l
IHtTVVB9IGF0ICgwLDApIHNpemUgMjJ4MTUKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtU
RVhUfSBhdCAoMjI1LDIpIHNpemUgMjJ4MTUKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgyMjUsMikgd2lkdGggMjI6ICJlbWUiCiAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBh
dCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtUSH0gYXQgKDIs
MjIyKSBzaXplIDUzeDIyIFtiZ2NvbG9yPSNGOEY4RjhdIFtib3JkZXI6ICgxcHggc29saWQgI0VF
RUVFRSldIFtyPTYgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVY
VH0gYXQgKDE3LDIpIHNpemUgMTh4MTgKSW5kZXg6IExheW91dFRlc3RzL2NzczEvdGV4dF9wcm9w
ZXJ0aWVzL3RleHQtY2FwaXRhbGl6ZS1vZGR0ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9jc3MxL3RleHRfcHJvcGVydGllcy90ZXh0LWNhcGl0YWxpemUtb2RkdGV4
dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jc3MxL3RleHRfcHJv
cGVydGllcy90ZXh0LWNhcGl0YWxpemUtb2RkdGV4dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJD
YW52YXMgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU3MgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgwLDApIHNpemUgNzg0eDU0CisgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgwLDApIHNp
emUgNzc2eDU0CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzc1OiAiVGhpcyBm
aWxlIHRlc3RzIGNhcGl0YWxpc2F0aW9uIHdpdGggYWxsIHNvcnRzIG9mIG9kZCB0aGluZ3MuIFRo
ZXJlIGlzIHNvbWUgUlRMIHRleHQsIHNvbWUgdGV4dCB3aXRoIGFuIGlubGluZWQtZGl2IHBsYWNl
ZCBpbnNpZGUiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDc3NjogImEgd29y
ZCwgYW4gaW1hZ2UgYmV0d2VlbiB3b3JkcyBhcyB3ZWxsIGFzIGEgZGl2IGJldHdlZW4gd29yZHMu
IEVhY2ggd29yZCBiZWxvdyBzaG91bGQgYmUgY2FwaXRhbGlzZWQsIGFuZCB0aGVyZSBzaG91bGQi
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDIzMjogImJlIG5vIGNhcGl0YWxz
IG4gdGhlIG1pZGRsZSBvZiB3b3Jkcy4iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjAs
NzQpIHNpemUgNzQ0eDExNSBbYm9yZGVyOiAoNXB4IHNvbGlkICNGRjAwMDApXQorICAgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMjUsMjUpIHNpemUgNjk0eDE4CisgICAgICAgICAgUmVuZGVy
VGV4dCB7VEVYVH0gYXQgKDY2NCwwKSBzaXplIDMweDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNjY0LDApIHdpZHRoIDMwIFJUTCBvdmVycmlkZTogIkNhcGkiCisgICAgICAgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE1eDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0
IHtURVhUfSBhdCAoNjQ5LDApIHNpemUgMTV4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDY0OSwwKSB3aWR0aCAxNSBSVEwgb3ZlcnJpZGU6ICJ0YWwiCisgICAgICAgICAgUmVuZGVyVGV4
dCB7VEVYVH0gYXQgKDYzMiwwKSBzaXplIDE3eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjMyLDApIHdpZHRoIDE3IFJUTCBvdmVycmlkZTogImlzZSIKKyAgICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDI1LDQzKSBzaXplIDY5NHg0NworICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDApIHNpemUgNjk0eDI5CisgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhU
fSBhdCAoMCwxMSkgc2l6ZSAzMXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMSkg
d2lkdGggMzE6ICJBIFciCisgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0RJVn0gYXQgKDAsMCkg
c2l6ZSAxM3gxOAorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMzEsMTEpIHNp
emUgMTN4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzEsMTEpIHdpZHRoIDEzOiAi
b3IiCisgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoNDQsMTEpIHNpemUgNDN4MTgK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ0LDExKSB3aWR0aCA0MzogImQgV2l0aCIKKyAg
ICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg4NywwKSBzaXplIDI1eDI1CisgICAgICAg
ICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMTEyLDExKSBzaXplIDYzeDE4CisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMTIsMTEpIHdpZHRoIDYzOiAiQW4gSW1hZ2UiCisgICAgICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMjkpIHNpemUgNjk0eDAKKyAgICAgICAgICBSZW5kZXJC
bG9jayAoYW5vbnltb3VzKSBhdCAoMCwyOSkgc2l6ZSA2OTR4MTgKKyAgICAgICAgICAgIFJlbmRl
clRleHQge1RFWFR9IGF0ICgwLDApIHNpemUgMzV4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMzU6ICJJbiBCZSIKKyAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BB
Tn0gYXQgKDAsMCkgc2l6ZSAxNngxOAorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBh
dCAoMzUsMCkgc2l6ZSAxNngxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwwKSB3
aWR0aCAxNjogInR3IgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDUxLDApIHNp
emUgMjJ4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUxLDApIHdpZHRoIDIyOiAiZWVu
IgpJbmRleDogTGF5b3V0VGVzdHMvY3NzMS90ZXh0X3Byb3BlcnRpZXMvc3VwcG9ydC9ncmVlbmJv
eC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkg
dHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvY3NzMS90ZXh0X3Byb3BlcnRpZXMvc3VwcG9ydC9ncmVl
bmJveC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24v
b2N0ZXQtc3RyZWFtCgpJbmRleDogTGF5b3V0VGVzdHMvY3NzMi4xL3QxNjA1LWM1NDUtdHh0dHJh
bnMtMDAtYi1hZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMi4x
L3QxNjA1LWM1NDUtdHh0dHJhbnMtMDAtYi1hZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEyNzgz
KQorKysgTGF5b3V0VGVzdHMvY3NzMi4xL3QxNjA1LWM1NDUtdHh0dHJhbnMtMDAtYi1hZy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTc4LDcgKzc4LDcgQEAKICAgICAgICAgICAgIFJl
bmRlclRleHQge1RFWFR9IGF0ICgyMzAsMCkgc2l6ZSAyMHgxMAogICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjMwLDApIHdpZHRoIDIwOiAiWHgiCiAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVY
VH0gYXQgKDI1MCwwKSBzaXplIDQweDEwCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUwLDAp
IHdpZHRoIDQwOiAiWHh4ICIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNTAsMCkgd2lkdGgg
NDA6ICJ4eHggIgogICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAz
MHgxMAogICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDI5MCwwKSBzaXplIDMweDEw
CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyOTAsMCkgd2lkdGggMzA6ICJ4eHgiCkBAIC04
OCw3ICs4OCw3IEBACiAgICAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMjMwLDEwKSBz
aXplIDIweDEwCiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMzAsMTApIHdpZHRoIDIwOiAi
UHAiCiAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDI1MCwxMCkgc2l6ZSA0MHgxMAot
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI1MCwxMCkgd2lkdGggNDA6ICJQcHAgIgorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI1MCwxMCkgd2lkdGggNDA6ICJwcHAgIgogICAgICAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMHgxMAogICAgICAgICAgICAgUmVuZGVy
VGV4dCB7VEVYVH0gYXQgKDI5MCwxMCkgc2l6ZSAzMHgxMAogICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMjkwLDEwKSB3aWR0aCAzMDogInBwcCIKQEAgLTk4LDcgKzk4LDcgQEAKICAgICAgICAg
ICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgyMzAsMjApIHNpemUgMjB4MTAKICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDIzMCwyMCkgd2lkdGggMjA6ICJceHtDOX1ceHtFOX0iCiAgICAgICAg
ICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDI1MCwyMCkgc2l6ZSA0MHgxMAotICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDI1MCwyMCkgd2lkdGggNDA6ICJceHtDOX1ceHtFOX1ceHtFOX0gIgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDI1MCwyMCkgd2lkdGggNDA6ICJceHtFOX1ceHtFOX1ceHtF
OX0gIgogICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMHgxMAog
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDI5MCwyMCkgc2l6ZSAzMHgxMAogICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjkwLDIwKSB3aWR0aCAzMDogIlx4e0U5fVx4e0U5fVx4
e0U5fSIKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzgzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDYtMDItMTMgIEFuZHJldyBXZWxs
aW5ndG9uICA8cHJvdG9uQHdpcmV0YXBwZWQubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9w
ZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjMwCisgICAgICAgICAgQ1NTMTogV29yZHMg
d2l0aCBpbmxpbmUgZWxlbWVudHMgZ2V0IGV4dHJhIGNhcGl0YWwgbGV0dGVycworICAgICAgICAg
IAorICAgICAgICBVcGRhdGUgZXhpc3RpbmcgdGVzdHMgZm9yIG5ldyByZXN1bHRzIGFuZCBhZGQg
bmV3IHRlc3QKKworICAgICAgICAqIGNzczEvdGV4dF9wcm9wZXJ0aWVzL3N1cHBvcnQvZ3JlZW5i
b3gucG5nOiBBZGRlZAorICAgICAgICAqIGNzczEvdGV4dF9wcm9wZXJ0aWVzL3RleHQtY2FwaXRh
bGl6ZS1vZGR0ZXh0LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZAorICAgICAgICAqIGNzczEvdGV4
dF9wcm9wZXJ0aWVzL3RleHQtY2FwaXRhbGl6ZS1vZGR0ZXh0LWV4cGVjdGVkLnBuZzogQWRkZWQK
KyAgICAgICAgKiBjc3MxL3RleHRfcHJvcGVydGllcy90ZXh0LWNhcGl0YWxpemUtb2RkdGV4dC1l
eHBlY3RlZC50eHQ6IEFkZGVkCisgICAgICAgICogY3NzMS90ZXh0X3Byb3BlcnRpZXMvdGV4dC1j
YXBpdGFsaXplLW9kZHRleHQuaHRtbDogQWRkZWQKKyAgICAgICAgKiBjc3MxL3RleHRfcHJvcGVy
dGllcy90ZXh0LXRyYW5zQ2FwaXRhbGl6ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMS90
ZXh0X3Byb3BlcnRpZXMvdGV4dF90cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNz
czIuMS9zdXBwb3J0L2NzczF0ZXN0NTQ1LnBuZzoKKyAgICAgICAgKiBjc3MyLjEvdDE2MDUtYzU0
NS10eHR0cmFucy0wMC1iLWFnLWV4cGVjdGVkLnR4dDoKKwogMjAwNi0wMi0xMiAgRGF2aWQgS2ls
emVyICA8ZGRraWx6ZXJAa2lsemVyLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBhbmQgdHdlYWtl
ZCBieSBEYXJpbi4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vU3RyaW5nSW1wbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vU3RyaW5nSW1wbC5oCShyZXZpc2lvbiAxMjc4MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vU3RyaW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCw3ICs4
OCw3IEBACiAgICAgYm9vbCBpc0xvd2VyKCkgY29uc3Q7CiAgICAgU3RyaW5nSW1wbCogbG93ZXIo
KSBjb25zdDsKICAgICBTdHJpbmdJbXBsKiB1cHBlcigpIGNvbnN0OwotICAgIFN0cmluZ0ltcGwq
IGNhcGl0YWxpemUoKSBjb25zdDsKKyAgICBTdHJpbmdJbXBsKiBjYXBpdGFsaXplKGJvb2wgcnVu
T25TdHJpbmcpIGNvbnN0OwogCiAgICAgaW50IGZpbmQoY29uc3QgY2hhciosIGludCBpbmRleCA9
IDAsIGJvb2wgY2FzZVNlbnNpdGl2ZSA9IHRydWUpIGNvbnN0OwogICAgIGludCBmaW5kKFFDaGFy
LCBpbnQgaW5kZXggPSAwKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vU3RyaW5nSW1w
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9TdHJpbmdJbXBsLmNwcAkocmV2
aXNpb24gMTI3ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1N0cmluZ0ltcGwuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01LDYgKzUsNyBAQAogICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZp
c3RvIChrb2l2aXN0b0BrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVlbGxl
ciAoIG11ZWxsZXJAa2RlLm9yZyApCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUs
IDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBbmRyZXcg
V2VsbGluZ3RvbiAocHJvdG9uQHdpcmV0YXBwZWQubmV0KQogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0zNzMsMTAgKzM3NCwxMCBAQAogICAgIHJldHVybiBjOwogfQogCi1TdHJpbmdJbXBsKiBTdHJp
bmdJbXBsOjpjYXBpdGFsaXplKCkgY29uc3QKK1N0cmluZ0ltcGwqIFN0cmluZ0ltcGw6OmNhcGl0
YWxpemUoYm9vbCBydW5PblN0cmluZykgY29uc3QKIHsKICAgICBTdHJpbmdJbXBsKiBjID0gbmV3
IFN0cmluZ0ltcGw7Ci0gICAgYm9vbCBoYXZlQ2FwcGVkID0gZmFsc2U7CisgICAgYm9vbCBoYXZl
Q2FwcGVkID0gcnVuT25TdHJpbmc7CiAgICAgaWYoIWwpIHJldHVybiBjOwogCiAgICAgYy0+cyA9
IG5ld1FDaGFyVmVjdG9yKGwpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29udGFp
bmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb250YWluZXIu
Y3BwCShyZXZpc2lvbiAxMjc4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbnRhaW5l
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUsNiArNSw3IEBACiAgKiAgICAgICAgICAgKEMpIDE5
OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDIw
MDAgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMs
IDIwMDQsIDIwMDUsIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykg
MjAwNiBBbmRyZXcgV2VsbGluZ3RvbiAocHJvdG9uQHdpcmV0YXBwZWQubmV0KQogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC0xNTEsNiArMTUyLDE0IEBACiAJLy8ganVzdCBhZGQgaXQuLi4KIAlpbnNl
cnRDaGlsZE5vZGUobmV3Q2hpbGQsIGJlZm9yZUNoaWxkKTsKICAgICB9CisgICAgCisgICAgaWYg
KG5ld0NoaWxkLT5pc1RleHQoKSAmJgorICAgICAgICBuZXdDaGlsZC0+c3R5bGUoKS0+dGV4dFRy
YW5zZm9ybSgpID09IENBUElUQUxJWkUpCisgICAgeworICAgICAgICBSZWZQdHI8RE9NU3RyaW5n
SW1wbD4gdGV4dFRvVHJhbnNmb3JtID0gIHN0YXRpY19jYXN0PFJlbmRlclRleHQqPihuZXdDaGls
ZCktPm9yaWdpbmFsU3RyaW5nKCk7CisgICAgICAgIGlmICh0ZXh0VG9UcmFuc2Zvcm0pCisgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxSZW5kZXJUZXh0Kj4obmV3Q2hpbGQpLT5zZXRUZXh0KHRleHRU
b1RyYW5zZm9ybS5nZXQoKSwgdHJ1ZSk7CisgICAgfQogfQogCiBSZW5kZXJPYmplY3QqIFJlbmRl
ckNvbnRhaW5lcjo6cmVtb3ZlQ2hpbGROb2RlKFJlbmRlck9iamVjdCogb2xkQ2hpbGQpCkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkocmV2aXNpb24gMTI3ODMpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNCw2ICs0LDcgQEAKICAq
IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMCBEaXJrIE11
ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAw
NiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFuZHJldyBXZWxs
aW5ndG9uIChwcm90b25Ad2lyZXRhcHBlZC5uZXQpCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTg3
Nyw3ICs4NzgsMjIgQEAKICAgICAgICAgc3RyID0gc3RyLT5yZXBsYWNlKCdcXCcsIGJhY2tzbGFz
aEFzQ3VycmVuY3lTeW1ib2woKSk7CiAgICAgICAgIGlmIChzdHlsZSgpKSB7CiAgICAgICAgICAg
ICBzd2l0Y2ggKHN0eWxlKCktPnRleHRUcmFuc2Zvcm0oKSkgewotICAgICAgICAgICAgICAgIGNh
c2UgQ0FQSVRBTElaRTogc3RyID0gc3RyLT5jYXBpdGFsaXplKCk7ICBicmVhazsKKyAgICAgICAg
ICAgICAgICBjYXNlIENBUElUQUxJWkU6CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAvLyBmaW5kIHByZXZpb3VzIHRleHQgcmVuZGVyZXIgaWYgb25lIGV4aXN0cworICAg
ICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIG87CisgICAgICAgICAgICAgICAgICAgIGJv
b2wgcnVuT25TdHJpbmcgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChvID0gcHJl
dmlvdXNSZW5kZXJlcigpOyBvICYmIG8tPmlzSW5saW5lRmxvdygpOyBvID0gby0+cHJldmlvdXNS
ZW5kZXJlcigpKQorICAgICAgICAgICAgICAgICAgICAgICAgOworICAgICAgICAgICAgICAgICAg
ICBpZiAobyAmJiBvLT5pc1RleHQoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgRE9NU3Ry
aW5nSW1wbCogcHJldlN0ciA9IHN0YXRpY19jYXN0PFJlbmRlclRleHQqPihvKS0+c3RyaW5nKCk7
CisgICAgICAgICAgICAgICAgICAgICAgICBRQ2hhciBjID0gKCpwcmV2U3RyKVtwcmV2U3RyLT5s
ZW5ndGgoKSAtIDFdOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjLmlzU3BhY2UoKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5PblN0cmluZyA9IHRydWU7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgc3RyID0gc3RyLT5jYXBpdGFsaXpl
KHJ1bk9uU3RyaW5nKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgVVBQRVJDQVNFOiAgc3RyID0gc3RyLT51cHBlcigp
OyAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIExPV0VSQ0FTRTogIHN0ciA9IHN0
ci0+bG93ZXIoKTsgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBOT05FOgpJbmRl
eDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEyNzgzKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMyBAQAorMjAwNi0wMi0xMyAgQW5kcmV3IFdlbGxpbmd0b24gIDxwcm90b25Ad2lyZXRh
cHBlZC5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAg
IAorICAgICAgICAtIGZpeCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcu
Y2dpP2lkPTMyMzAKKyAgICAgICAgICBDU1MxOiBXb3JkcyB3aXRoIGlubGluZSBlbGVtZW50cyBn
ZXQgZXh0cmEgY2FwaXRhbCBsZXR0ZXJzCisgICAgICAgICAgCisgICAgICAgIERvZXMgbm90IHVz
ZSBVQnJlYWtJdGVyYXRvciAoeWV0PykgZm9yIHRoaXMsIGJ1dCBhIHJlbGF0aXZlbHkgc2ltcGxl
CisgICAgICAgIGNoYW5nZSB0aGF0IGZpeGVzIG91ciBmYWlsdXJlIGluIHRoZSBDU1MxIHRlc3Qg
c3VpdGUgKDUuNC41KS4KKworICAgICAgICAqIHBsYXRmb3JtL1N0cmluZ0ltcGwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3RyaW5nSW1wbDo6Y2FwaXRhbGl6ZSk6IHNwZWNpZnkgaWYgdGhpcyBp
cyBhIHJ1bi1vbgorICAgICAgICAqIHBsYXRmb3JtL1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckNv
bnRhaW5lcjo6YWRkQ2hpbGQpOiBjaGFuZ2UgdG8gcmUtcnVuCisgICAgICAgICAgICBjYXBpdGFs
aXNhdGlvbiB3aGVuIGFkZGVkIGludG8gdHJlZSBhcyBwcmV2aW91cyB0ZXh0IG5vZGUgY2hhbmdl
cworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHQ6OnNldFRleHQpOiBjaGVjayBpZiBwcmV2aW91cyBub2RlIGlzIHRleHQgdGhh
dAorICAgICAgICAgICAgZG9lc24ndCBlbmQgaW4gYSBzcGFjZQorCiAyMDA2LTAyLTEzICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBIeWF0dC4K
</data>
<flag name="review"
          id="1606"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6472</attachid>
            <date>2006-02-13 16:22:28 -0800</date>
            <delta_ts>2006-02-13 16:22:28 -0800</delta_ts>
            <desc>greenbox.png for testcase</desc>
            <filename>greenbox.png</filename>
            <type>image/png</type>
            <size>95</size>
            <attacher name="Andrew Wellington">andrew</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAIAAABLixI0AAAAJklEQVR4nGJg+M9ANTRq1qhZo2aN
mjVq1qhZo2ZhIAAAAAD//wMA1XBuro0zsokAAAAASUVORK5CYII=
</data>

          </attachment>
      

    </bug>

</bugzilla>