<?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>80794</bug_id>
          
          <creation_ts>2012-03-11 10:36:41 -0700</creation_ts>
          <short_desc>:first-line pseudo selector ignoring words created from :before</short_desc>
          <delta_ts>2012-10-07 21:42: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>Layout and Rendering</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://jsfiddle.net/Q8udZ/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Marcos Zanona">marcos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>arpitabahuguna</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn</cc>
    
    <cc>hyatt</cc>
    
    <cc>inferno</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>koivisto</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
    
    <cc>robert</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>vijayan.bits</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>575780</commentid>
    <comment_count>0</comment_count>
    <who name="Marcos Zanona">marcos</who>
    <bug_when>2012-03-11 10:36:41 -0700</bug_when>
    <thetext>When creating a content and through css appending content through :before selector when styling it with :first-line selector it will ignore the content generated by :before, this is not true for :first-letter selector though. Please check the related URL for example and more details.
After testing it succeeded in Firefox and Opera lastest public releases but not for latest Chrome, Safari and Nightly Webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647845</commentid>
    <comment_count>1</comment_count>
      <attachid>147269</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-13 02:55:25 -0700</bug_when>
    <thetext>Created attachment 147269
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647849</commentid>
    <comment_count>2</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-13 03:08:08 -0700</bug_when>
    <thetext>According to the CSS2.1 specification:

When the :first-letter and :first-line pseudo-elements are applied to an element having content generated using :before and :after, they apply to the first letter or line of the element including the generated content.

Have uploaded a patch for handling of :first-line style on content generated from :before/:after.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665920</commentid>
    <comment_count>3</comment_count>
      <attachid>147269</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-07-10 11:49:31 -0700</bug_when>
    <thetext>Comment on attachment 147269
Patch

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

&gt; Source/WebCore/rendering/RenderObject.cpp:2511
&gt; +    } else if (renderer-&gt;isBeforeOrAfterContent() &amp;&amp; renderer-&gt;parent()-&gt;isBlockFlow()) {
&gt; +        // For handling content generated from :before/:after pseudo-element.
&gt; +        if (RenderBlock* firstLineBlock = renderer-&gt;parent()-&gt;firstLineBlock())
&gt; +            style = firstLineBlock-&gt;getCachedPseudoStyle(FIRST_LINE, style);

Don&apos;t you have to patch RenderObject::uncachedFirstLineStyle() too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666592</commentid>
    <comment_count>4</comment_count>
      <attachid>151665</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-07-11 03:03:20 -0700</bug_when>
    <thetext>Created attachment 151665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666595</commentid>
    <comment_count>5</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-07-11 03:13:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 147269 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=147269&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2511
&gt; &gt; +    } else if (renderer-&gt;isBeforeOrAfterContent() &amp;&amp; renderer-&gt;parent()-&gt;isBlockFlow()) {
&gt; &gt; +        // For handling content generated from :before/:after pseudo-element.
&gt; &gt; +        if (RenderBlock* firstLineBlock = renderer-&gt;parent()-&gt;firstLineBlock())
&gt; &gt; +            style = firstLineBlock-&gt;getCachedPseudoStyle(FIRST_LINE, style);
&gt; 
&gt; Don&apos;t you have to patch RenderObject::uncachedFirstLineStyle() too?
Agree! I missed out on that. Have uploaded another patch with the necessary changes.
Thanks for the review Robert. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716790</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-10 20:06:28 -0700</bug_when>
    <thetext>Thoughts, elliot?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717671</commentid>
    <comment_count>7</comment_count>
      <attachid>151665</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-11 16:06:16 -0700</bug_when>
    <thetext>Comment on attachment 151665
Patch

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

This seems okay, but the amount of duplication between uncachedFirstLineStyle and firstLineStyleSlowCase seems bad. Can you express one in terms of the other, or add a helper?

&gt; Source/WebCore/rendering/RenderObject.cpp:2514
&gt; +        // For handling content generated from :before/:after pseudo-element.

Not sure these comments are needed. You have the isBeforeOrAfterContent which seems clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717672</commentid>
    <comment_count>8</comment_count>
      <attachid>151665</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-09-11 16:06:17 -0700</bug_when>
    <thetext>Comment on attachment 151665
Patch

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

This seems okay, but the amount of duplication between uncachedFirstLineStyle and firstLineStyleSlowCase seems bad. Can you express one in terms of the other, or add a helper?

&gt; Source/WebCore/rendering/RenderObject.cpp:2514
&gt; +        // For handling content generated from :before/:after pseudo-element.

Not sure these comments are needed. You have the isBeforeOrAfterContent which seems clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719090</commentid>
    <comment_count>9</comment_count>
      <attachid>163788</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-09-12 23:28:21 -0700</bug_when>
    <thetext>Created attachment 163788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719102</commentid>
    <comment_count>10</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-09-12 23:41:27 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 151665 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151665&amp;action=review
&gt; 
Thank-you for the review Elliott.

&gt; This seems okay, but the amount of duplication between uncachedFirstLineStyle and firstLineStyleSlowCase seems bad. Can you express one in terms of the other, or add a helper?
&gt; 
Have added a static helper function containing the duplicate code. Have also introduced an enum for differentiating between the cached and uncached style handling and to avoid passing a boolean as an input param.

&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2514
&gt; &gt; +        // For handling content generated from :before/:after pseudo-element.
&gt; 
&gt; Not sure these comments are needed. You have the isBeforeOrAfterContent which seems clear.
Removed the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732187</commentid>
    <comment_count>11</comment_count>
      <attachid>163788</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-10-01 18:28:35 -0700</bug_when>
    <thetext>Comment on attachment 163788
Patch

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

&gt; Source/WebCore/rendering/RenderObject.cpp:2608
&gt; +    UnCached

Uncached

&gt; Source/WebCore/rendering/RenderObject.cpp:2611
&gt; +static PassRefPtr&lt;RenderStyle&gt; getFirstLineStyle(StyleCacheState type, const RenderObject* renderer, RenderStyle* style)

Can we make this a

&gt; Source/WebCore/rendering/RenderObject.cpp:2620
&gt; +                result = firstLineBlock-&gt;getUncachedPseudoStyle(FIRST_LINE, style, firstLineBlock == renderer ? style : 0);

These should use early returns:

if (type == Cached)
  return ...;
return ...;

It&apos;s a lot shorter that way too.

&gt; Source/WebCore/rendering/RenderObject.cpp:2637
&gt; +                result = firstLineBlock-&gt;getUncachedPseudoStyle(FIRST_LINE, style, firstLineBlock == renderer ? style : 0);

Use early returns and get rid of the RefPtr&lt;RenderStyle&gt; result

&gt; Source/WebCore/rendering/RenderObject.cpp:2657
&gt; +    if (RefPtr&lt;RenderStyle&gt; style = getFirstLineStyle(Cached, isText() ? parent() : this, m_style.get()))

This is super weird that the Cached case is considered the slow one. Any idea what&apos;s up with that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732188</commentid>
    <comment_count>12</comment_count>
      <attachid>163788</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-10-01 18:28:36 -0700</bug_when>
    <thetext>Comment on attachment 163788
Patch

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

&gt; Source/WebCore/rendering/RenderObject.cpp:2608
&gt; +    UnCached

Uncached

&gt; Source/WebCore/rendering/RenderObject.cpp:2611
&gt; +static PassRefPtr&lt;RenderStyle&gt; getFirstLineStyle(StyleCacheState type, const RenderObject* renderer, RenderStyle* style)

Can we make this a

&gt; Source/WebCore/rendering/RenderObject.cpp:2620
&gt; +                result = firstLineBlock-&gt;getUncachedPseudoStyle(FIRST_LINE, style, firstLineBlock == renderer ? style : 0);

These should use early returns:

if (type == Cached)
  return ...;
return ...;

It&apos;s a lot shorter that way too.

&gt; Source/WebCore/rendering/RenderObject.cpp:2637
&gt; +                result = firstLineBlock-&gt;getUncachedPseudoStyle(FIRST_LINE, style, firstLineBlock == renderer ? style : 0);

Use early returns and get rid of the RefPtr&lt;RenderStyle&gt; result

&gt; Source/WebCore/rendering/RenderObject.cpp:2657
&gt; +    if (RefPtr&lt;RenderStyle&gt; style = getFirstLineStyle(Cached, isText() ? parent() : this, m_style.get()))

This is super weird that the Cached case is considered the slow one. Any idea what&apos;s up with that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732189</commentid>
    <comment_count>13</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-10-01 18:29:38 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 163788 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163788&amp;action=review
&gt; 

&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2611
&gt; &gt; +static PassRefPtr&lt;RenderStyle&gt; getFirstLineStyle(StyleCacheState type, const RenderObject* renderer, RenderStyle* style)
&gt; 
&gt; Can we make this a

Ignore this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732233</commentid>
    <comment_count>14</comment_count>
      <attachid>163788</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-10-01 20:45:32 -0700</bug_when>
    <thetext>Comment on attachment 163788
Patch

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

Please remove the tab characters from files LayoutTests/fast/css/first-line-style-for-before-after-{content, content-expected}.html. In particular, lines 13, 19, 20, and 21 contain tab characters in file first-line-style-for-before-after-content.html and lines 16, 22, 23, 24 contain tab characters in file first-line-style-for-before-after-content-expected.html.

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content-expected.html:23
&gt; +&lt;/html&gt;

Nit: Missing a newline character at the end of this file.

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:1
&gt; +&lt;!DOCTYPE html&gt;

The name of this test is disingenuous as it only tests the combination of :first-line, :first-letter, and :before pseudo-elements. That is, it doesn&apos;t test the combination :first-line, :first-letter, and :after pseudo elements. Even though we have a single code path for handling before and after content (via the check for Render::isBeforeOrAfterContent()), I suggest that we either rename this test and its descriptive to make it explicit that it&apos;s only testing :first-line, :first-letter, and :before pseudo elements OR, even better, add a test that makes use of :first-line, :first-letter, and :after pseudo elements.

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:26
&gt; +&lt;/html&gt;

Nit: Missing a newline character at the end of this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733511</commentid>
    <comment_count>15</comment_count>
      <attachid>166838</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-10-03 02:53:43 -0700</bug_when>
    <thetext>Created attachment 166838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733520</commentid>
    <comment_count>16</comment_count>
      <attachid>166838</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-10-03 03:08:04 -0700</bug_when>
    <thetext>Comment on attachment 166838
Patch

Looks good to me, but I&apos;m not a reviewer so someone else would need to r+ :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733565</commentid>
    <comment_count>17</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-10-03 04:38:57 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 166838 [details])
&gt; Looks good to me, but I&apos;m not a reviewer so someone else would need to r+ :)

Hi Elliott, thanks for your reviews. :) Have incorporated the changes as suggested by you in the latest patch. Thanks again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733567</commentid>
    <comment_count>18</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-10-03 04:42:03 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 163788 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163788&amp;action=review
&gt; 
Thanks for the review Daniel. Have uploaded another patch as per your comments.
Have added another case for verifying :first-line, :first-letter, and :after pseudo elements behavior as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733812</commentid>
    <comment_count>19</comment_count>
      <attachid>166838</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-10-03 10:15:18 -0700</bug_when>
    <thetext>Comment on attachment 166838
Patch

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

&gt; Source/WebCore/rendering/RenderObject.cpp:2607
&gt; +static PassRefPtr&lt;RenderStyle&gt; getFirstLineStyle(StyleCacheState type, const RenderObject* renderer, RenderStyle* style)

This is a very minor nit. We tend to prefix functions with the word &quot;get&quot; when it returns one or more values through out arguments (*). Notice that this function doesn&apos;t return any value through an out argument. Although we have functions that don&apos;t follow this convention, including RenderObject::{getCachedPseudoStyle, getUncachedPseudoStyle}(), it would be great if we could come up with a descriptive name for this function that omitted the prefix &quot;get&quot;.

(*) See &lt;http://www.webkit.org/coding/coding-style.html#names-out-argument&gt;.

&gt; Source/WebCore/rendering/RenderObject.cpp:2618
&gt; +            // A first-line style is in effect. Cache a first-line style for ourselves.

I suggest that we move this comment inside the block associated with the &quot;if (type == Cached)&quot; statement (below) so as to scope it to that code.

&gt; Source/WebCore/rendering/RenderObject.cpp:2629
&gt; +            return firstLineBlock-&gt;getUncachedPseudoStyle(FIRST_LINE, style, firstLineBlock == renderer ? style : 0);

Can you give an example when firstLineBlock == renderer evaluates to true?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734581</commentid>
    <comment_count>20</comment_count>
      <attachid>167070</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-10-04 04:17:53 -0700</bug_when>
    <thetext>Created attachment 167070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735366</commentid>
    <comment_count>21</comment_count>
      <attachid>167255</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-10-04 22:57:26 -0700</bug_when>
    <thetext>Created attachment 167255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735385</commentid>
    <comment_count>22</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-10-04 23:19:32 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 166838 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166838&amp;action=review
&gt; 
Thanks for the review Daniel.

&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2607
&gt; &gt; +static PassRefPtr&lt;RenderStyle&gt; getFirstLineStyle(StyleCacheState type, const RenderObject* renderer, RenderStyle* style)
&gt; 
&gt; This is a very minor nit. We tend to prefix functions with the word &quot;get&quot; when it returns one or more values through out arguments (*). Notice that this function doesn&apos;t return any value through an out argument. Although we have functions that don&apos;t follow this convention, including RenderObject::{getCachedPseudoStyle, getUncachedPseudoStyle}(), it would be great if we could come up with a descriptive name for this function that omitted the prefix &quot;get&quot;.
&gt; 
&gt; (*) See &lt;http://www.webkit.org/coding/coding-style.html#names-out-argument&gt;.
&gt; 
I tried to come up with other alternative names such as, firstLineStyleForCacheType, deriveFirstLineStyle etc. but firstLineStyle() seemed to be the most appropriate. Since that is already in use, have currently changed the name to firstLineStyleForCachedUncachedType since I understand prefixing the function name with &apos;get&apos; here would not be correct.

&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2618
&gt; &gt; +            // A first-line style is in effect. Cache a first-line style for ourselves.
&gt; 
&gt; I suggest that we move this comment inside the block associated with the &quot;if (type == Cached)&quot; statement (below) so as to scope it to that code.
&gt; 
Done.

&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2629
&gt; &gt; +            return firstLineBlock-&gt;getUncachedPseudoStyle(FIRST_LINE, style, firstLineBlock == renderer ? style : 0);
&gt; 
&gt; Can you give an example when firstLineBlock == renderer evaluates to true?

After verification of the condition I realized that we need to be checking for firstLineBlock == renderer-&gt;parent() for this particular case, if required at all. This lead to further checking with various other scenarios and unfortunately my fix was still not handling the following case correctly:

&lt;p id=&quot;firstline&quot;&gt;&lt;span id=&quot;before&quot;&gt;Content&lt;/span&gt; &lt;/p&gt;
Here our &lt;p&gt; tag has :first-line specified for it and our &lt;span&gt; has :before specified for it.

For such a case, my previous fix was insufficient as it would only check for the parent renderer to be a blockflow. But in case (as shown above) our parent renderer (for the generated :before/:after content) is a RenderInline, we would still not apply the first-line style to this content.

Thus, it basically implies that if in case our renderer has before or after content, we should use its parent and carry out the same checks as were done previously, i.e. for both block flow as well as inline.

Have made the changes accordingly in the latest patch; hope this shall be more appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735509</commentid>
    <comment_count>23</comment_count>
      <attachid>167255</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-10-05 02:02:31 -0700</bug_when>
    <thetext>Comment on attachment 167255
Patch

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

&gt; Source/WebCore/rendering/RenderObject.cpp:2607
&gt; +static PassRefPtr&lt;RenderStyle&gt; firstLineStyleForCachedUncachedType(StyleCacheState type, const RenderObject* renderer, RenderStyle* style)

This method name is confusing. Instead rename firstLineStyleSlowCase to cachedFirstLineStyle and fix the one usage of it in the header and then rename this firstLineStyle(type,renderer,style)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735580</commentid>
    <comment_count>24</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-10-05 05:09:28 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 167255 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167255&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2607
&gt; &gt; +static PassRefPtr&lt;RenderStyle&gt; firstLineStyleForCachedUncachedType(StyleCacheState type, const RenderObject* renderer, RenderStyle* style)
&gt; 
&gt; This method name is confusing. Instead rename firstLineStyleSlowCase to cachedFirstLineStyle and fix the one usage of it in the header and then rename this firstLineStyle(type,renderer,style)

Hi Elliott. I agree the new name doesn&apos;t seem right but had used it anyway for want of a better name, since firstLineStyle() is already in use (as part of RenderObject).
I understand the newly added function is a static and hence I can still get away with using the same name for it as well i.e. firstLineStyle but just wanted to confirm once whether that would be the correct way to go about it.

Also, firstLineStyleSlowCase name should be changed as well and cachedFirstLineStyle definitely seems more appropriate but should that be spawned off as a separate bug and not be made a part of this patch? Just wondering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735783</commentid>
    <comment_count>25</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-10-05 11:08:09 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; (From update of attachment 167255 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167255&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/rendering/RenderObject.cpp:2607
&gt; &gt; &gt; +static PassRefPtr&lt;RenderStyle&gt; firstLineStyleForCachedUncachedType(StyleCacheState type, const RenderObject* renderer, RenderStyle* style)
&gt; &gt; 
&gt; &gt; ...
&gt; 
&gt; Also, firstLineStyleSlowCase name should be changed as well and cachedFirstLineStyle definitely seems more appropriate but should that be spawned off as a separate bug and not be made a part of this patch? Just wondering.

Seems reasonable to fix that stuff in a separate patch. Lets get this landed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736293</commentid>
    <comment_count>26</comment_count>
      <attachid>167255</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-10-06 15:28:10 -0700</bug_when>
    <thetext>Comment on attachment 167255
Patch

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

&gt; Source/WebCore/ChangeLog:30
&gt; +        helper function getFirstLineStyle().

getFirstLineStyle() =&gt; firstLineStyleForCachedUncachedType()

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content-expected.html:13
&gt; +p:first-line {
&gt; +    color: green;
&gt; +}
&gt; +p:first-letter {
&gt; +    color: blue;
&gt; +}	

It bothers me that we are using :first-line and :first-letter in this expected results file given that this patch fixes an issue with generated content/pseudo-elements. Although this expected results file uses existing machinery, including machinery we preserved in this patch, it is preferred that we construct the expected results without the use of the :first-letter and :first-line pseudo-elements so as to further differentiate the code path taken to generate the actual and expected results of the test, respectively. Can we come up with a way to generate these expected results without using :first-line and :first-letter? Maybe construct the contents of the HTML p elements (below) using stylized &lt;span&gt;s?

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content-expected.html:14
&gt; +&lt;/style&gt;

Please remove the tab character at the end of the previous line.

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content-expected.html:19
&gt; +    &lt;br/&gt;

Nit: No need to explicitly terminate the br element in an HTML5 document. We can write this as &lt;br&gt;.

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:25
&gt; +}	

Please remove the tab character at the end of this line.

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:31
&gt; +    &lt;br/&gt;

Nit: No need to explicitly terminate the br element in an HTML5 document. We can write this as &lt;br&gt;.

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:37
&gt; +    &lt;p&gt;&lt;span id=&quot;before&quot;&gt; of this paragraph should be displayed in green color.&lt;/span&gt;&lt;/p&gt;

This is invalid markup by uniqueness of the HTML attribute id, &lt;http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-id-attribute&gt;. That is, the HTML attribute id for the &lt;span&gt; must be unique, but it isn&apos;t. The first occurrence of this id was on line 34.

&gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:43
&gt; +    &lt;p&gt;&lt;span id=&quot;after&quot;&gt;Display &lt;/span&gt;&lt;/p&gt;

This is invalid markup by uniqueness of the HTML attribute id, &lt;http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-id-attribute&gt;. That is, the HTML attribute id for the &lt;span&gt; must be unique, but it isn&apos;t. The first occurrence of this id was on line 40.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736351</commentid>
    <comment_count>27</comment_count>
      <attachid>167477</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-10-07 02:27:59 -0700</bug_when>
    <thetext>Created attachment 167477
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736356</commentid>
    <comment_count>28</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-10-07 05:01:03 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (From update of attachment 167255 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167255&amp;action=review
&gt; 
Thanks for the review Daniel. Have uploaded another patch with the following changes.

&gt; &gt; Source/WebCore/ChangeLog:30
&gt; &gt; +        helper function getFirstLineStyle().
&gt; 
&gt; getFirstLineStyle() =&gt; firstLineStyleForCachedUncachedType()
&gt; 
Done.
&gt; &gt; LayoutTests/fast/css/first-line-style-for-before-after-content-expected.html:13
&gt; &gt; +p:first-line {
&gt; &gt; +    color: green;
&gt; &gt; +}
&gt; &gt; +p:first-letter {
&gt; &gt; +    color: blue;
&gt; &gt; +}	
&gt; 
&gt; It bothers me that we are using :first-line and :first-letter in this expected results file given that this patch fixes an issue with generated content/pseudo-elements. Although this expected results file uses existing machinery, including machinery we preserved in this patch, it is preferred that we construct the expected results without the use of the :first-letter and :first-line pseudo-elements so as to further differentiate the code path taken to generate the actual and expected results of the test, respectively. Can we come up with a way to generate these expected results without using :first-line and :first-letter? Maybe construct the contents of the HTML p elements (below) using stylized &lt;span&gt;s?
&gt; 
Have used &lt;span&gt;s with style now for obtaining the expected result.

&gt; &gt; LayoutTests/fast/css/first-line-style-for-before-after-content-expected.html:14
&gt; &gt; +&lt;/style&gt;
&gt; 
&gt; Please remove the tab character at the end of the previous line.
&gt; 
&gt; &gt; LayoutTests/fast/css/first-line-style-for-before-after-content-expected.html:19
&gt; &gt; +    &lt;br/&gt;
&gt; 
&gt; Nit: No need to explicitly terminate the br element in an HTML5 document. We can write this as &lt;br&gt;.
&gt; 
&gt; &gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:25
&gt; &gt; +}	
&gt; 
&gt; Please remove the tab character at the end of this line.
&gt; 
&gt; &gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:31
&gt; &gt; +    &lt;br/&gt;
&gt; 
&gt; Nit: No need to explicitly terminate the br element in an HTML5 document. We can write this as &lt;br&gt;.
&gt; 
Done.

&gt; &gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:37
&gt; &gt; +    &lt;p&gt;&lt;span id=&quot;before&quot;&gt; of this paragraph should be displayed in green color.&lt;/span&gt;&lt;/p&gt;
&gt; 
&gt; This is invalid markup by uniqueness of the HTML attribute id, &lt;http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-id-attribute&gt;. That is, the HTML attribute id for the &lt;span&gt; must be unique, but it isn&apos;t. The first occurrence of this id was on line 34.
&gt; 
&gt; &gt; LayoutTests/fast/css/first-line-style-for-before-after-content.html:43
&gt; &gt; +    &lt;p&gt;&lt;span id=&quot;after&quot;&gt;Display &lt;/span&gt;&lt;/p&gt;
&gt; 
&gt; This is invalid markup by uniqueness of the HTML attribute id, &lt;http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-id-attribute&gt;. That is, the HTML attribute id for the &lt;span&gt; must be unique, but it isn&apos;t. The first occurrence of this id was on line 40.

I missed out on this. Have changed the id attr to class so as to make the style reusable by other elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736484</commentid>
    <comment_count>29</comment_count>
      <attachid>167477</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-10-07 21:15:46 -0700</bug_when>
    <thetext>Comment on attachment 167477
Patch

Thanks Arpita for updating the patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736492</commentid>
    <comment_count>30</comment_count>
      <attachid>167477</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-07 21:42:20 -0700</bug_when>
    <thetext>Comment on attachment 167477
Patch

Clearing flags on attachment: 167477

Committed r130616: &lt;http://trac.webkit.org/changeset/130616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736493</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-07 21:42:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147269</attachid>
            <date>2012-06-13 02:55:25 -0700</date>
            <delta_ts>2012-07-11 03:03:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80794-20120613152658.patch</filename>
            <type>text/plain</type>
            <size>5128</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMDE3NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA2LTEzICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxp
bmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSA6Zmlyc3Qt
bGluZSBwc2V1ZG8tZWxlbWVudCBzdHlsZSBpcyBub3QgYXBwbGllZCBmb3IgY29udGVudAorICAg
ICAgICB3aGljaCBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVs
ZW1lbnRzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJl
Zm9yZS1hZnRlci1jb250ZW50Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpmaXJzdExpbmVTdHlsZVNs
b3dDYXNlKToKKyAgICAgICAgV2hpbGUgZ2V0dGluZyB0aGUgOmZpcnN0LWxpbmUgc3R5bGUgd2Ug
c2hvdWxkIGFsc28gY29uc2lkZXIgdGhlIGNhc2UKKyAgICAgICAgd2hlbiB0aGUgY29udGVudCBp
cyBmcm9tIGEgOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVsZW1lbnQgaW4gd2hpY2ggY2FzZQorICAg
ICAgICB0aGUgaW1tZWRpYXRlIHBhcmVudCBzaGFsbCBub3QgYmUgdGhlIGJsb2NrIGNvbnRhaW5l
ciBlbGVtZW50ICh0byB3aGljaAorICAgICAgICB0aGUgOmZpcnN0LWxpbmUgaXMgYXR0YWNoZWQp
IGJ1dCByYXRoZXIgaXQncyBwYXJlbnQncyBwYXJlbnQgc2hvdWxkIGJlCisgICAgICAgIGNvbnNp
ZGVyZWQuCisKIDIwMTItMDYtMTMgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBDaGFuZ2UgdGhlIHN0eWxpbmcgb2YgdGhlIENocm9taXVtIHZpZGVv
IGNvbnRyb2xzLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAJKHJldmlzaW9uIDEyMDE3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTA1LDYgKzI1MDUsMTAgQEAgUmVuZGVyU3R5
bGUqIFJlbmRlck9iamVjdDo6Zmlyc3RMaW5lU3R5bAogICAgICAgICAgICAgcmVuZGVyZXItPnN0
eWxlKCktPnNldEhhc1BzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVEKTsKICAgICAgICAg
ICAgIHN0eWxlID0gcmVuZGVyZXItPmdldENhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5I
RVJJVEVELCBwYXJlbnRTdHlsZSk7CiAgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKHJlbmRlcmVy
LT5pc0JlZm9yZU9yQWZ0ZXJDb250ZW50KCkgJiYgcmVuZGVyZXItPnBhcmVudCgpLT5pc0Jsb2Nr
RmxvdygpKSB7CisgICAgICAgIC8vIEZvciBoYW5kbGluZyBjb250ZW50IGdlbmVyYXRlZCBmcm9t
IDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50LgorICAgICAgICBpZiAoUmVuZGVyQmxvY2sq
IGZpcnN0TGluZUJsb2NrID0gcmVuZGVyZXItPnBhcmVudCgpLT5maXJzdExpbmVCbG9jaygpKQor
ICAgICAgICAgICAgc3R5bGUgPSBmaXJzdExpbmVCbG9jay0+Z2V0Q2FjaGVkUHNldWRvU3R5bGUo
RklSU1RfTElORSwgc3R5bGUpOwogICAgIH0KIAogICAgIHJldHVybiBzdHlsZTsKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDEyMDE3NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA2LTEzICBBcnBpdGEgQmFodWd1bmEgIDxhcnBpdGFi
YWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxpbmUgcHNldWRvIHNlbGVjdG9y
IGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1m
b3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQuaHRtbDog
QWRkZWQuCisgICAgICAgIEFkZGVkIHJlZiB0ZXN0IGZvciB2ZXJpZmljYXRpb24gb2YgdGhlIHNj
ZW5hcmlvIHdoZW4gOmZpcnN0LWxpbmUgc3R5bGUKKyAgICAgICAgaXMgYXBwbGllZCB0byBjb250
ZW50IGdlbmVyYXRlZCBmcm9tIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50cy4KKwogMjAx
Mi0wNi0xMyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMDE3Mi4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50LWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvZmlyc3QtbGluZS1z
dHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRl
ci1jb250ZW50LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK3AgeworICAgIHdpZHRoOiAy
MDBweDsKK30KK3A6Zmlyc3QtbGluZSB7CisgICAgY29sb3I6IGdyZWVuOworfQorcDpmaXJzdC1s
ZXR0ZXIgeworICAgIGNvbG9yOiBibHVlOworfQkKKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8ZGl2PlRlc3QgZm9yIEJ1Z3ppbGxhIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NCI+QnVnIDgwNzk0PC9hPjogOmZpcnN0LWxpbmUgcHNl
dWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlLjwvZGl2Pgor
ICAgIDxkaXY+VGhlIDpmaXJzdC1saW5lIHBzZXVkby1lbGVtZW50IHN0eWxlIGlzIG5vdCBhcHBs
aWVkIHRvIGNvbnRlbnQgZ2VuZXJhdGVkIGZyb20gOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVsZW1l
bnRzLjwvZGl2PgorCTxkaXY+SW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGggdGhlIGZpcnN0LWxl
dHRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUgY29sb3IgYW5kIHRoZSBmaXJzdC1saW5l
IGluIGdyZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29yZHMgJ1RoZSBmaXJzdCBsaW5lJy48L2Rp
dj4KKwkKKwk8cD5UaGUgZmlyc3QgbGluZSBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgZGlz
cGxheWVkIGluIGdyZWVuIGNvbG9yLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9maXJzdC1saW5lLXN0
eWxlLWZvci1iZWZvcmUtYWZ0ZXItY29udGVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50Lmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9maXJzdC1saW5lLXN0eWxl
LWZvci1iZWZvcmUtYWZ0ZXItY29udGVudC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CitwIHsKKyAgICB3
aWR0aDogMjAwcHg7Cit9CitwOmJlZm9yZSB7CisgICAgY29udGVudDogJ1RoZSBmaXJzdCBsaW5l
JworfQorcDpmaXJzdC1saW5lIHsKKyAgICBjb2xvcjogZ3JlZW47Cit9CitwOmZpcnN0LWxldHRl
ciB7CisgICAgY29sb3I6IGJsdWU7Cit9CQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXY+VGVzdCBmb3IgQnVnemlsbGEgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgwNzk0Ij5CdWcgODA3OTQ8L2E+OiA6Zmlyc3QtbGluZSBwc2V1ZG8g
c2VsZWN0b3IgaWdub3Jpbmcgd29yZHMgY3JlYXRlZCBmcm9tIDpiZWZvcmUuPC9kaXY+CisgICAg
PGRpdj5UaGUgOmZpcnN0LWxpbmUgcHNldWRvLWVsZW1lbnQgc3R5bGUgaXMgbm90IGFwcGxpZWQg
dG8gY29udGVudCBnZW5lcmF0ZWQgZnJvbSA6YmVmb3JlLzphZnRlciBwc2V1ZG8tZWxlbWVudHMu
PC9kaXY+CisJPGRpdj5JbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCB0aGUgZmlyc3QtbGV0dGVy
IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gYmx1ZSBjb2xvciBhbmQgdGhlIGZpcnN0LWxpbmUgaW4g
Z3JlZW4gY29sb3IgaW5jbHVkaW5nIHRoZSB3b3JkcyAnVGhlIGZpcnN0IGxpbmUnLjwvZGl2Pgor
CQorCTxwPiBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGdyZWVuIGNv
bG9yLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151665</attachid>
            <date>2012-07-11 03:03:20 -0700</date>
            <delta_ts>2012-09-12 23:28:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80794-20120711153513.patch</filename>
            <type>text/plain</type>
            <size>5836</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMjMyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA3LTExICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxp
bmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSA6Zmlyc3Qt
bGluZSBwc2V1ZG8tZWxlbWVudCBzdHlsZSBpcyBub3QgYXBwbGllZCBmb3IgY29udGVudAorICAg
ICAgICB3aGljaCBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVs
ZW1lbnRzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJl
Zm9yZS1hZnRlci1jb250ZW50Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojp1bmNhY2hlZEZpcnN0TGlu
ZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Zmlyc3RMaW5lU3R5bGVT
bG93Q2FzZSk6CisgICAgICAgIFdoaWxlIGdldHRpbmcgdGhlIDpmaXJzdC1saW5lIHN0eWxlIHdl
IHNob3VsZCBhbHNvIGNvbnNpZGVyIHRoZSBjYXNlCisgICAgICAgIHdoZW4gdGhlIGNvbnRlbnQg
aXMgZnJvbSBhIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50IGluIHdoaWNoIGNhc2UKKyAg
ICAgICAgdGhlIGltbWVkaWF0ZSBwYXJlbnQgc2hhbGwgbm90IGJlIHRoZSBibG9jayBjb250YWlu
ZXIgZWxlbWVudCAodG8gd2hpY2gKKyAgICAgICAgdGhlIDpmaXJzdC1saW5lIGlzIGF0dGFjaGVk
KSBidXQgcmF0aGVyIGl0J3MgcGFyZW50J3MgcGFyZW50IHNob3VsZCBiZQorICAgICAgICBjb25z
aWRlcmVkLgorCiAyMDEyLTA3LTExICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW01hY10gRXhwb3NlIHRpbWUgZm9ybWF0IHJlbGF0ZWQgZnVuY3Rpb25z
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAkocmV2aXNp
b24gMTIyMzIyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI1MTAsNiArMjUxMCwxMCBAQCBQYXNzUmVmUHRyPFJlbmRlclN0
eWxlPiBSZW5kZXJPYmplY3Q6OnVuCiAgICAgICAgIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9
IHBhcmVudCgpLT5maXJzdExpbmVTdHlsZSgpOwogICAgICAgICBpZiAocGFyZW50U3R5bGUgIT0g
cGFyZW50KCktPnN0eWxlKCkpCiAgICAgICAgICAgICByZXN1bHQgPSBnZXRVbmNhY2hlZFBzZXVk
b1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVELCBwYXJlbnRTdHlsZSwgc3R5bGUpOworICAgIH0g
ZWxzZSBpZiAoaXNCZWZvcmVPckFmdGVyQ29udGVudCgpICYmIHBhcmVudCgpLT5pc0Jsb2NrRmxv
dygpKSB7CisgICAgICAgIC8vIEZvciBoYW5kbGluZyBjb250ZW50IGdlbmVyYXRlZCBmcm9tIDpi
ZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50LgorICAgICAgICBpZiAoUmVuZGVyQmxvY2sqIGZp
cnN0TGluZUJsb2NrID0gcGFyZW50KCktPmZpcnN0TGluZUJsb2NrKCkpCisgICAgICAgICAgICBy
ZXN1bHQgPSBmaXJzdExpbmVCbG9jay0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5F
LCBzdHlsZSwgZmlyc3RMaW5lQmxvY2sgPT0gdGhpcyA/IHN0eWxlIDogMCk7CiAgICAgfQogCiAg
ICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CkBAIC0yNTMxLDYgKzI1MzUsMTAgQEAgUmVuZGVy
U3R5bGUqIFJlbmRlck9iamVjdDo6Zmlyc3RMaW5lU3R5bAogICAgICAgICAgICAgcmVuZGVyZXIt
PnN0eWxlKCktPnNldEhhc1BzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVEKTsKICAgICAg
ICAgICAgIHN0eWxlID0gcmVuZGVyZXItPmdldENhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkVf
SU5IRVJJVEVELCBwYXJlbnRTdHlsZSk7CiAgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKHJlbmRl
cmVyLT5pc0JlZm9yZU9yQWZ0ZXJDb250ZW50KCkgJiYgcmVuZGVyZXItPnBhcmVudCgpLT5pc0Js
b2NrRmxvdygpKSB7CisgICAgICAgIC8vIEZvciBoYW5kbGluZyBjb250ZW50IGdlbmVyYXRlZCBm
cm9tIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50LgorICAgICAgICBpZiAoUmVuZGVyQmxv
Y2sqIGZpcnN0TGluZUJsb2NrID0gcmVuZGVyZXItPnBhcmVudCgpLT5maXJzdExpbmVCbG9jaygp
KQorICAgICAgICAgICAgc3R5bGUgPSBmaXJzdExpbmVCbG9jay0+Z2V0Q2FjaGVkUHNldWRvU3R5
bGUoRklSU1RfTElORSwgc3R5bGUpOwogICAgIH0KIAogICAgIHJldHVybiBzdHlsZTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDEyMjMyMikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA3LTExICBBcnBpdGEgQmFodWd1bmEgIDxhcnBp
dGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxpbmUgcHNldWRvIHNlbGVj
dG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvZmlyc3QtbGluZS1zdHls
ZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQuaHRt
bDogQWRkZWQuCisgICAgICAgIEFkZGVkIHJlZiB0ZXN0IGZvciB2ZXJpZmljYXRpb24gb2YgdGhl
IHNjZW5hcmlvIHdoZW4gOmZpcnN0LWxpbmUgc3R5bGUKKyAgICAgICAgaXMgYXBwbGllZCB0byBj
b250ZW50IGdlbmVyYXRlZCBmcm9tIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50cy4gCisK
IDIwMTItMDctMTEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBbUXRdW0FSTV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXAgbW9yZSBjcmFzaGluZyB0
ZXN0cy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJl
Zm9yZS1hZnRlci1jb250ZW50LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxp
bmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
dHlsZT4KK3AgeworICAgIHdpZHRoOiAyMDBweDsKK30KK3A6Zmlyc3QtbGluZSB7CisgICAgY29s
b3I6IGdyZWVuOworfQorcDpmaXJzdC1sZXR0ZXIgeworICAgIGNvbG9yOiBibHVlOworfQkKKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2PlRlc3QgZm9yIEJ1Z3ppbGxhIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NCI+QnVnIDgw
Nzk0PC9hPjogOmZpcnN0LWxpbmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0
ZWQgZnJvbSA6YmVmb3JlLjwvZGl2PgorICAgIDxkaXY+VGhlIDpmaXJzdC1saW5lIHBzZXVkby1l
bGVtZW50IHN0eWxlIGlzIG5vdCBhcHBsaWVkIHRvIGNvbnRlbnQgZ2VuZXJhdGVkIGZyb20gOmJl
Zm9yZS86YWZ0ZXIgcHNldWRvLWVsZW1lbnRzLjwvZGl2PgorCTxkaXY+SW4gdGhlIGZvbGxvd2lu
ZyBwYXJhZ3JhcGggdGhlIGZpcnN0LWxldHRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUg
Y29sb3IgYW5kIHRoZSBmaXJzdC1saW5lIGluIGdyZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29y
ZHMgJ1RoZSBmaXJzdCBsaW5lJy48L2Rpdj4KKwkKKwk8cD5UaGUgZmlyc3QgbGluZSBvZiB0aGlz
IHBhcmFncmFwaCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGdyZWVuIGNvbG9yLjwvcD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9maXJzdC1saW5lLXN0eWxlLWZvci1iZWZvcmUtYWZ0ZXItY29udGVudC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9y
LWJlZm9yZS1hZnRlci1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9maXJzdC1saW5lLXN0eWxlLWZvci1iZWZvcmUtYWZ0ZXItY29udGVudC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c3R5bGU+CitwIHsKKyAgICB3aWR0aDogMjAwcHg7Cit9CitwOmJlZm9yZSB7CisgICAg
Y29udGVudDogJ1RoZSBmaXJzdCBsaW5lJworfQorcDpmaXJzdC1saW5lIHsKKyAgICBjb2xvcjog
Z3JlZW47Cit9CitwOmZpcnN0LWxldHRlciB7CisgICAgY29sb3I6IGJsdWU7Cit9CQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+VGVzdCBmb3IgQnVnemlsbGEgPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNzk0Ij5CdWcgODA3OTQ8
L2E+OiA6Zmlyc3QtbGluZSBwc2V1ZG8gc2VsZWN0b3IgaWdub3Jpbmcgd29yZHMgY3JlYXRlZCBm
cm9tIDpiZWZvcmUuPC9kaXY+CisgICAgPGRpdj5UaGUgOmZpcnN0LWxpbmUgcHNldWRvLWVsZW1l
bnQgc3R5bGUgaXMgbm90IGFwcGxpZWQgdG8gY29udGVudCBnZW5lcmF0ZWQgZnJvbSA6YmVmb3Jl
LzphZnRlciBwc2V1ZG8tZWxlbWVudHMuPC9kaXY+CisJPGRpdj5JbiB0aGUgZm9sbG93aW5nIHBh
cmFncmFwaCB0aGUgZmlyc3QtbGV0dGVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gYmx1ZSBjb2xv
ciBhbmQgdGhlIGZpcnN0LWxpbmUgaW4gZ3JlZW4gY29sb3IgaW5jbHVkaW5nIHRoZSB3b3JkcyAn
VGhlIGZpcnN0IGxpbmUnLjwvZGl2PgorCQorCTxwPiBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQg
YmUgZGlzcGxheWVkIGluIGdyZWVuIGNvbG9yLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163788</attachid>
            <date>2012-09-12 23:28:21 -0700</date>
            <delta_ts>2012-10-03 02:53:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80794-20120913120138.patch</filename>
            <type>text/plain</type>
            <size>8872</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODQwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA5LTEyICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxp
bmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSA6Zmlyc3Qt
bGluZSBwc2V1ZG8tZWxlbWVudCBzdHlsZSBpcyBub3QgYXBwbGllZCBmb3IgY29udGVudAorICAg
ICAgICB3aGljaCBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVs
ZW1lbnRzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJl
Zm9yZS1hZnRlci1jb250ZW50Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Rmlyc3RMaW5lU3R5bGUpOgorICAgICAgICBB
ZGRlZCBhIG5ldyBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uIGluY29ycG9yYXRpbmcgdGhlIGNvbW1v
bgorICAgICAgICBmdW5jdGlvbmFsaXR5IG9mIGJvdGggdW5jYWNoZWRGaXJzdExpbmVTdHlsZSgp
IGFuZCBmaXJzdExpbmVTdHlsZVNsb3dDYXNlKCkKKyAgICAgICAgZnVuY3Rpb25zLiBJdCBhbHNv
IGluY2x1ZGVzIHRoZSBuZXcgY29kZSBhZGRlZCBmb3IgaGFuZGxpbmcgdGhlIHNjZW5hcmlvCisg
ICAgICAgIHdoZXJlaW4gdGhlIDpmaXJzdC1saW5lIHN0eWxlIGhhcyB0byBiZSBhcHBsaWVkIHRv
IGNvbnRlbnQgZ2VuZXJhdGVkCisgICAgICAgIGZyb20gOmJlZm9yZS86YWZ0ZXIuCisKKyAgICAg
ICAgV2hpbGUgZ2V0dGluZyB0aGUgOmZpcnN0LWxpbmUgc3R5bGUgd2Ugc2hvdWxkIGFsc28gY29u
c2lkZXIgdGhlIGNhc2UKKyAgICAgICAgd2hlbiB0aGUgY29udGVudCBpcyBmcm9tIGEgOmJlZm9y
ZS86YWZ0ZXIgcHNldWRvLWVsZW1lbnQgaW4gd2hpY2ggY2FzZQorICAgICAgICB0aGUgaW1tZWRp
YXRlIHBhcmVudCBzaGFsbCBub3QgYmUgdGhlIGJsb2NrIGNvbnRhaW5lciBlbGVtZW50ICh0byB3
aGljaAorICAgICAgICB0aGUgOmZpcnN0LWxpbmUgaXMgYXR0YWNoZWQpIGJ1dCByYXRoZXIgaXQn
cyBwYXJlbnQncyBwYXJlbnQgc2hvdWxkIGJlIGNvbnNpZGVyZWQuIAorCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6dW5jYWNoZWRGaXJzdExpbmVT
dHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmZpcnN0TGluZVN0eWxlU2xv
d0Nhc2UpOgorICAgICAgICBNb3ZlZCB0aGUgZHVwbGljYXRlIGNvZGUgYmV0d2VlbiB0aGUgdHdv
IGZ1bmN0aW9ucyB0byB0aGUgY29tbW9uCisgICAgICAgIGhlbHBlciBmdW5jdGlvbiBnZXRGaXJz
dExpbmVTdHlsZSgpLgorCiAyMDEyLTA5LTEyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBh
cHBsZS5jb20+CiAKICAgICAgICAgQVg6IHN2ZzppbWFnZSBub3QgYWNjZXNzaWJsZQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDEyODQw
NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNjAzLDYgKzI2MDMsNDMgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OmxheW91dCgp
CiAgICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOwogfQogCitlbnVtIFN0eWxlQ2FjaGVTdGF0ZSB7
CisgICAgQ2FjaGVkLAorICAgIFVuQ2FjaGVkCit9OworCitzdGF0aWMgUGFzc1JlZlB0cjxSZW5k
ZXJTdHlsZT4gZ2V0Rmlyc3RMaW5lU3R5bGUoU3R5bGVDYWNoZVN0YXRlIHR5cGUsIGNvbnN0IFJl
bmRlck9iamVjdCogcmVuZGVyZXIsIFJlbmRlclN0eWxlKiBzdHlsZSkKK3sKKyAgICAgUmVmUHRy
PFJlbmRlclN0eWxlPiByZXN1bHQ7CisKKyAgICBpZiAocmVuZGVyZXItPmlzQmxvY2tGbG93KCkp
IHsKKyAgICAgICAgaWYgKFJlbmRlckJsb2NrKiBmaXJzdExpbmVCbG9jayA9IHJlbmRlcmVyLT5m
aXJzdExpbmVCbG9jaygpKSB7CisgICAgICAgICAgICBpZiAodHlwZSA9PSBDYWNoZWQpCisgICAg
ICAgICAgICAgICAgcmVzdWx0ID0gZmlyc3RMaW5lQmxvY2stPmdldENhY2hlZFBzZXVkb1N0eWxl
KEZJUlNUX0xJTkUsIHN0eWxlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBy
ZXN1bHQgPSBmaXJzdExpbmVCbG9jay0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5F
LCBzdHlsZSwgZmlyc3RMaW5lQmxvY2sgPT0gcmVuZGVyZXIgPyBzdHlsZSA6IDApOworICAgICAg
ICB9CisgICAgfSBlbHNlIGlmICghcmVuZGVyZXItPmlzQW5vbnltb3VzKCkgJiYgcmVuZGVyZXIt
PmlzUmVuZGVySW5saW5lKCkpIHsKKyAgICAgICAgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0g
cmVuZGVyZXItPnBhcmVudCgpLT5maXJzdExpbmVTdHlsZSgpOworICAgICAgICBpZiAocGFyZW50
U3R5bGUgIT0gcmVuZGVyZXItPnBhcmVudCgpLT5zdHlsZSgpKSB7CisgICAgICAgICAgICAvLyBB
IGZpcnN0LWxpbmUgc3R5bGUgaXMgaW4gZWZmZWN0LiBDYWNoZSBhIGZpcnN0LWxpbmUgc3R5bGUg
Zm9yIG91cnNlbHZlcy4KKyAgICAgICAgICAgIGlmICh0eXBlID09IENhY2hlZCkgeworICAgICAg
ICAgICAgICAgIHJlbmRlcmVyLT5zdHlsZSgpLT5zZXRIYXNQc2V1ZG9TdHlsZShGSVJTVF9MSU5F
X0lOSEVSSVRFRCk7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVuZGVyZXItPmdldENhY2hl
ZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVELCBwYXJlbnRTdHlsZSk7CisgICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICByZXN1bHQgPSByZW5kZXJlci0+Z2V0VW5jYWNo
ZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FX0lOSEVSSVRFRCwgcGFyZW50U3R5bGUsIHN0eWxlKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAocmVuZGVyZXItPmlzQmVmb3JlT3JBZnRlckNvbnRl
bnQoKSAmJiByZW5kZXJlci0+cGFyZW50KCktPmlzQmxvY2tGbG93KCkpIHsKKyAgICAgICAgaWYg
KFJlbmRlckJsb2NrKiBmaXJzdExpbmVCbG9jayA9IHJlbmRlcmVyLT5wYXJlbnQoKS0+Zmlyc3RM
aW5lQmxvY2soKSkgeworICAgICAgICAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkKQorICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IGZpcnN0TGluZUJsb2NrLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShGSVJT
VF9MSU5FLCBzdHlsZSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gZmlyc3RMaW5lQmxvY2stPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoRklSU1RfTElORSwgc3R5
bGUsIGZpcnN0TGluZUJsb2NrID09IHJlbmRlcmVyID8gc3R5bGUgOiAwKTsKKyAgICAgICAgfQor
ICAgIH0KKyAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsKK30KKwogUGFzc1JlZlB0cjxSZW5k
ZXJTdHlsZT4gUmVuZGVyT2JqZWN0Ojp1bmNhY2hlZEZpcnN0TGluZVN0eWxlKFJlbmRlclN0eWxl
KiBzdHlsZSkgY29uc3QKIHsKICAgICBpZiAoIWRvY3VtZW50KCktPnVzZXNGaXJzdExpbmVSdWxl
cygpKQpAQCAtMjYxMCwzOSArMjY0NywxNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBSZW5k
ZXJPYmplY3Q6OnVuCiAKICAgICBBU1NFUlQoIWlzVGV4dCgpKTsKIAotICAgIFJlZlB0cjxSZW5k
ZXJTdHlsZT4gcmVzdWx0OwotCi0gICAgaWYgKGlzQmxvY2tGbG93KCkpIHsKLSAgICAgICAgaWYg
KFJlbmRlckJsb2NrKiBmaXJzdExpbmVCbG9jayA9IHRoaXMtPmZpcnN0TGluZUJsb2NrKCkpCi0g
ICAgICAgICAgICByZXN1bHQgPSBmaXJzdExpbmVCbG9jay0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHls
ZShGSVJTVF9MSU5FLCBzdHlsZSwgZmlyc3RMaW5lQmxvY2sgPT0gdGhpcyA/IHN0eWxlIDogMCk7
Ci0gICAgfSBlbHNlIGlmICghaXNBbm9ueW1vdXMoKSAmJiBpc1JlbmRlcklubGluZSgpKSB7Ci0g
ICAgICAgIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9IHBhcmVudCgpLT5maXJzdExpbmVTdHls
ZSgpOwotICAgICAgICBpZiAocGFyZW50U3R5bGUgIT0gcGFyZW50KCktPnN0eWxlKCkpCi0gICAg
ICAgICAgICByZXN1bHQgPSBnZXRVbmNhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJ
VEVELCBwYXJlbnRTdHlsZSwgc3R5bGUpOwotICAgIH0KLQotICAgIHJldHVybiByZXN1bHQucmVs
ZWFzZSgpOworICAgIHJldHVybiBnZXRGaXJzdExpbmVTdHlsZShVbkNhY2hlZCwgdGhpcywgc3R5
bGUpOwogfQogCiBSZW5kZXJTdHlsZSogUmVuZGVyT2JqZWN0OjpmaXJzdExpbmVTdHlsZVNsb3dD
YXNlKCkgY29uc3QKIHsKICAgICBBU1NFUlQoZG9jdW1lbnQoKS0+dXNlc0ZpcnN0TGluZVJ1bGVz
KCkpOwogCi0gICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gbV9zdHlsZS5nZXQoKTsKLSAgICBjb25z
dCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gaXNUZXh0KCkgPyBwYXJlbnQoKSA6IHRoaXM7Ci0g
ICAgaWYgKHJlbmRlcmVyLT5pc0Jsb2NrRmxvdygpKSB7Ci0gICAgICAgIGlmIChSZW5kZXJCbG9j
ayogZmlyc3RMaW5lQmxvY2sgPSByZW5kZXJlci0+Zmlyc3RMaW5lQmxvY2soKSkKLSAgICAgICAg
ICAgIHN0eWxlID0gZmlyc3RMaW5lQmxvY2stPmdldENhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJ
TkUsIHN0eWxlKTsKLSAgICB9IGVsc2UgaWYgKCFyZW5kZXJlci0+aXNBbm9ueW1vdXMoKSAmJiBy
ZW5kZXJlci0+aXNSZW5kZXJJbmxpbmUoKSkgewotICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50
U3R5bGUgPSByZW5kZXJlci0+cGFyZW50KCktPmZpcnN0TGluZVN0eWxlKCk7Ci0gICAgICAgIGlm
IChwYXJlbnRTdHlsZSAhPSByZW5kZXJlci0+cGFyZW50KCktPnN0eWxlKCkpIHsKLSAgICAgICAg
ICAgIC8vIEEgZmlyc3QtbGluZSBzdHlsZSBpcyBpbiBlZmZlY3QuIENhY2hlIGEgZmlyc3QtbGlu
ZSBzdHlsZSBmb3Igb3Vyc2VsdmVzLgotICAgICAgICAgICAgcmVuZGVyZXItPnN0eWxlKCktPnNl
dEhhc1BzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVEKTsKLSAgICAgICAgICAgIHN0eWxl
ID0gcmVuZGVyZXItPmdldENhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVELCBw
YXJlbnRTdHlsZSk7Ci0gICAgICAgIH0KLSAgICB9CisgICAgaWYgKFJlZlB0cjxSZW5kZXJTdHls
ZT4gc3R5bGUgPSBnZXRGaXJzdExpbmVTdHlsZShDYWNoZWQsIGlzVGV4dCgpID8gcGFyZW50KCkg
OiB0aGlzLCBtX3N0eWxlLmdldCgpKSkKKyAgICAgICAgcmV0dXJuIHN0eWxlLmdldCgpOwogCi0g
ICAgcmV0dXJuIHN0eWxlOworICAgIHJldHVybiBtX3N0eWxlLmdldCgpOwogfQogCiBSZW5kZXJT
dHlsZSogUmVuZGVyT2JqZWN0OjpnZXRDYWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9JZCBwc2V1ZG8s
IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkgY29uc3QKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyODQw
NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1
IEBACisyMDEyLTA5LTEyICBBcnBpdGEgQmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5j
b20+CisKKyAgICAgICAgOmZpcnN0LWxpbmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRz
IGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDc5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVy
LWNvbnRlbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvZmlyc3Qt
bGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQuaHRtbDogQWRkZWQuCisgICAgICAg
IEFkZGVkIHJlZiB0ZXN0IGZvciB2ZXJpZmljYXRpb24gb2YgdGhlIHNjZW5hcmlvIHdoZW4gOmZp
cnN0LWxpbmUgc3R5bGUKKyAgICAgICAgaXMgYXBwbGllZCB0byBjb250ZW50IGdlbmVyYXRlZCBm
cm9tIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50cy4KKwogMjAxMi0wOS0xMiAgWW9zaGlm
dW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5ldyB0aW1lIGlucHV0
IG5lZWRzIGFjY2Vzc2liaWxpdHkKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxp
bmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50LWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFm
dGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50LWV4cGVjdGVk
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KK3AgeworICAgIHdpZHRoOiAyMDBweDsKK30KK3A6Zmlyc3Qt
bGluZSB7CisgICAgY29sb3I6IGdyZWVuOworfQorcDpmaXJzdC1sZXR0ZXIgeworICAgIGNvbG9y
OiBibHVlOworfQkKKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2PlRlc3QgZm9y
IEJ1Z3ppbGxhIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDc5NCI+QnVnIDgwNzk0PC9hPjogOmZpcnN0LWxpbmUgcHNldWRvIHNlbGVjdG9yIGlnbm9y
aW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlLjwvZGl2PgorICAgIDxkaXY+VGhlIDpmaXJz
dC1saW5lIHBzZXVkby1lbGVtZW50IHN0eWxlIGlzIG5vdCBhcHBsaWVkIHRvIGNvbnRlbnQgZ2Vu
ZXJhdGVkIGZyb20gOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVsZW1lbnRzLjwvZGl2PgorCTxkaXY+
SW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGggdGhlIGZpcnN0LWxldHRlciBzaG91bGQgYmUgZGlz
cGxheWVkIGluIGJsdWUgY29sb3IgYW5kIHRoZSBmaXJzdC1saW5lIGluIGdyZWVuIGNvbG9yIGlu
Y2x1ZGluZyB0aGUgd29yZHMgJ1RoZSBmaXJzdCBsaW5lJy48L2Rpdj4KKwkKKwk8cD5UaGUgZmly
c3QgbGluZSBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGdyZWVuIGNv
bG9yLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9maXJzdC1saW5lLXN0eWxlLWZvci1iZWZvcmUtYWZ0
ZXItY29udGVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0
LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9maXJzdC1saW5lLXN0eWxlLWZvci1iZWZvcmUtYWZ0ZXIt
Y29udGVudC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CitwIHsKKyAgICB3aWR0aDogMjAwcHg7Cit9Citw
OmJlZm9yZSB7CisgICAgY29udGVudDogJ1RoZSBmaXJzdCBsaW5lJworfQorcDpmaXJzdC1saW5l
IHsKKyAgICBjb2xvcjogZ3JlZW47Cit9CitwOmZpcnN0LWxldHRlciB7CisgICAgY29sb3I6IGJs
dWU7Cit9CQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+VGVzdCBmb3IgQnVn
emlsbGEgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
Nzk0Ij5CdWcgODA3OTQ8L2E+OiA6Zmlyc3QtbGluZSBwc2V1ZG8gc2VsZWN0b3IgaWdub3Jpbmcg
d29yZHMgY3JlYXRlZCBmcm9tIDpiZWZvcmUuPC9kaXY+CisgICAgPGRpdj5UaGUgOmZpcnN0LWxp
bmUgcHNldWRvLWVsZW1lbnQgc3R5bGUgaXMgbm90IGFwcGxpZWQgdG8gY29udGVudCBnZW5lcmF0
ZWQgZnJvbSA6YmVmb3JlLzphZnRlciBwc2V1ZG8tZWxlbWVudHMuPC9kaXY+CisJPGRpdj5JbiB0
aGUgZm9sbG93aW5nIHBhcmFncmFwaCB0aGUgZmlyc3QtbGV0dGVyIHNob3VsZCBiZSBkaXNwbGF5
ZWQgaW4gYmx1ZSBjb2xvciBhbmQgdGhlIGZpcnN0LWxpbmUgaW4gZ3JlZW4gY29sb3IgaW5jbHVk
aW5nIHRoZSB3b3JkcyAnVGhlIGZpcnN0IGxpbmUnLjwvZGl2PgorCQorCTxwPiBvZiB0aGlzIHBh
cmFncmFwaCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGdyZWVuIGNvbG9yLjwvcD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166838</attachid>
            <date>2012-10-03 02:53:43 -0700</date>
            <delta_ts>2012-10-04 04:17:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80794-20121003152647.patch</filename>
            <type>text/plain</type>
            <size>9315</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDI2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEwLTAzICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxp
bmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSA6Zmlyc3Qt
bGluZSBwc2V1ZG8tZWxlbWVudCBzdHlsZSBpcyBub3QgYXBwbGllZCBmb3IgY29udGVudAorICAg
ICAgICB3aGljaCBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVs
ZW1lbnRzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJl
Zm9yZS1hZnRlci1jb250ZW50Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Rmlyc3RMaW5lU3R5bGUpOgorICAgICAgICBB
ZGRlZCBhIG5ldyBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uIGluY29ycG9yYXRpbmcgdGhlIGNvbW1v
bgorICAgICAgICBmdW5jdGlvbmFsaXR5IG9mIGJvdGggdW5jYWNoZWRGaXJzdExpbmVTdHlsZSgp
IGFuZCBmaXJzdExpbmVTdHlsZVNsb3dDYXNlKCkKKyAgICAgICAgZnVuY3Rpb25zLiBJdCBhbHNv
IGluY2x1ZGVzIHRoZSBuZXcgY29kZSBhZGRlZCBmb3IgaGFuZGxpbmcgdGhlIHNjZW5hcmlvCisg
ICAgICAgIHdoZXJlaW4gdGhlIDpmaXJzdC1saW5lIHN0eWxlIGhhcyB0byBiZSBhcHBsaWVkIHRv
IGNvbnRlbnQgZ2VuZXJhdGVkCisgICAgICAgIGZyb20gOmJlZm9yZS86YWZ0ZXIuCisKKyAgICAg
ICAgV2hpbGUgZ2V0dGluZyB0aGUgOmZpcnN0LWxpbmUgc3R5bGUgd2Ugc2hvdWxkIGFsc28gY29u
c2lkZXIgdGhlIGNhc2UKKyAgICAgICAgd2hlbiB0aGUgY29udGVudCBpcyBmcm9tIGEgOmJlZm9y
ZS86YWZ0ZXIgcHNldWRvLWVsZW1lbnQgaW4gd2hpY2ggY2FzZQorICAgICAgICB0aGUgaW1tZWRp
YXRlIHBhcmVudCBzaGFsbCBub3QgYmUgdGhlIGJsb2NrIGNvbnRhaW5lciBlbGVtZW50ICh0byB3
aGljaAorICAgICAgICB0aGUgOmZpcnN0LWxpbmUgaXMgYXR0YWNoZWQpIGJ1dCByYXRoZXIgaXQn
cyBwYXJlbnQncyBwYXJlbnQgc2hvdWxkIGJlCisgICAgICAgIGNvbnNpZGVyZWQuCisKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojp1bmNhY2hlZEZp
cnN0TGluZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Zmlyc3RMaW5l
U3R5bGVTbG93Q2FzZSk6CisgICAgICAgIE1vdmVkIHRoZSBkdXBsaWNhdGUgY29kZSBiZXR3ZWVu
IHRoZSB0d28gZnVuY3Rpb25zIHRvIHRoZSBjb21tb24KKyAgICAgICAgaGVscGVyIGZ1bmN0aW9u
IGdldEZpcnN0TGluZVN0eWxlKCkuCisKIDIwMTItMTAtMDMgIEpvY2hlbiBFaXNpbmdlciAgPGpv
Y2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTWFrZSBzdXJlIHRoYXQgdXNlciBnZXN0dXJl
cyBjYW4ndCBiZSBjb25zdW1lZCB0d2ljZQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDEzMDI2NykKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTk5LDYgKzI1OTks
MzkgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OmxheW91dCgpCiAgICAgc2V0TmVlZHNMYXlvdXQoZmFs
c2UpOwogfQogCitlbnVtIFN0eWxlQ2FjaGVTdGF0ZSB7CisgICAgQ2FjaGVkLAorICAgIFVuY2Fj
aGVkCit9OworCitzdGF0aWMgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gZ2V0Rmlyc3RMaW5lU3R5
bGUoU3R5bGVDYWNoZVN0YXRlIHR5cGUsIGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIsIFJl
bmRlclN0eWxlKiBzdHlsZSkKK3sKKyAgICBpZiAocmVuZGVyZXItPmlzQmxvY2tGbG93KCkpIHsK
KyAgICAgICAgaWYgKFJlbmRlckJsb2NrKiBmaXJzdExpbmVCbG9jayA9IHJlbmRlcmVyLT5maXJz
dExpbmVCbG9jaygpKSB7CisgICAgICAgICAgICBpZiAodHlwZSA9PSBDYWNoZWQpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZpcnN0TGluZUJsb2NrLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShGSVJT
VF9MSU5FLCBzdHlsZSk7CisgICAgICAgICAgICByZXR1cm4gZmlyc3RMaW5lQmxvY2stPmdldFVu
Y2FjaGVkUHNldWRvU3R5bGUoRklSU1RfTElORSwgc3R5bGUsIGZpcnN0TGluZUJsb2NrID09IHJl
bmRlcmVyID8gc3R5bGUgOiAwKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoIXJlbmRlcmVy
LT5pc0Fub255bW91cygpICYmIHJlbmRlcmVyLT5pc1JlbmRlcklubGluZSgpKSB7CisgICAgICAg
IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9IHJlbmRlcmVyLT5wYXJlbnQoKS0+Zmlyc3RMaW5l
U3R5bGUoKTsKKyAgICAgICAgaWYgKHBhcmVudFN0eWxlICE9IHJlbmRlcmVyLT5wYXJlbnQoKS0+
c3R5bGUoKSkgeworICAgICAgICAgICAgLy8gQSBmaXJzdC1saW5lIHN0eWxlIGlzIGluIGVmZmVj
dC4gQ2FjaGUgYSBmaXJzdC1saW5lIHN0eWxlIGZvciBvdXJzZWx2ZXMuCisgICAgICAgICAgICBp
ZiAodHlwZSA9PSBDYWNoZWQpIHsKKyAgICAgICAgICAgICAgICByZW5kZXJlci0+c3R5bGUoKS0+
c2V0SGFzUHNldWRvU3R5bGUoRklSU1RfTElORV9JTkhFUklURUQpOworICAgICAgICAgICAgICAg
IHJldHVybiByZW5kZXJlci0+Z2V0Q2FjaGVkUHNldWRvU3R5bGUoRklSU1RfTElORV9JTkhFUklU
RUQsIHBhcmVudFN0eWxlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiByZW5k
ZXJlci0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FX0lOSEVSSVRFRCwgcGFyZW50
U3R5bGUsIHN0eWxlKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAocmVuZGVyZXItPmlzQmVm
b3JlT3JBZnRlckNvbnRlbnQoKSAmJiByZW5kZXJlci0+cGFyZW50KCktPmlzQmxvY2tGbG93KCkp
IHsKKyAgICAgICAgaWYgKFJlbmRlckJsb2NrKiBmaXJzdExpbmVCbG9jayA9IHJlbmRlcmVyLT5w
YXJlbnQoKS0+Zmlyc3RMaW5lQmxvY2soKSkgeworICAgICAgICAgICAgaWYgKHR5cGUgPT0gQ2Fj
aGVkKQorICAgICAgICAgICAgICAgIHJldHVybiBmaXJzdExpbmVCbG9jay0+Z2V0Q2FjaGVkUHNl
dWRvU3R5bGUoRklSU1RfTElORSwgc3R5bGUpOworICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGlu
ZUJsb2NrLT5nZXRVbmNhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkUsIHN0eWxlLCBmaXJzdExp
bmVCbG9jayA9PSByZW5kZXJlciA/IHN0eWxlIDogMCk7CisgICAgICAgIH0KKyAgICB9CisgICAg
cmV0dXJuIDA7Cit9CisKIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJlbmRlck9iamVjdDo6dW5j
YWNoZWRGaXJzdExpbmVTdHlsZShSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0CiB7CiAgICAgaWYg
KCFkb2N1bWVudCgpLT5zdHlsZVNoZWV0Q29sbGVjdGlvbigpLT51c2VzRmlyc3RMaW5lUnVsZXMo
KSkKQEAgLTI2MDYsMzkgKzI2MzksMTcgQEAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gUmVuZGVy
T2JqZWN0Ojp1bgogCiAgICAgQVNTRVJUKCFpc1RleHQoKSk7CiAKLSAgICBSZWZQdHI8UmVuZGVy
U3R5bGU+IHJlc3VsdDsKLQotICAgIGlmIChpc0Jsb2NrRmxvdygpKSB7Ci0gICAgICAgIGlmIChS
ZW5kZXJCbG9jayogZmlyc3RMaW5lQmxvY2sgPSB0aGlzLT5maXJzdExpbmVCbG9jaygpKQotICAg
ICAgICAgICAgcmVzdWx0ID0gZmlyc3RMaW5lQmxvY2stPmdldFVuY2FjaGVkUHNldWRvU3R5bGUo
RklSU1RfTElORSwgc3R5bGUsIGZpcnN0TGluZUJsb2NrID09IHRoaXMgPyBzdHlsZSA6IDApOwot
ICAgIH0gZWxzZSBpZiAoIWlzQW5vbnltb3VzKCkgJiYgaXNSZW5kZXJJbmxpbmUoKSkgewotICAg
ICAgICBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUgPSBwYXJlbnQoKS0+Zmlyc3RMaW5lU3R5bGUo
KTsKLSAgICAgICAgaWYgKHBhcmVudFN0eWxlICE9IHBhcmVudCgpLT5zdHlsZSgpKQotICAgICAg
ICAgICAgcmVzdWx0ID0gZ2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FX0lOSEVSSVRF
RCwgcGFyZW50U3R5bGUsIHN0eWxlKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gcmVzdWx0LnJlbGVh
c2UoKTsKKyAgICByZXR1cm4gZ2V0Rmlyc3RMaW5lU3R5bGUoVW5jYWNoZWQsIHRoaXMsIHN0eWxl
KTsKIH0KIAogUmVuZGVyU3R5bGUqIFJlbmRlck9iamVjdDo6Zmlyc3RMaW5lU3R5bGVTbG93Q2Fz
ZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGRvY3VtZW50KCktPnN0eWxlU2hlZXRDb2xsZWN0aW9u
KCktPnVzZXNGaXJzdExpbmVSdWxlcygpKTsKIAotICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IG1f
c3R5bGUuZ2V0KCk7Ci0gICAgY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IGlzVGV4dCgp
ID8gcGFyZW50KCkgOiB0aGlzOwotICAgIGlmIChyZW5kZXJlci0+aXNCbG9ja0Zsb3coKSkgewot
ICAgICAgICBpZiAoUmVuZGVyQmxvY2sqIGZpcnN0TGluZUJsb2NrID0gcmVuZGVyZXItPmZpcnN0
TGluZUJsb2NrKCkpCi0gICAgICAgICAgICBzdHlsZSA9IGZpcnN0TGluZUJsb2NrLT5nZXRDYWNo
ZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FLCBzdHlsZSk7Ci0gICAgfSBlbHNlIGlmICghcmVuZGVy
ZXItPmlzQW5vbnltb3VzKCkgJiYgcmVuZGVyZXItPmlzUmVuZGVySW5saW5lKCkpIHsKLSAgICAg
ICAgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gcmVuZGVyZXItPnBhcmVudCgpLT5maXJzdExp
bmVTdHlsZSgpOwotICAgICAgICBpZiAocGFyZW50U3R5bGUgIT0gcmVuZGVyZXItPnBhcmVudCgp
LT5zdHlsZSgpKSB7Ci0gICAgICAgICAgICAvLyBBIGZpcnN0LWxpbmUgc3R5bGUgaXMgaW4gZWZm
ZWN0LiBDYWNoZSBhIGZpcnN0LWxpbmUgc3R5bGUgZm9yIG91cnNlbHZlcy4KLSAgICAgICAgICAg
IHJlbmRlcmVyLT5zdHlsZSgpLT5zZXRIYXNQc2V1ZG9TdHlsZShGSVJTVF9MSU5FX0lOSEVSSVRF
RCk7Ci0gICAgICAgICAgICBzdHlsZSA9IHJlbmRlcmVyLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShG
SVJTVF9MSU5FX0lOSEVSSVRFRCwgcGFyZW50U3R5bGUpOwotICAgICAgICB9Ci0gICAgfQorICAg
IGlmIChSZWZQdHI8UmVuZGVyU3R5bGU+IHN0eWxlID0gZ2V0Rmlyc3RMaW5lU3R5bGUoQ2FjaGVk
LCBpc1RleHQoKSA/IHBhcmVudCgpIDogdGhpcywgbV9zdHlsZS5nZXQoKSkpCisgICAgICAgIHJl
dHVybiBzdHlsZS5nZXQoKTsKIAotICAgIHJldHVybiBzdHlsZTsKKyAgICByZXR1cm4gbV9zdHls
ZS5nZXQoKTsKIH0KIAogUmVuZGVyU3R5bGUqIFJlbmRlck9iamVjdDo6Z2V0Q2FjaGVkUHNldWRv
U3R5bGUoUHNldWRvSWQgcHNldWRvLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpIGNvbnN0Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMzAyNjgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMC0wMyAgQXJwaXRhIEJhaHVndW5hICA8
YXJwaXRhYmFodWd1bmFAZ21haWwuY29tPgorCisgICAgICAgIDpmaXJzdC1saW5lIHBzZXVkbyBz
ZWxlY3RvciBpZ25vcmluZyB3b3JkcyBjcmVhdGVkIGZyb20gOmJlZm9yZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3OTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL2ZpcnN0LWxpbmUt
c3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICBBZGRlZCByZWYgdGVzdCBmb3IgdmVyaWZpY2F0aW9uIG9m
IHRoZSBzY2VuYXJpbyB3aGVuIDpmaXJzdC1saW5lIHN0eWxlCisgICAgICAgIGlzIGFwcGxpZWQg
dG8gY29udGVudCBnZW5lcmF0ZWQgZnJvbSA6YmVmb3JlLzphZnRlciBwc2V1ZG8tZWxlbWVudHMu
CisKIDIwMTItMTAtMDMgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgTWFrZSBzdXJlIHRoYXQgdXNlciBnZXN0dXJlcyBjYW4ndCBiZSBjb25zdW1lZCB0
d2ljZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVm
b3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9maXJzdC1saW5lLXN0eWxlLWZvci1iZWZvcmUtYWZ0ZXItY29udGVudC1leHBl
Y3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvZmlyc3QtbGlu
ZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0
eWxlPgorcCB7CisgICAgd2lkdGg6IDIwMHB4OworfQorcDpmaXJzdC1saW5lIHsKKyAgICBjb2xv
cjogZ3JlZW47Cit9CitwOmZpcnN0LWxldHRlciB7CisgICAgY29sb3I6IGJsdWU7Cit9CQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+VGVzdCBmb3IgQnVnemlsbGEgPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNzk0Ij5CdWcgODA3
OTQ8L2E+OiA6Zmlyc3QtbGluZSBwc2V1ZG8gc2VsZWN0b3IgaWdub3Jpbmcgd29yZHMgY3JlYXRl
ZCBmcm9tIDpiZWZvcmUuPC9kaXY+CisgICAgPGRpdj5UaGUgOmZpcnN0LWxpbmUgcHNldWRvLWVs
ZW1lbnQgc3R5bGUgaXMgbm90IGFwcGxpZWQgdG8gY29udGVudCBnZW5lcmF0ZWQgZnJvbSA6YmVm
b3JlLzphZnRlciBwc2V1ZG8tZWxlbWVudHMuPC9kaXY+CisgICAgPGJyLz4KKworICAgIDxkaXY+
SW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGggdGhlIGZpcnN0LWxldHRlciBzaG91bGQgYmUgZGlz
cGxheWVkIGluIGJsdWUgY29sb3IgYW5kIHRoZSBmaXJzdC1saW5lIGluIGdyZWVuIGNvbG9yIGlu
Y2x1ZGluZyB0aGUgd29yZHMgJ1RoZSBmaXJzdCBsaW5lJy48L2Rpdj4KKyAgICA8cD5UaGUgZmly
c3QgbGluZSBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGdyZWVuIGNv
bG9yLjwvcD4KKworICAgIDxkaXY+SW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGggdGhlIGZpcnN0
LWxldHRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUgY29sb3IgYW5kIHRoZSBmaXJzdC1s
aW5lIGluIGdyZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29yZHMgJ2luIGdyZWVuIGNvbG9yLicu
PC9kaXY+CisgICAgPHA+RGlzcGxheSBpbiBncmVlbiBjb2xvci48L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJl
Zm9yZS1hZnRlci1jb250ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9y
ZS1hZnRlci1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK3AgeworICAgIHdpZHRoOiAyMDBw
eDsKK30KK3AjYmVmb3JlOmJlZm9yZSB7CisgICAgY29udGVudDogJ1RoZSBmaXJzdCBsaW5lJzsK
K30KK3AjYWZ0ZXI6YWZ0ZXIgeworICAgIGNvbnRlbnQ6ICdpbiBncmVlbiBjb2xvci4nOworfQor
cDpmaXJzdC1saW5lIHsKKyAgICBjb2xvcjogZ3JlZW47Cit9CitwOmZpcnN0LWxldHRlciB7Cisg
ICAgY29sb3I6IGJsdWU7Cit9CQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+
VGVzdCBmb3IgQnVnemlsbGEgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgwNzk0Ij5CdWcgODA3OTQ8L2E+OiA6Zmlyc3QtbGluZSBwc2V1ZG8gc2VsZWN0
b3IgaWdub3Jpbmcgd29yZHMgY3JlYXRlZCBmcm9tIDpiZWZvcmUuPC9kaXY+CisgICAgPGRpdj5U
aGUgOmZpcnN0LWxpbmUgcHNldWRvLWVsZW1lbnQgc3R5bGUgaXMgbm90IGFwcGxpZWQgdG8gY29u
dGVudCBnZW5lcmF0ZWQgZnJvbSA6YmVmb3JlLzphZnRlciBwc2V1ZG8tZWxlbWVudHMuPC9kaXY+
CisgICAgPGJyLz4KKworICAgIDxkaXY+SW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGggdGhlIGZp
cnN0LWxldHRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUgY29sb3IgYW5kIHRoZSBmaXJz
dC1saW5lIGluIGdyZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29yZHMgJ1RoZSBmaXJzdCBsaW5l
Jy48L2Rpdj4KKyAgICA8cCBpZD0iYmVmb3JlIj4gb2YgdGhpcyBwYXJhZ3JhcGggc2hvdWxkIGJl
IGRpc3BsYXllZCBpbiBncmVlbiBjb2xvci48L3A+CisKKyAgICA8ZGl2PkluIHRoZSBmb2xsb3dp
bmcgcGFyYWdyYXBoIHRoZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBibHVl
IGNvbG9yIGFuZCB0aGUgZmlyc3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNsdWRpbmcgdGhlIHdv
cmRzICdpbiBncmVlbiBjb2xvci4nLjwvZGl2PgorICAgIDxwIGlkPSJhZnRlciI+RGlzcGxheSA8
L3A+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>167070</attachid>
            <date>2012-10-04 04:17:53 -0700</date>
            <delta_ts>2012-10-04 07:25:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80794-20121004165056.patch</filename>
            <type>text/plain</type>
            <size>9333</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDM4MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEwLTA0ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxp
bmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSA6Zmlyc3Qt
bGluZSBwc2V1ZG8tZWxlbWVudCBzdHlsZSBpcyBub3QgYXBwbGllZCBmb3IgY29udGVudAorICAg
ICAgICB3aGljaCBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVs
ZW1lbnRzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJl
Zm9yZS1hZnRlci1jb250ZW50Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Rmlyc3RMaW5lU3R5bGUpOgorICAgICAgICBB
ZGRlZCBhIG5ldyBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uIGluY29ycG9yYXRpbmcgdGhlIGNvbW1v
bgorICAgICAgICBmdW5jdGlvbmFsaXR5IG9mIGJvdGggdW5jYWNoZWRGaXJzdExpbmVTdHlsZSgp
IGFuZCBmaXJzdExpbmVTdHlsZVNsb3dDYXNlKCkKKyAgICAgICAgZnVuY3Rpb25zLiBJdCBhbHNv
IGluY2x1ZGVzIHRoZSBuZXcgY29kZSBhZGRlZCBmb3IgaGFuZGxpbmcgdGhlIHNjZW5hcmlvCisg
ICAgICAgIHdoZXJlaW4gdGhlIDpmaXJzdC1saW5lIHN0eWxlIGhhcyB0byBiZSBhcHBsaWVkIHRv
IGNvbnRlbnQgZ2VuZXJhdGVkCisgICAgICAgIGZyb20gOmJlZm9yZS86YWZ0ZXIuCisKKyAgICAg
ICAgV2hpbGUgZ2V0dGluZyB0aGUgOmZpcnN0LWxpbmUgc3R5bGUgd2Ugc2hvdWxkIGFsc28gY29u
c2lkZXIgdGhlIGNhc2UKKyAgICAgICAgd2hlbiB0aGUgY29udGVudCBpcyBmcm9tIGEgOmJlZm9y
ZS86YWZ0ZXIgcHNldWRvLWVsZW1lbnQgaW4gd2hpY2ggY2FzZQorICAgICAgICB0aGUgaW1tZWRp
YXRlIHBhcmVudCBzaGFsbCBub3QgYmUgdGhlIGJsb2NrIGNvbnRhaW5lciBlbGVtZW50ICh0byB3
aGljaAorICAgICAgICB0aGUgOmZpcnN0LWxpbmUgaXMgYXR0YWNoZWQpIGJ1dCByYXRoZXIgaXQn
cyBwYXJlbnQncyBwYXJlbnQgc2hvdWxkIGJlCisgICAgICAgIGNvbnNpZGVyZWQuCisKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojp1bmNhY2hlZEZp
cnN0TGluZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Zmlyc3RMaW5l
U3R5bGVTbG93Q2FzZSk6CisgICAgICAgIE1vdmVkIHRoZSBkdXBsaWNhdGUgY29kZSBiZXR3ZWVu
IHRoZSB0d28gZnVuY3Rpb25zIHRvIHRoZSBjb21tb24KKyAgICAgICAgaGVscGVyIGZ1bmN0aW9u
IGdldEZpcnN0TGluZVN0eWxlKCkuCisKIDIwMTItMTAtMDQgIEhhcmFsZCBBbHZlc3RyYW5kICA8
aHRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIFJUQ1BlZXJDb25uZWN0aW9uIEdldFN0
YXRzIHRvIHVzZSBEYXRlIHRpbWVzdGFtcCBmb3JtYXQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCShyZXZpc2lvbiAxMzAzODMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU5OSw2
ICsyNTk5LDM5IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpsYXlvdXQoKQogICAgIHNldE5lZWRzTGF5
b3V0KGZhbHNlKTsKIH0KIAorZW51bSBTdHlsZUNhY2hlU3RhdGUgeworICAgIENhY2hlZCwKKyAg
ICBVbmNhY2hlZAorfTsKKworc3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IGdldEZpcnN0
TGluZVN0eWxlKFN0eWxlQ2FjaGVTdGF0ZSB0eXBlLCBjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRl
cmVyLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAgaWYgKHJlbmRlcmVyLT5pc0Jsb2NrRmxv
dygpKSB7CisgICAgICAgIGlmIChSZW5kZXJCbG9jayogZmlyc3RMaW5lQmxvY2sgPSByZW5kZXJl
ci0+Zmlyc3RMaW5lQmxvY2soKSkgeworICAgICAgICAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkKQor
ICAgICAgICAgICAgICAgIHJldHVybiBmaXJzdExpbmVCbG9jay0+Z2V0Q2FjaGVkUHNldWRvU3R5
bGUoRklSU1RfTElORSwgc3R5bGUpOworICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGluZUJsb2Nr
LT5nZXRVbmNhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkUsIHN0eWxlLCBmaXJzdExpbmVCbG9j
ayA9PSByZW5kZXJlciA/IHN0eWxlIDogMCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKCFy
ZW5kZXJlci0+aXNBbm9ueW1vdXMoKSAmJiByZW5kZXJlci0+aXNSZW5kZXJJbmxpbmUoKSkgewor
ICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUgPSByZW5kZXJlci0+cGFyZW50KCktPmZp
cnN0TGluZVN0eWxlKCk7CisgICAgICAgIGlmIChwYXJlbnRTdHlsZSAhPSByZW5kZXJlci0+cGFy
ZW50KCktPnN0eWxlKCkpIHsKKyAgICAgICAgICAgIGlmICh0eXBlID09IENhY2hlZCkgeworICAg
ICAgICAgICAgICAgIC8vIEEgZmlyc3QtbGluZSBzdHlsZSBpcyBpbiBlZmZlY3QuIENhY2hlIGEg
Zmlyc3QtbGluZSBzdHlsZSBmb3Igb3Vyc2VsdmVzLgorICAgICAgICAgICAgICAgIHJlbmRlcmVy
LT5zdHlsZSgpLT5zZXRIYXNQc2V1ZG9TdHlsZShGSVJTVF9MSU5FX0lOSEVSSVRFRCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVyLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9M
SU5FX0lOSEVSSVRFRCwgcGFyZW50U3R5bGUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
cmV0dXJuIHJlbmRlcmVyLT5nZXRVbmNhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJ
VEVELCBwYXJlbnRTdHlsZSwgc3R5bGUpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChyZW5k
ZXJlci0+aXNCZWZvcmVPckFmdGVyQ29udGVudCgpICYmIHJlbmRlcmVyLT5wYXJlbnQoKS0+aXNC
bG9ja0Zsb3coKSkgeworICAgICAgICBpZiAoUmVuZGVyQmxvY2sqIGZpcnN0TGluZUJsb2NrID0g
cmVuZGVyZXItPnBhcmVudCgpLT5maXJzdExpbmVCbG9jaygpKSB7CisgICAgICAgICAgICBpZiAo
dHlwZSA9PSBDYWNoZWQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGluZUJsb2NrLT5n
ZXRDYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FLCBzdHlsZSk7CisgICAgICAgICAgICByZXR1
cm4gZmlyc3RMaW5lQmxvY2stPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoRklSU1RfTElORSwgc3R5
bGUsIGZpcnN0TGluZUJsb2NrID09IHJlbmRlcmVyID8gc3R5bGUgOiAwKTsKKyAgICAgICAgfQor
ICAgIH0KKyAgICByZXR1cm4gMDsKK30KKwogUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gUmVuZGVy
T2JqZWN0Ojp1bmNhY2hlZEZpcnN0TGluZVN0eWxlKFJlbmRlclN0eWxlKiBzdHlsZSkgY29uc3QK
IHsKICAgICBpZiAoIWRvY3VtZW50KCktPnN0eWxlU2hlZXRDb2xsZWN0aW9uKCktPnVzZXNGaXJz
dExpbmVSdWxlcygpKQpAQCAtMjYwNiwzOSArMjYzOSwxNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0
eWxlPiBSZW5kZXJPYmplY3Q6OnVuCiAKICAgICBBU1NFUlQoIWlzVGV4dCgpKTsKIAotICAgIFJl
ZlB0cjxSZW5kZXJTdHlsZT4gcmVzdWx0OwotCi0gICAgaWYgKGlzQmxvY2tGbG93KCkpIHsKLSAg
ICAgICAgaWYgKFJlbmRlckJsb2NrKiBmaXJzdExpbmVCbG9jayA9IHRoaXMtPmZpcnN0TGluZUJs
b2NrKCkpCi0gICAgICAgICAgICByZXN1bHQgPSBmaXJzdExpbmVCbG9jay0+Z2V0VW5jYWNoZWRQ
c2V1ZG9TdHlsZShGSVJTVF9MSU5FLCBzdHlsZSwgZmlyc3RMaW5lQmxvY2sgPT0gdGhpcyA/IHN0
eWxlIDogMCk7Ci0gICAgfSBlbHNlIGlmICghaXNBbm9ueW1vdXMoKSAmJiBpc1JlbmRlcklubGlu
ZSgpKSB7Ci0gICAgICAgIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9IHBhcmVudCgpLT5maXJz
dExpbmVTdHlsZSgpOwotICAgICAgICBpZiAocGFyZW50U3R5bGUgIT0gcGFyZW50KCktPnN0eWxl
KCkpCi0gICAgICAgICAgICByZXN1bHQgPSBnZXRVbmNhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJ
TkVfSU5IRVJJVEVELCBwYXJlbnRTdHlsZSwgc3R5bGUpOwotICAgIH0KLQotICAgIHJldHVybiBy
ZXN1bHQucmVsZWFzZSgpOworICAgIHJldHVybiBnZXRGaXJzdExpbmVTdHlsZShVbmNhY2hlZCwg
dGhpcywgc3R5bGUpOwogfQogCiBSZW5kZXJTdHlsZSogUmVuZGVyT2JqZWN0OjpmaXJzdExpbmVT
dHlsZVNsb3dDYXNlKCkgY29uc3QKIHsKICAgICBBU1NFUlQoZG9jdW1lbnQoKS0+c3R5bGVTaGVl
dENvbGxlY3Rpb24oKS0+dXNlc0ZpcnN0TGluZVJ1bGVzKCkpOwogCi0gICAgUmVuZGVyU3R5bGUq
IHN0eWxlID0gbV9zdHlsZS5nZXQoKTsKLSAgICBjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVy
ID0gaXNUZXh0KCkgPyBwYXJlbnQoKSA6IHRoaXM7Ci0gICAgaWYgKHJlbmRlcmVyLT5pc0Jsb2Nr
RmxvdygpKSB7Ci0gICAgICAgIGlmIChSZW5kZXJCbG9jayogZmlyc3RMaW5lQmxvY2sgPSByZW5k
ZXJlci0+Zmlyc3RMaW5lQmxvY2soKSkKLSAgICAgICAgICAgIHN0eWxlID0gZmlyc3RMaW5lQmxv
Y2stPmdldENhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkUsIHN0eWxlKTsKLSAgICB9IGVsc2Ug
aWYgKCFyZW5kZXJlci0+aXNBbm9ueW1vdXMoKSAmJiByZW5kZXJlci0+aXNSZW5kZXJJbmxpbmUo
KSkgewotICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUgPSByZW5kZXJlci0+cGFyZW50
KCktPmZpcnN0TGluZVN0eWxlKCk7Ci0gICAgICAgIGlmIChwYXJlbnRTdHlsZSAhPSByZW5kZXJl
ci0+cGFyZW50KCktPnN0eWxlKCkpIHsKLSAgICAgICAgICAgIC8vIEEgZmlyc3QtbGluZSBzdHls
ZSBpcyBpbiBlZmZlY3QuIENhY2hlIGEgZmlyc3QtbGluZSBzdHlsZSBmb3Igb3Vyc2VsdmVzLgot
ICAgICAgICAgICAgcmVuZGVyZXItPnN0eWxlKCktPnNldEhhc1BzZXVkb1N0eWxlKEZJUlNUX0xJ
TkVfSU5IRVJJVEVEKTsKLSAgICAgICAgICAgIHN0eWxlID0gcmVuZGVyZXItPmdldENhY2hlZFBz
ZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVELCBwYXJlbnRTdHlsZSk7Ci0gICAgICAgIH0K
LSAgICB9CisgICAgaWYgKFJlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGUgPSBnZXRGaXJzdExpbmVT
dHlsZShDYWNoZWQsIGlzVGV4dCgpID8gcGFyZW50KCkgOiB0aGlzLCBtX3N0eWxlLmdldCgpKSkK
KyAgICAgICAgcmV0dXJuIHN0eWxlLmdldCgpOwogCi0gICAgcmV0dXJuIHN0eWxlOworICAgIHJl
dHVybiBtX3N0eWxlLmdldCgpOwogfQogCiBSZW5kZXJTdHlsZSogUmVuZGVyT2JqZWN0OjpnZXRD
YWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9JZCBwc2V1ZG8sIFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSkgY29uc3QKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDM4MykKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTA0ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxp
bmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3Mv
Zmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFm
dGVyLWNvbnRlbnQuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZGVkIHJlZiB0ZXN0IGZvciB2ZXJp
ZmljYXRpb24gb2YgdGhlIHNjZW5hcmlvIHdoZW4gOmZpcnN0LWxpbmUgc3R5bGUKKyAgICAgICAg
aXMgYXBwbGllZCB0byBjb250ZW50IGdlbmVyYXRlZCBmcm9tIDpiZWZvcmUvOmFmdGVyIHBzZXVk
by1lbGVtZW50cy4KKwogMjAxMi0xMC0wNCAgSGFyYWxkIEFsdmVzdHJhbmQgIDxodGFAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBDaGFuZ2UgUlRDUGVlckNvbm5lY3Rpb24gR2V0U3RhdHMgdG8gdXNl
IERhdGUgdGltZXN0YW1wIGZvcm1hdApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvZmlyc3Qt
bGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9maXJzdC1saW5lLXN0eWxlLWZvci1iZWZvcmUt
YWZ0ZXItY29udGVudC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0
ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorcCB7CisgICAgd2lkdGg6IDIwMHB4OworfQorcDpmaXJz
dC1saW5lIHsKKyAgICBjb2xvcjogZ3JlZW47Cit9CitwOmZpcnN0LWxldHRlciB7CisgICAgY29s
b3I6IGJsdWU7Cit9CQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+VGVzdCBm
b3IgQnVnemlsbGEgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwNzk0Ij5CdWcgODA3OTQ8L2E+OiA6Zmlyc3QtbGluZSBwc2V1ZG8gc2VsZWN0b3IgaWdu
b3Jpbmcgd29yZHMgY3JlYXRlZCBmcm9tIDpiZWZvcmUuPC9kaXY+CisgICAgPGRpdj5UaGUgOmZp
cnN0LWxpbmUgcHNldWRvLWVsZW1lbnQgc3R5bGUgaXMgbm90IGFwcGxpZWQgdG8gY29udGVudCBn
ZW5lcmF0ZWQgZnJvbSA6YmVmb3JlLzphZnRlciBwc2V1ZG8tZWxlbWVudHMuPC9kaXY+CisgICAg
PGJyLz4KKworICAgIDxkaXY+SW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGggdGhlIGZpcnN0LWxl
dHRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUgY29sb3IgYW5kIHRoZSBmaXJzdC1saW5l
IGluIGdyZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29yZHMgJ1RoZSBmaXJzdCBsaW5lJy48L2Rp
dj4KKyAgICA8cD5UaGUgZmlyc3QgbGluZSBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgZGlz
cGxheWVkIGluIGdyZWVuIGNvbG9yLjwvcD4KKworICAgIDxkaXY+SW4gdGhlIGZvbGxvd2luZyBw
YXJhZ3JhcGggdGhlIGZpcnN0LWxldHRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUgY29s
b3IgYW5kIHRoZSBmaXJzdC1saW5lIGluIGdyZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29yZHMg
J2luIGdyZWVuIGNvbG9yLicuPC9kaXY+CisgICAgPHA+RGlzcGxheSBpbiBncmVlbiBjb2xvci48
L3A+Cis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0
LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNv
bnRlbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxp
bmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK3Ag
eworICAgIHdpZHRoOiAyMDBweDsKK30KK3AjYmVmb3JlOmJlZm9yZSB7CisgICAgY29udGVudDog
J1RoZSBmaXJzdCBsaW5lJzsKK30KK3AjYWZ0ZXI6YWZ0ZXIgeworICAgIGNvbnRlbnQ6ICdpbiBn
cmVlbiBjb2xvci4nOworfQorcDpmaXJzdC1saW5lIHsKKyAgICBjb2xvcjogZ3JlZW47Cit9Citw
OmZpcnN0LWxldHRlciB7CisgICAgY29sb3I6IGJsdWU7Cit9CQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxkaXY+VGVzdCBmb3IgQnVnemlsbGEgPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNzk0Ij5CdWcgODA3OTQ8L2E+OiA6Zmlyc3Qt
bGluZSBwc2V1ZG8gc2VsZWN0b3IgaWdub3Jpbmcgd29yZHMgY3JlYXRlZCBmcm9tIDpiZWZvcmUu
PC9kaXY+CisgICAgPGRpdj5UaGUgOmZpcnN0LWxpbmUgcHNldWRvLWVsZW1lbnQgc3R5bGUgaXMg
bm90IGFwcGxpZWQgdG8gY29udGVudCBnZW5lcmF0ZWQgZnJvbSA6YmVmb3JlLzphZnRlciBwc2V1
ZG8tZWxlbWVudHMuPC9kaXY+CisgICAgPGJyLz4KKworICAgIDxkaXY+SW4gdGhlIGZvbGxvd2lu
ZyBwYXJhZ3JhcGggdGhlIGZpcnN0LWxldHRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUg
Y29sb3IgYW5kIHRoZSBmaXJzdC1saW5lIGluIGdyZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29y
ZHMgJ1RoZSBmaXJzdCBsaW5lJy48L2Rpdj4KKyAgICA8cCBpZD0iYmVmb3JlIj4gb2YgdGhpcyBw
YXJhZ3JhcGggc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBncmVlbiBjb2xvci48L3A+CisKKyAgICA8
ZGl2PkluIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoIHRoZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJl
IGRpc3BsYXllZCBpbiBibHVlIGNvbG9yIGFuZCB0aGUgZmlyc3QtbGluZSBpbiBncmVlbiBjb2xv
ciBpbmNsdWRpbmcgdGhlIHdvcmRzICdpbiBncmVlbiBjb2xvci4nLjwvZGl2PgorICAgIDxwIGlk
PSJhZnRlciI+RGlzcGxheSA8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167255</attachid>
            <date>2012-10-04 22:57:26 -0700</date>
            <delta_ts>2012-10-07 02:27:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80794-20121005113028.patch</filename>
            <type>text/plain</type>
            <size>10996</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDQ2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTA0ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxp
bmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSA6Zmlyc3Qt
bGluZSBwc2V1ZG8tZWxlbWVudCBzdHlsZSBpcyBub3QgYXBwbGllZCBmb3IgY29udGVudAorICAg
ICAgICB3aGljaCBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVs
ZW1lbnRzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJl
Zm9yZS1hZnRlci1jb250ZW50Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Zmlyc3RMaW5lU3R5bGVGb3JDYWNoZWRVbmNhY2hl
ZFR5cGUpOgorICAgICAgICBBZGRlZCBhIG5ldyBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uIGluY29y
cG9yYXRpbmcgdGhlIGNvbW1vbgorICAgICAgICBmdW5jdGlvbmFsaXR5IG9mIGJvdGggdW5jYWNo
ZWRGaXJzdExpbmVTdHlsZSgpIGFuZCBmaXJzdExpbmVTdHlsZVNsb3dDYXNlKCkKKyAgICAgICAg
ZnVuY3Rpb25zLiBJdCBhbHNvIG1vZGlmaWVzIHRoZSBmdW5jdGlvbmFsaXR5IHRvIGhhbmRsZSB0
aGUKKyAgICAgICAgc2NlbmFyaW8gd2hlbiA6Zmlyc3QtbGluZSBzdHlsZSBuZWVkcyB0byBiZSBh
cHBsaWVkIG9uIGNvbnRlbnQKKyAgICAgICAgZ2VuZXJhdGVkIGZyb20gOmJlZm9yZS86YWZ0ZXIu
CisKKyAgICAgICAgV2hpbGUgZ2V0dGluZyB0aGUgOmZpcnN0LWxpbmUgc3R5bGUgd2Ugc2hvdWxk
IGFsc28gY29uc2lkZXIgdGhlIGNhc2UKKyAgICAgICAgd2hlbiB0aGUgY29udGVudCBpcyBnZW5l
cmF0ZWQgZnJvbSBhIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50IGluCisgICAgICAgIHdo
aWNoIGNhc2UgdGhlIFJlbmRlcklubGluZSdzIHBhcmVudCBzaG91bGQgYmUgY29uc2lkZXJlZCBm
b3IKKyAgICAgICAgb2J0YWluaW5nIHRoZSBmaXJzdC1saW5lIHN0eWxlLgorCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6dW5jYWNoZWRGaXJzdExp
bmVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmZpcnN0TGluZVN0eWxl
U2xvd0Nhc2UpOgorICAgICAgICBNb3ZlZCB0aGUgZHVwbGljYXRlIGNvZGUgYmV0d2VlbiB0aGUg
dHdvIGZ1bmN0aW9ucyB0byB0aGUgY29tbW9uCisgICAgICAgIGhlbHBlciBmdW5jdGlvbiBnZXRG
aXJzdExpbmVTdHlsZSgpLgorCiAyMDEyLTEwLTA0ICBQcmF2aW4gRCAgPHByYXZpbmQuMms0QGdt
YWlsLmNvbT4KIAogICAgICAgICBSZW1vdmluZyB0aGUgdW51c2VkIG1lbWJlciB2YXJpYWJsZSBt
X3dhc01hbGZvcm1lZCBmcm9tIEhUTUxGb3JtRWxlbWVudCBjbGFzcyBhbmQgaXRzIHJlbGF0ZWQg
Y29kZSBmcmdtZW50LgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAJKHJldmlzaW9uIDEzMDQ2MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTk5LDYgKzI1OTksMzcgQEAgdm9pZCBS
ZW5kZXJPYmplY3Q6OmxheW91dCgpCiAgICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOwogfQogCitl
bnVtIFN0eWxlQ2FjaGVTdGF0ZSB7CisgICAgQ2FjaGVkLAorICAgIFVuY2FjaGVkCit9OworCitz
dGF0aWMgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gZmlyc3RMaW5lU3R5bGVGb3JDYWNoZWRVbmNh
Y2hlZFR5cGUoU3R5bGVDYWNoZVN0YXRlIHR5cGUsIGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVy
ZXIsIFJlbmRlclN0eWxlKiBzdHlsZSkKK3sKKyAgICBjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRl
cmVyRm9yRmlyc3RMaW5lU3R5bGUgPSByZW5kZXJlcjsKKyAgICBpZiAocmVuZGVyZXItPmlzQmVm
b3JlT3JBZnRlckNvbnRlbnQoKSkKKyAgICAgICAgcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZSA9
IHJlbmRlcmVyLT5wYXJlbnQoKTsKKworICAgIGlmIChyZW5kZXJlckZvckZpcnN0TGluZVN0eWxl
LT5pc0Jsb2NrRmxvdygpKSB7CisgICAgICAgIGlmIChSZW5kZXJCbG9jayogZmlyc3RMaW5lQmxv
Y2sgPSByZW5kZXJlckZvckZpcnN0TGluZVN0eWxlLT5maXJzdExpbmVCbG9jaygpKSB7CisgICAg
ICAgICAgICBpZiAodHlwZSA9PSBDYWNoZWQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZpcnN0
TGluZUJsb2NrLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FLCBzdHlsZSk7CisgICAg
ICAgICAgICByZXR1cm4gZmlyc3RMaW5lQmxvY2stPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoRklS
U1RfTElORSwgc3R5bGUsIGZpcnN0TGluZUJsb2NrID09IHJlbmRlcmVyID8gc3R5bGUgOiAwKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoIXJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmlz
QW5vbnltb3VzKCkgJiYgcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZS0+aXNSZW5kZXJJbmxpbmUo
KSkgeworICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUgPSByZW5kZXJlckZvckZpcnN0
TGluZVN0eWxlLT5wYXJlbnQoKS0+Zmlyc3RMaW5lU3R5bGUoKTsKKyAgICAgICAgaWYgKHBhcmVu
dFN0eWxlICE9IHJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPnBhcmVudCgpLT5zdHlsZSgpKSB7
CisgICAgICAgICAgICBpZiAodHlwZSA9PSBDYWNoZWQpIHsKKyAgICAgICAgICAgICAgICAvLyBB
IGZpcnN0LWxpbmUgc3R5bGUgaXMgaW4gZWZmZWN0LiBDYWNoZSBhIGZpcnN0LWxpbmUgc3R5bGUg
Zm9yIG91cnNlbHZlcy4KKyAgICAgICAgICAgICAgICByZW5kZXJlckZvckZpcnN0TGluZVN0eWxl
LT5zdHlsZSgpLT5zZXRIYXNQc2V1ZG9TdHlsZShGSVJTVF9MSU5FX0lOSEVSSVRFRCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmdldENhY2hlZFBz
ZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVELCBwYXJlbnRTdHlsZSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZS0+Z2V0VW5j
YWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FX0lOSEVSSVRFRCwgcGFyZW50U3R5bGUsIHN0eWxl
KTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gMDsKK30KKwogUGFzc1JlZlB0cjxSZW5k
ZXJTdHlsZT4gUmVuZGVyT2JqZWN0Ojp1bmNhY2hlZEZpcnN0TGluZVN0eWxlKFJlbmRlclN0eWxl
KiBzdHlsZSkgY29uc3QKIHsKICAgICBpZiAoIWRvY3VtZW50KCktPnN0eWxlU2hlZXRDb2xsZWN0
aW9uKCktPnVzZXNGaXJzdExpbmVSdWxlcygpKQpAQCAtMjYwNiwzOSArMjYzNywxNyBAQCBQYXNz
UmVmUHRyPFJlbmRlclN0eWxlPiBSZW5kZXJPYmplY3Q6OnVuCiAKICAgICBBU1NFUlQoIWlzVGV4
dCgpKTsKIAotICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gcmVzdWx0OwotCi0gICAgaWYgKGlzQmxv
Y2tGbG93KCkpIHsKLSAgICAgICAgaWYgKFJlbmRlckJsb2NrKiBmaXJzdExpbmVCbG9jayA9IHRo
aXMtPmZpcnN0TGluZUJsb2NrKCkpCi0gICAgICAgICAgICByZXN1bHQgPSBmaXJzdExpbmVCbG9j
ay0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FLCBzdHlsZSwgZmlyc3RMaW5lQmxv
Y2sgPT0gdGhpcyA/IHN0eWxlIDogMCk7Ci0gICAgfSBlbHNlIGlmICghaXNBbm9ueW1vdXMoKSAm
JiBpc1JlbmRlcklubGluZSgpKSB7Ci0gICAgICAgIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9
IHBhcmVudCgpLT5maXJzdExpbmVTdHlsZSgpOwotICAgICAgICBpZiAocGFyZW50U3R5bGUgIT0g
cGFyZW50KCktPnN0eWxlKCkpCi0gICAgICAgICAgICByZXN1bHQgPSBnZXRVbmNhY2hlZFBzZXVk
b1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVELCBwYXJlbnRTdHlsZSwgc3R5bGUpOwotICAgIH0K
LQotICAgIHJldHVybiByZXN1bHQucmVsZWFzZSgpOworICAgIHJldHVybiBmaXJzdExpbmVTdHls
ZUZvckNhY2hlZFVuY2FjaGVkVHlwZShVbmNhY2hlZCwgdGhpcywgc3R5bGUpOwogfQogCiBSZW5k
ZXJTdHlsZSogUmVuZGVyT2JqZWN0OjpmaXJzdExpbmVTdHlsZVNsb3dDYXNlKCkgY29uc3QKIHsK
ICAgICBBU1NFUlQoZG9jdW1lbnQoKS0+c3R5bGVTaGVldENvbGxlY3Rpb24oKS0+dXNlc0ZpcnN0
TGluZVJ1bGVzKCkpOwogCi0gICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gbV9zdHlsZS5nZXQoKTsK
LSAgICBjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gaXNUZXh0KCkgPyBwYXJlbnQoKSA6
IHRoaXM7Ci0gICAgaWYgKHJlbmRlcmVyLT5pc0Jsb2NrRmxvdygpKSB7Ci0gICAgICAgIGlmIChS
ZW5kZXJCbG9jayogZmlyc3RMaW5lQmxvY2sgPSByZW5kZXJlci0+Zmlyc3RMaW5lQmxvY2soKSkK
LSAgICAgICAgICAgIHN0eWxlID0gZmlyc3RMaW5lQmxvY2stPmdldENhY2hlZFBzZXVkb1N0eWxl
KEZJUlNUX0xJTkUsIHN0eWxlKTsKLSAgICB9IGVsc2UgaWYgKCFyZW5kZXJlci0+aXNBbm9ueW1v
dXMoKSAmJiByZW5kZXJlci0+aXNSZW5kZXJJbmxpbmUoKSkgewotICAgICAgICBSZW5kZXJTdHls
ZSogcGFyZW50U3R5bGUgPSByZW5kZXJlci0+cGFyZW50KCktPmZpcnN0TGluZVN0eWxlKCk7Ci0g
ICAgICAgIGlmIChwYXJlbnRTdHlsZSAhPSByZW5kZXJlci0+cGFyZW50KCktPnN0eWxlKCkpIHsK
LSAgICAgICAgICAgIC8vIEEgZmlyc3QtbGluZSBzdHlsZSBpcyBpbiBlZmZlY3QuIENhY2hlIGEg
Zmlyc3QtbGluZSBzdHlsZSBmb3Igb3Vyc2VsdmVzLgotICAgICAgICAgICAgcmVuZGVyZXItPnN0
eWxlKCktPnNldEhhc1BzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVEKTsKLSAgICAgICAg
ICAgIHN0eWxlID0gcmVuZGVyZXItPmdldENhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5I
RVJJVEVELCBwYXJlbnRTdHlsZSk7Ci0gICAgICAgIH0KLSAgICB9CisgICAgaWYgKFJlZlB0cjxS
ZW5kZXJTdHlsZT4gc3R5bGUgPSBmaXJzdExpbmVTdHlsZUZvckNhY2hlZFVuY2FjaGVkVHlwZShD
YWNoZWQsIGlzVGV4dCgpID8gcGFyZW50KCkgOiB0aGlzLCBtX3N0eWxlLmdldCgpKSkKKyAgICAg
ICAgcmV0dXJuIHN0eWxlLmdldCgpOwogCi0gICAgcmV0dXJuIHN0eWxlOworICAgIHJldHVybiBt
X3N0eWxlLmdldCgpOwogfQogCiBSZW5kZXJTdHlsZSogUmVuZGVyT2JqZWN0OjpnZXRDYWNoZWRQ
c2V1ZG9TdHlsZShQc2V1ZG9JZCBwc2V1ZG8sIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkgY29u
c3QKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDQ2MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTA0ICBBcnBpdGEgQmFodWd1
bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxpbmUgcHNl
dWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvZmlyc3Qt
bGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNv
bnRlbnQuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZGVkIHJlZiB0ZXN0IGZvciB2ZXJpZmljYXRp
b24gb2YgdGhlIHNjZW5hcmlvIHdoZW4gOmZpcnN0LWxpbmUgc3R5bGUKKyAgICAgICAgaXMgYXBw
bGllZCB0byBjb250ZW50IGdlbmVyYXRlZCBmcm9tIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVt
ZW50cy4KKwogMjAxMi0xMC0wNCAgUmlrIENhYmFuaWVyICA8Y2FiYW5pZXJAYWRvYmUuY29tPgog
CiAgICAgICAgIFR1cm4gQ29tcG9zaXRpbmcgb24gYnkgZGVmYXVsdCBpbiBXZWJLaXQgYnVpbGQK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1h
ZnRlci1jb250ZW50LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5
bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4K
K3AgeworICAgIHdpZHRoOiAyMDBweDsKK30KK3A6Zmlyc3QtbGluZSB7CisgICAgY29sb3I6IGdy
ZWVuOworfQorcDpmaXJzdC1sZXR0ZXIgeworICAgIGNvbG9yOiBibHVlOworfQkKKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2PlRlc3QgZm9yIEJ1Z3ppbGxhIDxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NCI+QnVnIDgwNzk0PC9h
PjogOmZpcnN0LWxpbmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJv
bSA6YmVmb3JlLjwvZGl2PgorICAgIDxkaXY+VGhlIDpmaXJzdC1saW5lIHBzZXVkby1lbGVtZW50
IHN0eWxlIGlzIG5vdCBhcHBsaWVkIHRvIGNvbnRlbnQgZ2VuZXJhdGVkIGZyb20gOmJlZm9yZS86
YWZ0ZXIgcHNldWRvLWVsZW1lbnRzLjwvZGl2PgorICAgIDxici8+CisKKyAgICA8ZGl2PkluIHRo
ZSBmb2xsb3dpbmcgcGFyYWdyYXBoIHRoZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3BsYXll
ZCBpbiBibHVlIGNvbG9yIGFuZCB0aGUgZmlyc3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNsdWRp
bmcgdGhlIHdvcmRzICdUaGUgZmlyc3QgbGluZScuIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgYmVo
YXZpb3Igd2l0aCA6YmVmb3JlIHN0eWxlIHNwZWNpZmllZCBvbiBhIGJsb2NrIGZsb3cgZWxlbWVu
dC48L2Rpdj4KKyAgICA8cD5UaGUgZmlyc3QgbGluZSBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQg
YmUgZGlzcGxheWVkIGluIGdyZWVuIGNvbG9yLjwvcD4KKyAKKyAgICA8ZGl2PkluIHRoZSBmb2xs
b3dpbmcgcGFyYWdyYXBoIHRoZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBi
bHVlIGNvbG9yIGFuZCB0aGUgZmlyc3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNsdWRpbmcgdGhl
IHdvcmRzICdUaGUgZmlyc3QgbGluZScuIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgYmVoYXZpb3Ig
d2l0aCA6YmVmb3JlIHN0eWxlIHNwZWNpZmllZCBvbiBhbiBpbmxpbmUgZWxlbWVudC48L2Rpdj4K
KyAgICA8cD48c3Bhbj5UaGUgZmlyc3QgbGluZSBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUg
ZGlzcGxheWVkIGluIGdyZWVuIGNvbG9yLjwvc3Bhbj48L3A+CisKKyAgICA8ZGl2PkluIHRoZSBm
b2xsb3dpbmcgcGFyYWdyYXBoIHRoZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBp
biBibHVlIGNvbG9yIGFuZCB0aGUgZmlyc3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNsdWRpbmcg
dGhlIHdvcmRzICdpbiBncmVlbiBjb2xvci4nLiBUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGJlaGF2
aW9yIHdpdGggOmFmdGVyIHN0eWxlIHNwZWNpZmllZCBvbiBhIGJsb2NrIGZsb3cgZWxlbWVudC48
L2Rpdj4KKyAgICA8cD5EaXNwbGF5IGluIGdyZWVuIGNvbG9yLjwvcD4KKyAKKyAgICA8ZGl2Pklu
IHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoIHRoZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3Bs
YXllZCBpbiBibHVlIGNvbG9yIGFuZCB0aGUgZmlyc3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNs
dWRpbmcgdGhlIHdvcmRzICdpbiBncmVlbiBjb2xvci4nLiBUaGlzIHRlc3QgdmVyaWZpZXMgdGhl
IGJlaGF2aW9yIHdpdGggOmFmdGVyIHN0eWxlIHNwZWNpZmllZCBvbiBhbiBpbmxpbmUgZWxlbWVu
dC48L2Rpdj4KKyAgICA8cD48c3Bhbj5EaXNwbGF5IGluIGdyZWVuIGNvbG9yLjwvc3Bhbj48L3A+
Cis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxp
bmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRl
bnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUt
c3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK3Agewor
ICAgIHdpZHRoOiAyMDBweDsKK30KK3AjYmVmb3JlOmJlZm9yZSB7CisgICAgY29udGVudDogJ1Ro
ZSBmaXJzdCBsaW5lJzsKK30KK3AjYWZ0ZXI6YWZ0ZXIgeworICAgIGNvbnRlbnQ6ICdpbiBncmVl
biBjb2xvci4nOworfQorc3BhbiNiZWZvcmU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAnVGhlIGZp
cnN0IGxpbmUnOworfQorc3BhbiNhZnRlcjphZnRlciB7CisgICAgY29udGVudDogJ2luIGdyZWVu
IGNvbG9yLic7Cit9CitwOmZpcnN0LWxpbmUgeworICAgIGNvbG9yOiBncmVlbjsKK30KK3A6Zmly
c3QtbGV0dGVyIHsKKyAgICBjb2xvcjogYmx1ZTsKK30JCis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+CisgICAgPGRpdj5UZXN0IGZvciBCdWd6aWxsYSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3OTQiPkJ1ZyA4MDc5NDwvYT46IDpmaXJzdC1saW5l
IHBzZXVkbyBzZWxlY3RvciBpZ25vcmluZyB3b3JkcyBjcmVhdGVkIGZyb20gOmJlZm9yZS48L2Rp
dj4KKyAgICA8ZGl2PlRoZSA6Zmlyc3QtbGluZSBwc2V1ZG8tZWxlbWVudCBzdHlsZSBpcyBub3Qg
YXBwbGllZCB0byBjb250ZW50IGdlbmVyYXRlZCBmcm9tIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1l
bGVtZW50cy48L2Rpdj4KKyAgICA8YnIvPgorCisgICAgPGRpdj5JbiB0aGUgZm9sbG93aW5nIHBh
cmFncmFwaCB0aGUgZmlyc3QtbGV0dGVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gYmx1ZSBjb2xv
ciBhbmQgdGhlIGZpcnN0LWxpbmUgaW4gZ3JlZW4gY29sb3IgaW5jbHVkaW5nIHRoZSB3b3JkcyAn
VGhlIGZpcnN0IGxpbmUnLiBUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGJlaGF2aW9yIHdpdGggOmJl
Zm9yZSBzdHlsZSBzcGVjaWZpZWQgb24gYSBibG9jayBmbG93IGVsZW1lbnQuPC9kaXY+CisgICAg
PHAgaWQ9ImJlZm9yZSI+IG9mIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4g
Z3JlZW4gY29sb3IuPC9wPgorIAorICAgIDxkaXY+SW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGgg
dGhlIGZpcnN0LWxldHRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUgY29sb3IgYW5kIHRo
ZSBmaXJzdC1saW5lIGluIGdyZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29yZHMgJ1RoZSBmaXJz
dCBsaW5lJy4gVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBiZWhhdmlvciB3aXRoIDpiZWZvcmUgc3R5
bGUgc3BlY2lmaWVkIG9uIGFuIGlubGluZSBlbGVtZW50LjwvZGl2PgorICAgIDxwPjxzcGFuIGlk
PSJiZWZvcmUiPiBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGdyZWVu
IGNvbG9yLjwvc3Bhbj48L3A+CisKKyAgICA8ZGl2PkluIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBo
IHRoZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBibHVlIGNvbG9yIGFuZCB0
aGUgZmlyc3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNsdWRpbmcgdGhlIHdvcmRzICdpbiBncmVl
biBjb2xvci4nLiBUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGJlaGF2aW9yIHdpdGggOmFmdGVyIHN0
eWxlIHNwZWNpZmllZCBvbiBhIGJsb2NrIGZsb3cgZWxlbWVudC48L2Rpdj4KKyAgICA8cCBpZD0i
YWZ0ZXIiPkRpc3BsYXkgPC9wPgorIAorICAgIDxkaXY+SW4gdGhlIGZvbGxvd2luZyBwYXJhZ3Jh
cGggdGhlIGZpcnN0LWxldHRlciBzaG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUgY29sb3IgYW5k
IHRoZSBmaXJzdC1saW5lIGluIGdyZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29yZHMgJ2luIGdy
ZWVuIGNvbG9yLicuIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgYmVoYXZpb3Igd2l0aCA6YWZ0ZXIg
c3R5bGUgc3BlY2lmaWVkIG9uIGFuIGlubGluZSBlbGVtZW50LjwvZGl2PgorICAgIDxwPjxzcGFu
IGlkPSJhZnRlciI+RGlzcGxheSA8L3NwYW4+PC9wPgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167477</attachid>
            <date>2012-10-07 02:27:59 -0700</date>
            <delta_ts>2012-10-07 21:42:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80794-20121007150058.patch</filename>
            <type>text/plain</type>
            <size>11153</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDU5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTA3ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxp
bmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSA6Zmlyc3Qt
bGluZSBwc2V1ZG8tZWxlbWVudCBzdHlsZSBpcyBub3QgYXBwbGllZCBmb3IgY29udGVudAorICAg
ICAgICB3aGljaCBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVs
ZW1lbnRzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJl
Zm9yZS1hZnRlci1jb250ZW50Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Zmlyc3RMaW5lU3R5bGVGb3JDYWNoZWRVbmNhY2hl
ZFR5cGUpOgorICAgICAgICBBZGRlZCBhIG5ldyBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uIGluY29y
cG9yYXRpbmcgdGhlIGNvbW1vbgorICAgICAgICBmdW5jdGlvbmFsaXR5IG9mIGJvdGggdW5jYWNo
ZWRGaXJzdExpbmVTdHlsZSgpIGFuZCBmaXJzdExpbmVTdHlsZVNsb3dDYXNlKCkKKyAgICAgICAg
ZnVuY3Rpb25zLiBJdCBhbHNvIG1vZGlmaWVzIHRoZSBmdW5jdGlvbmFsaXR5IHRvIGhhbmRsZSB0
aGUKKyAgICAgICAgc2NlbmFyaW8gd2hlbiA6Zmlyc3QtbGluZSBzdHlsZSBuZWVkcyB0byBiZSBh
cHBsaWVkIG9uIGNvbnRlbnQKKyAgICAgICAgZ2VuZXJhdGVkIGZyb20gOmJlZm9yZS86YWZ0ZXIu
CisKKyAgICAgICAgV2hpbGUgZ2V0dGluZyB0aGUgOmZpcnN0LWxpbmUgc3R5bGUgd2Ugc2hvdWxk
IGFsc28gY29uc2lkZXIgdGhlIGNhc2UKKyAgICAgICAgd2hlbiB0aGUgY29udGVudCBpcyBnZW5l
cmF0ZWQgZnJvbSBhIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50IGluCisgICAgICAgIHdo
aWNoIGNhc2UgdGhlIFJlbmRlcklubGluZSdzIHBhcmVudCBzaG91bGQgYmUgY29uc2lkZXJlZCBm
b3IKKyAgICAgICAgb2J0YWluaW5nIHRoZSBmaXJzdC1saW5lIHN0eWxlLgorCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6dW5jYWNoZWRGaXJzdExp
bmVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmZpcnN0TGluZVN0eWxl
U2xvd0Nhc2UpOgorICAgICAgICBNb3ZlZCB0aGUgZHVwbGljYXRlIGNvZGUgYmV0d2VlbiB0aGUg
dHdvIGZ1bmN0aW9ucyB0byB0aGUgY29tbW9uCisgICAgICAgIGhlbHBlciBmdW5jdGlvbiBmaXJz
dExpbmVTdHlsZUZvckNhY2hlZFVuY2FjaGVkVHlwZSgpLgorCiAyMDEyLTEwLTA2ICBSYXVsIEh1
ZGVhICA8cmh1ZGVhQGFkb2JlLmNvbT4KIAogICAgICAgICAtd2Via2l0LWNsaXAtcGF0aCBzaG91
bGQgcGFyc2UgSVJJcwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAJKHJldmlzaW9uIDEzMDU5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAyLDYgKzI2MDIsMzcgQEAgdm9pZCBS
ZW5kZXJPYmplY3Q6OmxheW91dCgpCiAgICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOwogfQogCitl
bnVtIFN0eWxlQ2FjaGVTdGF0ZSB7CisgICAgQ2FjaGVkLAorICAgIFVuY2FjaGVkCit9OworCitz
dGF0aWMgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gZmlyc3RMaW5lU3R5bGVGb3JDYWNoZWRVbmNh
Y2hlZFR5cGUoU3R5bGVDYWNoZVN0YXRlIHR5cGUsIGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVy
ZXIsIFJlbmRlclN0eWxlKiBzdHlsZSkKK3sKKyAgICBjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRl
cmVyRm9yRmlyc3RMaW5lU3R5bGUgPSByZW5kZXJlcjsKKyAgICBpZiAocmVuZGVyZXItPmlzQmVm
b3JlT3JBZnRlckNvbnRlbnQoKSkKKyAgICAgICAgcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZSA9
IHJlbmRlcmVyLT5wYXJlbnQoKTsKKworICAgIGlmIChyZW5kZXJlckZvckZpcnN0TGluZVN0eWxl
LT5pc0Jsb2NrRmxvdygpKSB7CisgICAgICAgIGlmIChSZW5kZXJCbG9jayogZmlyc3RMaW5lQmxv
Y2sgPSByZW5kZXJlckZvckZpcnN0TGluZVN0eWxlLT5maXJzdExpbmVCbG9jaygpKSB7CisgICAg
ICAgICAgICBpZiAodHlwZSA9PSBDYWNoZWQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZpcnN0
TGluZUJsb2NrLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FLCBzdHlsZSk7CisgICAg
ICAgICAgICByZXR1cm4gZmlyc3RMaW5lQmxvY2stPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoRklS
U1RfTElORSwgc3R5bGUsIGZpcnN0TGluZUJsb2NrID09IHJlbmRlcmVyID8gc3R5bGUgOiAwKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoIXJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmlz
QW5vbnltb3VzKCkgJiYgcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZS0+aXNSZW5kZXJJbmxpbmUo
KSkgeworICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUgPSByZW5kZXJlckZvckZpcnN0
TGluZVN0eWxlLT5wYXJlbnQoKS0+Zmlyc3RMaW5lU3R5bGUoKTsKKyAgICAgICAgaWYgKHBhcmVu
dFN0eWxlICE9IHJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPnBhcmVudCgpLT5zdHlsZSgpKSB7
CisgICAgICAgICAgICBpZiAodHlwZSA9PSBDYWNoZWQpIHsKKyAgICAgICAgICAgICAgICAvLyBB
IGZpcnN0LWxpbmUgc3R5bGUgaXMgaW4gZWZmZWN0LiBDYWNoZSBhIGZpcnN0LWxpbmUgc3R5bGUg
Zm9yIG91cnNlbHZlcy4KKyAgICAgICAgICAgICAgICByZW5kZXJlckZvckZpcnN0TGluZVN0eWxl
LT5zdHlsZSgpLT5zZXRIYXNQc2V1ZG9TdHlsZShGSVJTVF9MSU5FX0lOSEVSSVRFRCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmdldENhY2hlZFBz
ZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVELCBwYXJlbnRTdHlsZSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZS0+Z2V0VW5j
YWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FX0lOSEVSSVRFRCwgcGFyZW50U3R5bGUsIHN0eWxl
KTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gMDsKK30KKwogUGFzc1JlZlB0cjxSZW5k
ZXJTdHlsZT4gUmVuZGVyT2JqZWN0Ojp1bmNhY2hlZEZpcnN0TGluZVN0eWxlKFJlbmRlclN0eWxl
KiBzdHlsZSkgY29uc3QKIHsKICAgICBpZiAoIWRvY3VtZW50KCktPnN0eWxlU2hlZXRDb2xsZWN0
aW9uKCktPnVzZXNGaXJzdExpbmVSdWxlcygpKQpAQCAtMjYwOSwzOSArMjY0MCwxNyBAQCBQYXNz
UmVmUHRyPFJlbmRlclN0eWxlPiBSZW5kZXJPYmplY3Q6OnVuCiAKICAgICBBU1NFUlQoIWlzVGV4
dCgpKTsKIAotICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gcmVzdWx0OwotCi0gICAgaWYgKGlzQmxv
Y2tGbG93KCkpIHsKLSAgICAgICAgaWYgKFJlbmRlckJsb2NrKiBmaXJzdExpbmVCbG9jayA9IHRo
aXMtPmZpcnN0TGluZUJsb2NrKCkpCi0gICAgICAgICAgICByZXN1bHQgPSBmaXJzdExpbmVCbG9j
ay0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9MSU5FLCBzdHlsZSwgZmlyc3RMaW5lQmxv
Y2sgPT0gdGhpcyA/IHN0eWxlIDogMCk7Ci0gICAgfSBlbHNlIGlmICghaXNBbm9ueW1vdXMoKSAm
JiBpc1JlbmRlcklubGluZSgpKSB7Ci0gICAgICAgIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9
IHBhcmVudCgpLT5maXJzdExpbmVTdHlsZSgpOwotICAgICAgICBpZiAocGFyZW50U3R5bGUgIT0g
cGFyZW50KCktPnN0eWxlKCkpCi0gICAgICAgICAgICByZXN1bHQgPSBnZXRVbmNhY2hlZFBzZXVk
b1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVELCBwYXJlbnRTdHlsZSwgc3R5bGUpOwotICAgIH0K
LQotICAgIHJldHVybiByZXN1bHQucmVsZWFzZSgpOworICAgIHJldHVybiBmaXJzdExpbmVTdHls
ZUZvckNhY2hlZFVuY2FjaGVkVHlwZShVbmNhY2hlZCwgdGhpcywgc3R5bGUpOwogfQogCiBSZW5k
ZXJTdHlsZSogUmVuZGVyT2JqZWN0OjpmaXJzdExpbmVTdHlsZVNsb3dDYXNlKCkgY29uc3QKIHsK
ICAgICBBU1NFUlQoZG9jdW1lbnQoKS0+c3R5bGVTaGVldENvbGxlY3Rpb24oKS0+dXNlc0ZpcnN0
TGluZVJ1bGVzKCkpOwogCi0gICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gbV9zdHlsZS5nZXQoKTsK
LSAgICBjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gaXNUZXh0KCkgPyBwYXJlbnQoKSA6
IHRoaXM7Ci0gICAgaWYgKHJlbmRlcmVyLT5pc0Jsb2NrRmxvdygpKSB7Ci0gICAgICAgIGlmIChS
ZW5kZXJCbG9jayogZmlyc3RMaW5lQmxvY2sgPSByZW5kZXJlci0+Zmlyc3RMaW5lQmxvY2soKSkK
LSAgICAgICAgICAgIHN0eWxlID0gZmlyc3RMaW5lQmxvY2stPmdldENhY2hlZFBzZXVkb1N0eWxl
KEZJUlNUX0xJTkUsIHN0eWxlKTsKLSAgICB9IGVsc2UgaWYgKCFyZW5kZXJlci0+aXNBbm9ueW1v
dXMoKSAmJiByZW5kZXJlci0+aXNSZW5kZXJJbmxpbmUoKSkgewotICAgICAgICBSZW5kZXJTdHls
ZSogcGFyZW50U3R5bGUgPSByZW5kZXJlci0+cGFyZW50KCktPmZpcnN0TGluZVN0eWxlKCk7Ci0g
ICAgICAgIGlmIChwYXJlbnRTdHlsZSAhPSByZW5kZXJlci0+cGFyZW50KCktPnN0eWxlKCkpIHsK
LSAgICAgICAgICAgIC8vIEEgZmlyc3QtbGluZSBzdHlsZSBpcyBpbiBlZmZlY3QuIENhY2hlIGEg
Zmlyc3QtbGluZSBzdHlsZSBmb3Igb3Vyc2VsdmVzLgotICAgICAgICAgICAgcmVuZGVyZXItPnN0
eWxlKCktPnNldEhhc1BzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5IRVJJVEVEKTsKLSAgICAgICAg
ICAgIHN0eWxlID0gcmVuZGVyZXItPmdldENhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkVfSU5I
RVJJVEVELCBwYXJlbnRTdHlsZSk7Ci0gICAgICAgIH0KLSAgICB9CisgICAgaWYgKFJlZlB0cjxS
ZW5kZXJTdHlsZT4gc3R5bGUgPSBmaXJzdExpbmVTdHlsZUZvckNhY2hlZFVuY2FjaGVkVHlwZShD
YWNoZWQsIGlzVGV4dCgpID8gcGFyZW50KCkgOiB0aGlzLCBtX3N0eWxlLmdldCgpKSkKKyAgICAg
ICAgcmV0dXJuIHN0eWxlLmdldCgpOwogCi0gICAgcmV0dXJuIHN0eWxlOworICAgIHJldHVybiBt
X3N0eWxlLmdldCgpOwogfQogCiBSZW5kZXJTdHlsZSogUmVuZGVyT2JqZWN0OjpnZXRDYWNoZWRQ
c2V1ZG9TdHlsZShQc2V1ZG9JZCBwc2V1ZG8sIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkgY29u
c3QKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDU5NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTA3ICBBcnBpdGEgQmFodWd1
bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgOmZpcnN0LWxpbmUgcHNl
dWRvIHNlbGVjdG9yIGlnbm9yaW5nIHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvZmlyc3Qt
bGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jc3MvZmlyc3QtbGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNv
bnRlbnQuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZGVkIHJlZiB0ZXN0IGZvciB2ZXJpZmljYXRp
b24gb2YgdGhlIHNjZW5hcmlvIHdoZW4gOmZpcnN0LWxpbmUgc3R5bGUKKyAgICAgICAgaXMgYXBw
bGllZCB0byBjb250ZW50IGdlbmVyYXRlZCBmcm9tIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVt
ZW50cy4KKwogMjAxMi0xMC0wNyAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRlbmluZy4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1jb250ZW50LWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvZmlyc3QtbGluZS1z
dHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRl
ci1jb250ZW50LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK3AgeworICAgIHdpZHRoOiAy
MDBweDsKK30KKy5maXJzdGxpbmUgeworICAgIGNvbG9yOiBncmVlbjsKK30KKy5maXJzdGxldHRl
ciB7CisgICAgY29sb3I6IGJsdWU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAg
PGRpdj5UZXN0IGZvciBCdWd6aWxsYSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA3OTQiPkJ1ZyA4MDc5NDwvYT46IDpmaXJzdC1saW5lIHBzZXVkbyBz
ZWxlY3RvciBpZ25vcmluZyB3b3JkcyBjcmVhdGVkIGZyb20gOmJlZm9yZS48L2Rpdj4KKyAgICA8
ZGl2PlRoZSA6Zmlyc3QtbGluZSBwc2V1ZG8tZWxlbWVudCBzdHlsZSBpcyBub3QgYXBwbGllZCB0
byBjb250ZW50IGdlbmVyYXRlZCBmcm9tIDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50cy48
L2Rpdj4KKyAgICA8YnI+CisKKyAgICA8ZGl2PkluIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoIHRo
ZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBibHVlIGNvbG9yIGFuZCB0aGUg
Zmlyc3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNsdWRpbmcgdGhlIHdvcmRzICdUaGUgZmlyc3Qg
bGluZScuIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgYmVoYXZpb3Igd2l0aCA6YmVmb3JlIHN0eWxl
IHNwZWNpZmllZCBvbiBhIGJsb2NrIGZsb3cgZWxlbWVudC48L2Rpdj4KKyAgICA8cD48c3BhbiBj
bGFzcz0iZmlyc3RsZXR0ZXIiPlQ8L3NwYW4+PHNwYW4gY2xhc3M9ImZpcnN0bGluZSI+aGUgZmly
c3QgbGluZSBvZiB0aGlzIHBhcmFncmFwaDwvc3Bhbj4gc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBn
cmVlbiBjb2xvci48L3A+CisKKyAgICA8ZGl2PkluIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoIHRo
ZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBibHVlIGNvbG9yIGFuZCB0aGUg
Zmlyc3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNsdWRpbmcgdGhlIHdvcmRzICdUaGUgZmlyc3Qg
bGluZScuIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgYmVoYXZpb3Igd2l0aCA6YmVmb3JlIHN0eWxl
IHNwZWNpZmllZCBvbiBhbiBpbmxpbmUgZWxlbWVudC48L2Rpdj4KKyAgICA8cD48c3BhbiBjbGFz
cz0iZmlyc3RsZXR0ZXIiPlQ8L3NwYW4+PHNwYW4gY2xhc3M9ImZpcnN0bGluZSI+aGUgZmlyc3Qg
bGluZSBvZiB0aGlzIHBhcmFncmFwaDwvc3Bhbj4gc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBncmVl
biBjb2xvci48L3A+CisKKyAgICA8ZGl2PkluIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoIHRoZSBm
aXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBibHVlIGNvbG9yIGFuZCB0aGUgZmly
c3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNsdWRpbmcgdGhlIHdvcmRzICdpbiBncmVlbiBjb2xv
ci4nLiBUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGJlaGF2aW9yIHdpdGggOmFmdGVyIHN0eWxlIHNw
ZWNpZmllZCBvbiBhIGJsb2NrIGZsb3cgZWxlbWVudC48L2Rpdj4KKyAgICA8cD48c3BhbiBjbGFz
cz0iZmlyc3RsZXR0ZXIiPkQ8L3NwYW4+PHNwYW4gY2xhc3M9ImZpcnN0bGluZSI+aXNwbGF5IGlu
IGdyZWVuIGNvbG9yLjwvc3Bhbj48L3A+CisKKyAgICA8ZGl2PkluIHRoZSBmb2xsb3dpbmcgcGFy
YWdyYXBoIHRoZSBmaXJzdC1sZXR0ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBibHVlIGNvbG9y
IGFuZCB0aGUgZmlyc3QtbGluZSBpbiBncmVlbiBjb2xvciBpbmNsdWRpbmcgdGhlIHdvcmRzICdp
biBncmVlbiBjb2xvci4nLiBUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGJlaGF2aW9yIHdpdGggOmFm
dGVyIHN0eWxlIHNwZWNpZmllZCBvbiBhbiBpbmxpbmUgZWxlbWVudC48L2Rpdj4KKyAgICA8cD48
c3BhbiBjbGFzcz0iZmlyc3RsZXR0ZXIiPkQ8L3NwYW4+PHNwYW4gY2xhc3M9ImZpcnN0bGluZSI+
aXNwbGF5IGluIGdyZWVuIGNvbG9yLjwvc3Bhbj48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CisKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRl
ci1jb250ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvZmlyc3Qt
bGluZS1zdHlsZS1mb3ItYmVmb3JlLWFmdGVyLWNvbnRlbnQuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL2ZpcnN0LWxpbmUtc3R5bGUtZm9yLWJlZm9yZS1hZnRlci1j
b250ZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK3AgeworICAgIHdpZHRoOiAyMDBweDsKK30KK3Au
YmVmb3JlOmJlZm9yZSB7CisgICAgY29udGVudDogJ1RoZSBmaXJzdCBsaW5lJzsKK30KK3AuYWZ0
ZXI6YWZ0ZXIgeworICAgIGNvbnRlbnQ6ICdpbiBncmVlbiBjb2xvci4nOworfQorc3Bhbi5iZWZv
cmU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAnVGhlIGZpcnN0IGxpbmUnOworfQorc3Bhbi5hZnRl
cjphZnRlciB7CisgICAgY29udGVudDogJ2luIGdyZWVuIGNvbG9yLic7Cit9CitwOmZpcnN0LWxp
bmUgeworICAgIGNvbG9yOiBncmVlbjsKK30KK3A6Zmlyc3QtbGV0dGVyIHsKKyAgICBjb2xvcjog
Ymx1ZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2PlRlc3QgZm9yIEJ1
Z3ppbGxhIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDc5NCI+QnVnIDgwNzk0PC9hPjogOmZpcnN0LWxpbmUgcHNldWRvIHNlbGVjdG9yIGlnbm9yaW5n
IHdvcmRzIGNyZWF0ZWQgZnJvbSA6YmVmb3JlLjwvZGl2PgorICAgIDxkaXY+VGhlIDpmaXJzdC1s
aW5lIHBzZXVkby1lbGVtZW50IHN0eWxlIGlzIG5vdCBhcHBsaWVkIHRvIGNvbnRlbnQgZ2VuZXJh
dGVkIGZyb20gOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVsZW1lbnRzLjwvZGl2PgorICAgIDxicj4K
KworICAgIDxkaXY+SW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGggdGhlIGZpcnN0LWxldHRlciBz
aG91bGQgYmUgZGlzcGxheWVkIGluIGJsdWUgY29sb3IgYW5kIHRoZSBmaXJzdC1saW5lIGluIGdy
ZWVuIGNvbG9yIGluY2x1ZGluZyB0aGUgd29yZHMgJ1RoZSBmaXJzdCBsaW5lJy4gVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoZSBiZWhhdmlvciB3aXRoIDpiZWZvcmUgc3R5bGUgc3BlY2lmaWVkIG9uIGEg
YmxvY2sgZmxvdyBlbGVtZW50LjwvZGl2PgorICAgIDxwIGNsYXNzPSJiZWZvcmUiPiBvZiB0aGlz
IHBhcmFncmFwaCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGdyZWVuIGNvbG9yLjwvcD4KKyAKKyAg
ICA8ZGl2PkluIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoIHRoZSBmaXJzdC1sZXR0ZXIgc2hvdWxk
IGJlIGRpc3BsYXllZCBpbiBibHVlIGNvbG9yIGFuZCB0aGUgZmlyc3QtbGluZSBpbiBncmVlbiBj
b2xvciBpbmNsdWRpbmcgdGhlIHdvcmRzICdUaGUgZmlyc3QgbGluZScuIFRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGUgYmVoYXZpb3Igd2l0aCA6YmVmb3JlIHN0eWxlIHNwZWNpZmllZCBvbiBhbiBpbmxp
bmUgZWxlbWVudC48L2Rpdj4KKyAgICA8cD48c3BhbiBjbGFzcz0iYmVmb3JlIj4gb2YgdGhpcyBw
YXJhZ3JhcGggc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBncmVlbiBjb2xvci48L3NwYW4+PC9wPgor
CisgICAgPGRpdj5JbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCB0aGUgZmlyc3QtbGV0dGVyIHNo
b3VsZCBiZSBkaXNwbGF5ZWQgaW4gYmx1ZSBjb2xvciBhbmQgdGhlIGZpcnN0LWxpbmUgaW4gZ3Jl
ZW4gY29sb3IgaW5jbHVkaW5nIHRoZSB3b3JkcyAnaW4gZ3JlZW4gY29sb3IuJy4gVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoZSBiZWhhdmlvciB3aXRoIDphZnRlciBzdHlsZSBzcGVjaWZpZWQgb24gYSBi
bG9jayBmbG93IGVsZW1lbnQuPC9kaXY+CisgICAgPHAgY2xhc3M9ImFmdGVyIj5EaXNwbGF5IDwv
cD4KKyAKKyAgICA8ZGl2PkluIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoIHRoZSBmaXJzdC1sZXR0
ZXIgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBibHVlIGNvbG9yIGFuZCB0aGUgZmlyc3QtbGluZSBp
biBncmVlbiBjb2xvciBpbmNsdWRpbmcgdGhlIHdvcmRzICdpbiBncmVlbiBjb2xvci4nLiBUaGlz
IHRlc3QgdmVyaWZpZXMgdGhlIGJlaGF2aW9yIHdpdGggOmFmdGVyIHN0eWxlIHNwZWNpZmllZCBv
biBhbiBpbmxpbmUgZWxlbWVudC48L2Rpdj4KKyAgICA8cD48c3BhbiBjbGFzcz0iYWZ0ZXIiPkRp
c3BsYXkgPC9zcGFuPjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>