<?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>27457</bug_id>
          
          <creation_ts>2009-07-20 12:29:07 -0700</creation_ts>
          <short_desc>Add &lt;input type=email&gt; validation support</short_desc>
          <delta_ts>2009-10-13 13:53:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>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/#e-mail-state</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>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mike</cc>
    
    <cc>pkasting</cc>
    
    <cc>tkent</cc>
          

      

      

      

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

Basically, the only difference between an e-mail input and a normal text input is that at validation time the e-mail input can return true from validityState&apos;s typeMismatch() method if it doesn&apos;t contain a valid email address or list of addresses.  The spec covers in detail what those consist of.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133509</commentid>
    <comment_count>1</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-07-21 10:24:47 -0700</bug_when>
    <thetext>Note: The underlying &quot;URL&quot; input type and associated parser changes were made on bug 25554, so this is only about validation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141864</commentid>
    <comment_count>2</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-21 06:53:51 -0700</bug_when>
    <thetext>AFAIK the fastest and most synthetic way to check for email validity is to make use of regexp.
My intention is to divide this task into two separate patches:

Part 1: regular validation check on type=email input value
Part 2: same check when the &quot;multiple&quot; attribute is specified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142322</commentid>
    <comment_count>3</comment_count>
      <attachid>38484</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-24 10:23:33 -0700</bug_when>
    <thetext>Created attachment 38484
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142323</commentid>
    <comment_count>4</comment_count>
      <attachid>38485</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-24 10:25:41 -0700</bug_when>
    <thetext>Created attachment 38485
Patch v1a</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142326</commentid>
    <comment_count>5</comment_count>
      <attachid>38487</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-24 10:32:10 -0700</bug_when>
    <thetext>Created attachment 38487
Patch v1, Changelogs were missing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142394</commentid>
    <comment_count>6</comment_count>
      <attachid>38487</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-24 13:36:51 -0700</bug_when>
    <thetext>Comment on attachment 38487
Patch v1, Changelogs were missing

I think the test results could be made much clearer by using a little pass/fail wrapper function:

function testEmail(value, expectedValid)
{
    i.value = &quot;someone@somewhere.com&quot;;
    shouldBe(&quot;v.typeMismatch&quot;, &quot;false&quot;);
    var didPass = v.typeMismatch == expectedValid;
    var validText = (expectedValue ? !didPass : didPass) ? &quot;an invalid&quot; : &quot;a valid&quot;;
    var resultText = &quot;&quot; + value + &quot; is &quot; + validText + &quot; email address&quot;
    if (didPass)
        testPassed(resultText);
    else
        testFailed(resultText);
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142630</commentid>
    <comment_count>7</comment_count>
      <attachid>38487</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-25 10:43:17 -0700</bug_when>
    <thetext>Comment on attachment 38487
Patch v1, Changelogs were missing

Maybe we could also break:
 31 #define RFC5322_DOTATOMTEXT &quot;[a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~-]+)*&quot;

up into parts.  It&apos;s kinda confusing to read as-is.

r- for the tests being confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142917</commentid>
    <comment_count>8</comment_count>
      <attachid>38631</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-26 12:32:00 -0700</bug_when>
    <thetext>Created attachment 38631
Patch rev.2

Both Eric&apos;s comments have been addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143473</commentid>
    <comment_count>9</comment_count>
      <attachid>38631</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-08-28 15:23:44 -0700</bug_when>
    <thetext>Comment on attachment 38631
Patch rev.2

&gt; +bool ValidityState::isValidEmailAddress(String&amp; email)
&gt; +{
&gt; +    if (email.isEmpty())
&gt; +        return false;
&gt; +
&gt; +    DEFINE_STATIC_LOCAL(String, dotAtomText, (RFC5322_ATEXT));
&gt; +    dotAtomText.append(&quot;+(?:\\.&quot;);
&gt; +    dotAtomText.append(RFC5322_ATEXT);
&gt; +    dotAtomText.append(&quot;+)*&quot;);

Wait a minute, won&apos;t this append these on every call, making the regex longer and longer?
What about just

#define RFC5322_ATEXT &quot;[a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~-]&quot;
#define RFC5322_DOTATOMTEXT RFC5322_ATEXT &quot;+(?:\\.&quot; RFC5322_ATEXT &quot;+)*&quot;
...
DEFINE_STATIC_LOCAL(AtomicString, emailPattern, RFC5322_DOTATOMTEXT &quot;@&quot; RFC5322_DOTATOMTEXT);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143476</commentid>
    <comment_count>10</comment_count>
      <attachid>38759</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-28 16:03:11 -0700</bug_when>
    <thetext>Created attachment 38759
Patch rev.2a

Corrected, thanks to Peter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143584</commentid>
    <comment_count>11</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-08-31 00:02:25 -0700</bug_when>
    <thetext>Note that Ian has just changed the spec as to what the acceptance criteria are.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143677</commentid>
    <comment_count>12</comment_count>
      <attachid>38759</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-08-31 10:52:29 -0700</bug_when>
    <thetext>Comment on attachment 38759
Patch rev.2a

Canceling r? due to specs change (4.10.4.1.5); a valid email address is in format 1*( atext / &quot;.&quot; ) &quot;@&quot; ldh-str 1*( &quot;.&quot; ldh-str )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144327</commentid>
    <comment_count>13</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-09-02 16:12:28 -0700</bug_when>
    <thetext>(In reply to comment #12)

&gt; Canceling r? due to specs change (4.10.4.1.5); a valid email address is in
&gt; format 1*( atext / &quot;.&quot; ) &quot;@&quot; ldh-str 1*( &quot;.&quot; ldh-str )

I&apos;m gonna publish a patch that makes use of the following regexp to match Ian&apos;s modifications to specs:

[a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~-](?.[a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~-]+)* @ [a-z0-9-]+(?.[a-z0-9-])*

It&apos;s obviously quite &quot;verbose&quot; but, for the sake of clearness...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146431</commentid>
    <comment_count>14</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-10 18:34:46 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; 
&gt; &gt; Canceling r? due to specs change (4.10.4.1.5); a valid email address is in
&gt; &gt; format 1*( atext / &quot;.&quot; ) &quot;@&quot; ldh-str 1*( &quot;.&quot; ldh-str )
&gt; 
&gt; I&apos;m gonna publish a patch that makes use of the following regexp to match Ian&apos;s
&gt; modifications to specs:
&gt; 
&gt; [a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~-](?.[a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~-]+)* @
&gt; [a-z0-9-]+(?.[a-z0-9-])*
&gt; 
&gt; It&apos;s obviously quite &quot;verbose&quot; but, for the sake of clearness...

It should be 
  [a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~-.]+@[a-z0-9-]+(?\.[a-z0-9-])+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147046</commentid>
    <comment_count>15</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-09-14 07:09:12 -0700</bug_when>
    <thetext>(In reply to comment #14)

&gt; It should be 
&gt;   [a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~-.]+@[a-z0-9-]+(?\.[a-z0-9-])+

This seems slightly incorrect.:)

1*( atext / &quot;.&quot; ) = [a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~.-]+
ldh-str 1*( &quot;.&quot; ldh-str ) = [a-z0-9-]+(.[a-z0-9-]+)*

[a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~.-]+@[a-z0-9-]+(.[a-z0-9-]+)*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147060</commentid>
    <comment_count>16</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-09-14 08:35:33 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; 1*( atext / &quot;.&quot; ) = [a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~.-]+
&gt; ldh-str 1*( &quot;.&quot; ldh-str ) = [a-z0-9-]+(.[a-z0-9-]+)*
&gt; 
&gt; [a-z0-9!#$%&amp;&apos;*+/=?^_`{|}~.-]+@[a-z0-9-]+(.[a-z0-9-]+)*

The last &apos;*&apos; should be &apos;+&apos;.  We need at least 1 dot in a domain part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147289</commentid>
    <comment_count>17</comment_count>
      <attachid>39602</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2009-09-15 08:37:28 -0700</bug_when>
    <thetext>Created attachment 39602
Patch rev. 2b</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154415</commentid>
    <comment_count>18</comment_count>
      <attachid>39602</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-13 13:34:25 -0700</bug_when>
    <thetext>Comment on attachment 39602
Patch rev. 2b

This looks good.  I&apos;m not 100% sure the regexp is right, but we can tweak that later if we&apos;re not matching HTML5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154422</commentid>
    <comment_count>19</comment_count>
      <attachid>39602</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-13 13:53:20 -0700</bug_when>
    <thetext>Comment on attachment 39602
Patch rev. 2b

Clearing flags on attachment: 39602

Committed r49508: &lt;http://trac.webkit.org/changeset/49508&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154423</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-13 13:53:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38484</attachid>
            <date>2009-08-24 10:23:33 -0700</date>
            <delta_ts>2009-08-24 10:25:33 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-27457-20090824192330.patch</filename>
            <type>text/plain</type>
            <size>8016</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZDVjOWZmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0
Y2ggZmxhZyB3aXRoIHR5cGU9ZW1haWwgaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1p
c21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlw
ZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYu
dHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNT
IHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQ
QVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNl
CitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZh
bHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMg
dHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyB0cnVlCitQQVNTIHYudHlwZU1pc21hdGNoIGlz
IHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBp
cyB0cnVlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2gg
aXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyB0cnVlCitQQVNTIHYudHlwZU1pc21hdGNo
IGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRj
aCBpcyBmYWxzZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyBmYWxzZQorUEFTUyB2LnR5cGVNaXNt
YXRjaCBpcyBmYWxzZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyB0cnVlCitQQVNTIHYudHlwZU1p
c21hdGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzZhY2MwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1lbWFpbC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLWVtYWlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291
cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi42NmFkODcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwu
anMKQEAgLTAsMCArMSw3NyBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBhaW1zIHRvIGNoZWNr
IGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZW1haWwgaW5wdXQgZmllbGRzIik7CisK
K3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKK3ZhciB2ID0gaS52YWxp
ZGl0eTsKKworaS50eXBlID0gImVtYWlsIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJm
YWxzZSIpOworCisvLyBWQUxJRCBTSU5HTEUgVkFMVUVTCitpLnZhbHVlID0gInNvbWVvbmVAc29t
ZXdoZXJlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAiZmFsc2UiKTsKK2kudmFs
dWUgPSAic29tZW9uZUBsb2NhbGhvc3QiOworc2hvdWxkQmUoInYudHlwZU1pc21hdGNoIiwgImZh
bHNlIik7CitpLnZhbHVlID0gInNvbWVvbmVAMTI3LjAuMC4xIjsKK3Nob3VsZEJlKCJ2LnR5cGVN
aXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJhQGIiOworc2hvdWxkQmUoInYudHlwZU1p
c21hdGNoIiwgImZhbHNlIik7CitpLnZhbHVlID0gImEvYkBjIjsKK3Nob3VsZEJlKCJ2LnR5cGVN
aXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJ7fUB7fS5jb20iOworc2hvdWxkQmUoInYu
dHlwZU1pc21hdGNoIiwgImZhbHNlIik7CitpLnZhbHVlID0gImRkamstcy1qa0Bhc2wtIjsKK3No
b3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJtKidAJyElIjsK
K3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJmYXNmYUB0
dSEhN243LmFkIyMwISEhIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIpOwor
aS52YWx1ZSA9ICJGL3MvZi9hQGZlbytyZS5jb20iOworc2hvdWxkQmUoInYudHlwZU1pc21hdGNo
IiwgImZhbHNlIik7CitpLnZhbHVlID0gInNvbWUrbG9uZytlbWFpbCthZGRyZXNzQHNvbWUraG9z
dC13ZWlyZC0vbG9va2luZy5jb20iOworc2hvdWxkQmUoInYudHlwZU1pc21hdGNoIiwgImZhbHNl
Iik7CitpLnZhbHVlID0gIiVAJSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAiZmFsc2Ui
KTsKKworLy8gSU5WQUxJRCBTSU5HTEUgVkFMVUVTCitpLnZhbHVlID0gIkBzb21ld2hlcmUuY29t
IjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlID0gIi53b29s
eUBleGFtcGxlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAidHJ1ZSIpOworaS52
YWx1ZSA9ICJ3by4ub2x5QGV4YW1wbGUuY29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIs
ICJ0cnVlIik7CitpLnZhbHVlID0gInBvb3RpZXRhbmcuQGV4YW1wbGUuY29tIjsKK3Nob3VsZEJl
KCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlID0gIi5AZXhhbXBsZS5jb20iOwor
c2hvdWxkQmUoInYudHlwZU1pc21hdGNoIiwgInRydWUiKTsKK2kudmFsdWUgPSAiYSBzcGFjZUBl
eGFtcGxlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAidHJ1ZSIpOworaS52YWx1
ZSA9ICJzb21ldGhpbmdAZXguLmFtcGxlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2gi
LCAidHJ1ZSIpOworaS52YWx1ZSA9ICJhXGJAYyI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2gi
LCAidHJ1ZSIpOworaS52YWx1ZSA9ICJzb21lb25lQHNvbWV3aGVyZS5jb20uIjsKK3Nob3VsZEJl
KCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlID0gIlwiXCJ0ZXN0XGJsYWhcIlwi
QGV4YW1wbGUuY29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZh
bHVlID0gIlwidGVzdFxyYmxhaFwiQGV4YW1wbGUuY29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNt
YXRjaCIsICJ0cnVlIik7CisKKworLy8gVkFMSUQgTVVMVElQTEUKK2kubXVsdGlwbGUgPSB0cnVl
OworaS52YWx1ZSA9ICJzb21lb25lQHNvbWV3aGVyZS5jb20sam9obkBkb2UuY29tLGFAYixhL2JA
Yyx1YWxsYUB1YWxsYS4xMjciCitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAiZmFsc2UiKTsK
K2kudmFsdWUgPSAic29tZStsb25nK2VtYWlsK2FkZHJlc3NAc29tZStob3N0LXdlaXJkLS9sb29r
aW5nLmNvbSxGL3MvZi9hQGZlbytyZS5jb20sbSonQCchJSIKK3Nob3VsZEJlKCJ2LnR5cGVNaXNt
YXRjaCIsICJmYWxzZSIpOworaS52YWx1ZT0gIiwsLCwsLCwsLCwsIjsKK3Nob3VsZEJlKCJ2LnR5
cGVNaXNtYXRjaCIsICJmYWxzZSIpOworCisvLyBJTlZBTElEIE1VTFRJUExFICh0cnVlIG9uIHRo
ZSBmaXJzdCBpbnZhbGlkIG9jY3VycmVuY2UpCitpLnZhbHVlID0gInNvbWVvbmVAc29tZXdoZXJl
LmNvbSxqb2huQGRvZS4uY29tLGFAYixhL2JAYyx1YWxsYUB1YWxsYS4xMjciCitzaG91bGRCZSgi
di50eXBlTWlzbWF0Y2giLCAidHJ1ZSIpOworaS52YWx1ZSA9ICJzb21lK2xvbmcrZW1haWwrYWRk
cmVzc0Bzb21lK2hvc3Q6d2VpcmQtL2xvb2tpbmcuY29tLEYvcy9mL2FAZmVvK3JlLmNvbSwsbSon
QCchJSIKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlPSAiLCws
LCwsLCwsICwsIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1dlYkNvcmUvaHRtbC9W
YWxpZGl0eVN0YXRlLmNwcAppbmRleCA4NjIyN2Q0Li44YTE1OThiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3Rh
dGUuY3BwCkBAIC0yMywxNCArMjMsNDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJWYWxpZGl0eVN0YXRlLmgiCiAKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiUmVndWxhckV4cHJlc3Npb24uaCIKKyNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisKKyNkZWZpbmUgUkZDNTMyMl9ET1RBVE9NVEVYVCAi
W2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlxcLlthLXowLTkhIyQlJicqKy89P15fYHt8
fX4tXSspKiIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCit1c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOworCiBWYWxpZGl0eVN0YXRlOjpWYWxpZGl0eVN0YXRlKEhUTUxGb3JtQ29udHJvbEVsZW1l
bnQqIHBhcmVudCkKICAgICA6IG1fY29udHJvbChwYXJlbnQpCiB7CiAgICAgQVNTRVJUKHBhcmVu
dCk7CiB9CiAKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6dHlwZU1pc21hdGNoKCkKK3sKKyAgICBpZiAo
IWNvbnRyb2woKS0+aGFzVGFnTmFtZShpbnB1dFRhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxl
bWVudCo+KGNvbnRyb2woKSk7CisgICAgU3RyaW5nIHZhbHVlID0gaW5wdXQtPnZhbHVlKCk7CisK
KyAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBp
ZiAoaW5wdXQtPmlucHV0VHlwZSgpID09IEhUTUxJbnB1dEVsZW1lbnQ6OkVNQUlMKSB7CisgICAg
ICAgIGlmICghaW5wdXQtPm11bHRpcGxlKCkpCisgICAgICAgICAgICByZXR1cm4gIWlzVmFsaWRF
bWFpbEFkZHJlc3ModmFsdWUpOworICAgICAgICAgICAgCisgICAgICAgIFZlY3RvcjxTdHJpbmc+
IGVtYWlsX2xpc3Q7CisgICAgICAgIHZhbHVlLnNwbGl0KCcsJywgZW1haWxfbGlzdCk7CisgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbWFpbF9saXN0LnNpemUoKTsgKytpKQorICAg
ICAgICAgICAgaWYgKCFpc1ZhbGlkRW1haWxBZGRyZXNzKGVtYWlsX2xpc3RbaV0pKQorICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwog
Ym9vbCBWYWxpZGl0eVN0YXRlOjp2YWxpZCgpCiB7CiAgICAgYm9vbCBzb21lRXJyb3IgPSB0eXBl
TWlzbWF0Y2goKSB8fCBzdGVwTWlzbWF0Y2goKSB8fCByYW5nZVVuZGVyZmxvdygpIHx8IHJhbmdl
T3ZlcmZsb3coKSB8fApAQCAtMzksNCArNzMsMjAgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp2YWxp
ZCgpCiAgICAgcmV0dXJuICFzb21lRXJyb3I7CiB9CiAKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6aXNW
YWxpZEVtYWlsQWRkcmVzcyhTdHJpbmcmIGVtYWlsKQoreworICAgIGlmIChlbWFpbC5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRv
bWljU3RyaW5nLCBkb3RBdG9tVGV4dCwgKFJGQzUzMjJfRE9UQVRPTVRFWFQpKTsKKyAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgZW1haWxQYXR0ZXJuLCAoZG90QXRvbVRleHQg
KyAiQCIgKyBkb3RBdG9tVGV4dCkpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoUmVndWxhckV4
cHJlc3Npb24sIHJlZ0V4cCwgKGVtYWlsUGF0dGVybiwgVGV4dENhc2VJbnNlbnNpdGl2ZSkpOwor
CisgICAgaW50IG1hdGNoTGVuZ3RoID0gMDsKKyAgICBpbnQgZW1haWxMZW5ndGggPSBlbWFpbC5s
ZW5ndGgoKTsKKyAgICBpbnQgbWF0Y2hPZmZzZXQgPSByZWdFeHAubWF0Y2goZW1haWwsIDAsICZt
YXRjaExlbmd0aCk7CisKKyAgICByZXR1cm4gbWF0Y2hPZmZzZXQgPT0gMCAmJiBtYXRjaExlbmd0
aCA9PSBlbWFpbExlbmd0aDsKK30KKwogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmlu
ZGV4IDc5NDgyMmEuLjE5OWZkNzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0
YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAtNDEsNyArNDEsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0Q3VzdG9tRXJyb3JNZXNzYWdl
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgeyBtX2N1c3RvbUVycm9yTWVzc2FnZSA9IG1lc3NhZ2U7
IH0KIAogICAgICAgICBib29sIHZhbHVlTWlzc2luZygpIHsgcmV0dXJuIGNvbnRyb2woKS0+dmFs
dWVNaXNzaW5nKCk7IH0KLSAgICAgICAgYm9vbCB0eXBlTWlzbWF0Y2goKSB7IHJldHVybiBmYWxz
ZTsgfQorICAgICAgICBib29sIHR5cGVNaXNtYXRjaCgpOwogICAgICAgICBib29sIHBhdHRlcm5N
aXNtYXRjaCgpIHsgcmV0dXJuIGNvbnRyb2woKS0+cGF0dGVybk1pc21hdGNoKCk7IH0KICAgICAg
ICAgYm9vbCB0b29Mb25nKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgYm9vbCByYW5nZVVu
ZGVyZmxvdygpIHsgcmV0dXJuIGZhbHNlOyB9CkBAIC01Miw2ICs1Miw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFZhbGlkaXR5U3RhdGUoSFRNTEZvcm1D
b250cm9sRWxlbWVudCopOworICAgICAgICBib29sIGlzVmFsaWRFbWFpbEFkZHJlc3MoU3RyaW5n
Jik7CiAgICAgICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIG1fY29udHJvbDsKICAgICAgICAg
U3RyaW5nIG1fY3VzdG9tRXJyb3JNZXNzYWdlOwogICAgIH07
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38485</attachid>
            <date>2009-08-24 10:25:41 -0700</date>
            <delta_ts>2009-08-24 10:32:03 -0700</delta_ts>
            <desc>Patch v1a</desc>
            <filename>bug-27457-20090824192538.patch</filename>
            <type>text/plain</type>
            <size>7988</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0
eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZDVjOWZmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0
Y2ggZmxhZyB3aXRoIHR5cGU9ZW1haWwgaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1p
c21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlw
ZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYu
dHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNT
IHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQ
QVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNl
CitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZh
bHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMg
dHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyB0cnVlCitQQVNTIHYudHlwZU1pc21hdGNoIGlz
IHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBp
cyB0cnVlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2gg
aXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyB0cnVlCitQQVNTIHYudHlwZU1pc21hdGNo
IGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRj
aCBpcyBmYWxzZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyBmYWxzZQorUEFTUyB2LnR5cGVNaXNt
YXRjaCBpcyBmYWxzZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyB0cnVlCitQQVNTIHYudHlwZU1p
c21hdGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzZhY2MwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNt
YXRjaC1lbWFpbC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLWVtYWlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291
cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi40ODVkYTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwu
anMKQEAgLTAsMCArMSw3NyBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBhaW1zIHRvIGNoZWNr
IGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZW1haWwgaW5wdXQgZmllbGRzIik7CisK
K3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKK3ZhciB2ID0gaS52YWxp
ZGl0eTsKKworaS50eXBlID0gImVtYWlsIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJm
YWxzZSIpOworCisvLyBWQUxJRCBTSU5HTEUgVkFMVUVTCitpLnZhbHVlID0gInNvbWVvbmVAc29t
ZXdoZXJlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAiZmFsc2UiKTsKK2kudmFs
dWUgPSAic29tZW9uZUBsb2NhbGhvc3QiOworc2hvdWxkQmUoInYudHlwZU1pc21hdGNoIiwgImZh
bHNlIik7CitpLnZhbHVlID0gInNvbWVvbmVAMTI3LjAuMC4xIjsKK3Nob3VsZEJlKCJ2LnR5cGVN
aXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJhQGIiOworc2hvdWxkQmUoInYudHlwZU1p
c21hdGNoIiwgImZhbHNlIik7CitpLnZhbHVlID0gImEvYkBjIjsKK3Nob3VsZEJlKCJ2LnR5cGVN
aXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJ7fUB7fS5jb20iOworc2hvdWxkQmUoInYu
dHlwZU1pc21hdGNoIiwgImZhbHNlIik7CitpLnZhbHVlID0gImRkamstcy1qa0Bhc2wtIjsKK3No
b3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJtKidAJyElIjsK
K3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJmYXNmYUB0
dSEhN243LmFkIyMwISEhIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIpOwor
aS52YWx1ZSA9ICJGL3MvZi9hQGZlbytyZS5jb20iOworc2hvdWxkQmUoInYudHlwZU1pc21hdGNo
IiwgImZhbHNlIik7CitpLnZhbHVlID0gInNvbWUrbG9uZytlbWFpbCthZGRyZXNzQHNvbWUraG9z
dC13ZWlyZC0vbG9va2luZy5jb20iOworc2hvdWxkQmUoInYudHlwZU1pc21hdGNoIiwgImZhbHNl
Iik7CitpLnZhbHVlID0gIiVAJSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAiZmFsc2Ui
KTsKKworLy8gSU5WQUxJRCBTSU5HTEUgVkFMVUVTCitpLnZhbHVlID0gIkBzb21ld2hlcmUuY29t
IjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlID0gIi53b29s
eUBleGFtcGxlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAidHJ1ZSIpOworaS52
YWx1ZSA9ICJ3by4ub2x5QGV4YW1wbGUuY29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIs
ICJ0cnVlIik7CitpLnZhbHVlID0gInBvb3RpZXRhbmcuQGV4YW1wbGUuY29tIjsKK3Nob3VsZEJl
KCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlID0gIi5AZXhhbXBsZS5jb20iOwor
c2hvdWxkQmUoInYudHlwZU1pc21hdGNoIiwgInRydWUiKTsKK2kudmFsdWUgPSAiYSBzcGFjZUBl
eGFtcGxlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAidHJ1ZSIpOworaS52YWx1
ZSA9ICJzb21ldGhpbmdAZXguLmFtcGxlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2gi
LCAidHJ1ZSIpOworaS52YWx1ZSA9ICJhXGJAYyI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2gi
LCAidHJ1ZSIpOworaS52YWx1ZSA9ICJzb21lb25lQHNvbWV3aGVyZS5jb20uIjsKK3Nob3VsZEJl
KCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlID0gIlwiXCJ0ZXN0XGJsYWhcIlwi
QGV4YW1wbGUuY29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZh
bHVlID0gIlwidGVzdFxyYmxhaFwiQGV4YW1wbGUuY29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNt
YXRjaCIsICJ0cnVlIik7CisKKworLy8gVkFMSUQgTVVMVElQTEUKK2kubXVsdGlwbGUgPSB0cnVl
OworaS52YWx1ZSA9ICJzb21lb25lQHNvbWV3aGVyZS5jb20sam9obkBkb2UuY29tLGFAYixhL2JA
Yyx1YWxsYUB1YWxsYS4xMjciCitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAiZmFsc2UiKTsK
K2kudmFsdWUgPSAic29tZStsb25nK2VtYWlsK2FkZHJlc3NAc29tZStob3N0LXdlaXJkLS9sb29r
aW5nLmNvbSxGL3MvZi9hQGZlbytyZS5jb20sbSonQCchJSIKK3Nob3VsZEJlKCJ2LnR5cGVNaXNt
YXRjaCIsICJmYWxzZSIpOworaS52YWx1ZT0gIiwsLCwsLCwsLCwsIjsKK3Nob3VsZEJlKCJ2LnR5
cGVNaXNtYXRjaCIsICJmYWxzZSIpOworCisvLyBJTlZBTElEIE1VTFRJUExFICh0cnVlIG9uIHRo
ZSBmaXJzdCBpbnZhbGlkIG9jY3VycmVuY2UpCitpLnZhbHVlID0gInNvbWVvbmVAc29tZXdoZXJl
LmNvbSxqb2huQGRvZS4uY29tLGFAYixhL2JAYyx1YWxsYUB1YWxsYS4xMjciCitzaG91bGRCZSgi
di50eXBlTWlzbWF0Y2giLCAidHJ1ZSIpOworaS52YWx1ZSA9ICJzb21lK2xvbmcrZW1haWwrYWRk
cmVzc0Bzb21lK2hvc3Q6d2VpcmQtL2xvb2tpbmcuY29tLEYvcy9mL2FAZmVvK3JlLmNvbSwsbSon
QCchJSIKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlPSAiLCws
LCwsLCwsICwsIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuY3BwIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCmluZGV4IDg2MjI3
ZDQuLjhhMTU5OGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAor
KysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKQEAgLTIzLDE0ICsyMyw0OCBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlZhbGlkaXR5U3RhdGUuaCIKIAorI2luY2x1
ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRl
ICJSZWd1bGFyRXhwcmVzc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKwor
I2RlZmluZSBSRkM1MzIyX0RPVEFUT01URVhUICJbYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0r
KD86XFwuW2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKykqIgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKIFZhbGlkaXR5U3RhdGU6OlZhbGlk
aXR5U3RhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCogcGFyZW50KQogICAgIDogbV9jb250cm9s
KHBhcmVudCkKIHsKICAgICBBU1NFUlQocGFyZW50KTsKIH0KIAorYm9vbCBWYWxpZGl0eVN0YXRl
Ojp0eXBlTWlzbWF0Y2goKQoreworICAgIGlmICghY29udHJvbCgpLT5oYXNUYWdOYW1lKGlucHV0
VGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgSFRNTElucHV0RWxlbWVudCogaW5w
dXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oY29udHJvbCgpKTsKKyAgICBTdHJp
bmcgdmFsdWUgPSBpbnB1dC0+dmFsdWUoKTsKKworICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChpbnB1dC0+aW5wdXRUeXBlKCkgPT0gSFRN
TElucHV0RWxlbWVudDo6RU1BSUwpIHsKKyAgICAgICAgaWYgKCFpbnB1dC0+bXVsdGlwbGUoKSkK
KyAgICAgICAgICAgIHJldHVybiAhaXNWYWxpZEVtYWlsQWRkcmVzcyh2YWx1ZSk7CisgICAgICAg
ICAgICAKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gZW1haWxfbGlzdDsKKyAgICAgICAgdmFsdWUu
c3BsaXQoJywnLCBlbWFpbF9saXN0KTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGVtYWlsX2xpc3Quc2l6ZSgpOyArK2kpCisgICAgICAgICAgICBpZiAoIWlzVmFsaWRFbWFpbEFk
ZHJlc3MoZW1haWxfbGlzdFtpXSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkK
IHsKICAgICBib29sIHNvbWVFcnJvciA9IHR5cGVNaXNtYXRjaCgpIHx8IHN0ZXBNaXNtYXRjaCgp
IHx8IHJhbmdlVW5kZXJmbG93KCkgfHwgcmFuZ2VPdmVyZmxvdygpIHx8CkBAIC0zOSw0ICs3Mywy
MCBAQCBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkKICAgICByZXR1cm4gIXNvbWVFcnJvcjsK
IH0KIAorYm9vbCBWYWxpZGl0eVN0YXRlOjppc1ZhbGlkRW1haWxBZGRyZXNzKFN0cmluZyYgZW1h
aWwpCit7CisgICAgaWYgKGVtYWlsLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGRvdEF0b21UZXh0LCAoUkZD
NTMyMl9ET1RBVE9NVEVYVCkpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5n
LCBlbWFpbFBhdHRlcm4sIChkb3RBdG9tVGV4dCArICJAIiArIGRvdEF0b21UZXh0KSk7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChSZWd1bGFyRXhwcmVzc2lvbiwgcmVnRXhwLCAoZW1haWxQYXR0
ZXJuLCBUZXh0Q2FzZUluc2Vuc2l0aXZlKSk7CisKKyAgICBpbnQgbWF0Y2hMZW5ndGggPSAwOwor
ICAgIGludCBlbWFpbExlbmd0aCA9IGVtYWlsLmxlbmd0aCgpOworICAgIGludCBtYXRjaE9mZnNl
dCA9IHJlZ0V4cC5tYXRjaChlbWFpbCwgMCwgJm1hdGNoTGVuZ3RoKTsKKworICAgIHJldHVybiBt
YXRjaE9mZnNldCA9PSAwICYmIG1hdGNoTGVuZ3RoID09IGVtYWlsTGVuZ3RoOworfQorCiB9IC8v
IG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1dl
YkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKaW5kZXggNzk0ODIyYS4uMTk5ZmQ3MCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdm9pZCBzZXRDdXN0b21FcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSB7IG1f
Y3VzdG9tRXJyb3JNZXNzYWdlID0gbWVzc2FnZTsgfQogCiAgICAgICAgIGJvb2wgdmFsdWVNaXNz
aW5nKCkgeyByZXR1cm4gY29udHJvbCgpLT52YWx1ZU1pc3NpbmcoKTsgfQotICAgICAgICBib29s
IHR5cGVNaXNtYXRjaCgpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIGJvb2wgdHlwZU1pc21h
dGNoKCk7CiAgICAgICAgIGJvb2wgcGF0dGVybk1pc21hdGNoKCkgeyByZXR1cm4gY29udHJvbCgp
LT5wYXR0ZXJuTWlzbWF0Y2goKTsgfQogICAgICAgICBib29sIHRvb0xvbmcoKSB7IHJldHVybiBm
YWxzZTsgfQogICAgICAgICBib29sIHJhbmdlVW5kZXJmbG93KCkgeyByZXR1cm4gZmFsc2U7IH0K
QEAgLTUyLDYgKzUyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgVmFsaWRpdHlTdGF0ZShIVE1MRm9ybUNvbnRyb2xFbGVtZW50Kik7CisgICAgICAgIGJv
b2wgaXNWYWxpZEVtYWlsQWRkcmVzcyhTdHJpbmcmKTsKICAgICAgICAgSFRNTEZvcm1Db250cm9s
RWxlbWVudCogbV9jb250cm9sOwogICAgICAgICBTdHJpbmcgbV9jdXN0b21FcnJvck1lc3NhZ2U7
CiAgICAgfTs=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38487</attachid>
            <date>2009-08-24 10:32:10 -0700</date>
            <delta_ts>2009-08-26 12:32:00 -0700</delta_ts>
            <desc>Patch v1, Changelogs were missing</desc>
            <filename>bug-27457-20090824193207.patch</filename>
            <type>text/plain</type>
            <size>9512</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyOWUwYzQ1Li41ZWZmZDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDgt
MjQgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNkZXNpbUBnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU3CisgICAgICAgIFRlc3RzIHRoZSBzdXBwb3J0
IGZvciB0aGUgdHlwZU1pc21hdGNoIGZsYWcgb24gdGhlIFZhbGlkaXR5U3RhdGUgb2JqZWN0LAor
ICAgICAgICBmb3IgdHlwZT1lbWFpbCBpbnB1dCBlbGVtZW50cy4KKworICAgICAgICAqIGZhc3Qv
Zm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWVtYWls
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLWVtYWlsLmpzOiBBZGRlZC4KKwogMjAwOS0wOC0yNCAgRGFuIEJlcm5z
dGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNl
ci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZDVjOWZmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlz
bWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZW1haWwgaW5wdXQgZmllbGRzCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlw
ZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYu
dHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNT
IHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQ
QVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNl
CitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZh
bHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlz
IGZhbHNlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2gg
aXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyB0cnVlCitQQVNTIHYudHlwZU1pc21hdGNo
IGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRj
aCBpcyB0cnVlCitQQVNTIHYudHlwZU1pc21hdGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0
Y2ggaXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyB0cnVlCitQQVNTIHYudHlwZU1pc21h
dGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMgdHJ1ZQorUEFTUyB2LnR5cGVNaXNt
YXRjaCBpcyBmYWxzZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyBmYWxzZQorUEFTUyB2LnR5cGVN
aXNtYXRjaCBpcyBmYWxzZQorUEFTUyB2LnR5cGVNaXNtYXRjaCBpcyB0cnVlCitQQVNTIHYudHlw
ZU1pc21hdGNoIGlzIHRydWUKK1BBU1Mgdi50eXBlTWlzbWF0Y2ggaXMgdHJ1ZQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1h
aWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzZhY2MwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1lbWFpbC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLWVtYWlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jl
c291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODVkYTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1h
aWwuanMKQEAgLTAsMCArMSw3NyBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBhaW1zIHRvIGNo
ZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZW1haWwgaW5wdXQgZmllbGRzIik7
CisKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKK3ZhciB2ID0gaS52
YWxpZGl0eTsKKworaS50eXBlID0gImVtYWlsIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIs
ICJmYWxzZSIpOworCisvLyBWQUxJRCBTSU5HTEUgVkFMVUVTCitpLnZhbHVlID0gInNvbWVvbmVA
c29tZXdoZXJlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAiZmFsc2UiKTsKK2ku
dmFsdWUgPSAic29tZW9uZUBsb2NhbGhvc3QiOworc2hvdWxkQmUoInYudHlwZU1pc21hdGNoIiwg
ImZhbHNlIik7CitpLnZhbHVlID0gInNvbWVvbmVAMTI3LjAuMC4xIjsKK3Nob3VsZEJlKCJ2LnR5
cGVNaXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJhQGIiOworc2hvdWxkQmUoInYudHlw
ZU1pc21hdGNoIiwgImZhbHNlIik7CitpLnZhbHVlID0gImEvYkBjIjsKK3Nob3VsZEJlKCJ2LnR5
cGVNaXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJ7fUB7fS5jb20iOworc2hvdWxkQmUo
InYudHlwZU1pc21hdGNoIiwgImZhbHNlIik7CitpLnZhbHVlID0gImRkamstcy1qa0Bhc2wtIjsK
K3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJtKidAJyEl
IjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZSA9ICJmYXNm
YUB0dSEhN243LmFkIyMwISEhIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIp
OworaS52YWx1ZSA9ICJGL3MvZi9hQGZlbytyZS5jb20iOworc2hvdWxkQmUoInYudHlwZU1pc21h
dGNoIiwgImZhbHNlIik7CitpLnZhbHVlID0gInNvbWUrbG9uZytlbWFpbCthZGRyZXNzQHNvbWUr
aG9zdC13ZWlyZC0vbG9va2luZy5jb20iOworc2hvdWxkQmUoInYudHlwZU1pc21hdGNoIiwgImZh
bHNlIik7CitpLnZhbHVlID0gIiVAJSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAiZmFs
c2UiKTsKKworLy8gSU5WQUxJRCBTSU5HTEUgVkFMVUVTCitpLnZhbHVlID0gIkBzb21ld2hlcmUu
Y29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlID0gIi53
b29seUBleGFtcGxlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAidHJ1ZSIpOwor
aS52YWx1ZSA9ICJ3by4ub2x5QGV4YW1wbGUuY29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRj
aCIsICJ0cnVlIik7CitpLnZhbHVlID0gInBvb3RpZXRhbmcuQGV4YW1wbGUuY29tIjsKK3Nob3Vs
ZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlID0gIi5AZXhhbXBsZS5jb20i
Oworc2hvdWxkQmUoInYudHlwZU1pc21hdGNoIiwgInRydWUiKTsKK2kudmFsdWUgPSAiYSBzcGFj
ZUBleGFtcGxlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAidHJ1ZSIpOworaS52
YWx1ZSA9ICJzb21ldGhpbmdAZXguLmFtcGxlLmNvbSI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0
Y2giLCAidHJ1ZSIpOworaS52YWx1ZSA9ICJhXGJAYyI7CitzaG91bGRCZSgidi50eXBlTWlzbWF0
Y2giLCAidHJ1ZSIpOworaS52YWx1ZSA9ICJzb21lb25lQHNvbWV3aGVyZS5jb20uIjsKK3Nob3Vs
ZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlID0gIlwiXCJ0ZXN0XGJsYWhc
IlwiQGV4YW1wbGUuY29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7Citp
LnZhbHVlID0gIlwidGVzdFxyYmxhaFwiQGV4YW1wbGUuY29tIjsKK3Nob3VsZEJlKCJ2LnR5cGVN
aXNtYXRjaCIsICJ0cnVlIik7CisKKworLy8gVkFMSUQgTVVMVElQTEUKK2kubXVsdGlwbGUgPSB0
cnVlOworaS52YWx1ZSA9ICJzb21lb25lQHNvbWV3aGVyZS5jb20sam9obkBkb2UuY29tLGFAYixh
L2JAYyx1YWxsYUB1YWxsYS4xMjciCitzaG91bGRCZSgidi50eXBlTWlzbWF0Y2giLCAiZmFsc2Ui
KTsKK2kudmFsdWUgPSAic29tZStsb25nK2VtYWlsK2FkZHJlc3NAc29tZStob3N0LXdlaXJkLS9s
b29raW5nLmNvbSxGL3MvZi9hQGZlbytyZS5jb20sbSonQCchJSIKK3Nob3VsZEJlKCJ2LnR5cGVN
aXNtYXRjaCIsICJmYWxzZSIpOworaS52YWx1ZT0gIiwsLCwsLCwsLCwsIjsKK3Nob3VsZEJlKCJ2
LnR5cGVNaXNtYXRjaCIsICJmYWxzZSIpOworCisvLyBJTlZBTElEIE1VTFRJUExFICh0cnVlIG9u
IHRoZSBmaXJzdCBpbnZhbGlkIG9jY3VycmVuY2UpCitpLnZhbHVlID0gInNvbWVvbmVAc29tZXdo
ZXJlLmNvbSxqb2huQGRvZS4uY29tLGFAYixhL2JAYyx1YWxsYUB1YWxsYS4xMjciCitzaG91bGRC
ZSgidi50eXBlTWlzbWF0Y2giLCAidHJ1ZSIpOworaS52YWx1ZSA9ICJzb21lK2xvbmcrZW1haWwr
YWRkcmVzc0Bzb21lK2hvc3Q6d2VpcmQtL2xvb2tpbmcuY29tLEYvcy9mL2FAZmVvK3JlLmNvbSws
bSonQCchJSIKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CitpLnZhbHVlPSAi
LCwsLCwsLCwsICwsIjsKK3Nob3VsZEJlKCJ2LnR5cGVNaXNtYXRjaCIsICJ0cnVlIik7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NzcyZTdjLi5iZGVlOGMzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDA5LTA4LTI0ICBNaWNoZWxhbmdlbG8gRGUgU2ltb25lICA8bWljZGVzaW1AZ21haWwu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzQ1NworICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgdGhlIHR5cGVNaXNtYXRjaCBmbGFnIG9uIHRoZSBWYWxpZGl0eVN0YXRlIG9i
amVjdCwKKyAgICAgICAgZm9yIHR5cGU9ZW1haWwgaW5wdXQgZWxlbWVudHMuCisKKyAgICAgICAg
VGVzdDogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC5odG1sCisK
KyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFs
aWRpdHlTdGF0ZTo6dHlwZU1pc21hdGNoKTogdmFsaWRhdGlvbiBmbGFnCisgICAgICAgIChXZWJD
b3JlOjpWYWxpZGl0eVN0YXRlOjppc1ZhbGlkRW1haWxBZGRyZXNzKTogY2hlY2sgbWV0aG9kCisg
ICAgICAgICogaHRtbC9WYWxpZGl0eVN0YXRlLmg6CisKIDIwMDktMDgtMjQgIFBhdmVsIEZlbGRt
YW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3Ro
eSBIYXRjaGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwIGIv
V2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCmluZGV4IDg2MjI3ZDQuLjhhMTU5OGIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysgYi9XZWJDb3JlL2h0
bWwvVmFsaWRpdHlTdGF0ZS5jcHAKQEAgLTIzLDE0ICsyMyw0OCBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIlZhbGlkaXR5U3RhdGUuaCIKIAorI2luY2x1ZGUgIkhUTUxJbnB1dEVs
ZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJSZWd1bGFyRXhwcmVz
c2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworI2RlZmluZSBSRkM1MzIy
X0RPVEFUT01URVhUICJbYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKD86XFwuW2EtejAtOSEj
JCUmJyorLz0/Xl9ge3x9fi1dKykqIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3VzaW5nIG5h
bWVzcGFjZSBIVE1MTmFtZXM7CisKIFZhbGlkaXR5U3RhdGU6OlZhbGlkaXR5U3RhdGUoSFRNTEZv
cm1Db250cm9sRWxlbWVudCogcGFyZW50KQogICAgIDogbV9jb250cm9sKHBhcmVudCkKIHsKICAg
ICBBU1NFUlQocGFyZW50KTsKIH0KIAorYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2go
KQoreworICAgIGlmICghY29udHJvbCgpLT5oYXNUYWdOYW1lKGlucHV0VGFnKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2Fz
dDxIVE1MSW5wdXRFbGVtZW50Kj4oY29udHJvbCgpKTsKKyAgICBTdHJpbmcgdmFsdWUgPSBpbnB1
dC0+dmFsdWUoKTsKKworICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGlmIChpbnB1dC0+aW5wdXRUeXBlKCkgPT0gSFRNTElucHV0RWxlbWVudDo6
RU1BSUwpIHsKKyAgICAgICAgaWYgKCFpbnB1dC0+bXVsdGlwbGUoKSkKKyAgICAgICAgICAgIHJl
dHVybiAhaXNWYWxpZEVtYWlsQWRkcmVzcyh2YWx1ZSk7CisgICAgICAgICAgICAKKyAgICAgICAg
VmVjdG9yPFN0cmluZz4gZW1haWxfbGlzdDsKKyAgICAgICAgdmFsdWUuc3BsaXQoJywnLCBlbWFp
bF9saXN0KTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVtYWlsX2xpc3Quc2l6
ZSgpOyArK2kpCisgICAgICAgICAgICBpZiAoIWlzVmFsaWRFbWFpbEFkZHJlc3MoZW1haWxfbGlz
dFtpXSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJu
IGZhbHNlOworfQorCiBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkKIHsKICAgICBib29sIHNv
bWVFcnJvciA9IHR5cGVNaXNtYXRjaCgpIHx8IHN0ZXBNaXNtYXRjaCgpIHx8IHJhbmdlVW5kZXJm
bG93KCkgfHwgcmFuZ2VPdmVyZmxvdygpIHx8CkBAIC0zOSw0ICs3MywyMCBAQCBib29sIFZhbGlk
aXR5U3RhdGU6OnZhbGlkKCkKICAgICByZXR1cm4gIXNvbWVFcnJvcjsKIH0KIAorYm9vbCBWYWxp
ZGl0eVN0YXRlOjppc1ZhbGlkRW1haWxBZGRyZXNzKFN0cmluZyYgZW1haWwpCit7CisgICAgaWYg
KGVtYWlsLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGRvdEF0b21UZXh0LCAoUkZDNTMyMl9ET1RBVE9NVEVY
VCkpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBlbWFpbFBhdHRlcm4s
IChkb3RBdG9tVGV4dCArICJAIiArIGRvdEF0b21UZXh0KSk7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChSZWd1bGFyRXhwcmVzc2lvbiwgcmVnRXhwLCAoZW1haWxQYXR0ZXJuLCBUZXh0Q2FzZUlu
c2Vuc2l0aXZlKSk7CisKKyAgICBpbnQgbWF0Y2hMZW5ndGggPSAwOworICAgIGludCBlbWFpbExl
bmd0aCA9IGVtYWlsLmxlbmd0aCgpOworICAgIGludCBtYXRjaE9mZnNldCA9IHJlZ0V4cC5tYXRj
aChlbWFpbCwgMCwgJm1hdGNoTGVuZ3RoKTsKKworICAgIHJldHVybiBtYXRjaE9mZnNldCA9PSAw
ICYmIG1hdGNoTGVuZ3RoID09IGVtYWlsTGVuZ3RoOworfQorCiB9IC8vIG5hbWVzcGFjZQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1dlYkNvcmUvaHRtbC9WYWxp
ZGl0eVN0YXRlLmgKaW5kZXggNzk0ODIyYS4uMTk5ZmQ3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBA
IC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRDdXN0
b21FcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSB7IG1fY3VzdG9tRXJyb3JNZXNz
YWdlID0gbWVzc2FnZTsgfQogCiAgICAgICAgIGJvb2wgdmFsdWVNaXNzaW5nKCkgeyByZXR1cm4g
Y29udHJvbCgpLT52YWx1ZU1pc3NpbmcoKTsgfQotICAgICAgICBib29sIHR5cGVNaXNtYXRjaCgp
IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIGJvb2wgdHlwZU1pc21hdGNoKCk7CiAgICAgICAg
IGJvb2wgcGF0dGVybk1pc21hdGNoKCkgeyByZXR1cm4gY29udHJvbCgpLT5wYXR0ZXJuTWlzbWF0
Y2goKTsgfQogICAgICAgICBib29sIHRvb0xvbmcoKSB7IHJldHVybiBmYWxzZTsgfQogICAgICAg
ICBib29sIHJhbmdlVW5kZXJmbG93KCkgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTUyLDYgKzUyLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgVmFsaWRpdHlT
dGF0ZShIVE1MRm9ybUNvbnRyb2xFbGVtZW50Kik7CisgICAgICAgIGJvb2wgaXNWYWxpZEVtYWls
QWRkcmVzcyhTdHJpbmcmKTsKICAgICAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudCogbV9jb250
cm9sOwogICAgICAgICBTdHJpbmcgbV9jdXN0b21FcnJvck1lc3NhZ2U7CiAgICAgfTs=
</data>
<flag name="review"
          id="19501"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38631</attachid>
            <date>2009-08-26 12:32:00 -0700</date>
            <delta_ts>2009-08-28 16:03:11 -0700</delta_ts>
            <desc>Patch rev.2</desc>
            <filename>27457-2.patch</filename>
            <type>text/plain</type>
            <size>10202</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyOWUwYzQ1Li41ZWZmZDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDgt
MjQgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNkZXNpbUBnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU3CisgICAgICAgIFRlc3RzIHRoZSBzdXBwb3J0
IGZvciB0aGUgdHlwZU1pc21hdGNoIGZsYWcgb24gdGhlIFZhbGlkaXR5U3RhdGUgb2JqZWN0LAor
ICAgICAgICBmb3IgdHlwZT1lbWFpbCBpbnB1dCBlbGVtZW50cy4KKworICAgICAgICAqIGZhc3Qv
Zm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWVtYWls
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLWVtYWlsLmpzOiBBZGRlZC4KKwogMjAwOS0wOC0yNCAgRGFuIEJlcm5z
dGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNl
ci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMzFiNjBlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzggQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlz
bWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZW1haWwgaW5wdXQgZmllbGRzLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBzb21ldGhpbmdAc29tZXRoaW5nLmNvbSBpcyBhIGNvcnJl
Y3QgdmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1Mgc29tZW9uZUBsb2NhbGhvc3QgaXMgYSBjb3Jy
ZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHNvbWVvbmVAMTI3LjAuMC4xIGlzIGEgY29y
cmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBhQGIgaXMgYSBjb3JyZWN0IHZhbGlkIGVt
YWlsIGFkZHJlc3MgCitQQVNTIGEvYkBjIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNz
IAorUEFTUyB7fUB7fS5jb20gaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNT
IGRkamstcy1qa0Bhc2wtIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBt
KidAJyElIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBmYXNmYUB0dSEh
N243LmFkIyMwISEhIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBGL3Mv
Zi9hQGZlbytyZS5jb20gaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHNv
bWUrbG9uZytlbWFpbCthZGRyZXNzQHNvbWUraG9zdC13ZWlyZC0vbG9va2luZy5jb20gaXMgYSBj
b3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTICVAJSBpcyBhIGNvcnJlY3QgdmFsaWQg
ZW1haWwgYWRkcmVzcyAKK1BBU1MgQHNvbWV3aGVyZS5jb20gaXMgYSBjb3JyZWN0IGludmFsaWQg
ZW1haWwgYWRkcmVzcyAKK1BBU1MgLndvb2x5QGV4YW1wbGUuY29tIGlzIGEgY29ycmVjdCBpbnZh
bGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHdvLi5vbHlAZXhhbXBsZS5jb20gaXMgYSBjb3JyZWN0
IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1MgcG9vdGlldGFuZy5AZXhhbXBsZS5jb20gaXMg
YSBjb3JyZWN0IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1MgLkBleGFtcGxlLmNvbSBpcyBh
IGNvcnJlY3QgaW52YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBhIHNwYWNlQGV4YW1wbGUuY29t
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHNvbWV0aGluZ0BleC4u
YW1wbGUuY29tIGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIGEIQGMg
aXMgYSBjb3JyZWN0IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1Mgc29tZW9uZUBzb21ld2hl
cmUuY29tLiBpcyBhIGNvcnJlY3QgaW52YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyAiInRlc3QI
bGFoIiJAZXhhbXBsZS5jb20gaXMgYSBjb3JyZWN0IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BB
U1MgInRlc3RibGFoIkBleGFtcGxlLmNvbSBpcyBhIGNvcnJlY3QgaW52YWxpZCBlbWFpbCBhZGRy
ZXNzIAorUEFTUyBzb21lb25lQHNvbWV3aGVyZS5jb20sam9obkBkb2UuY29tLGFAYixhL2JAYyx1
YWxsYUB1YWxsYS4xMjcgaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgbGlzdAorUEFT
UyBzb21lK2xvbmcrZW1haWwrYWRkcmVzc0Bzb21lK2hvc3Qtd2VpcmQtL2xvb2tpbmcuY29tLEYv
cy9mL2FAZmVvK3JlLmNvbSxtKidAJyElIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNz
IGxpc3QKK1BBU1MgLCwsLCwsLCwsLCwgaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3Mg
bGlzdAorUEFTUyBzb21lb25lQHNvbWV3aGVyZS5jb20sam9obkBkb2UuLmNvbSxhQGIsYS9iQGMs
dWFsbGFAdWFsbGEuMTI3IGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWlsIGFkZHJlc3MgbGlzdAor
UEFTUyBzb21lK2xvbmcrZW1haWwrYWRkcmVzc0Bzb21lK2hvc3Q6d2VpcmQtL2xvb2tpbmcuY29t
LEYvcy9mL2FAZmVvK3JlLmNvbSwsbSonQCchJSBpcyBhIGNvcnJlY3QgaW52YWxpZCBlbWFpbCBh
ZGRyZXNzIGxpc3QKK1BBU1MgLCwsLCwsLCwsICwsIGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWls
IGFkZHJlc3MgbGlzdAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZW1haWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4zMzZhY2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC5odG1sCkBAIC0wLDAgKzEsMTMg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWVtYWlsLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1lbWFpbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmJlNDUyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuanMKQEAgLTAsMCArMSw2MSBAQAorZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5
cGU9ZW1haWwgaW5wdXQgZmllbGRzLiIpOworCit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlucHV0Iik7CitpLnR5cGUgPSAiZW1haWwiOworCitmdW5jdGlvbiBlbWFpbENoZWNrKHZh
bCwgZXhwZWN0ZWRWYWxpZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsOworICAgIHZhciB2cyA9IGku
dmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gdnMgPT0gZXhwZWN0ZWRW
YWxpZDsKKyAgICB2YXIgZGlkUGFzc1RleHQgPSBkaWRQYXNzID8gImEgY29ycmVjdCIgOiAiYW4g
aW5jb3JyZWN0IjsKKyAgICB2YXIgdmFsaWRpdHlUZXh0ID0gdnMgPyAiaW52YWxpZCIgOiAidmFs
aWQiOworICAgIHZhciBtdWx0aXBsZVRleHQgPSBpLm11bHRpcGxlID8gImxpc3QiIDogIiI7Cisg
ICAgdmFyIHJlc3VsdFRleHQgPSB2YWwgKyAiIGlzICIgKyBkaWRQYXNzVGV4dCArICIgIiArIHZh
bGlkaXR5VGV4dCArICIgZW1haWwgYWRkcmVzcyAiICsgbXVsdGlwbGVUZXh0OworICAgIGlmIChk
aWRQYXNzKQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAg
ICAgdGVzdEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVkFMSUQKK2VtYWlsQ2hlY2soInNv
bWV0aGluZ0Bzb21ldGhpbmcuY29tIiwgZmFsc2UpOworZW1haWxDaGVjaygic29tZW9uZUBsb2Nh
bGhvc3QiLCBmYWxzZSk7CitlbWFpbENoZWNrKCJzb21lb25lQDEyNy4wLjAuMSIsIGZhbHNlKTsK
K2VtYWlsQ2hlY2soImFAYiIsIGZhbHNlKTsKK2VtYWlsQ2hlY2soImEvYkBjIiwgZmFsc2UpOwor
ZW1haWxDaGVjaygie31Ae30uY29tIiwgZmFsc2UpOworZW1haWxDaGVjaygiZGRqay1zLWprQGFz
bC0iLCBmYWxzZSk7CitlbWFpbENoZWNrKCJtKidAJyElIiwgZmFsc2UpOworZW1haWxDaGVjaygi
ZmFzZmFAdHUhITduNy5hZCMjMCEhISIsIGZhbHNlKTsKK2VtYWlsQ2hlY2soIkYvcy9mL2FAZmVv
K3JlLmNvbSIsIGZhbHNlKTsKK2VtYWlsQ2hlY2soInNvbWUrbG9uZytlbWFpbCthZGRyZXNzQHNv
bWUraG9zdC13ZWlyZC0vbG9va2luZy5jb20iLCBmYWxzZSk7CitlbWFpbENoZWNrKCIlQCUiLCBm
YWxzZSk7CisKKy8vIElOVkFMSUQKK2VtYWlsQ2hlY2soIkBzb21ld2hlcmUuY29tIiwgdHJ1ZSk7
CitlbWFpbENoZWNrKCIud29vbHlAZXhhbXBsZS5jb20iLCB0cnVlKTsKK2VtYWlsQ2hlY2soIndv
Li5vbHlAZXhhbXBsZS5jb20iLCB0cnVlKTsKK2VtYWlsQ2hlY2soInBvb3RpZXRhbmcuQGV4YW1w
bGUuY29tIiwgdHJ1ZSk7CitlbWFpbENoZWNrKCIuQGV4YW1wbGUuY29tIiwgdHJ1ZSk7CitlbWFp
bENoZWNrKCJhIHNwYWNlQGV4YW1wbGUuY29tIiwgdHJ1ZSk7CitlbWFpbENoZWNrKCJzb21ldGhp
bmdAZXguLmFtcGxlLmNvbSIsIHRydWUpOworZW1haWxDaGVjaygiYVxiQGMiLCB0cnVlKTsKK2Vt
YWlsQ2hlY2soInNvbWVvbmVAc29tZXdoZXJlLmNvbS4iLCB0cnVlKTsKK2VtYWlsQ2hlY2soIlwi
XCJ0ZXN0XGJsYWhcIlwiQGV4YW1wbGUuY29tIiwgdHJ1ZSk7CitlbWFpbENoZWNrKCJcInRlc3Ri
bGFoXCJAZXhhbXBsZS5jb20iLCB0cnVlKTsKKworaS5tdWx0aXBsZSA9IHRydWU7CisKKy8vIFZB
TElEIE1VTFRJUExFCitlbWFpbENoZWNrKCJzb21lb25lQHNvbWV3aGVyZS5jb20sam9obkBkb2Uu
Y29tLGFAYixhL2JAYyx1YWxsYUB1YWxsYS4xMjciLCBmYWxzZSkKK2VtYWlsQ2hlY2soInNvbWUr
bG9uZytlbWFpbCthZGRyZXNzQHNvbWUraG9zdC13ZWlyZC0vbG9va2luZy5jb20sRi9zL2YvYUBm
ZW8rcmUuY29tLG0qJ0AnISUiLCBmYWxzZSkKK2VtYWlsQ2hlY2soIiwsLCwsLCwsLCwsIiwgZmFs
c2UpCisKKy8vIElOVkFMSUQgTVVMVElQTEUgKHRydWUgb24gdGhlIGZpcnN0IGludmFsaWQgb2Nj
dXJyZW5jZSkKK2VtYWlsQ2hlY2soInNvbWVvbmVAc29tZXdoZXJlLmNvbSxqb2huQGRvZS4uY29t
LGFAYixhL2JAYyx1YWxsYUB1YWxsYS4xMjciLCB0cnVlKQorZW1haWxDaGVjaygic29tZStsb25n
K2VtYWlsK2FkZHJlc3NAc29tZStob3N0OndlaXJkLS9sb29raW5nLmNvbSxGL3MvZi9hQGZlbyty
ZS5jb20sLG0qJ0AnISUiLCB0cnVlKQorZW1haWxDaGVjaygiLCwsLCwsLCwsICwsIiwgdHJ1ZSkK
KworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc3MmU3Yy4uYmRlZThjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAwOS0wOC0yNCAgTWljaGVsYW5nZWxvIERlIFNpbW9uZSAgPG1pY2Rlc2lt
QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjc0NTcKKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIHRoZSB0eXBlTWlzbWF0Y2ggZmxhZyBvbiB0aGUgVmFsaWRpdHlT
dGF0ZSBvYmplY3QsCisgICAgICAgIGZvciB0eXBlPWVtYWlsIGlucHV0IGVsZW1lbnRzLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwu
aHRtbAorCisgICAgICAgICogaHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlZhbGlkaXR5U3RhdGU6OnR5cGVNaXNtYXRjaCk6IHZhbGlkYXRpb24gZmxhZworICAgICAg
ICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6aXNWYWxpZEVtYWlsQWRkcmVzcyk6IGNoZWNrIG1l
dGhvZAorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorCiAyMDA5LTA4LTI0ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRl
LmNwcCBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAppbmRleCA4NjIyN2Q0Li5hOTk4
ZTI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKKysrIGIvV2Vi
Q29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC0yMywxNCArMjMsNDggQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJWYWxpZGl0eVN0YXRlLmgiCiAKKyNpbmNsdWRlICJIVE1M
SW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiUmVndWxh
ckV4cHJlc3Npb24uaCIKKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisKKyNkZWZpbmUg
UkZDNTMyMl9BVEVYVCAiW2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dIgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKIFZhbGlkaXR5U3RhdGU6
OlZhbGlkaXR5U3RhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCogcGFyZW50KQogICAgIDogbV9j
b250cm9sKHBhcmVudCkKIHsKICAgICBBU1NFUlQocGFyZW50KTsKIH0KIAorYm9vbCBWYWxpZGl0
eVN0YXRlOjp0eXBlTWlzbWF0Y2goKQoreworICAgIGlmICghY29udHJvbCgpLT5oYXNUYWdOYW1l
KGlucHV0VGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgSFRNTElucHV0RWxlbWVu
dCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oY29udHJvbCgpKTsKKyAg
ICBTdHJpbmcgdmFsdWUgPSBpbnB1dC0+dmFsdWUoKTsKKworICAgIGlmICh2YWx1ZS5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChpbnB1dC0+aW5wdXRUeXBlKCkg
PT0gSFRNTElucHV0RWxlbWVudDo6RU1BSUwpIHsKKyAgICAgICAgaWYgKCFpbnB1dC0+bXVsdGlw
bGUoKSkKKyAgICAgICAgICAgIHJldHVybiAhaXNWYWxpZEVtYWlsQWRkcmVzcyh2YWx1ZSk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gZW1haWxfbGlzdDsKKyAgICAgICAg
dmFsdWUuc3BsaXQoJywnLCBlbWFpbF9saXN0KTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGVtYWlsX2xpc3Quc2l6ZSgpOyArK2kpCisgICAgICAgICAgICBpZiAoIWlzVmFsaWRF
bWFpbEFkZHJlc3MoZW1haWxfbGlzdFtpXSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIFZhbGlkaXR5U3RhdGU6OnZh
bGlkKCkKIHsKICAgICBib29sIHNvbWVFcnJvciA9IHR5cGVNaXNtYXRjaCgpIHx8IHN0ZXBNaXNt
YXRjaCgpIHx8IHJhbmdlVW5kZXJmbG93KCkgfHwgcmFuZ2VPdmVyZmxvdygpIHx8CkBAIC0zOSw0
ICs3MywyNCBAQCBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkKICAgICByZXR1cm4gIXNvbWVF
cnJvcjsKIH0KIAorYm9vbCBWYWxpZGl0eVN0YXRlOjppc1ZhbGlkRW1haWxBZGRyZXNzKFN0cmlu
ZyYgZW1haWwpCit7CisgICAgaWYgKGVtYWlsLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGRvdEF0b21UZXh0LCAoUkZD
NTMyMl9BVEVYVCkpOworICAgIGRvdEF0b21UZXh0LmFwcGVuZCgiKyg/OlxcLiIpOworICAgIGRv
dEF0b21UZXh0LmFwcGVuZChSRkM1MzIyX0FURVhUKTsKKyAgICBkb3RBdG9tVGV4dC5hcHBlbmQo
IispKiIpOworCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGVtYWlsUGF0
dGVybiwgKGRvdEF0b21UZXh0ICsgIkAiICsgZG90QXRvbVRleHQpKTsKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKFJlZ3VsYXJFeHByZXNzaW9uLCByZWdFeHAsIChlbWFpbFBhdHRlcm4sIFRleHRD
YXNlSW5zZW5zaXRpdmUpKTsKKworICAgIGludCBtYXRjaExlbmd0aCA9IDA7CisgICAgaW50IGVt
YWlsTGVuZ3RoID0gZW1haWwubGVuZ3RoKCk7CisgICAgaW50IG1hdGNoT2Zmc2V0ID0gcmVnRXhw
Lm1hdGNoKGVtYWlsLCAwLCAmbWF0Y2hMZW5ndGgpOworCisgICAgcmV0dXJuIG1hdGNoT2Zmc2V0
ID09IDAgJiYgbWF0Y2hMZW5ndGggPT0gZW1haWxMZW5ndGg7Cit9CisKIH0gLy8gbmFtZXNwYWNl
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1s
L1ZhbGlkaXR5U3RhdGUuaAppbmRleCA3OTQ4MjJhLi4xOTlmZDcwIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRl
LmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNl
dEN1c3RvbUVycm9yTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIHsgbV9jdXN0b21FcnJv
ck1lc3NhZ2UgPSBtZXNzYWdlOyB9CiAKICAgICAgICAgYm9vbCB2YWx1ZU1pc3NpbmcoKSB7IHJl
dHVybiBjb250cm9sKCktPnZhbHVlTWlzc2luZygpOyB9Ci0gICAgICAgIGJvb2wgdHlwZU1pc21h
dGNoKCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgYm9vbCB0eXBlTWlzbWF0Y2goKTsKICAg
ICAgICAgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goKSB7IHJldHVybiBjb250cm9sKCktPnBhdHRlcm5N
aXNtYXRjaCgpOyB9CiAgICAgICAgIGJvb2wgdG9vTG9uZygpIHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgICAgIGJvb2wgcmFuZ2VVbmRlcmZsb3coKSB7IHJldHVybiBmYWxzZTsgfQpAQCAtNTIsNiAr
NTIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRlOgogICAgICAgICBWYWxp
ZGl0eVN0YXRlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKKyAgICAgICAgYm9vbCBpc1ZhbGlk
RW1haWxBZGRyZXNzKFN0cmluZyYpOwogICAgICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBt
X2NvbnRyb2w7CiAgICAgICAgIFN0cmluZyBtX2N1c3RvbUVycm9yTWVzc2FnZTsKICAgICB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38759</attachid>
            <date>2009-08-28 16:03:11 -0700</date>
            <delta_ts>2009-09-15 08:37:08 -0700</delta_ts>
            <desc>Patch rev.2a</desc>
            <filename>27457-2a.patch</filename>
            <type>text/plain</type>
            <size>10150</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyOWUwYzQ1Li41ZWZmZDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDgt
MjQgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNkZXNpbUBnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU3CisgICAgICAgIFRlc3RzIHRoZSBzdXBwb3J0
IGZvciB0aGUgdHlwZU1pc21hdGNoIGZsYWcgb24gdGhlIFZhbGlkaXR5U3RhdGUgb2JqZWN0LAor
ICAgICAgICBmb3IgdHlwZT1lbWFpbCBpbnB1dCBlbGVtZW50cy4KKworICAgICAgICAqIGZhc3Qv
Zm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWVtYWls
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLWVtYWlsLmpzOiBBZGRlZC4KKwogMjAwOS0wOC0yNCAgRGFuIEJlcm5z
dGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNl
ci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBl
TWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMzFiNjBlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzggQEAKK1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlz
bWF0Y2ggZmxhZyB3aXRoIHR5cGU9ZW1haWwgaW5wdXQgZmllbGRzLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBzb21ldGhpbmdAc29tZXRoaW5nLmNvbSBpcyBhIGNvcnJl
Y3QgdmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1Mgc29tZW9uZUBsb2NhbGhvc3QgaXMgYSBjb3Jy
ZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHNvbWVvbmVAMTI3LjAuMC4xIGlzIGEgY29y
cmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBhQGIgaXMgYSBjb3JyZWN0IHZhbGlkIGVt
YWlsIGFkZHJlc3MgCitQQVNTIGEvYkBjIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNz
IAorUEFTUyB7fUB7fS5jb20gaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNT
IGRkamstcy1qa0Bhc2wtIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBt
KidAJyElIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBmYXNmYUB0dSEh
N243LmFkIyMwISEhIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBGL3Mv
Zi9hQGZlbytyZS5jb20gaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHNv
bWUrbG9uZytlbWFpbCthZGRyZXNzQHNvbWUraG9zdC13ZWlyZC0vbG9va2luZy5jb20gaXMgYSBj
b3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTICVAJSBpcyBhIGNvcnJlY3QgdmFsaWQg
ZW1haWwgYWRkcmVzcyAKK1BBU1MgQHNvbWV3aGVyZS5jb20gaXMgYSBjb3JyZWN0IGludmFsaWQg
ZW1haWwgYWRkcmVzcyAKK1BBU1MgLndvb2x5QGV4YW1wbGUuY29tIGlzIGEgY29ycmVjdCBpbnZh
bGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHdvLi5vbHlAZXhhbXBsZS5jb20gaXMgYSBjb3JyZWN0
IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1MgcG9vdGlldGFuZy5AZXhhbXBsZS5jb20gaXMg
YSBjb3JyZWN0IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1MgLkBleGFtcGxlLmNvbSBpcyBh
IGNvcnJlY3QgaW52YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBhIHNwYWNlQGV4YW1wbGUuY29t
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHNvbWV0aGluZ0BleC4u
YW1wbGUuY29tIGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIGEIQGMg
aXMgYSBjb3JyZWN0IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1Mgc29tZW9uZUBzb21ld2hl
cmUuY29tLiBpcyBhIGNvcnJlY3QgaW52YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyAiInRlc3QI
bGFoIiJAZXhhbXBsZS5jb20gaXMgYSBjb3JyZWN0IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BB
U1MgInRlc3RibGFoIkBleGFtcGxlLmNvbSBpcyBhIGNvcnJlY3QgaW52YWxpZCBlbWFpbCBhZGRy
ZXNzIAorUEFTUyBzb21lb25lQHNvbWV3aGVyZS5jb20sam9obkBkb2UuY29tLGFAYixhL2JAYyx1
YWxsYUB1YWxsYS4xMjcgaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgbGlzdAorUEFT
UyBzb21lK2xvbmcrZW1haWwrYWRkcmVzc0Bzb21lK2hvc3Qtd2VpcmQtL2xvb2tpbmcuY29tLEYv
cy9mL2FAZmVvK3JlLmNvbSxtKidAJyElIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNz
IGxpc3QKK1BBU1MgLCwsLCwsLCwsLCwgaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3Mg
bGlzdAorUEFTUyBzb21lb25lQHNvbWV3aGVyZS5jb20sam9obkBkb2UuLmNvbSxhQGIsYS9iQGMs
dWFsbGFAdWFsbGEuMTI3IGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWlsIGFkZHJlc3MgbGlzdAor
UEFTUyBzb21lK2xvbmcrZW1haWwrYWRkcmVzc0Bzb21lK2hvc3Q6d2VpcmQtL2xvb2tpbmcuY29t
LEYvcy9mL2FAZmVvK3JlLmNvbSwsbSonQCchJSBpcyBhIGNvcnJlY3QgaW52YWxpZCBlbWFpbCBh
ZGRyZXNzIGxpc3QKK1BBU1MgLCwsLCwsLCwsICwsIGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWls
IGFkZHJlc3MgbGlzdAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS10eXBlTWlzbWF0Y2gtZW1haWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4zMzZhY2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC5odG1sCkBAIC0wLDAgKzEsMTMg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWVtYWlsLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC1lbWFpbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmJlNDUyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvVmFsaWRp
dHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuanMKQEAgLTAsMCArMSw2MSBAQAorZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5
cGU9ZW1haWwgaW5wdXQgZmllbGRzLiIpOworCit2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlucHV0Iik7CitpLnR5cGUgPSAiZW1haWwiOworCitmdW5jdGlvbiBlbWFpbENoZWNrKHZh
bCwgZXhwZWN0ZWRWYWxpZCkKK3sKKyAgICBpLnZhbHVlID0gdmFsOworICAgIHZhciB2cyA9IGku
dmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciBkaWRQYXNzID0gdnMgPT0gZXhwZWN0ZWRW
YWxpZDsKKyAgICB2YXIgZGlkUGFzc1RleHQgPSBkaWRQYXNzID8gImEgY29ycmVjdCIgOiAiYW4g
aW5jb3JyZWN0IjsKKyAgICB2YXIgdmFsaWRpdHlUZXh0ID0gdnMgPyAiaW52YWxpZCIgOiAidmFs
aWQiOworICAgIHZhciBtdWx0aXBsZVRleHQgPSBpLm11bHRpcGxlID8gImxpc3QiIDogIiI7Cisg
ICAgdmFyIHJlc3VsdFRleHQgPSB2YWwgKyAiIGlzICIgKyBkaWRQYXNzVGV4dCArICIgIiArIHZh
bGlkaXR5VGV4dCArICIgZW1haWwgYWRkcmVzcyAiICsgbXVsdGlwbGVUZXh0OworICAgIGlmIChk
aWRQYXNzKQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAg
ICAgdGVzdEZhaWxlZChyZXN1bHRUZXh0KTsKK30KKworLy8gVkFMSUQKK2VtYWlsQ2hlY2soInNv
bWV0aGluZ0Bzb21ldGhpbmcuY29tIiwgZmFsc2UpOworZW1haWxDaGVjaygic29tZW9uZUBsb2Nh
bGhvc3QiLCBmYWxzZSk7CitlbWFpbENoZWNrKCJzb21lb25lQDEyNy4wLjAuMSIsIGZhbHNlKTsK
K2VtYWlsQ2hlY2soImFAYiIsIGZhbHNlKTsKK2VtYWlsQ2hlY2soImEvYkBjIiwgZmFsc2UpOwor
ZW1haWxDaGVjaygie31Ae30uY29tIiwgZmFsc2UpOworZW1haWxDaGVjaygiZGRqay1zLWprQGFz
bC0iLCBmYWxzZSk7CitlbWFpbENoZWNrKCJtKidAJyElIiwgZmFsc2UpOworZW1haWxDaGVjaygi
ZmFzZmFAdHUhITduNy5hZCMjMCEhISIsIGZhbHNlKTsKK2VtYWlsQ2hlY2soIkYvcy9mL2FAZmVv
K3JlLmNvbSIsIGZhbHNlKTsKK2VtYWlsQ2hlY2soInNvbWUrbG9uZytlbWFpbCthZGRyZXNzQHNv
bWUraG9zdC13ZWlyZC0vbG9va2luZy5jb20iLCBmYWxzZSk7CitlbWFpbENoZWNrKCIlQCUiLCBm
YWxzZSk7CisKKy8vIElOVkFMSUQKK2VtYWlsQ2hlY2soIkBzb21ld2hlcmUuY29tIiwgdHJ1ZSk7
CitlbWFpbENoZWNrKCIud29vbHlAZXhhbXBsZS5jb20iLCB0cnVlKTsKK2VtYWlsQ2hlY2soIndv
Li5vbHlAZXhhbXBsZS5jb20iLCB0cnVlKTsKK2VtYWlsQ2hlY2soInBvb3RpZXRhbmcuQGV4YW1w
bGUuY29tIiwgdHJ1ZSk7CitlbWFpbENoZWNrKCIuQGV4YW1wbGUuY29tIiwgdHJ1ZSk7CitlbWFp
bENoZWNrKCJhIHNwYWNlQGV4YW1wbGUuY29tIiwgdHJ1ZSk7CitlbWFpbENoZWNrKCJzb21ldGhp
bmdAZXguLmFtcGxlLmNvbSIsIHRydWUpOworZW1haWxDaGVjaygiYVxiQGMiLCB0cnVlKTsKK2Vt
YWlsQ2hlY2soInNvbWVvbmVAc29tZXdoZXJlLmNvbS4iLCB0cnVlKTsKK2VtYWlsQ2hlY2soIlwi
XCJ0ZXN0XGJsYWhcIlwiQGV4YW1wbGUuY29tIiwgdHJ1ZSk7CitlbWFpbENoZWNrKCJcInRlc3Ri
bGFoXCJAZXhhbXBsZS5jb20iLCB0cnVlKTsKKworaS5tdWx0aXBsZSA9IHRydWU7CisKKy8vIFZB
TElEIE1VTFRJUExFCitlbWFpbENoZWNrKCJzb21lb25lQHNvbWV3aGVyZS5jb20sam9obkBkb2Uu
Y29tLGFAYixhL2JAYyx1YWxsYUB1YWxsYS4xMjciLCBmYWxzZSkKK2VtYWlsQ2hlY2soInNvbWUr
bG9uZytlbWFpbCthZGRyZXNzQHNvbWUraG9zdC13ZWlyZC0vbG9va2luZy5jb20sRi9zL2YvYUBm
ZW8rcmUuY29tLG0qJ0AnISUiLCBmYWxzZSkKK2VtYWlsQ2hlY2soIiwsLCwsLCwsLCwsIiwgZmFs
c2UpCisKKy8vIElOVkFMSUQgTVVMVElQTEUgKHRydWUgb24gdGhlIGZpcnN0IGludmFsaWQgb2Nj
dXJyZW5jZSkKK2VtYWlsQ2hlY2soInNvbWVvbmVAc29tZXdoZXJlLmNvbSxqb2huQGRvZS4uY29t
LGFAYixhL2JAYyx1YWxsYUB1YWxsYS4xMjciLCB0cnVlKQorZW1haWxDaGVjaygic29tZStsb25n
K2VtYWlsK2FkZHJlc3NAc29tZStob3N0OndlaXJkLS9sb29raW5nLmNvbSxGL3MvZi9hQGZlbyty
ZS5jb20sLG0qJ0AnISUiLCB0cnVlKQorZW1haWxDaGVjaygiLCwsLCwsLCwsICwsIiwgdHJ1ZSkK
KworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc3MmU3Yy4uYmRlZThjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAwOS0wOC0yNCAgTWljaGVsYW5nZWxvIERlIFNpbW9uZSAgPG1pY2Rlc2lt
QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjc0NTcKKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIHRoZSB0eXBlTWlzbWF0Y2ggZmxhZyBvbiB0aGUgVmFsaWRpdHlT
dGF0ZSBvYmplY3QsCisgICAgICAgIGZvciB0eXBlPWVtYWlsIGlucHV0IGVsZW1lbnRzLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwu
aHRtbAorCisgICAgICAgICogaHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlZhbGlkaXR5U3RhdGU6OnR5cGVNaXNtYXRjaCk6IHZhbGlkYXRpb24gZmxhZworICAgICAg
ICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6aXNWYWxpZEVtYWlsQWRkcmVzcyk6IGNoZWNrIG1l
dGhvZAorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorCiAyMDA5LTA4LTI0ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRl
LmNwcCBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAppbmRleCA4NjIyN2Q0Li45MDZh
YzhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKKysrIGIvV2Vi
Q29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkBAIC0yMywxNCArMjMsNTAgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJWYWxpZGl0eVN0YXRlLmgiCiAKKyNpbmNsdWRlICJIVE1M
SW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiUmVndWxh
ckV4cHJlc3Npb24uaCIKKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisKKyNkZWZpbmUg
UkZDNTMyMl9BVEVYVCAiW2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dIgorI2RlZmluZSBSRkM1
MzIyX0RPVEFUT01URVhUIFJGQzUzMjJfQVRFWFQgIisoPzpcXC4iIFJGQzUzMjJfQVRFWFQgIisp
KiIKKyNkZWZpbmUgRU1BSUxfUEFUVEVSTiBSRkM1MzIyX0RPVEFUT01URVhUICJAIiBSRkM1MzIy
X0RPVEFUT01URVhUCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordXNpbmcgbmFtZXNwYWNlIEhU
TUxOYW1lczsKKwogVmFsaWRpdHlTdGF0ZTo6VmFsaWRpdHlTdGF0ZShIVE1MRm9ybUNvbnRyb2xF
bGVtZW50KiBwYXJlbnQpCiAgICAgOiBtX2NvbnRyb2wocGFyZW50KQogewogICAgIEFTU0VSVChw
YXJlbnQpOwogfQogCitib29sIFZhbGlkaXR5U3RhdGU6OnR5cGVNaXNtYXRjaCgpCit7CisgICAg
aWYgKCFjb250cm9sKCktPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1
dEVsZW1lbnQqPihjb250cm9sKCkpOworICAgIFN0cmluZyB2YWx1ZSA9IGlucHV0LT52YWx1ZSgp
OworCisgICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKGlucHV0LT5pbnB1dFR5cGUoKSA9PSBIVE1MSW5wdXRFbGVtZW50OjpFTUFJTCkgewor
ICAgICAgICBpZiAoIWlucHV0LT5tdWx0aXBsZSgpKQorICAgICAgICAgICAgcmV0dXJuICFpc1Zh
bGlkRW1haWxBZGRyZXNzKHZhbHVlKTsKKyAgICAgICAgICAgIAorICAgICAgICBWZWN0b3I8U3Ry
aW5nPiBlbWFpbF9saXN0OworICAgICAgICB2YWx1ZS5zcGxpdCgnLCcsIGVtYWlsX2xpc3QpOwor
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW1haWxfbGlzdC5zaXplKCk7ICsraSkK
KyAgICAgICAgICAgIGlmICghaXNWYWxpZEVtYWlsQWRkcmVzcyhlbWFpbF9saXN0W2ldKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKIGJvb2wgVmFsaWRpdHlTdGF0ZTo6dmFsaWQoKQogewogICAgIGJvb2wgc29tZUVycm9yID0g
dHlwZU1pc21hdGNoKCkgfHwgc3RlcE1pc21hdGNoKCkgfHwgcmFuZ2VVbmRlcmZsb3coKSB8fCBy
YW5nZU92ZXJmbG93KCkgfHwKQEAgLTM5LDQgKzc1LDE5IEBAIGJvb2wgVmFsaWRpdHlTdGF0ZTo6
dmFsaWQoKQogICAgIHJldHVybiAhc29tZUVycm9yOwogfQogCitib29sIFZhbGlkaXR5U3RhdGU6
OmlzVmFsaWRFbWFpbEFkZHJlc3MoU3RyaW5nJiBlbWFpbCkKK3sKKyAgICBpZiAoZW1haWwuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KEF0b21pY1N0cmluZywgZW1haWxQYXR0ZXJuLCAoRU1BSUxfUEFUVEVSTikpOworICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoUmVndWxhckV4cHJlc3Npb24sIHJlZ0V4cCwgKGVtYWlsUGF0dGVybiwg
VGV4dENhc2VJbnNlbnNpdGl2ZSkpOworCisgICAgaW50IG1hdGNoTGVuZ3RoID0gMDsKKyAgICBp
bnQgZW1haWxMZW5ndGggPSBlbWFpbC5sZW5ndGgoKTsKKyAgICBpbnQgbWF0Y2hPZmZzZXQgPSBy
ZWdFeHAubWF0Y2goZW1haWwsIDAsICZtYXRjaExlbmd0aCk7CisKKyAgICByZXR1cm4gbWF0Y2hP
ZmZzZXQgPT0gMCAmJiBtYXRjaExlbmd0aCA9PSBlbWFpbExlbmd0aDsKK30KKwogfSAvLyBuYW1l
c3BhY2UKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDc5NDgyMmEuLjE5OWZkNzAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5
U3RhdGUuaApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZv
aWQgc2V0Q3VzdG9tRXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgeyBtX2N1c3Rv
bUVycm9yTWVzc2FnZSA9IG1lc3NhZ2U7IH0KIAogICAgICAgICBib29sIHZhbHVlTWlzc2luZygp
IHsgcmV0dXJuIGNvbnRyb2woKS0+dmFsdWVNaXNzaW5nKCk7IH0KLSAgICAgICAgYm9vbCB0eXBl
TWlzbWF0Y2goKSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICBib29sIHR5cGVNaXNtYXRjaCgp
OwogICAgICAgICBib29sIHBhdHRlcm5NaXNtYXRjaCgpIHsgcmV0dXJuIGNvbnRyb2woKS0+cGF0
dGVybk1pc21hdGNoKCk7IH0KICAgICAgICAgYm9vbCB0b29Mb25nKCkgeyByZXR1cm4gZmFsc2U7
IH0KICAgICAgICAgYm9vbCByYW5nZVVuZGVyZmxvdygpIHsgcmV0dXJuIGZhbHNlOyB9CkBAIC01
Miw2ICs1Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAg
IFZhbGlkaXR5U3RhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCopOworICAgICAgICBib29sIGlz
VmFsaWRFbWFpbEFkZHJlc3MoU3RyaW5nJik7CiAgICAgICAgIEhUTUxGb3JtQ29udHJvbEVsZW1l
bnQqIG1fY29udHJvbDsKICAgICAgICAgU3RyaW5nIG1fY3VzdG9tRXJyb3JNZXNzYWdlOwogICAg
IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39602</attachid>
            <date>2009-09-15 08:37:28 -0700</date>
            <delta_ts>2009-10-13 13:53:20 -0700</delta_ts>
            <desc>Patch rev. 2b</desc>
            <filename>bug-27457-20090915173725.patch</filename>
            <type>text/plain</type>
            <size>10766</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODM5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDktMTUgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNk
ZXNpbUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3NDU3Cisg
ICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIHN0YXRpYyB2YWxpZGF0aW9uIG9uIHR5cGU9ZW1haWwg
aW5wdXQgZWxlbWVudHMgYXMgcGVyCisgICAgICAgIEhUTUw1IHNwZWNzOgorICAgICAgICBodHRw
Oi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNlLW1haWwtc3Rh
dGUKKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNo
LWVtYWlsLmh0bWwKKworICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2gpOiBWYWxpZGl0eVN0YXRlLnR5
cGVNaXNtYXRjaAorICAgICAgICBwZXJmb3JtcyB2YWxpZGF0aW9uIG9uIHR5cGU9ZW1haWwgaW5w
dXQgZWxlbWVudHMgbm93LgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6aXNWYWxp
ZEVtYWlsQWRkcmVzcyk6IHNpbXBsZSB2YWxpZGF0aW9uIG1ldGhvZCAKKyAgICAgICAgKiBodG1s
L1ZhbGlkaXR5U3RhdGUuaDoKKwogMjAwOS0wOS0xNSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZs
b3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4K
SW5kZXg6IFdlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAJKHJldmlzaW9uIDQ4MzkyKQorKysgV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiwxMiBAQAog
I2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUmVndWxhckV4cHJlc3Npb24uaCIKKyNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CisKKyNkZWZpbmUgRU1BSUxfTE9DQUxQQVJUICJbYS16MC05
ISMkJSYnKisvPT9eX2B7fH1+Li1dKyIKKyNkZWZpbmUgRU1BSUxfRE9NQUlOUEFSVCAiW2EtejAt
OS1dKyhcXC5bYS16MC05LV0rKSsiCisjZGVmaW5lIEVNQUlMX1BBVFRFUk4gRU1BSUxfTE9DQUxQ
QVJUICJAIiBFTUFJTF9ET01BSU5QQVJUCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTUs
NiArNjEsMTkgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2goKQogICAgICAgICBy
ZXR1cm4gIUhUTUxJbnB1dEVsZW1lbnQ6OmZvcm1TdHJpbmdUb0RvdWJsZSh2YWx1ZSwgMCk7CiAg
ICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpVUkw6CiAgICAgICAgIHJldHVybiAhS1VSTChLVVJM
KCksIHZhbHVlKS5pc1ZhbGlkKCk7CisgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpFTUFJTDoK
KyAgICB7CisgICAgICAgIGlmICghaW5wdXQtPm11bHRpcGxlKCkpCisgICAgICAgICAgICByZXR1
cm4gIWlzVmFsaWRFbWFpbEFkZHJlc3ModmFsdWUpOworICAgICAgICAgICAgCisgICAgICAgIFZl
Y3RvcjxTdHJpbmc+IGVtYWlsX2xpc3Q7CisgICAgICAgIHZhbHVlLnNwbGl0KCcsJywgZW1haWxf
bGlzdCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbWFpbF9saXN0LnNpemUo
KTsgKytpKQorICAgICAgICAgICAgaWYgKCFpc1ZhbGlkRW1haWxBZGRyZXNzKGVtYWlsX2xpc3Rb
aV0pKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAg
LTgxLDQgKzEwMCwxOSBAQCBib29sIFZhbGlkaXR5U3RhdGU6OmlzVmFsaWRDb2xvclN0cmluZyhj
CiAgICAgcmV0dXJuIGNvbG9yLmlzVmFsaWQoKSAmJiAhY29sb3IuaGFzQWxwaGEoKTsKIH0KIAor
Ym9vbCBWYWxpZGl0eVN0YXRlOjppc1ZhbGlkRW1haWxBZGRyZXNzKGNvbnN0IFN0cmluZyYgZW1h
aWwpCit7CisgICAgaWYgKGVtYWlsLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGVtYWlsUGF0dGVybiwgKEVN
QUlMX1BBVFRFUk4pKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlZ3VsYXJFeHByZXNzaW9u
LCByZWdFeHAsIChlbWFpbFBhdHRlcm4sIFRleHRDYXNlSW5zZW5zaXRpdmUpKTsKKworICAgIGlu
dCBtYXRjaExlbmd0aCA9IDA7CisgICAgaW50IGVtYWlsTGVuZ3RoID0gZW1haWwubGVuZ3RoKCk7
CisgICAgaW50IG1hdGNoT2Zmc2V0ID0gcmVnRXhwLm1hdGNoKGVtYWlsLCAwLCAmbWF0Y2hMZW5n
dGgpOworCisgICAgcmV0dXJuIG1hdGNoT2Zmc2V0ID09IDAgJiYgbWF0Y2hMZW5ndGggPT0gZW1h
aWxMZW5ndGg7Cit9CisKIH0gLy8gbmFtZXNwYWNlCkluZGV4OiBXZWJDb3JlL2h0bWwvVmFsaWRp
dHlTdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgJKHJl
dmlzaW9uIDQ4MzkyKQorKysgV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAkod29ya2luZyBj
b3B5KQpAQCAtNTYsNiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFN0cmlu
ZyBtX2N1c3RvbUVycm9yTWVzc2FnZTsKIAogICAgICAgICBzdGF0aWMgYm9vbCBpc1ZhbGlkQ29s
b3JTdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAgICAgIGJvb2wgaXNWYWxpZEVtYWlsQWRkcmVz
cyhjb25zdCBTdHJpbmcmKTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA0ODM5MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDA5LTA5LTE1ICBNaWNoZWxhbmdlbG8gRGUgU2ltb25l
ICA8bWljZGVzaW1AZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NzQ1NworICAgICAgICBUZXN0IGNhc2UgZm9yIHN0YXRpYyBlbWFpbCB2YWxpZGF0aW9uIG9uIHR5
cGU9ZW1haWwgaW5wdXQgZWxlbWVudHMgYXMKKyAgICAgICAgcGVyIEhUTUw1IHNwZWNzOgorICAg
ICAgICBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNl
LW1haWwtc3RhdGUKKworICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZW1haWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWVtYWlsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvcmVzb3VyY2VzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWVtYWlsLmpzOiBB
ZGRlZC4KKyAgICAgICAgKCk6CisKIDIwMDktMDktMTQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWVtYWlsLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorVGhpcyB0ZXN0IGFpbXMgdG8g
Y2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1lbWFpbCBpbnB1dCBmaWVsZHMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHNvbWV0aGluZ0Bzb21ldGhp
bmcuY29tIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBzb21lb25lQGxv
Y2FsaG9zdC5sb2NhbGRvbWFpbiBpcyBhIGNvcnJlY3QgdmFsaWQgZW1haWwgYWRkcmVzcyAKK1BB
U1Mgc29tZW9uZUAxMjcuMC4wLjEgaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQ
QVNTIGFAYi5iIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBhL2JAZG9t
YWluLmNvbSBpcyBhIGNvcnJlY3QgdmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1Mge31AZG9tYWlu
LmNvbSBpcyBhIGNvcnJlY3QgdmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1MgZGRqay1zLWprQGFz
bC0uY29tIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBtKichJUBzb21l
dGhpbmcuc2EgaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHR1ISE3bjcu
YWQjIzAhISFAY29tcGFueS5jYSBpcyBhIGNvcnJlY3QgdmFsaWQgZW1haWwgYWRkcmVzcyAKK1BB
U1MgJUBjb20uY29tIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyAhIyQl
JicqKy89P15fYHt8fX4uLUBjb20uY29tIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBhZGRyZXNz
IAorUEFTUyAud29vbHlAZXhhbXBsZS5jb20gaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJl
c3MgCitQQVNTIHdvLi5vbHlAZXhhbXBsZS5jb20gaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFk
ZHJlc3MgCitQQVNTIHNvbWVvbmVAZG8tbWEtaW4uY29tIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFp
bCBhZGRyZXNzIAorUEFTUyBzb21lb25lQGRvLS5jb20gaXMgYSBjb3JyZWN0IHZhbGlkIGVtYWls
IGFkZHJlc3MgCitQQVNTIHNvbWVib2R5QC0uY29tIGlzIGEgY29ycmVjdCB2YWxpZCBlbWFpbCBh
ZGRyZXNzIAorUEFTUyBpbnZhbGlkOmVtYWlsQGV4YW1wbGUuY29tIGlzIGEgY29ycmVjdCBpbnZh
bGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIEBzb21ld2hlcmUuY29tIGlzIGEgY29ycmVjdCBpbnZh
bGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIGV4YW1wbGUuY29tIGlzIGEgY29ycmVjdCBpbnZhbGlk
IGVtYWlsIGFkZHJlc3MgCitQQVNTIEBAZXhhbXBsZS5jb20gaXMgYSBjb3JyZWN0IGludmFsaWQg
ZW1haWwgYWRkcmVzcyAKK1BBU1MgYSBzcGFjZUBleGFtcGxlLmNvbSBpcyBhIGNvcnJlY3QgaW52
YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBzb21ldGhpbmdAZXguLmFtcGxlLmNvbSBpcyBhIGNv
cnJlY3QgaW52YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFTUyBhCEBjIGlzIGEgY29ycmVjdCBpbnZh
bGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHNvbWVvbmVAc29tZXdoZXJlLmNvbS4gaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1MgIiJ0ZXN0CGxhaCIiQGV4YW1wbGUuY29t
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTICJ0ZXN0YmxhaCJAZXhh
bXBsZS5jb20gaXMgYSBjb3JyZWN0IGludmFsaWQgZW1haWwgYWRkcmVzcyAKK1BBU1Mgc29tZW9u
ZUBzb21ld2hlcmUuY29tQCBpcyBhIGNvcnJlY3QgaW52YWxpZCBlbWFpbCBhZGRyZXNzIAorUEFT
UyBzb21lb25lQHNvbWV3aGVyZV9jb20gaXMgYSBjb3JyZWN0IGludmFsaWQgZW1haWwgYWRkcmVz
cyAKK1BBU1Mgc29tZW9uZUBzb21lOndoZXJlLmNvbSBpcyBhIGNvcnJlY3QgaW52YWxpZCBlbWFp
bCBhZGRyZXNzIAorUEFTUyAuIGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWlsIGFkZHJlc3MgCitQ
QVNTIEYvcy9mL2FAZmVvK3JlLmNvbSBpcyBhIGNvcnJlY3QgaW52YWxpZCBlbWFpbCBhZGRyZXNz
IAorUEFTUyBzb21lK2xvbmcrZW1haWwrYWRkcmVzc0Bzb21lK2hvc3Qtd2VpcmQtL2xvb2tpbmcu
Y29tIGlzIGEgY29ycmVjdCBpbnZhbGlkIGVtYWlsIGFkZHJlc3MgCitQQVNTIHNvbWVvbmVAc29t
ZXdoZXJlLmNvbSxqb2huQGRvZS5jb20sYUBiLmMsYS9iQGMuYyx1YWxsYUB1YWxsYS4xMjcgaXMg
YSBjb3JyZWN0IHZhbGlkIGVtYWlsIGFkZHJlc3MgbGlzdAorUEFTUyB0dSEhN243LmFkIyMwISEh
QGNvbXBhbnkuY2EsRi9zL2YvYUBmZW8tcmUuY29tLG0qJ0BhLmIgaXMgYSBjb3JyZWN0IHZhbGlk
IGVtYWlsIGFkZHJlc3MgbGlzdAorUEFTUyAsLCwsLCwsLCwsLCBpcyBhIGNvcnJlY3QgdmFsaWQg
ZW1haWwgYWRkcmVzcyBsaXN0CitQQVNTIHNvbWVvbmVAc29tZXdoZXJlLmNvbSxqb2huQGRvZS4u
Y29tLGFAYixhL2JAYyx1YWxsYUB1YWxsYS4xMjcgaXMgYSBjb3JyZWN0IGludmFsaWQgZW1haWwg
YWRkcmVzcyBsaXN0CitQQVNTIHNvbWUrbG9uZytlbWFpbCthZGRyZXNzQHNvbWUraG9zdDp3ZWly
ZC0vbG9va2luZy5jb20sRi9zL2YvYUBmZW8rcmUuY29tLCxtKidAJyElIGlzIGEgY29ycmVjdCBp
bnZhbGlkIGVtYWlsIGFkZHJlc3MgbGlzdAorUEFTUyAsLCwsLCwsLCwgLCwgaXMgYSBjb3JyZWN0
IGludmFsaWQgZW1haWwgYWRkcmVzcyBsaXN0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtZW1haWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
VmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtZW1haWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFpbC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1lbWFp
bC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWVtYWlsLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDY5IEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNt
YXRjaCBmbGFnIHdpdGggdHlwZT1lbWFpbCBpbnB1dCBmaWVsZHMuIik7CisKK3ZhciBpID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2kudHlwZSA9ICdlbWFpbCc7CisKK2Z1bmN0
aW9uIGVtYWlsQ2hlY2sodmFsLCBleHBlY3RlZFZhbGlkKQoreworICAgIGkudmFsdWUgPSB2YWw7
CisgICAgdmFyIHZzID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7CisgICAgdmFyIGRpZFBhc3Mg
PSB2cyA9PSBleHBlY3RlZFZhbGlkOworICAgIHZhciBkaWRQYXNzVGV4dCA9IGRpZFBhc3MgPyAi
YSBjb3JyZWN0IiA6ICJhbiBpbmNvcnJlY3QiOworICAgIHZhciB2YWxpZGl0eVRleHQgPSB2cyA/
ICJpbnZhbGlkIiA6ICJ2YWxpZCI7CisgICAgdmFyIG11bHRpcGxlVGV4dCA9IGkubXVsdGlwbGUg
PyAibGlzdCIgOiAiIjsKKyAgICB2YXIgcmVzdWx0VGV4dCA9IHZhbCArICIgaXMgIiArIGRpZFBh
c3NUZXh0ICsgIiAiICsgdmFsaWRpdHlUZXh0ICsgIiBlbWFpbCBhZGRyZXNzICIgKyBtdWx0aXBs
ZVRleHQ7CisgICAgaWYgKGRpZFBhc3MpCisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7
CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOworfQorCisvLyBWQUxJ
RAorZW1haWxDaGVjaygic29tZXRoaW5nQHNvbWV0aGluZy5jb20iLCBmYWxzZSk7CitlbWFpbENo
ZWNrKCJzb21lb25lQGxvY2FsaG9zdC5sb2NhbGRvbWFpbiIsIGZhbHNlKTsKK2VtYWlsQ2hlY2so
InNvbWVvbmVAMTI3LjAuMC4xIiwgZmFsc2UpOworZW1haWxDaGVjaygiYUBiLmIiLCBmYWxzZSk7
CitlbWFpbENoZWNrKCJhL2JAZG9tYWluLmNvbSIsIGZhbHNlKTsKK2VtYWlsQ2hlY2soInt9QGRv
bWFpbi5jb20iLCBmYWxzZSk7CitlbWFpbENoZWNrKCJkZGprLXMtamtAYXNsLS5jb20iLCBmYWxz
ZSk7CitlbWFpbENoZWNrKCJtKichJUBzb21ldGhpbmcuc2EiLCBmYWxzZSk7CitlbWFpbENoZWNr
KCJ0dSEhN243LmFkIyMwISEhQGNvbXBhbnkuY2EiLCBmYWxzZSk7CitlbWFpbENoZWNrKCIlQGNv
bS5jb20iLCBmYWxzZSk7CitlbWFpbENoZWNrKCIhIyQlJicqKy89P15fYHt8fX4uLUBjb20uY29t
IiwgZmFsc2UpOworZW1haWxDaGVjaygiLndvb2x5QGV4YW1wbGUuY29tIiwgZmFsc2UpOworZW1h
aWxDaGVjaygid28uLm9seUBleGFtcGxlLmNvbSIsIGZhbHNlKTsKK2VtYWlsQ2hlY2soInNvbWVv
bmVAZG8tbWEtaW4uY29tIiwgZmFsc2UpOworZW1haWxDaGVjaygic29tZW9uZUBkby0uY29tIiwg
ZmFsc2UpOworZW1haWxDaGVjaygic29tZWJvZHlALS5jb20iLCBmYWxzZSk7CisKKy8vIElOVkFM
SUQKK2VtYWlsQ2hlY2soImludmFsaWQ6ZW1haWxAZXhhbXBsZS5jb20iLCB0cnVlKTsKK2VtYWls
Q2hlY2soIkBzb21ld2hlcmUuY29tIiwgdHJ1ZSk7CitlbWFpbENoZWNrKCJleGFtcGxlLmNvbSIs
IHRydWUpOworZW1haWxDaGVjaygiQEBleGFtcGxlLmNvbSIsIHRydWUpOworZW1haWxDaGVjaygi
YSBzcGFjZUBleGFtcGxlLmNvbSIsIHRydWUpOworZW1haWxDaGVjaygic29tZXRoaW5nQGV4Li5h
bXBsZS5jb20iLCB0cnVlKTsKK2VtYWlsQ2hlY2soImFcYkBjIiwgdHJ1ZSk7CitlbWFpbENoZWNr
KCJzb21lb25lQHNvbWV3aGVyZS5jb20uIiwgdHJ1ZSk7CitlbWFpbENoZWNrKCJcIlwidGVzdFxi
bGFoXCJcIkBleGFtcGxlLmNvbSIsIHRydWUpOworZW1haWxDaGVjaygiXCJ0ZXN0YmxhaFwiQGV4
YW1wbGUuY29tIiwgdHJ1ZSk7CitlbWFpbENoZWNrKCJzb21lb25lQHNvbWV3aGVyZS5jb21AIiwg
dHJ1ZSk7CitlbWFpbENoZWNrKCJzb21lb25lQHNvbWV3aGVyZV9jb20iLCB0cnVlKTsKK2VtYWls
Q2hlY2soInNvbWVvbmVAc29tZTp3aGVyZS5jb20iLCB0cnVlKTsKK2VtYWlsQ2hlY2soIi4iLCB0
cnVlKTsKK2VtYWlsQ2hlY2soIkYvcy9mL2FAZmVvK3JlLmNvbSIsIHRydWUpOworZW1haWxDaGVj
aygic29tZStsb25nK2VtYWlsK2FkZHJlc3NAc29tZStob3N0LXdlaXJkLS9sb29raW5nLmNvbSIs
IHRydWUpOworCitpLm11bHRpcGxlID0gdHJ1ZTsKKworLy8gVkFMSUQgTVVMVElQTEUKK2VtYWls
Q2hlY2soInNvbWVvbmVAc29tZXdoZXJlLmNvbSxqb2huQGRvZS5jb20sYUBiLmMsYS9iQGMuYyx1
YWxsYUB1YWxsYS4xMjciLCBmYWxzZSkKK2VtYWlsQ2hlY2soInR1ISE3bjcuYWQjIzAhISFAY29t
cGFueS5jYSxGL3MvZi9hQGZlby1yZS5jb20sbSonQGEuYiIsIGZhbHNlKQorZW1haWxDaGVjaygi
LCwsLCwsLCwsLCwiLCBmYWxzZSkKKworLy8gSU5WQUxJRCBNVUxUSVBMRSAodHJ1ZSBvbiB0aGUg
Zmlyc3QgaW52YWxpZCBvY2N1cnJlbmNlKQorZW1haWxDaGVjaygic29tZW9uZUBzb21ld2hlcmUu
Y29tLGpvaG5AZG9lLi5jb20sYUBiLGEvYkBjLHVhbGxhQHVhbGxhLjEyNyIsIHRydWUpCitlbWFp
bENoZWNrKCJzb21lK2xvbmcrZW1haWwrYWRkcmVzc0Bzb21lK2hvc3Q6d2VpcmQtL2xvb2tpbmcu
Y29tLEYvcy9mL2FAZmVvK3JlLmNvbSwsbSonQCchJSIsIHRydWUpCitlbWFpbENoZWNrKCIsLCws
LCwsLCwgLCwiLCB0cnVlKQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTs=
</data>

          </attachment>
      

    </bug>

</bugzilla>