<?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>27458</bug_id>
          
          <creation_ts>2009-07-20 12:32:22 -0700</creation_ts>
          <short_desc>Support :default HTML5 CSS selector</short_desc>
          <delta_ts>2009-08-12 15:21:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#selector-default</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>19264</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Kasting">pkasting</reporter>
          <assigned_to name="Michelangelo De Simone">michelangelo</assigned_to>
          <cc>adele</cc>
    
    <cc>darin</cc>
    
    <cc>pkasting</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>133197</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-07-20 12:32:22 -0700</bug_when>
    <thetext>See spec section 4.13.

Basically, :default matches form buttons that are the default buttons for their forms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138179</commentid>
    <comment_count>1</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-07 15:04:30 -0700</bug_when>
    <thetext>There&apos;s a glitch in the code I&apos;ve been testing for this bug. I&apos;m looking for the best way to compare two HTMLFormControlElement to check whether they&apos;re the same element or not.

Any clue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138244</commentid>
    <comment_count>2</comment_count>
      <attachid>34350</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-07 17:57:48 -0700</bug_when>
    <thetext>Created attachment 34350
Simple test with multiple submit buttons</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138248</commentid>
    <comment_count>3</comment_count>
      <attachid>34352</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-07 17:59:16 -0700</bug_when>
    <thetext>Created attachment 34352
Preliminary patch

This is the piece of code which I need some help about:

bool HTMLFormControlElement::isDefaultButtonForForm() const
{
    if (!isSuccessfulSubmitButton() || !m_form)
        return false;

    return isSameNode(m_form-&gt;defaultButton()); // equivalent to m_form-&gt;defaultButton() == this;
}

This method is called by CSSStyleSelector to match element&apos;s style but, for reasons I can&apos;t quite understand, it always returns true on this test:

&lt;input name=&quot;victim&quot; type=&quot;submit&quot; value=&quot;Submit&quot; /&gt; &lt;- It should match only this one
&lt;input name=&quot;victim&quot; type=&quot;submit&quot; value=&quot;Submit&quot;/&gt;
&lt;input name=&quot;victim&quot; type=&quot;submit&quot; value=&quot;Submit&quot;/&gt;

However, the right style is matched if one of the two &quot;not default&quot; submit buttons is kept pressed: try to apply the patch and keep pressed  one of the last two buttons in the test.

So, the question is quite simple: there should be a way to check univocally one element&apos;s against another. Node::isEqualNode() isn&apos;t the answer for sure.
I tought that this issue can depend on something related to the attachment thread but I&apos;m not certain about it: any kind of help would be much appreciated.

m_form-&gt;defaultButton() always returns the first submit button, take it as functioning.:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139009</commentid>
    <comment_count>4</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-11 10:09:35 -0700</bug_when>
    <thetext>CC&apos;ed Adele and Darin, perhaps they&apos;ve some good suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139016</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-11 10:13:56 -0700</bug_when>
    <thetext>You should never use isSameNode in C++ code. It&apos;s only there because it&apos;s part of the DOM standard. To check if two nodes are the same you should just use ==. I am almost certain the problem you&apos;re having is not due to the &quot;==&quot; check -- you can verify that with some printf debugging.

I believe you&apos;re having trouble because of style sharing. I don&apos;t have time to explain it right now, but two identical elements will share style, and the style sharing mechanism doesn&apos;t know that these elements can&apos;t share style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139081</commentid>
    <comment_count>6</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-11 13:35:59 -0700</bug_when>
    <thetext>Ok, everything&apos;s ok now. A clean patch is underway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139100</commentid>
    <comment_count>7</comment_count>
      <attachid>34593</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-11 14:26:52 -0700</bug_when>
    <thetext>Created attachment 34593
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139101</commentid>
    <comment_count>8</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-08-11 14:30:16 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=34593) [details]
&gt; Patch v1

Might be good to have a negative test, where no controls match :default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139249</commentid>
    <comment_count>9</comment_count>
      <attachid>34593</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-11 22:42:51 -0700</bug_when>
    <thetext>Comment on attachment 34593
Patch v1

These tests would be better as modern fast/js style tests.  see make-js-test-wrappers and fast/js/resources/  and TEMPLATE.html files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139498</commentid>
    <comment_count>10</comment_count>
      <attachid>34684</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-12 13:28:27 -0700</bug_when>
    <thetext>Created attachment 34684
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139573</commentid>
    <comment_count>11</comment_count>
      <attachid>34684</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-12 15:05:11 -0700</bug_when>
    <thetext>Comment on attachment 34684
Patch v1

&gt; +    DEFINE_STATIC_LOCAL(AtomicString, defaultStr, (&quot;default&quot;));

Do we really need the abbreviation &quot;Str&quot; here? I know we can&apos;t use default because it&apos;s a reserved word, but how about defaultString or defaultAtomicString?

&gt; +bool HTMLFormControlElement::isDefaultButtonForForm() const
&gt; +{
&gt; +    if (!isSuccessfulSubmitButton() || !m_form)
&gt; +        return false;
&gt; +
&gt; +    return m_form-&gt;defaultButton() == this;
&gt; +}

I think this would read better in a single line:

    return isSuccessfulSubmitButton() &amp;&amp; m_form &amp;&amp; m_form-&gt;defaultButton() == this;

Easier to read!

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139575</commentid>
    <comment_count>12</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-12 15:08:03 -0700</bug_when>
    <thetext>(In reply to comment #11)

&gt; &gt; +    DEFINE_STATIC_LOCAL(AtomicString, defaultStr, (&quot;default&quot;));
&gt; Do we really need the abbreviation &quot;Str&quot; here? I know we can&apos;t use default
&gt; because it&apos;s a reserved word, but how about defaultString or
&gt; defaultAtomicString?

Ok.

&gt; I think this would read better in a single line:
&gt;     return isSuccessfulSubmitButton() &amp;&amp; m_form &amp;&amp; m_form-&gt;defaultButton() ==
&gt; this;
&gt; Easier to read!

Ok.:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139584</commentid>
    <comment_count>13</comment_count>
      <attachid>34699</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-12 15:12:53 -0700</bug_when>
    <thetext>Created attachment 34699
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139593</commentid>
    <comment_count>14</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-08-12 15:21:20 -0700</bug_when>
    <thetext>Fixed in r47155.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>34350</attachid>
            <date>2009-08-07 17:57:48 -0700</date>
            <delta_ts>2009-08-07 17:57:48 -0700</delta_ts>
            <desc>Simple test with multiple submit buttons</desc>
            <filename>MultipleSubmitTest.html</filename>
            <type>text/html</type>
            <size>403</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8dGl0bGU+ZGVmYXVsdCBDU1MgcHNldWRvY2xhc3M8L3RpdGxlPgo8c3R5
bGU+CiBpbnB1dDpkZWZhdWx0IHsgYmFja2dyb3VuZDogbGltZTsgfQogaW5wdXQgeyBiYWNrZ3Jv
dW5kOiByZWQ7IH0KPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KPHA+QWxsIGNvbnRyb2xzIHNob3Vs
ZCBoYXZlIGEgZ3JlZW4gYmFja2dyb3VuZC48L3A+Cjxmb3JtIG1ldGhvZD0iZ2V0Ij4KPGlucHV0
IG5hbWU9InZpY3RpbSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0IiAvPgo8aW5wdXQgbmFt
ZT0idmljdGltIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiLz4KPGlucHV0IG5hbWU9InZp
Y3RpbSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ii8+CjwvZm9ybT4KPC9ib2R5Pgo8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34352</attachid>
            <date>2009-08-07 17:59:16 -0700</date>
            <delta_ts>2009-08-11 14:26:45 -0700</delta_ts>
            <desc>Preliminary patch</desc>
            <filename>Pre-27458.patch</filename>
            <type>text/plain</type>
            <size>5121</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmNwcAppbmRleCA4MDkxMGE3Li4xYzNhMmQ3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBA
IC03Nyw2ICs3Nyw3IEBAIHZvaWQgQ1NTU2VsZWN0b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY29u
c3QKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgYmVmb3JlLCAoImJlZm9y
ZSIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgY2hlY2tlZCwgKCJj
aGVja2VkIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBmaWxlVXBs
b2FkQnV0dG9uLCAoIi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIikpOworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBkZWZhdWx0U3RyLCAoImRlZmF1bHQiKSk7CiAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGRpc2FibGVkLCAoImRpc2FibGVkIikp
OwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCByZWFkT25seSwgKCJyZWFk
LW9ubHkiKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHJlYWRXcml0
ZSwgKCJyZWFkLXdyaXRlIikpOwpAQCAtMTcwLDcgKzE3MSw5IEBAIHZvaWQgQ1NTU2VsZWN0b3I6
OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3QKICAgICBlbHNlIGlmIChtX3ZhbHVlID09IGZpbGVV
cGxvYWRCdXR0b24pIHsKICAgICAgICAgbV9wc2V1ZG9UeXBlID0gUHNldWRvRmlsZVVwbG9hZEJ1
dHRvbjsKICAgICAgICAgZWxlbWVudCA9IHRydWU7Ci0gICAgfSBlbHNlIGlmIChtX3ZhbHVlID09
IGRpc2FibGVkKQorICAgIH0gZWxzZSBpZiAobV92YWx1ZSA9PSBkZWZhdWx0U3RyKQorICAgICAg
ICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9EZWZhdWx0OworICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0g
ZGlzYWJsZWQpCiAgICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb0Rpc2FibGVkOwogICAgIGVs
c2UgaWYgKG1fdmFsdWUgPT0gcmVhZE9ubHkpCiAgICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVk
b1JlYWRPbmx5OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaCBiL1dlYkNv
cmUvY3NzL0NTU1NlbGVjdG9yLmgKaW5kZXggMTgyNTFmZC4uNTNkZTUwZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5o
CkBAIC0xMjYsNiArMTI2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgUHNl
dWRvQ2hlY2tlZCwKICAgICAgICAgICAgIFBzZXVkb0VuYWJsZWQsCiAgICAgICAgICAgICBQc2V1
ZG9GdWxsUGFnZU1lZGlhLAorICAgICAgICAgICAgUHNldWRvRGVmYXVsdCwKICAgICAgICAgICAg
IFBzZXVkb0Rpc2FibGVkLAogICAgICAgICAgICAgUHNldWRvSW5wdXRQbGFjZWhvbGRlciwKICAg
ICAgICAgICAgIFBzZXVkb09wdGlvbmFsLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA3
Y2ZhM2UxLi5lNjkwNGQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9y
LmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMjM1OCw2ICsy
MzU4LDggQEAgYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25l
U2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWUKICAgICAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0Z1bGxQYWdlTWVkaWE6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGUgJiYg
ZS0+ZG9jdW1lbnQoKSAmJiBlLT5kb2N1bWVudCgpLT5pc01lZGlhRG9jdW1lbnQoKTsKICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0Rl
ZmF1bHQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGUgJiYgZS0+aXNEZWZhdWx0QnV0dG9uRm9y
Rm9ybSgpOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRGlzYWJsZWQ6CiAg
ICAgICAgICAgICAgICAgaWYgKGUgJiYgZS0+aXNGb3JtQ29udHJvbEVsZW1lbnQoKSkgewogICAg
ICAgICAgICAgICAgICAgICBJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IHRvSW5wdXRFbGVt
ZW50KGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvV2ViQ29yZS9kb20v
RWxlbWVudC5oCmluZGV4IDBmZjJlZDEuLjI2YTIxMjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTIxNCw2ICsyMTQsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzVGV4dEZvcm1Db250cm9sKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNPcHRpb25hbEZvcm1Db250cm9sKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZXF1aXJlZEZvcm1D
b250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNEZWZh
dWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFs
IGJvb2wgZm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEZvcm1Db250cm9sVmFsdWVNYXRjaGVzUmVuZGVy
ZXIoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5kZXgg
MDlkOTFkZi4uMjE4Mjg4NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNw
cApAQCAtMjk0LDYgKzI5NCwxNCBAQCBIVE1MRm9ybUVsZW1lbnQqIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6OnZpcnR1YWxGb3JtKCkgY29uc3QKICAgICByZXR1cm4gbV9mb3JtOwogfQogCitib29s
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzRGVmYXVsdEJ1dHRvbkZvckZvcm0oKSBjb25zdAor
eworICAgIGlmICghaXNTdWNjZXNzZnVsU3VibWl0QnV0dG9uKCkgfHwgIW1fZm9ybSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGlzU2FtZU5vZGUobV9mb3JtLT5kZWZhdWx0
QnV0dG9uKCkpOworfQorCiB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlbW92ZUZyb21G
b3JtKCkKIHsKICAgICBpZiAoIW1fZm9ybSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5oCmluZGV4IGEzMGY0NmMuLjkwMmJiZjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaApAQCAtMTE3LDYgKzExNyw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIEhUTUxGb3JtRWxlbWVudCogdmlydHVhbEZvcm0oKSBjb25zdDsKKyAgICB2aXJ0dWFs
IGJvb2wgaXNEZWZhdWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0OwogCiAgICAgSFRNTEZvcm1FbGVt
ZW50KiBtX2Zvcm07CiAgICAgUmVmUHRyPFZhbGlkaXR5U3RhdGU+IG1fdmFsaWRpdHlTdGF0ZTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKaW5kZXggNTQ5ODZiMC4uNTFmYjM1ZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5jcHAKQEAgLTU3Nyw2ICs1NzcsMTcgQEAgdm9pZCBIVE1MRm9ybUVsZW1l
bnQ6OnNldFRhcmdldChjb25zdCBTdHJpbmcgJnZhbHVlKQogICAgIHNldEF0dHJpYnV0ZSh0YXJn
ZXRBdHRyLCB2YWx1ZSk7CiB9CiAKK0hUTUxGb3JtQ29udHJvbEVsZW1lbnQqIEhUTUxGb3JtRWxl
bWVudDo6ZGVmYXVsdEJ1dHRvbigpIGNvbnN0Cit7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGZvcm1FbGVtZW50cy5zaXplKCk7ICsraSkgeworICAgICAgICBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50KiBjb250cm9sID0gZm9ybUVsZW1lbnRzW2ldOworICAgICAgICBpZiAoY29udHJvbC0+
aXNTdWNjZXNzZnVsU3VibWl0QnV0dG9uKCkpCisgICAgICAgICAgICByZXR1cm4gY29udHJvbDsK
KyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogUGFzc1JlZlB0cjxIVE1MRm9ybUNvbnRyb2xF
bGVtZW50PiBIVE1MRm9ybUVsZW1lbnQ6OmVsZW1lbnRGb3JBbGlhcyhjb25zdCBBdG9taWNTdHJp
bmcmIGFsaWFzKQogewogICAgIGlmIChhbGlhcy5pc0VtcHR5KCkgfHwgIW1fZWxlbWVudEFsaWFz
ZXMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmggYi9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggNmI3ODEyYS4uYWZlMWZmMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuaApAQCAtMTA3LDYgKzEwNyw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
U3RyaW5nIHRhcmdldCgpIGNvbnN0OwogICAgIHZvaWQgc2V0VGFyZ2V0KGNvbnN0IFN0cmluZyYp
OworCisgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudCogZGVmYXVsdEJ1dHRvbigpIGNvbnN0Owog
ICAgIAogICAgIFBhc3NSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4gZWxlbWVudEZvckFs
aWFzKGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgIHZvaWQgYWRkRWxlbWVudEFsaWFzKEhUTUxG
b3JtQ29udHJvbEVsZW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmIGFsaWFzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34593</attachid>
            <date>2009-08-11 14:26:52 -0700</date>
            <delta_ts>2009-08-12 13:28:19 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-27458-20090811232649.patch</filename>
            <type>text/plain</type>
            <size>13467</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MjJjM2EyLi4zZTE1MzE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMDgt
MTEgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNkZXNpbUBnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU4CisgICAgICAgIFRlc3Qgc3VpdGUgZm9yIHRo
ZSA6ZGVmYXVsdCBDU1MgcHNldWRvY2xhc3MuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8t
ZGVmYXVsdC0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1
ZG8tZGVmYXVsdC0wMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvcHNldWRvLWRl
ZmF1bHQtMDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvcHNldWRv
LWRlZmF1bHQtMDAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3BzZXVkby1kZWZh
dWx0LTAwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3BzZXVkby1k
ZWZhdWx0LTAwMy5odG1sOiBBZGRlZC4KKwogMjAwOS0wOC0xMSAgTWlrZSBGZW50b24gIDxtaWtl
LmZlbnRvbkB0b3JjaG1vYmlsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBUcmVh
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MzhhYzEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQWxsIGNvbnRyb2xzIHNob3VsZCBoYXZlIGEg
Z3JlZW4gYmFja2dyb3VuZC4KKworCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Bz
ZXVkby1kZWZhdWx0LTAwMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmE2MmNhNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8t
ZGVmYXVsdC0wMDEuaHRtbApAQCAtMCwwICsxLDM3IEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxl
PmRlZmF1bHQgQ1NTIHBzZXVkb2NsYXNzPC90aXRsZT4KKzxzdHlsZT4KKyBpbnB1dDpkZWZhdWx0
IHsgYmFja2dyb3VuZDogbGltZTsgfQorIGJ1dHRvbjpkZWZhdWx0IHsgYmFja2dyb3VuZDogbGlt
ZTsgfQorIGlucHV0IHsgYmFja2dyb3VuZDogcmVkOyB9CisgYnV0dG9uIHsgYmFja2dyb3VuZDog
cmVkOyB9Cis8L3N0eWxlPgorPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KKyAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSAiPGxpPiIrbWVzc2Fn
ZSsiPC9saT4iOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgdiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlO
YW1lKCJ2aWN0aW0iKTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdi5sZW5ndGg7IGkrKykK
KyAgICAgICAgICAgIGlmIChkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHZb
aV0sIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSA9PSAicmdiKDAs
IDI1NSwgMCkiKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgIH0KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHA+QWxsIGNvbnRyb2xzIHNob3VsZCBo
YXZlIGEgZ3JlZW4gYmFja2dyb3VuZC48L3A+Cis8Zm9ybSBtZXRob2Q9ImdldCI+Cis8aW5wdXQg
bmFtZT0idmljdGltIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiIC8+Cis8L2Zvcm0+Cis8
aHI+Cis8b2wgaWQ9ImNvbnNvbGUiPjwvb2w+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjljNWE5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDYgQEAKK09ubHkgdGhlIGZpcnN0IHN1Ym1pdCBidXR0b24gc2hvdWxkIGhhdmUg
YSBncmVlbiBiYWNrZ3JvdW5kLgorCisgIFN1Ym1pdAorU1VDQ0VTUworU1VDQ0VTUworU1VDQ0VT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAyLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDU0ZjkzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAyLmh0bWwKQEAgLTAsMCArMSw0
MyBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5kZWZhdWx0IENTUyBwc2V1ZG9jbGFzcyAyPC90
aXRsZT4KKzxzdHlsZT4KKyBpbnB1dCB7IGJhY2tncm91bmQ6IHJlZDsgfQorIGJ1dHRvbiB7IGJh
Y2tncm91bmQ6IHJlZDsgfQorIDpkZWZhdWx0IHsgYmFja2dyb3VuZDogbGltZTsgfQorPC9zdHls
ZT4KKzxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CisgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gIjxsaT4iK21lc3NhZ2UrIjwvbGk+IjsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworCisgICAgICAgIGlmIChkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCd2aWN0aW0nKVswXSwgbnVsbCkuZ2V0UHJvcGVy
dHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpID09ICJyZ2IoMCwgMjU1LCAwKSIpCisgICAgICAg
ICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nKCJGQUlM
VVJFIik7CisKKyAgICAgICAgdiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCJ2aWN0aW0i
KTsKKworICAgICAgICBmb3IgKGkgPSAxOyBpIDwgdi5sZW5ndGg7IGkrKykKKyAgICAgICAgICAg
IGlmIChkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHZbaV0sIG51bGwpLmdl
dFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSA9PSAicmdiKDI1NSwgMCwgMCkiKQor
ICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHA+T25seSB0aGUgZmlyc3Qgc3VibWl0IGJ1dHRvbiBzaG91
bGQgaGF2ZSBhIGdyZWVuIGJhY2tncm91bmQuPC9wPgorPGZvcm0gbWV0aG9kPSJnZXQiPgorPGlu
cHV0IG5hbWU9InZpY3RpbSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0IiAvPgorPGlucHV0
IG5hbWU9InZpY3RpbSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ii8+Cis8YnV0dG9uIG5h
bWU9InZpY3RpbSIgdHlwZT0ic3VibWl0Ii8+U3VibWl0PC9idXR0b24+Cis8L2Zvcm0+Cis8aHI+
Cis8b2wgaWQ9ImNvbnNvbGUiPjwvb2w+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmY0OTdlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKK09ubHkgdGhlIGZpcnN0IHN1Ym1pdCBidXR0b24gc2hvdWxkIGhhdmUgYSBn
cmVlbiBiYWNrZ3JvdW5kLgorCitTdWJtaXQgIAorU1VDQ0VTUworU1VDQ0VTUworU1VDQ0VTUwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmY1Y2EyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAzLmh0bWwKQEAgLTAsMCArMSw0MyBA
QAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5kZWZhdWx0IENTUyBwc2V1ZG9jbGFzcyAzPC90aXRs
ZT4KKzxzdHlsZT4KKyBpbnB1dCB7IGJhY2tncm91bmQ6IHJlZDsgfQorIGJ1dHRvbiB7IGJhY2tn
cm91bmQ6IHJlZDsgfQorIDpkZWZhdWx0IHsgYmFja2dyb3VuZDogbGltZTsgfQorPC9zdHlsZT4K
KzxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cisg
ICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gIjxsaT4iK21lc3NhZ2UrIjwvbGk+IjsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworCisgICAgICAgIGlmIChkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCd2aWN0aW0nKVswXSwgbnVsbCkuZ2V0UHJvcGVydHlW
YWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpID09ICJyZ2IoMCwgMjU1LCAwKSIpCisgICAgICAgICAg
ICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nKCJGQUlMVVJF
Iik7CisKKyAgICAgICAgdiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCJ2aWN0aW0iKTsK
KworICAgICAgICBmb3IgKGkgPSAxOyBpIDwgdi5sZW5ndGg7IGkrKykKKyAgICAgICAgICAgIGlm
IChkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHZbaV0sIG51bGwpLmdldFBy
b3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSA9PSAicmdiKDI1NSwgMCwgMCkiKQorICAg
ICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJ0ZXN0KCkiPgorPHA+T25seSB0aGUgZmlyc3Qgc3VibWl0IGJ1dHRvbiBzaG91bGQg
aGF2ZSBhIGdyZWVuIGJhY2tncm91bmQuPC9wPgorPGZvcm0gbWV0aG9kPSJnZXQiPgorPGJ1dHRv
biBuYW1lPSJ2aWN0aW0iIHR5cGU9InN1Ym1pdCIvPlN1Ym1pdDwvYnV0dG9uPgorPGlucHV0IG5h
bWU9InZpY3RpbSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0IiAvPgorPGlucHV0IG5hbWU9
InZpY3RpbSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ii8+Cis8L2Zvcm0+Cis8aHI+Cis8
b2wgaWQ9ImNvbnNvbGUiPjwvb2w+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY4NWIwOTYuLjExNmIyOTUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMDktMDgtMTEgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNk
ZXNpbUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU4Cisg
ICAgICAgIFN1cHBvcnQgZm9yIHRoZSA6ZGVmYXVsdCBDU1MgcHNldWRvY2xhc3MsIGFzIHBlciBI
VE1MNSBzcGVjLgorICAgICAgICBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMv
Y3VycmVudC13b3JrL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1lbGVtZW50cy5odG1sI3NlbGVjdG9y
LWRlZmF1bHQKKworICAgICAgICBUZXN0czogZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAxLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwMi5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDMuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU1NlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpleHRy
YWN0UHNldWRvVHlwZSk6IHBzZXVkb0RlZmF1bHQKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3Iu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjopOgorICAgICAgICAqIGNzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNh
blNoYXJlU3R5bGVXaXRoRWxlbWVudCk6IHNoYXJpbmcgc3R1ZmYgaXMKKyAgICAgICAgYXdhcmUg
dGhhdCBvbmx5IG9uZSBkZWZhdWx0IGJ1dHRvbiBjYW4gYmUgcHJlc2VudCBpbiBhIGZvcm0KKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tP
bmVTZWxlY3Rvcik6IGFwcGxpZXMKKyAgICAgICAgdGhlIDpkZWZhdWx0IENTUyBwc2V1ZG9jbGFz
cworICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpp
c0RlZmF1bHRCdXR0b25Gb3JGb3JtKTogbmV3IG1ldGhvZCB0byBkZXRlcm1pbmUKKyAgICAgICAg
d2hldGhlciBhIEZvcm1Db250cm9sIGlzIGEgZGVmYXVsdCBidXR0b24gZm9yIGEgZ2l2ZW4gZm9y
bQorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojppc0RlZmF1bHRCdXR0b25Gb3JGb3JtKTog
ZGl0dG8KKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVs
ZW1lbnQ6OmRlZmF1bHRCdXR0b24pOiBleHRyYWN0cyB0aGUgZGVmYXVsdCBidXR0b24KKyAgICAg
ICAgZnJvbSB0aGUgZm9ybQorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6CisKIDIw
MDktMDgtMTEgIERyZXcgV2lsc29uICA8YXR3aWxzb25AZ29vZ2xlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVj
dG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCA4MDkxMGE3Li4xYzNh
MmQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC03Nyw2ICs3Nyw3IEBAIHZvaWQgQ1NTU2VsZWN0b3I6
OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3QKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21p
Y1N0cmluZywgYmVmb3JlLCAoImJlZm9yZSIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0
b21pY1N0cmluZywgY2hlY2tlZCwgKCJjaGVja2VkIikpOwogICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBmaWxlVXBsb2FkQnV0dG9uLCAoIi13ZWJraXQtZmlsZS11cGxvYWQt
YnV0dG9uIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBkZWZhdWx0
U3RyLCAoImRlZmF1bHQiKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcs
IGRpc2FibGVkLCAoImRpc2FibGVkIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWlj
U3RyaW5nLCByZWFkT25seSwgKCJyZWFkLW9ubHkiKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChBdG9taWNTdHJpbmcsIHJlYWRXcml0ZSwgKCJyZWFkLXdyaXRlIikpOwpAQCAtMTcwLDcgKzE3
MSw5IEBAIHZvaWQgQ1NTU2VsZWN0b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3QKICAgICBl
bHNlIGlmIChtX3ZhbHVlID09IGZpbGVVcGxvYWRCdXR0b24pIHsKICAgICAgICAgbV9wc2V1ZG9U
eXBlID0gUHNldWRvRmlsZVVwbG9hZEJ1dHRvbjsKICAgICAgICAgZWxlbWVudCA9IHRydWU7Ci0g
ICAgfSBlbHNlIGlmIChtX3ZhbHVlID09IGRpc2FibGVkKQorICAgIH0gZWxzZSBpZiAobV92YWx1
ZSA9PSBkZWZhdWx0U3RyKQorICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9EZWZhdWx0Owor
ICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0gZGlzYWJsZWQpCiAgICAgICAgIG1fcHNldWRvVHlwZSA9
IFBzZXVkb0Rpc2FibGVkOwogICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0gcmVhZE9ubHkpCiAgICAg
ICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb1JlYWRPbmx5OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKaW5kZXggMTgyNTFm
ZC4uNTNkZTUwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC0xMjYsNiArMTI2LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAgICAgUHNldWRvQ2hlY2tlZCwKICAgICAgICAgICAgIFBzZXVkb0Vu
YWJsZWQsCiAgICAgICAgICAgICBQc2V1ZG9GdWxsUGFnZU1lZGlhLAorICAgICAgICAgICAgUHNl
dWRvRGVmYXVsdCwKICAgICAgICAgICAgIFBzZXVkb0Rpc2FibGVkLAogICAgICAgICAgICAgUHNl
dWRvSW5wdXRQbGFjZWhvbGRlciwKICAgICAgICAgICAgIFBzZXVkb09wdGlvbmFsLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcAppbmRleCA3Y2ZhM2UxLi43OWI4ZDcxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcApAQCAtOTk1LDYgKzk5NSw5IEBAIGJvb2wgQ1NTU3R5bGVTZWxlY3Rvcjo6Y2Fu
U2hhcmVTdHlsZVdpdGhFbGVtZW50KE5vZGUqIG4pCiAKICAgICAgICAgICAgICAgICBpZiAocy0+
aXNFbmFibGVkRm9ybUNvbnRyb2woKSAhPSBtX2VsZW1lbnQtPmlzRW5hYmxlZEZvcm1Db250cm9s
KCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAg
IGlmIChzLT5pc0RlZmF1bHRCdXR0b25Gb3JGb3JtKCkgIT0gbV9lbGVtZW50LT5pc0RlZmF1bHRC
dXR0b25Gb3JGb3JtKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKHN0eWxlLT50cmFuc2l0aW9ucygpIHx8IHN0eWxl
LT5hbmltYXRpb25zKCkpCkBAIC0yMzU4LDYgKzIzNjEsOCBAQCBib29sIENTU1N0eWxlU2VsZWN0
b3I6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3RvcihDU1NTZWxlY3Rvciogc2VsLCBF
bGVtZQogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRnVsbFBhZ2VNZWRpYToK
ICAgICAgICAgICAgICAgICByZXR1cm4gZSAmJiBlLT5kb2N1bWVudCgpICYmIGUtPmRvY3VtZW50
KCktPmlzTWVkaWFEb2N1bWVudCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRGVmYXVsdDoKKyAgICAgICAgICAgICAgICByZXR1
cm4gZSAmJiBlLT5pc0RlZmF1bHRCdXR0b25Gb3JGb3JtKCk7CiAgICAgICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpQc2V1ZG9EaXNhYmxlZDoKICAgICAgICAgICAgICAgICBpZiAoZSAmJiBlLT5p
c0Zvcm1Db250cm9sRWxlbWVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIElucHV0RWxlbWVu
dCogaW5wdXRFbGVtZW50ID0gdG9JbnB1dEVsZW1lbnQoZSk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggMGZmMmVkMS4uMjZh
MjEyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaApAQCAtMjE0LDYgKzIxNCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wg
aXNUZXh0Rm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc09wdGlvbmFsRm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBpc1JlcXVpcmVkRm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0RlZmF1bHRCdXR0b25Gb3JGb3JtKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBmb3JtQ29udHJvbFZhbHVlTWF0Y2hl
c1JlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0
Rm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJlcihib29sKSB7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCAwOWQ5MWRmLi4xYjg0NDM1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0yOTQsNiArMjk0LDE0IEBAIEhUTUxG
b3JtRWxlbWVudCogSFRNTEZvcm1Db250cm9sRWxlbWVudDo6dmlydHVhbEZvcm0oKSBjb25zdAog
ICAgIHJldHVybiBtX2Zvcm07CiB9CiAKK2Jvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNE
ZWZhdWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0Cit7CisgICAgaWYgKCFpc1N1Y2Nlc3NmdWxTdWJt
aXRCdXR0b24oKSB8fCAhbV9mb3JtKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1
cm4gbV9mb3JtLT5kZWZhdWx0QnV0dG9uKCkgPT0gdGhpczsKK30KKwogdm9pZCBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50OjpyZW1vdmVGcm9tRm9ybSgpCiB7CiAgICAgaWYgKCFtX2Zvcm0pCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIGIvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCBhMzBmNDZjLi45MDJiYmYzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKQEAgLTExNyw2ICsxMTcsNyBAQCBwcm90
ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBIVE1MRm9ybUVsZW1lbnQqIHZpcnR1YWxG
b3JtKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzRGVmYXVsdEJ1dHRvbkZvckZvcm0oKSBj
b25zdDsKIAogICAgIEhUTUxGb3JtRWxlbWVudCogbV9mb3JtOwogICAgIFJlZlB0cjxWYWxpZGl0
eVN0YXRlPiBtX3ZhbGlkaXR5U3RhdGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDU0
OTg2YjAuLjUxZmIzNWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC01NzcsNiArNTc3
LDE3IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpzZXRUYXJnZXQoY29uc3QgU3RyaW5nICZ2YWx1
ZSkKICAgICBzZXRBdHRyaWJ1dGUodGFyZ2V0QXR0ciwgdmFsdWUpOwogfQogCitIVE1MRm9ybUNv
bnRyb2xFbGVtZW50KiBIVE1MRm9ybUVsZW1lbnQ6OmRlZmF1bHRCdXR0b24oKSBjb25zdAorewor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBmb3JtRWxlbWVudHMuc2l6ZSgpOyArK2kpIHsK
KyAgICAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCA9IGZvcm1FbGVtZW50c1tp
XTsKKyAgICAgICAgaWYgKGNvbnRyb2wtPmlzU3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbigpKQorICAg
ICAgICAgICAgcmV0dXJuIGNvbnRyb2w7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKIFBh
c3NSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4gSFRNTEZvcm1FbGVtZW50OjplbGVtZW50
Rm9yQWxpYXMoY29uc3QgQXRvbWljU3RyaW5nJiBhbGlhcykKIHsKICAgICBpZiAoYWxpYXMuaXNF
bXB0eSgpIHx8ICFtX2VsZW1lbnRBbGlhc2VzKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCmluZGV4IDZi
NzgxMmEuLmFmZTFmZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKQEAgLTEwNyw2ICsxMDcsOCBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyB0YXJnZXQoKSBjb25zdDsKICAgICB2b2lk
IHNldFRhcmdldChjb25zdCBTdHJpbmcmKTsKKworICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQq
IGRlZmF1bHRCdXR0b24oKSBjb25zdDsKICAgICAKICAgICBQYXNzUmVmUHRyPEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQ+IGVsZW1lbnRGb3JBbGlhcyhjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICB2
b2lkIGFkZEVsZW1lbnRBbGlhcyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiwgY29uc3QgQXRvbWlj
U3RyaW5nJiBhbGlhcyk7
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34684</attachid>
            <date>2009-08-12 13:28:27 -0700</date>
            <delta_ts>2009-08-12 15:12:26 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-27458-20090812222824.patch</filename>
            <type>text/plain</type>
            <size>16348</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MjJjM2EyLi5mM2Q0MzExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDgt
MTEgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNkZXNpbUBnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU4CisgICAgICAgIFRlc3Qgc3VpdGUgZm9yIHRo
ZSA6ZGVmYXVsdCBDU1MgcHNldWRvY2xhc3MuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8t
ZGVmYXVsdC0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1
ZG8tZGVmYXVsdC0wMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvcHNldWRvLWRl
ZmF1bHQtMDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvcHNldWRv
LWRlZmF1bHQtMDAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3BzZXVkby1kZWZh
dWx0LTAwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3BzZXVkby1k
ZWZhdWx0LTAwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8tZGVmYXVs
dC0wMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8tZGVm
YXVsdC0wMDQuaHRtbDogQWRkZWQuCisKIDIwMDktMDgtMTEgIE1pa2UgRmVudG9uICA8bWlrZS5m
ZW50b25AdG9yY2htb2JpbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gVHJlYXQu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWQ2ZWJhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3QgcGVyZm9ybXMgYSBzaW1wbGUg
Y2hlY2sgZm9yIHRoZSA6ZGVmYXVsdCBDU1Mgc2VsZWN0b3IuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCisKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHls
ZSh2W2ldLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykgaXMgJ3Jn
YigwLCAyNTUsIDApJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0
LTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc1ODk1MwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwMS5odG1sCkBAIC0w
LDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyBpbnB1dDpkZWZhdWx0IHsgYmFj
a2dyb3VuZDogbGltZTsgfQorIGJ1dHRvbjpkZWZhdWx0IHsgYmFja2dyb3VuZDogbGltZTsgfQor
IGlucHV0IHsgYmFja2dyb3VuZDogcmVkOyB9CisgYnV0dG9uIHsgYmFja2dyb3VuZDogcmVkOyB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxm
b3JtIG1ldGhvZD0iZ2V0Ij4KKzxpbnB1dCBuYW1lPSJ2aWN0aW0iIHR5cGU9InN1Ym1pdCIgdmFs
dWU9IlN1Ym1pdCIgLz4KKzwvZm9ybT4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgcGVyZm9ybXMgYSBzaW1wbGUgY2hlY2sgZm9yIHRo
ZSA6ZGVmYXVsdCBDU1Mgc2VsZWN0b3IuIik7CisKK3YgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
TmFtZSgidmljdGltIik7Citmb3IgKGkgPSAwOyBpIDwgdi5sZW5ndGg7IGkrKykKKyAgICBzaG91
bGRCZSgiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ldLCBudWxsKS5n
ZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykiLCAiJ3JnYigwLCAyNTUsIDApJyIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQt
MDAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdiNGJh
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0
LTAwMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHBlcmZvcm1zIGEg
Y2hlY2sgZm9yIHRoZSA6ZGVmYXVsdCBDU1Mgc2VsZWN0b3Igb24gbXVsdGlwbGUgc3VibWl0IGJ1
dHRvbnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisgIFN1Ym1pdAorUEFTUyBk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHZbMF0sIG51bGwpLmdldFByb3Bl
cnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSBpcyAncmdiKDAsIDI1NSwgMCknCitQQVNTIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodltpXSwgbnVsbCkuZ2V0UHJvcGVy
dHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpIGlzICdyZ2IoMjU1LCAwLCAwKScKK1BBU1MgZG9j
dW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ldLCBudWxsKS5nZXRQcm9wZXJ0
eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykgaXMgJ3JnYigyNTUsIDAsIDApJworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMTJlN2EwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3BzZXVkby1kZWZhdWx0LTAwMi5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKyBpbnB1dCB7IGJhY2tncm91bmQ6IHJlZDsgfQorIGJ1dHRvbiB7IGJhY2tn
cm91bmQ6IHJlZDsgfQorIDpkZWZhdWx0IHsgYmFja2dyb3VuZDogbGltZTsgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8Zm9ybSBtZXRob2Q9
ImdldCI+Cis8aW5wdXQgbmFtZT0idmljdGltIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQi
IC8+Cis8aW5wdXQgbmFtZT0idmljdGltIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiLz4K
KzxidXR0b24gbmFtZT0idmljdGltIiB0eXBlPSJzdWJtaXQiLz5TdWJtaXQ8L2J1dHRvbj4KKzwv
Zm9ybT4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgcGVyZm9ybXMgYSBjaGVjayBmb3IgdGhlIDpkZWZhdWx0IENTUyBzZWxlY3RvciBv
biBtdWx0aXBsZSBzdWJtaXQgYnV0dG9ucy4iKTsKKwordiA9IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlOYW1lKCJ2aWN0aW0iKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHZbMF0sIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3In
KSIsICIncmdiKDAsIDI1NSwgMCknIik7Citmb3IgKGkgPSAxOyBpIDwgdi5sZW5ndGg7IGkrKykK
KyAgICBzaG91bGRCZSgiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ld
LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykiLCAiJ3JnYigyNTUs
IDAsIDApJyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRv
LWRlZmF1bHQtMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1k
ZWZhdWx0LTAwMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNmMzM2ZkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVk
by1kZWZhdWx0LTAwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHBl
cmZvcm1zIGEgY2hlY2sgZm9yIHRoZSA6ZGVmYXVsdCBDU1Mgc2VsZWN0b3Igb24gbXVsdGlwbGUg
c3VibWl0IGJ1dHRvbnMsIHBhcnQgMi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1N1Ym1pdCAgCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodlsw
XSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpIGlzICdyZ2IoMCwg
MjU1LCAwKScKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ld
LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykgaXMgJ3JnYigyNTUs
IDAsIDApJworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHZbaV0s
IG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSBpcyAncmdiKDI1NSwg
MCwgMCknCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWZiYjY3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAzLmh0bWwKQEAgLTAsMCArMSwz
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorIGlucHV0IHsgYmFja2dyb3VuZDogcmVkOyB9
CisgYnV0dG9uIHsgYmFja2dyb3VuZDogcmVkOyB9CisgOmRlZmF1bHQgeyBiYWNrZ3JvdW5kOiBs
aW1lOyB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxmb3JtIG1ldGhvZD0iZ2V0Ij4KKzxidXR0b24gbmFtZT0idmljdGltIiB0eXBlPSJzdWJt
aXQiLz5TdWJtaXQ8L2J1dHRvbj4KKzxpbnB1dCBuYW1lPSJ2aWN0aW0iIHR5cGU9InN1Ym1pdCIg
dmFsdWU9IlN1Ym1pdCIgLz4KKzxpbnB1dCBuYW1lPSJ2aWN0aW0iIHR5cGU9InN1Ym1pdCIgdmFs
dWU9IlN1Ym1pdCIvPgorPC9mb3JtPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBwZXJmb3JtcyBhIGNoZWNrIGZvciB0aGUgOmRlZmF1
bHQgQ1NTIHNlbGVjdG9yIG9uIG11bHRpcGxlIHN1Ym1pdCBidXR0b25zLCBwYXJ0IDIuIik7CisK
K3YgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgidmljdGltIik7CitzaG91bGRCZSgiZG9j
dW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2WzBdLCBudWxsKS5nZXRQcm9wZXJ0
eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykiLCAiJ3JnYigwLCAyNTUsIDApJyIpOworZm9yIChp
ID0gMTsgaSA8IHYubGVuZ3RoOyBpKyspCisgICAgc2hvdWxkQmUoImRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUodltpXSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dy
b3VuZC1jb2xvcicpIiwgIidyZ2IoMjU1LCAwLCAwKSciKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwMzlkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBwZXJmb3JtcyBhIHNpbXBsZSBjaGVjayBmb3IgdGhlIDpk
ZWZhdWx0IENTUyBzZWxlY3RvcjogaXQgc2hvdWxkbid0IGJlIGFwcGxpZWQuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCisgIE5vdCBhIHN1Ym1pdAorUEFTUyBkb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHZbaV0sIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2Jh
Y2tncm91bmQtY29sb3InKSBpcyAncmdiKDAsIDI1NSwgMCknCitQQVNTIGRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodltpXSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFj
a2dyb3VuZC1jb2xvcicpIGlzICdyZ2IoMCwgMjU1LCAwKScKK1BBU1MgZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ldLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNr
Z3JvdW5kLWNvbG9yJykgaXMgJ3JnYigwLCAyNTUsIDApJworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwNC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNl
dWRvLWRlZmF1bHQtMDA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YTY3ZDc0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1k
ZWZhdWx0LTAwNC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
KyBpbnB1dCB7IGJhY2tncm91bmQ6IGxpbWU7IH0KKyBidXR0b24geyBiYWNrZ3JvdW5kOiBsaW1l
OyB9CisgOmRlZmF1bHQgeyBiYWNrZ3JvdW5kOiByZWQ7IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGZvcm0gbWV0aG9kPSJnZXQiPgorPGlu
cHV0IG5hbWU9InZpY3RpbSIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iTm90IGEgc3VibWl0IiAvPgor
PGlucHV0IG5hbWU9InZpY3RpbSIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iTm90IGEgc3VibWl0Ii8+
Cis8YnV0dG9uIG5hbWU9InZpY3RpbSIgdHlwZT0iYnV0dG9uIi8+Tm90IGEgc3VibWl0PC9idXR0
b24+Cis8L2Zvcm0+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHBlcmZvcm1zIGEgc2ltcGxlIGNoZWNrIGZvciB0aGUgOmRlZmF1bHQg
Q1NTIHNlbGVjdG9yOiBpdCBzaG91bGRuJ3QgYmUgYXBwbGllZC4iKTsKKwordiA9IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlOYW1lKCJ2aWN0aW0iKTsKK2ZvciAoaSA9IDA7IGkgPCB2Lmxlbmd0aDsg
aSsrKQorICAgIHNob3VsZEJlKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHZbaV0sIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSIsICIncmdi
KDAsIDI1NSwgMCknIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY4NWIwOTYuLjI1NDlmNjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIw
MDktMDgtMTEgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNkZXNpbUBnbWFpbC5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU4CisgICAgICAgIFN1cHBvcnQgZm9y
IHRoZSA6ZGVmYXVsdCBDU1MgcHNldWRvY2xhc3MsIGFzIHBlciBIVE1MNSBzcGVjLgorICAgICAg
ICBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRp
cGFnZS9pbnRlcmFjdGl2ZS1lbGVtZW50cy5odG1sI3NlbGVjdG9yLWRlZmF1bHQKKworICAgICAg
ICBUZXN0czogZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAxLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwMi5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nz
cy9wc2V1ZG8tZGVmYXVsdC0wMDMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jc3MvcHNldWRv
LWRlZmF1bHQtMDA0Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6ZXh0cmFjdFBzZXVkb1R5cGUpOiBwc2V1ZG9EZWZh
dWx0CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWxlY3Rvcjo6KToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjYW5TaGFyZVN0eWxlV2l0aEVsZW1lbnQpOiBz
aGFyaW5nIHN0dWZmIGlzCisgICAgICAgIGF3YXJlIHRoYXQgb25seSBvbmUgZGVmYXVsdCBidXR0
b24gY2FuIGJlIHByZXNlbnQgaW4gYSBmb3JtCisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IpOiBhcHBsaWVzCisgICAg
ICAgIHRoZSA6ZGVmYXVsdCBDU1MgcHNldWRvY2xhc3MKKyAgICAgICAgKiBkb20vRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aXNEZWZhdWx0QnV0dG9uRm9yRm9ybSk6IG5l
dyBtZXRob2QgdG8gZGV0ZXJtaW5lCisgICAgICAgIHdoZXRoZXIgYSBGb3JtQ29udHJvbCBpcyBh
IGRlZmF1bHQgYnV0dG9uIGZvciBhIGdpdmVuIGZvcm0KKyAgICAgICAgKiBodG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxl
bWVudDo6aXNEZWZhdWx0QnV0dG9uRm9yRm9ybSk6IGRpdHRvCisgICAgICAgICogaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpkZWZhdWx0QnV0dG9uKTogZXh0
cmFjdHMgdGhlIGRlZmF1bHQgYnV0dG9uCisgICAgICAgIGZyb20gdGhlIGZvcm0KKyAgICAgICAg
KiBodG1sL0hUTUxGb3JtRWxlbWVudC5oOgorCiAyMDA5LTA4LTExICBEcmV3IFdpbHNvbiAgPGF0
d2lsc29uQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvci5jcHAKaW5kZXggODA5MTBhNy4uMWMzYTJkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcApAQCAt
NzcsNiArNzcsNyBAQCB2b2lkIENTU1NlbGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSgpIGNvbnN0
CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGJlZm9yZSwgKCJiZWZvcmUi
KSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGNoZWNrZWQsICgiY2hl
Y2tlZCIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgZmlsZVVwbG9h
ZEJ1dHRvbiwgKCItd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiIpKTsKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEF0b21pY1N0cmluZywgZGVmYXVsdFN0ciwgKCJkZWZhdWx0IikpOwogICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBkaXNhYmxlZCwgKCJkaXNhYmxlZCIpKTsK
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgcmVhZE9ubHksICgicmVhZC1v
bmx5IikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCByZWFkV3JpdGUs
ICgicmVhZC13cml0ZSIpKTsKQEAgLTE3MCw3ICsxNzEsOSBAQCB2b2lkIENTU1NlbGVjdG9yOjpl
eHRyYWN0UHNldWRvVHlwZSgpIGNvbnN0CiAgICAgZWxzZSBpZiAobV92YWx1ZSA9PSBmaWxlVXBs
b2FkQnV0dG9uKSB7CiAgICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb0ZpbGVVcGxvYWRCdXR0
b247CiAgICAgICAgIGVsZW1lbnQgPSB0cnVlOwotICAgIH0gZWxzZSBpZiAobV92YWx1ZSA9PSBk
aXNhYmxlZCkKKyAgICB9IGVsc2UgaWYgKG1fdmFsdWUgPT0gZGVmYXVsdFN0cikKKyAgICAgICAg
bV9wc2V1ZG9UeXBlID0gUHNldWRvRGVmYXVsdDsKKyAgICBlbHNlIGlmIChtX3ZhbHVlID09IGRp
c2FibGVkKQogICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9EaXNhYmxlZDsKICAgICBlbHNl
IGlmIChtX3ZhbHVlID09IHJlYWRPbmx5KQogICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9S
ZWFkT25seTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDE4MjUxZmQuLjUzZGU1MGQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApA
QCAtMTI2LDYgKzEyNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFBzZXVk
b0NoZWNrZWQsCiAgICAgICAgICAgICBQc2V1ZG9FbmFibGVkLAogICAgICAgICAgICAgUHNldWRv
RnVsbFBhZ2VNZWRpYSwKKyAgICAgICAgICAgIFBzZXVkb0RlZmF1bHQsCiAgICAgICAgICAgICBQ
c2V1ZG9EaXNhYmxlZCwKICAgICAgICAgICAgIFBzZXVkb0lucHV0UGxhY2Vob2xkZXIsCiAgICAg
ICAgICAgICBQc2V1ZG9PcHRpb25hbCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggN2Nm
YTNlMS4uNzliOGQ3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5j
cHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTk5NSw2ICs5OTUs
OSBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6OmNhblNoYXJlU3R5bGVXaXRoRWxlbWVudChOb2Rl
KiBuKQogCiAgICAgICAgICAgICAgICAgaWYgKHMtPmlzRW5hYmxlZEZvcm1Db250cm9sKCkgIT0g
bV9lbGVtZW50LT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpKQogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICBpZiAocy0+aXNEZWZhdWx0QnV0dG9uRm9y
Rm9ybSgpICE9IG1fZWxlbWVudC0+aXNEZWZhdWx0QnV0dG9uRm9yRm9ybSgpKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlm
IChzdHlsZS0+dHJhbnNpdGlvbnMoKSB8fCBzdHlsZS0+YW5pbWF0aW9ucygpKQpAQCAtMjM1OCw2
ICsyMzYxLDggQEAgYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNr
T25lU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWUKICAgICAgICAgICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlBzZXVkb0Z1bGxQYWdlTWVkaWE6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGUg
JiYgZS0+ZG9jdW1lbnQoKSAmJiBlLT5kb2N1bWVudCgpLT5pc01lZGlhRG9jdW1lbnQoKTsKICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b0RlZmF1bHQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGUgJiYgZS0+aXNEZWZhdWx0QnV0dG9u
Rm9yRm9ybSgpOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRGlzYWJsZWQ6
CiAgICAgICAgICAgICAgICAgaWYgKGUgJiYgZS0+aXNGb3JtQ29udHJvbEVsZW1lbnQoKSkgewog
ICAgICAgICAgICAgICAgICAgICBJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IHRvSW5wdXRF
bGVtZW50KGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvV2ViQ29yZS9k
b20vRWxlbWVudC5oCmluZGV4IDBmZjJlZDEuLjI2YTIxMjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTIxNCw2ICsyMTQs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzVGV4dEZvcm1Db250cm9sKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNPcHRpb25hbEZvcm1Db250cm9s
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZXF1aXJlZEZv
cm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNE
ZWZhdWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgZm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEZvcm1Db250cm9sVmFsdWVNYXRjaGVzUmVu
ZGVyZXIoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5k
ZXggMDlkOTFkZi4uMWI4NDQzNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmNwcApAQCAtMjk0LDYgKzI5NCwxNCBAQCBIVE1MRm9ybUVsZW1lbnQqIEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQ6OnZpcnR1YWxGb3JtKCkgY29uc3QKICAgICByZXR1cm4gbV9mb3JtOwogfQogCiti
b29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzRGVmYXVsdEJ1dHRvbkZvckZvcm0oKSBjb25z
dAoreworICAgIGlmICghaXNTdWNjZXNzZnVsU3VibWl0QnV0dG9uKCkgfHwgIW1fZm9ybSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fZm9ybS0+ZGVmYXVsdEJ1dHRvbigp
ID09IHRoaXM7Cit9CisKIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cmVtb3ZlRnJvbUZv
cm0oKQogewogICAgIGlmICghbV9mb3JtKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmgKaW5kZXggYTMwZjQ2Yy4uOTAyYmJmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5oCkBAIC0xMTcsNiArMTE3LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIHZp
cnR1YWwgSFRNTEZvcm1FbGVtZW50KiB2aXJ0dWFsRm9ybSgpIGNvbnN0OworICAgIHZpcnR1YWwg
Ym9vbCBpc0RlZmF1bHRCdXR0b25Gb3JGb3JtKCkgY29uc3Q7CiAKICAgICBIVE1MRm9ybUVsZW1l
bnQqIG1fZm9ybTsKICAgICBSZWZQdHI8VmFsaWRpdHlTdGF0ZT4gbV92YWxpZGl0eVN0YXRlOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCA1NDk4NmIwLi41MWZiMzVmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1FbGVtZW50LmNwcApAQCAtNTc3LDYgKzU3NywxNyBAQCB2b2lkIEhUTUxGb3JtRWxlbWVu
dDo6c2V0VGFyZ2V0KGNvbnN0IFN0cmluZyAmdmFsdWUpCiAgICAgc2V0QXR0cmlidXRlKHRhcmdl
dEF0dHIsIHZhbHVlKTsKIH0KIAorSFRNTEZvcm1Db250cm9sRWxlbWVudCogSFRNTEZvcm1FbGVt
ZW50OjpkZWZhdWx0QnV0dG9uKCkgY29uc3QKK3sKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgZm9ybUVsZW1lbnRzLnNpemUoKTsgKytpKSB7CisgICAgICAgIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQqIGNvbnRyb2wgPSBmb3JtRWxlbWVudHNbaV07CisgICAgICAgIGlmIChjb250cm9sLT5p
c1N1Y2Nlc3NmdWxTdWJtaXRCdXR0b24oKSkKKyAgICAgICAgICAgIHJldHVybiBjb250cm9sOwor
ICAgIH0KKworICAgIHJldHVybiAwOworfQorCiBQYXNzUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ+IEhUTUxGb3JtRWxlbWVudDo6ZWxlbWVudEZvckFsaWFzKGNvbnN0IEF0b21pY1N0cmlu
ZyYgYWxpYXMpCiB7CiAgICAgaWYgKGFsaWFzLmlzRW1wdHkoKSB8fCAhbV9lbGVtZW50QWxpYXNl
cykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBiL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuaAppbmRleCA2Yjc4MTJhLi5hZmUxZmYwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxG
b3JtRWxlbWVudC5oCkBAIC0xMDcsNiArMTA3LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBT
dHJpbmcgdGFyZ2V0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRUYXJnZXQoY29uc3QgU3RyaW5nJik7
CisKKyAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBkZWZhdWx0QnV0dG9uKCkgY29uc3Q7CiAg
ICAgCiAgICAgUGFzc1JlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PiBlbGVtZW50Rm9yQWxp
YXMoY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgdm9pZCBhZGRFbGVtZW50QWxpYXMoSFRNTEZv
cm1Db250cm9sRWxlbWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYgYWxpYXMpOw==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34699</attachid>
            <date>2009-08-12 15:12:53 -0700</date>
            <delta_ts>2009-08-12 15:13:22 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-27458-20090813001249.patch</filename>
            <type>text/plain</type>
            <size>16320</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MjJjM2EyLi5mM2Q0MzExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDgt
MTEgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNkZXNpbUBnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU4CisgICAgICAgIFRlc3Qgc3VpdGUgZm9yIHRo
ZSA6ZGVmYXVsdCBDU1MgcHNldWRvY2xhc3MuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8t
ZGVmYXVsdC0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1
ZG8tZGVmYXVsdC0wMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvcHNldWRvLWRl
ZmF1bHQtMDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvcHNldWRv
LWRlZmF1bHQtMDAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3BzZXVkby1kZWZh
dWx0LTAwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3BzZXVkby1k
ZWZhdWx0LTAwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8tZGVmYXVs
dC0wMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8tZGVm
YXVsdC0wMDQuaHRtbDogQWRkZWQuCisKIDIwMDktMDgtMTEgIE1pa2UgRmVudG9uICA8bWlrZS5m
ZW50b25AdG9yY2htb2JpbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gVHJlYXQu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWQ2ZWJhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3QgcGVyZm9ybXMgYSBzaW1wbGUg
Y2hlY2sgZm9yIHRoZSA6ZGVmYXVsdCBDU1Mgc2VsZWN0b3IuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCisKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHls
ZSh2W2ldLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykgaXMgJ3Jn
YigwLCAyNTUsIDApJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0
LTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc1ODk1MwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwMS5odG1sCkBAIC0w
LDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyBpbnB1dDpkZWZhdWx0IHsgYmFj
a2dyb3VuZDogbGltZTsgfQorIGJ1dHRvbjpkZWZhdWx0IHsgYmFja2dyb3VuZDogbGltZTsgfQor
IGlucHV0IHsgYmFja2dyb3VuZDogcmVkOyB9CisgYnV0dG9uIHsgYmFja2dyb3VuZDogcmVkOyB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxm
b3JtIG1ldGhvZD0iZ2V0Ij4KKzxpbnB1dCBuYW1lPSJ2aWN0aW0iIHR5cGU9InN1Ym1pdCIgdmFs
dWU9IlN1Ym1pdCIgLz4KKzwvZm9ybT4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgcGVyZm9ybXMgYSBzaW1wbGUgY2hlY2sgZm9yIHRo
ZSA6ZGVmYXVsdCBDU1Mgc2VsZWN0b3IuIik7CisKK3YgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
TmFtZSgidmljdGltIik7Citmb3IgKGkgPSAwOyBpIDwgdi5sZW5ndGg7IGkrKykKKyAgICBzaG91
bGRCZSgiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ldLCBudWxsKS5n
ZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykiLCAiJ3JnYigwLCAyNTUsIDApJyIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQt
MDAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAw
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdiNGJh
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0
LTAwMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHBlcmZvcm1zIGEg
Y2hlY2sgZm9yIHRoZSA6ZGVmYXVsdCBDU1Mgc2VsZWN0b3Igb24gbXVsdGlwbGUgc3VibWl0IGJ1
dHRvbnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisgIFN1Ym1pdAorUEFTUyBk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHZbMF0sIG51bGwpLmdldFByb3Bl
cnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSBpcyAncmdiKDAsIDI1NSwgMCknCitQQVNTIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodltpXSwgbnVsbCkuZ2V0UHJvcGVy
dHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpIGlzICdyZ2IoMjU1LCAwLCAwKScKK1BBU1MgZG9j
dW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ldLCBudWxsKS5nZXRQcm9wZXJ0
eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykgaXMgJ3JnYigyNTUsIDAsIDApJworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMTJlN2EwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3BzZXVkby1kZWZhdWx0LTAwMi5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKyBpbnB1dCB7IGJhY2tncm91bmQ6IHJlZDsgfQorIGJ1dHRvbiB7IGJhY2tn
cm91bmQ6IHJlZDsgfQorIDpkZWZhdWx0IHsgYmFja2dyb3VuZDogbGltZTsgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8Zm9ybSBtZXRob2Q9
ImdldCI+Cis8aW5wdXQgbmFtZT0idmljdGltIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQi
IC8+Cis8aW5wdXQgbmFtZT0idmljdGltIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiLz4K
KzxidXR0b24gbmFtZT0idmljdGltIiB0eXBlPSJzdWJtaXQiLz5TdWJtaXQ8L2J1dHRvbj4KKzwv
Zm9ybT4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgcGVyZm9ybXMgYSBjaGVjayBmb3IgdGhlIDpkZWZhdWx0IENTUyBzZWxlY3RvciBv
biBtdWx0aXBsZSBzdWJtaXQgYnV0dG9ucy4iKTsKKwordiA9IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlOYW1lKCJ2aWN0aW0iKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21w
dXRlZFN0eWxlKHZbMF0sIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3In
KSIsICIncmdiKDAsIDI1NSwgMCknIik7Citmb3IgKGkgPSAxOyBpIDwgdi5sZW5ndGg7IGkrKykK
KyAgICBzaG91bGRCZSgiZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ld
LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykiLCAiJ3JnYigyNTUs
IDAsIDApJyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRv
LWRlZmF1bHQtMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1k
ZWZhdWx0LTAwMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNmMzM2ZkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVk
by1kZWZhdWx0LTAwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IHBl
cmZvcm1zIGEgY2hlY2sgZm9yIHRoZSA6ZGVmYXVsdCBDU1Mgc2VsZWN0b3Igb24gbXVsdGlwbGUg
c3VibWl0IGJ1dHRvbnMsIHBhcnQgMi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1N1Ym1pdCAgCitQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodlsw
XSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpIGlzICdyZ2IoMCwg
MjU1LCAwKScKK1BBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ld
LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykgaXMgJ3JnYigyNTUs
IDAsIDApJworUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHZbaV0s
IG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSBpcyAncmdiKDI1NSwg
MCwgMCknCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWZiYjY3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAzLmh0bWwKQEAgLTAsMCArMSwz
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorIGlucHV0IHsgYmFja2dyb3VuZDogcmVkOyB9
CisgYnV0dG9uIHsgYmFja2dyb3VuZDogcmVkOyB9CisgOmRlZmF1bHQgeyBiYWNrZ3JvdW5kOiBs
aW1lOyB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxmb3JtIG1ldGhvZD0iZ2V0Ij4KKzxidXR0b24gbmFtZT0idmljdGltIiB0eXBlPSJzdWJt
aXQiLz5TdWJtaXQ8L2J1dHRvbj4KKzxpbnB1dCBuYW1lPSJ2aWN0aW0iIHR5cGU9InN1Ym1pdCIg
dmFsdWU9IlN1Ym1pdCIgLz4KKzxpbnB1dCBuYW1lPSJ2aWN0aW0iIHR5cGU9InN1Ym1pdCIgdmFs
dWU9IlN1Ym1pdCIvPgorPC9mb3JtPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBwZXJmb3JtcyBhIGNoZWNrIGZvciB0aGUgOmRlZmF1
bHQgQ1NTIHNlbGVjdG9yIG9uIG11bHRpcGxlIHN1Ym1pdCBidXR0b25zLCBwYXJ0IDIuIik7CisK
K3YgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgidmljdGltIik7CitzaG91bGRCZSgiZG9j
dW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2WzBdLCBudWxsKS5nZXRQcm9wZXJ0
eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykiLCAiJ3JnYigwLCAyNTUsIDApJyIpOworZm9yIChp
ID0gMTsgaSA8IHYubGVuZ3RoOyBpKyspCisgICAgc2hvdWxkQmUoImRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUodltpXSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dy
b3VuZC1jb2xvcicpIiwgIidyZ2IoMjU1LCAwLCAwKSciKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwMzlkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZGVmYXVsdC0wMDQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBwZXJmb3JtcyBhIHNpbXBsZSBjaGVjayBmb3IgdGhlIDpk
ZWZhdWx0IENTUyBzZWxlY3RvcjogaXQgc2hvdWxkbid0IGJlIGFwcGxpZWQuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCisgIE5vdCBhIHN1Ym1pdAorUEFTUyBkb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHZbaV0sIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2Jh
Y2tncm91bmQtY29sb3InKSBpcyAncmdiKDAsIDI1NSwgMCknCitQQVNTIGRvY3VtZW50LmRlZmF1
bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodltpXSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFj
a2dyb3VuZC1jb2xvcicpIGlzICdyZ2IoMCwgMjU1LCAwKScKK1BBU1MgZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh2W2ldLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNr
Z3JvdW5kLWNvbG9yJykgaXMgJ3JnYigwLCAyNTUsIDApJworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwNC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNl
dWRvLWRlZmF1bHQtMDA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YTY3ZDc0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1k
ZWZhdWx0LTAwNC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
KyBpbnB1dCB7IGJhY2tncm91bmQ6IGxpbWU7IH0KKyBidXR0b24geyBiYWNrZ3JvdW5kOiBsaW1l
OyB9CisgOmRlZmF1bHQgeyBiYWNrZ3JvdW5kOiByZWQ7IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGZvcm0gbWV0aG9kPSJnZXQiPgorPGlu
cHV0IG5hbWU9InZpY3RpbSIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iTm90IGEgc3VibWl0IiAvPgor
PGlucHV0IG5hbWU9InZpY3RpbSIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iTm90IGEgc3VibWl0Ii8+
Cis8YnV0dG9uIG5hbWU9InZpY3RpbSIgdHlwZT0iYnV0dG9uIi8+Tm90IGEgc3VibWl0PC9idXR0
b24+Cis8L2Zvcm0+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IHBlcmZvcm1zIGEgc2ltcGxlIGNoZWNrIGZvciB0aGUgOmRlZmF1bHQg
Q1NTIHNlbGVjdG9yOiBpdCBzaG91bGRuJ3QgYmUgYXBwbGllZC4iKTsKKwordiA9IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlOYW1lKCJ2aWN0aW0iKTsKK2ZvciAoaSA9IDA7IGkgPCB2Lmxlbmd0aDsg
aSsrKQorICAgIHNob3VsZEJlKCJkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KHZbaV0sIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSIsICIncmdi
KDAsIDI1NSwgMCknIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY4NWIwOTYuLjI1NDlmNjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIw
MDktMDgtMTEgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNkZXNpbUBnbWFpbC5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU4CisgICAgICAgIFN1cHBvcnQgZm9y
IHRoZSA6ZGVmYXVsdCBDU1MgcHNldWRvY2xhc3MsIGFzIHBlciBIVE1MNSBzcGVjLgorICAgICAg
ICBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRp
cGFnZS9pbnRlcmFjdGl2ZS1lbGVtZW50cy5odG1sI3NlbGVjdG9yLWRlZmF1bHQKKworICAgICAg
ICBUZXN0czogZmFzdC9jc3MvcHNldWRvLWRlZmF1bHQtMDAxLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvY3NzL3BzZXVkby1kZWZhdWx0LTAwMi5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nz
cy9wc2V1ZG8tZGVmYXVsdC0wMDMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jc3MvcHNldWRv
LWRlZmF1bHQtMDA0Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6ZXh0cmFjdFBzZXVkb1R5cGUpOiBwc2V1ZG9EZWZh
dWx0CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
ZWxlY3Rvcjo6KToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjYW5TaGFyZVN0eWxlV2l0aEVsZW1lbnQpOiBz
aGFyaW5nIHN0dWZmIGlzCisgICAgICAgIGF3YXJlIHRoYXQgb25seSBvbmUgZGVmYXVsdCBidXR0
b24gY2FuIGJlIHByZXNlbnQgaW4gYSBmb3JtCisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IpOiBhcHBsaWVzCisgICAg
ICAgIHRoZSA6ZGVmYXVsdCBDU1MgcHNldWRvY2xhc3MKKyAgICAgICAgKiBkb20vRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aXNEZWZhdWx0QnV0dG9uRm9yRm9ybSk6IG5l
dyBtZXRob2QgdG8gZGV0ZXJtaW5lCisgICAgICAgIHdoZXRoZXIgYSBGb3JtQ29udHJvbCBpcyBh
IGRlZmF1bHQgYnV0dG9uIGZvciBhIGdpdmVuIGZvcm0KKyAgICAgICAgKiBodG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxl
bWVudDo6aXNEZWZhdWx0QnV0dG9uRm9yRm9ybSk6IGRpdHRvCisgICAgICAgICogaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpkZWZhdWx0QnV0dG9uKTogZXh0
cmFjdHMgdGhlIGRlZmF1bHQgYnV0dG9uCisgICAgICAgIGZyb20gdGhlIGZvcm0KKyAgICAgICAg
KiBodG1sL0hUTUxGb3JtRWxlbWVudC5oOgorCiAyMDA5LTA4LTExICBEcmV3IFdpbHNvbiAgPGF0
d2lsc29uQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvci5jcHAKaW5kZXggODA5MTBhNy4uMjVkYmQ4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcApAQCAt
NzcsNiArNzcsNyBAQCB2b2lkIENTU1NlbGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSgpIGNvbnN0
CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGJlZm9yZSwgKCJiZWZvcmUi
KSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGNoZWNrZWQsICgiY2hl
Y2tlZCIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgZmlsZVVwbG9h
ZEJ1dHRvbiwgKCItd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiIpKTsKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEF0b21pY1N0cmluZywgZGVmYXVsdFN0cmluZywgKCJkZWZhdWx0IikpOwogICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBkaXNhYmxlZCwgKCJkaXNhYmxlZCIp
KTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgcmVhZE9ubHksICgicmVh
ZC1vbmx5IikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCByZWFkV3Jp
dGUsICgicmVhZC13cml0ZSIpKTsKQEAgLTE3MCw3ICsxNzEsOSBAQCB2b2lkIENTU1NlbGVjdG9y
OjpleHRyYWN0UHNldWRvVHlwZSgpIGNvbnN0CiAgICAgZWxzZSBpZiAobV92YWx1ZSA9PSBmaWxl
VXBsb2FkQnV0dG9uKSB7CiAgICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb0ZpbGVVcGxvYWRC
dXR0b247CiAgICAgICAgIGVsZW1lbnQgPSB0cnVlOwotICAgIH0gZWxzZSBpZiAobV92YWx1ZSA9
PSBkaXNhYmxlZCkKKyAgICB9IGVsc2UgaWYgKG1fdmFsdWUgPT0gZGVmYXVsdFN0cmluZykKKyAg
ICAgICAgbV9wc2V1ZG9UeXBlID0gUHNldWRvRGVmYXVsdDsKKyAgICBlbHNlIGlmIChtX3ZhbHVl
ID09IGRpc2FibGVkKQogICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9EaXNhYmxlZDsKICAg
ICBlbHNlIGlmIChtX3ZhbHVlID09IHJlYWRPbmx5KQogICAgICAgICBtX3BzZXVkb1R5cGUgPSBQ
c2V1ZG9SZWFkT25seTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDE4MjUxZmQuLjUzZGU1MGQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0
b3IuaApAQCAtMTI2LDYgKzEyNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAg
IFBzZXVkb0NoZWNrZWQsCiAgICAgICAgICAgICBQc2V1ZG9FbmFibGVkLAogICAgICAgICAgICAg
UHNldWRvRnVsbFBhZ2VNZWRpYSwKKyAgICAgICAgICAgIFBzZXVkb0RlZmF1bHQsCiAgICAgICAg
ICAgICBQc2V1ZG9EaXNhYmxlZCwKICAgICAgICAgICAgIFBzZXVkb0lucHV0UGxhY2Vob2xkZXIs
CiAgICAgICAgICAgICBQc2V1ZG9PcHRpb25hbCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5k
ZXggN2NmYTNlMS4uNzliOGQ3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTk5NSw2
ICs5OTUsOSBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6OmNhblNoYXJlU3R5bGVXaXRoRWxlbWVu
dChOb2RlKiBuKQogCiAgICAgICAgICAgICAgICAgaWYgKHMtPmlzRW5hYmxlZEZvcm1Db250cm9s
KCkgIT0gbV9lbGVtZW50LT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpKQogICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICBpZiAocy0+aXNEZWZhdWx0QnV0
dG9uRm9yRm9ybSgpICE9IG1fZWxlbWVudC0+aXNEZWZhdWx0QnV0dG9uRm9yRm9ybSgpKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGlmIChzdHlsZS0+dHJhbnNpdGlvbnMoKSB8fCBzdHlsZS0+YW5pbWF0aW9ucygpKQpAQCAt
MjM1OCw2ICsyMzYxLDggQEAgYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpTZWxlY3RvckNoZWNrZXI6
OmNoZWNrT25lU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWUKICAgICAgICAgICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0Z1bGxQYWdlTWVkaWE6CiAgICAgICAgICAgICAgICAgcmV0
dXJuIGUgJiYgZS0+ZG9jdW1lbnQoKSAmJiBlLT5kb2N1bWVudCgpLT5pc01lZGlhRG9jdW1lbnQo
KTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb0RlZmF1bHQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGUgJiYgZS0+aXNEZWZhdWx0
QnV0dG9uRm9yRm9ybSgpOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRGlz
YWJsZWQ6CiAgICAgICAgICAgICAgICAgaWYgKGUgJiYgZS0+aXNGb3JtQ29udHJvbEVsZW1lbnQo
KSkgewogICAgICAgICAgICAgICAgICAgICBJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IHRv
SW5wdXRFbGVtZW50KGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCmluZGV4IDBmZjJlZDEuLjI2YTIxMjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTIxNCw2
ICsyMTQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzVGV4dEZvcm1Db250cm9sKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNPcHRpb25hbEZvcm1D
b250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZXF1
aXJlZEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgaXNEZWZhdWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAg
ICB2aXJ0dWFsIGJvb2wgZm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJlcigpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEZvcm1Db250cm9sVmFsdWVNYXRj
aGVzUmVuZGVyZXIoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAKaW5kZXggMDlkOTFkZi4uM2Q4YmM3OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcApAQCAtMjk0LDYgKzI5NCwxMSBAQCBIVE1MRm9ybUVsZW1lbnQqIEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQ6OnZpcnR1YWxGb3JtKCkgY29uc3QKICAgICByZXR1cm4gbV9mb3JtOwog
fQogCitib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzRGVmYXVsdEJ1dHRvbkZvckZvcm0o
KSBjb25zdAoreworICAgIHJldHVybiBpc1N1Y2Nlc3NmdWxTdWJtaXRCdXR0b24oKSAmJiBtX2Zv
cm0gJiYgbV9mb3JtLT5kZWZhdWx0QnV0dG9uKCkgPT0gdGhpczsKK30KKwogdm9pZCBIVE1MRm9y
bUNvbnRyb2xFbGVtZW50OjpyZW1vdmVGcm9tRm9ybSgpCiB7CiAgICAgaWYgKCFtX2Zvcm0pCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIGIvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCBhMzBmNDZjLi45MDJiYmYzIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKQEAgLTExNyw2ICsxMTcsNyBAQCBw
cm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBIVE1MRm9ybUVsZW1lbnQqIHZpcnR1
YWxGb3JtKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzRGVmYXVsdEJ1dHRvbkZvckZvcm0o
KSBjb25zdDsKIAogICAgIEhUTUxGb3JtRWxlbWVudCogbV9mb3JtOwogICAgIFJlZlB0cjxWYWxp
ZGl0eVN0YXRlPiBtX3ZhbGlkaXR5U3RhdGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1FbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4
IDU0OTg2YjAuLjUxZmIzNWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1l
bnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC01NzcsNiAr
NTc3LDE3IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpzZXRUYXJnZXQoY29uc3QgU3RyaW5nICZ2
YWx1ZSkKICAgICBzZXRBdHRyaWJ1dGUodGFyZ2V0QXR0ciwgdmFsdWUpOwogfQogCitIVE1MRm9y
bUNvbnRyb2xFbGVtZW50KiBIVE1MRm9ybUVsZW1lbnQ6OmRlZmF1bHRCdXR0b24oKSBjb25zdAor
eworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBmb3JtRWxlbWVudHMuc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCA9IGZvcm1FbGVtZW50
c1tpXTsKKyAgICAgICAgaWYgKGNvbnRyb2wtPmlzU3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbigpKQor
ICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2w7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisK
IFBhc3NSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4gSFRNTEZvcm1FbGVtZW50OjplbGVt
ZW50Rm9yQWxpYXMoY29uc3QgQXRvbWljU3RyaW5nJiBhbGlhcykKIHsKICAgICBpZiAoYWxpYXMu
aXNFbXB0eSgpIHx8ICFtX2VsZW1lbnRBbGlhc2VzKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCmluZGV4
IDZiNzgxMmEuLmFmZTFmZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1l
bnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKQEAgLTEwNyw2ICsxMDcs
OCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyB0YXJnZXQoKSBjb25zdDsKICAgICB2
b2lkIHNldFRhcmdldChjb25zdCBTdHJpbmcmKTsKKworICAgIEhUTUxGb3JtQ29udHJvbEVsZW1l
bnQqIGRlZmF1bHRCdXR0b24oKSBjb25zdDsKICAgICAKICAgICBQYXNzUmVmUHRyPEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQ+IGVsZW1lbnRGb3JBbGlhcyhjb25zdCBBdG9taWNTdHJpbmcmKTsKICAg
ICB2b2lkIGFkZEVsZW1lbnRBbGlhcyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiwgY29uc3QgQXRv
bWljU3RyaW5nJiBhbGlhcyk7
</data>
<flag name="review"
          id="18883"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>