<?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>26559</bug_id>
          
          <creation_ts>2009-06-19 14:07:07 -0700</creation_ts>
          <short_desc>When a block&apos;s height is determined by min-height/max-height, children with percentage heights are sized incorrectly</short_desc>
          <delta_ts>2019-04-14 11:00:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows Vista</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>b-jorsch</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>alec.stanford.larson</cc>
    
    <cc>andro.marian.v94</cc>
    
    <cc>bjonesbe</cc>
    
    <cc>bobince</cc>
    
    <cc>brilliand+bugzilla</cc>
    
    <cc>christophe.schwyzer</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>joshn</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>pauld</cc>
    
    <cc>robert</cc>
    
    <cc>sebastian.andil</cc>
    
    <cc>star.shravan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>127034</commentid>
    <comment_count>0</comment_count>
    <who name="">b-jorsch</who>
    <bug_when>2009-06-19 14:07:07 -0700</bug_when>
    <thetext>Version is 530.17, Safari 4.0.

If the specified height of an element is less than min-height, the actual height used is the min-height; similarly, if the specified height of an element is more than max-height, the actual height used is the max-height.

When this occurs, Safari uses the originally-specified height value rather than the actually-used height to calculate the heights of children with percentage-based heights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127038</commentid>
    <comment_count>1</comment_count>
      <attachid>31563</attachid>
    <who name="">b-jorsch</who>
    <bug_when>2009-06-19 14:11:19 -0700</bug_when>
    <thetext>Created attachment 31563
Test case

The test case consists of two sets of boxes, the outer with a red border and the inner with blue. The top set has height=100px and min-height=200px on the red box, and the bottom set has height=400px and max-height=200px on the red box; both have height=100% on the blue box. The red and blue boxes should all be 200px high, but Safari draws the upper blue box at 100px and the lower at 400px.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285914</commentid>
    <comment_count>2</comment_count>
    <who name="And Clover">bobince</who>
    <bug_when>2010-09-27 17:01:13 -0700</bug_when>
    <thetext>Same root cause as bug 14762. The percentage unit applied to `height`, `top` and `bottom`, when used on an element with static or relative positioning, is calculated purely from the the containing block&apos;s `height` CSS property, and not its computed height (which would take min/max-height into account).

The same does not occur on widths or on elements with absolute or fixed positioning.

Other browsers use the computed height of the containing block (except in the case where the computed height is dependent on the child height, ie `auto`, as per CSS2.1 section 10.5).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546681</commentid>
    <comment_count>3</comment_count>
    <who name="Silas Brill">brilliand+bugzilla</who>
    <bug_when>2012-01-31 17:30:23 -0800</bug_when>
    <thetext>*** Bug 76860 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683304</commentid>
    <comment_count>4</comment_count>
      <attachid>155594</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-07-31 11:38:07 -0700</bug_when>
    <thetext>Created attachment 155594
Bug fix

Make percent height computation respect min/max of parent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683441</commentid>
    <comment_count>5</comment_count>
      <attachid>155594</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-07-31 13:43:34 -0700</bug_when>
    <thetext>Comment on attachment 155594
Bug fix

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

Nice patch. Here&apos;s my informal review:

&gt; Source/WebCore/rendering/RenderBox.cpp:2166
&gt; +    LayoutUnit minH = computeContentLogicalHeightUsing(MinSize, style()-&gt;logicalMinHeight()); // Leave as -1 if unset.

I would avoid abbreviations (minH, maxH).

&gt; LayoutTests/fast/block/min-max-height-percent-height-child.html:10
&gt; +                min-height: 400px;

We should add some more tests. I would check if it works with:
- min-height and max-height as percentages on the parent element
- paddings on the parent element
- vertical writing modes

It might be easier to cover more permutations with a JavaScript test if you want to do that. You could apply different styles or classes on the elements and then verify the computed height. We do this a lot in &lt;table&gt; tests.

&gt; LayoutTests/fast/block/min-max-height-percent-height-child.html:32
&gt; +        These are tests for &lt;a href=&quot;https://bugs.webkit.org/show_bug.cgi?id=26559&quot;&gt;Bug 26559&lt;/a&gt;&lt;br/&gt;

Add a line describing what you&apos;re testing here like: &quot;This test checks that children with percentage heights compute their height correctly when their parent element&apos;s height is determined by min-height or max-height.&quot;

&gt; LayoutTests/fast/block/min-max-height-percent-height-child.html:34
&gt; +        &lt;p&gt;Test 1: one tall green rectangle&lt;/p&gt;

Describe the case that you&apos;re testing in addition to the expected result. For example, &quot;Test 1: Parent&apos;s height is determined by min-height...&quot;

&gt; LayoutTests/fast/block/min-max-height-percent-height-child.html:39
&gt; +        &lt;p&gt;Test 2: one short green rectangle&lt;/p&gt;

Ditto.

&gt; LayoutTests/fast/block/min-max-height-percent-height-child.html:44
&gt; +        &lt;p&gt;Test 3: small green rectangle on top of larger blue rectangle&lt;/p&gt;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685772</commentid>
    <comment_count>6</comment_count>
      <attachid>155594</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-08-02 13:50:10 -0700</bug_when>
    <thetext>Comment on attachment 155594
Bug fix

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

Looks roughly correct. Thanks for the fix! Please address my comment as well as Max&apos;s.

&gt; Source/WebCore/rendering/RenderBox.cpp:2138
&gt;          result = cb-&gt;computePercentageLogicalHeight(cbstyle-&gt;logicalHeight());
&gt; -        if (result != -1)
&gt; -            result = cb-&gt;computeContentBoxLogicalHeight(result);
&gt; +        if (result != -1) {
&gt; +            result = cb-&gt;computeContentLogicalHeightRespectingMinMaxHeight(result);
&gt; +            if (result != -1)
&gt; +                result = cb-&gt;computeContentBoxLogicalHeight(result);
&gt; +        }

Doesn&apos;t computePercentageLogicalHeight already adjust for min/max with your above change?

&gt; Source/WebCore/rendering/RenderBox.cpp:2172
&gt; +    return result;

Can you have this call computeContentBoxLogicalHeight? Then you don&apos;t need to do it in the two calling locations?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687751</commentid>
    <comment_count>7</comment_count>
      <attachid>155594</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-08-05 21:57:19 -0700</bug_when>
    <thetext>Comment on attachment 155594
Bug fix

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

&gt; Source/WebCore/rendering/RenderBox.cpp:2171
&gt; +    LayoutUnit result = min&lt;LayoutUnit&gt;(maxH, logicalHeight);
&gt; +    result = max&lt;LayoutUnit&gt;(minH, result);

What happens if min and max height are fixed, but height is auto?  It looks like we would use the value of min-height, which is incorrect. Please add a test case for this too.

&gt;&gt; LayoutTests/fast/block/min-max-height-percent-height-child.html:10
&gt;&gt; +                min-height: 400px;
&gt; 
&gt; We should add some more tests. I would check if it works with:
&gt; - min-height and max-height as percentages on the parent element
&gt; - paddings on the parent element
&gt; - vertical writing modes
&gt; 
&gt; It might be easier to cover more permutations with a JavaScript test if you want to do that. You could apply different styles or classes on the elements and then verify the computed height. We do this a lot in &lt;table&gt; tests.

I would also like to see a test where height is auto, but min-height is fixed (e.g., 400px).  In that case, the percentage height should be treated as auto (I get the same behavior in Firefox).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687766</commentid>
    <comment_count>8</comment_count>
      <attachid>155594</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-08-05 22:30:46 -0700</bug_when>
    <thetext>Comment on attachment 155594
Bug fix

I wonder if there are other places where we get this wrong (e.g., we might get this wrong in RenderFlexibleBox::computeLogicalClientHeight).

Another possible way to implement this is in RenderStyle::logicalHeight.  If height/width is fixed, we then check min/max and make sure the value is within the bounds.

Also, it would be good to have some test cases where min-height &gt; max-height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688251</commentid>
    <comment_count>9</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-08-06 10:28:32 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 155594 [details])
&gt; I wonder if there are other places where we get this wrong (e.g., we might get this wrong in RenderFlexibleBox::computeLogicalClientHeight).

This case is special because converting the Length to a LayoutUnit requires grabbing the containingBlock&apos;s height and it&apos;s the containingBlock&apos;s min/max that is getting ignored. We do get this wrong in RenderFlexibleBox::computeLogicalClientHeight, but this patch fixes that case too since that just calls computeContentLogicalHeightUsing, which, in turn calls computePercentageLogicalHeight.

&gt; Another possible way to implement this is in RenderStyle::logicalHeight.  If height/width is fixed, we then check min/max and make sure the value is within the bounds.

I&apos;m wary of making RenderStyle magical like this. Then it needs to know about things like converting percentages to fixed values, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688413</commentid>
    <comment_count>10</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-08-06 14:08:57 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Another possible way to implement this is in RenderStyle::logicalHeight.  If height/width is fixed, we then check min/max and make sure the value is within the bounds.
&gt; 
&gt; I&apos;m wary of making RenderStyle magical like this. Then it needs to know about things like converting percentages to fixed values, etc.

Yeah, after sleeping on the idea, I realized that this wouldn&apos;t work for percentages or calc values.  It&apos;ll have to be done in computePercentageLogicalHeight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693861</commentid>
    <comment_count>11</comment_count>
      <attachid>155594</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-08-13 11:22:01 -0700</bug_when>
    <thetext>Comment on attachment 155594
Bug fix

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

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2138
&gt;&gt; +        }
&gt; 
&gt; Doesn&apos;t computePercentageLogicalHeight already adjust for min/max with your above change?

It doesn&apos;t, which is why I added it here as well. But I will have to do more digging to be able to give you a good explanation as to why it doesn&apos;t work.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2166
&gt;&gt; +    LayoutUnit minH = computeContentLogicalHeightUsing(MinSize, style()-&gt;logicalMinHeight()); // Leave as -1 if unset.
&gt; 
&gt; I would avoid abbreviations (minH, maxH).

Ok.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2171
&gt;&gt; +    result = max&lt;LayoutUnit&gt;(minH, result);
&gt; 
&gt; What happens if min and max height are fixed, but height is auto?  It looks like we would use the value of min-height, which is incorrect. Please add a test case for this too.

I&apos;ll add a test case and fix it if it doesn&apos;t work properly.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2172
&gt;&gt; +    return result;
&gt; 
&gt; Can you have this call computeContentBoxLogicalHeight? Then you don&apos;t need to do it in the two calling locations?

Yes, I can rename the method to computeContentBoxLogicalHeightRespectingMinMaxHeight and do that. (I only didn&apos;t do that initially in an attempt to be more consistent with similar methods that were already there)

&gt;&gt;&gt; LayoutTests/fast/block/min-max-height-percent-height-child.html:10
&gt;&gt;&gt; +                min-height: 400px;
&gt;&gt; 
&gt;&gt; We should add some more tests. I would check if it works with:
&gt;&gt; - min-height and max-height as percentages on the parent element
&gt;&gt; - paddings on the parent element
&gt;&gt; - vertical writing modes
&gt;&gt; 
&gt;&gt; It might be easier to cover more permutations with a JavaScript test if you want to do that. You could apply different styles or classes on the elements and then verify the computed height. We do this a lot in &lt;table&gt; tests.
&gt; 
&gt; I would also like to see a test where height is auto, but min-height is fixed (e.g., 400px).  In that case, the percentage height should be treated as auto (I get the same behavior in Firefox).

I will add more tests for this and switch to JavaScript tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693866</commentid>
    <comment_count>12</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-08-13 11:24:32 -0700</bug_when>
    <thetext>Also, sorry about the delay in responding, I was on vacation for the past two weeks. Also, it will probably take me a while to put together a new patch, I have a few other things I need to attend to. But I will update it and greatly appreciate all of the feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764812</commentid>
    <comment_count>13</comment_count>
      <attachid>173722</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-11-12 14:13:36 -0800</bug_when>
    <thetext>Created attachment 173722
Updated fix

Updated fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777379</commentid>
    <comment_count>14</comment_count>
      <attachid>173722</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-27 16:48:51 -0800</bug_when>
    <thetext>Comment on attachment 173722
Updated fix

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

Sorry it took so long to get you a review on this.

Instead of a reftest the test a check-layout.js test? They much easier to read than this test I think. For example, instead of 
&lt;div id=&quot;simple-min&quot;&gt;&lt;/div&gt;

you&apos;d have:
&lt;div id=&quot;simple-min&quot; class=&quot;parent&quot; style=&quot;width: 50px; height; 50px; max-height: 25px&quot;&gt;
    &lt;div class=&quot;child&quot; data-expected-width=50 data-expected-height=25&gt;&lt;/div&gt;
&lt;/div&gt;

It&apos;s much easier to see what&apos;s going on here than needing to coordinate between three different files.

&gt; Source/WebCore/rendering/RenderBox.cpp:2216
&gt; +        availableHeight = max&lt;LayoutUnit&gt;(0, cb-&gt;constrainContentBoxLogicalHeightByMinMax(contentBoxHeight - cb-&gt;scrollbarLogicalHeight()));

I think we need to call this on contentBoxHeight and then subtract scrollbarLogicalHeight from the result of constrainContentBoxLogicalHeightByMinMax, but I&apos;m not sure. Can you add some test cases with overflow:scroll on the containingBlock.

&gt; Source/WebCore/rendering/RenderBox.cpp:2226
&gt; +            LayoutUnit contentBoxHeight = cb-&gt;constrainContentBoxLogicalHeightByMinMax(contentBoxHeightWithScrollbar - cb-&gt;scrollbarLogicalHeight());

Ditto.

Also, it&apos;s still not clear to me why you need to call this here. It seems like computePercentageLogicalHeight should already constrain it with your change above. I&apos;m worried that this is masking a bug. Which test cases break if you don&apos;t modify this line? It&apos;s very possible I&apos;m just missing something obvious. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777975</commentid>
    <comment_count>15</comment_count>
      <attachid>173722</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-11-28 09:21:45 -0800</bug_when>
    <thetext>Comment on attachment 173722
Updated fix

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

Thanks for the review, no worries on the time it took, it took me longer to post a new patch after your first round of feedback. :-)

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2216
&gt;&gt; +        availableHeight = max&lt;LayoutUnit&gt;(0, cb-&gt;constrainContentBoxLogicalHeightByMinMax(contentBoxHeight - cb-&gt;scrollbarLogicalHeight()));
&gt; 
&gt; I think we need to call this on contentBoxHeight and then subtract scrollbarLogicalHeight from the result of constrainContentBoxLogicalHeightByMinMax, but I&apos;m not sure. Can you add some test cases with overflow:scroll on the containingBlock.

Ok.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2226
&gt;&gt; +            LayoutUnit contentBoxHeight = cb-&gt;constrainContentBoxLogicalHeightByMinMax(contentBoxHeightWithScrollbar - cb-&gt;scrollbarLogicalHeight());
&gt; 
&gt; Ditto.
&gt; 
&gt; Also, it&apos;s still not clear to me why you need to call this here. It seems like computePercentageLogicalHeight should already constrain it with your change above. I&apos;m worried that this is masking a bug. Which test cases break if you don&apos;t modify this line? It&apos;s very possible I&apos;m just missing something obvious. :)

Consider a situation like the following:
&lt;div id=&quot;A&quot; style=&quot;height: 100px; max-height: 50px;&quot;&gt;
    &lt;div id=&quot;B&quot; style=&quot;height: 80%; max-height: 25px;&quot;&gt;
        &lt;div id=&quot;C&quot; style=&quot;height: 100%; max-height: 20px;&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

When we attempt to compute the height of C, we end up in computePercentageLogicalHeight where our containing box is B. Since B has a percentage height, we need to recurse and call computePercentageLogicalHeight for B. So now we&apos;re in the recursive call, with our current box is B and our containing box is A. Since A has a fixed height, we can compute the height of A, with the other change I made to takes into account the max-height of A. This is used with the percentage height of B to determine the return value for our recursive call. Note that it never looks at the max-height of B, so this return is 80% of 50px, or 40px. So now we&apos;re back in the original call to computePercentageLogicalHeight with C being the current box and B being the containing box. heightWithScrollbar gets set to 40px (the height of B), and then we need to constrain for the max-height of B, which is 25px. After that, we can do the calculation for the percentage height of C, which is 100% of the height of B, so 25px. This gets returned up the call chain (computePercentageLogicalHeight -&gt; computeContentAndScrollbarLogicalHeightUsing -&gt; computeLogicalHeightUsing -&gt; computeLogicalHeight). In computeLogicalHeight, it adjusts for the min/max of the current box ( C ), which then ends up being the actual computed height of 20px.

Does that make sense? It is still possible that there is another bug here, but I do not believe it would be a new one, since the expectation that these height helper methods do not adjust for the max/min height of the box they are computing the height for is the existing behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777976</commentid>
    <comment_count>16</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-11-28 09:22:45 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 173722 [details])
&gt;
&gt; Instead of a reftest the test a check-layout.js test? They much easier to read than this test I think. For example, instead of 
&gt; &lt;div id=&quot;simple-min&quot;&gt;&lt;/div&gt;
&gt; 
&gt; you&apos;d have:
&gt; &lt;div id=&quot;simple-min&quot; class=&quot;parent&quot; style=&quot;width: 50px; height; 50px; max-height: 25px&quot;&gt;
&gt;     &lt;div class=&quot;child&quot; data-expected-width=50 data-expected-height=25&gt;&lt;/div&gt;
&gt; &lt;/div&gt;
&gt; 
&gt; It&apos;s much easier to see what&apos;s going on here than needing to coordinate between three different files.

That sounds good to me. I&apos;ll revise the tests to do that instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780660</commentid>
    <comment_count>17</comment_count>
      <attachid>177087</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-11-30 22:31:12 -0800</bug_when>
    <thetext>Created attachment 177087
Updated patch

Incorporate review feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780662</commentid>
    <comment_count>18</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-11-30 22:33:24 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; &gt; Source/WebCore/rendering/RenderBox.cpp:2216
&gt; &gt; +        availableHeight = max&lt;LayoutUnit&gt;(0, cb-&gt;constrainContentBoxLogicalHeightByMinMax(contentBoxHeight - cb-&gt;scrollbarLogicalHeight()));
&gt; 
&gt; I think we need to call this on contentBoxHeight and then subtract scrollbarLogicalHeight from the result of constrainContentBoxLogicalHeightByMinMax, but I&apos;m not sure. Can you add some test cases with overflow:scroll on the containingBlock.

I added the test cases, and played around with it a bit, and this does seem correct to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798852</commentid>
    <comment_count>19</comment_count>
      <attachid>181058</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-02 13:46:12 -0800</bug_when>
    <thetext>Created attachment 181058
Updated patch

Rebase since it&apos;s been a long time since the patch was originally pushed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798939</commentid>
    <comment_count>20</comment_count>
      <attachid>181058</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-02 14:57:05 -0800</bug_when>
    <thetext>Comment on attachment 181058
Updated patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:2403
&gt; +            // handle the min/max of the current block, it&apos;s caller does. So the

Nit: it&apos;s -&gt; its</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798973</commentid>
    <comment_count>21</comment_count>
      <attachid>181079</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-02 15:24:50 -0800</bug_when>
    <thetext>Created attachment 181079
Updated patch

Update for nit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799021</commentid>
    <comment_count>22</comment_count>
      <attachid>181079</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-02 15:55:39 -0800</bug_when>
    <thetext>Comment on attachment 181079
Updated patch

Clearing flags on attachment: 181079

Committed r138668: &lt;http://trac.webkit.org/changeset/138668&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799022</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-02 15:55:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800537</commentid>
    <comment_count>24</comment_count>
    <who name="Josh">joshn</who>
    <bug_when>2013-01-04 12:50:04 -0800</bug_when>
    <thetext>Has this fix been released yet? I&apos;ve been trying to base the height of columns off the min-height of the parent, but it&apos;s not working yet in Chrome or Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800585</commentid>
    <comment_count>25</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2013-01-04 13:34:23 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; Has this fix been released yet? I&apos;ve been trying to base the height of columns off the min-height of the parent, but it&apos;s not working yet in Chrome or Safari.

Try the Chrome Canary build..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800594</commentid>
    <comment_count>26</comment_count>
    <who name="Josh">joshn</who>
    <bug_when>2013-01-04 13:44:02 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #24)
&gt; &gt; Has this fix been released yet? I&apos;ve been trying to base the height of columns off the min-height of the parent, but it&apos;s not working yet in Chrome or Safari.
&gt; 
&gt; Try the Chrome Canary build..

Yeah, tried that. No dice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801345</commentid>
    <comment_count>27</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-07 09:45:17 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #25)
&gt; &gt; (In reply to comment #24)
&gt; &gt; &gt; Has this fix been released yet? I&apos;ve been trying to base the height of columns off the min-height of the parent, but it&apos;s not working yet in Chrome or Safari.
&gt; &gt; 
&gt; &gt; Try the Chrome Canary build..
&gt; 
&gt; Yeah, tried that. No dice.

I just looked, and Chrome Canary does seem to have the fix. Perhaps what you have is a different bug? Can you file a bug with an example of something that doesn&apos;t work, and I&apos;ll take a look at it?

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855903</commentid>
    <comment_count>28</comment_count>
    <who name="">christophe.schwyzer</who>
    <bug_when>2013-03-15 05:02:41 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #26)
&gt; &gt; (In reply to comment #25)
&gt; &gt; &gt; (In reply to comment #24)
&gt; &gt; &gt; &gt; Has this fix been released yet? I&apos;ve been trying to base the height of columns off the min-height of the parent, but it&apos;s not working yet in Chrome or Safari.
&gt; &gt; &gt; 
&gt; &gt; &gt; Try the Chrome Canary build..
&gt; &gt; 
&gt; &gt; Yeah, tried that. No dice.
&gt; 
&gt; I just looked, and Chrome Canary does seem to have the fix. Perhaps what you have is a different bug? Can you file a bug with an example of something that doesn&apos;t work, and I&apos;ll take a look at it?

To me it seems if the container element&apos;s height is defined as a percentage, the child&apos;s height is still not adjusted correctly. Is this the same bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856112</commentid>
    <comment_count>29</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-03-15 11:04:52 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (In reply to comment #27)
&gt; &gt; (In reply to comment #26)
&gt; &gt; &gt; (In reply to comment #25)
&gt; &gt; &gt; &gt; (In reply to comment #24)
&gt; &gt; &gt; &gt; &gt; Has this fix been released yet? I&apos;ve been trying to base the height of columns off the min-height of the parent, but it&apos;s not working yet in Chrome or Safari.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Try the Chrome Canary build..
&gt; &gt; &gt; 
&gt; &gt; &gt; Yeah, tried that. No dice.
&gt; &gt; 
&gt; &gt; I just looked, and Chrome Canary does seem to have the fix. Perhaps what you have is a different bug? Can you file a bug with an example of something that doesn&apos;t work, and I&apos;ll take a look at it?
&gt; 
&gt; To me it seems if the container element&apos;s height is defined as a percentage, the child&apos;s height is still not adjusted correctly. Is this the same bug?

Not sure. Can you (In reply to comment #28)
&gt; (In reply to comment #27)
&gt; &gt; (In reply to comment #26)
&gt; &gt; &gt; (In reply to comment #25)
&gt; &gt; &gt; &gt; (In reply to comment #24)
&gt; &gt; &gt; &gt; &gt; Has this fix been released yet? I&apos;ve been trying to base the height of columns off the min-height of the parent, but it&apos;s not working yet in Chrome or Safari.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Try the Chrome Canary build..
&gt; &gt; &gt; 
&gt; &gt; &gt; Yeah, tried that. No dice.
&gt; &gt; 
&gt; &gt; I just looked, and Chrome Canary does seem to have the fix. Perhaps what you have is a different bug? Can you file a bug with an example of something that doesn&apos;t work, and I&apos;ll take a look at it?
&gt; 
&gt; To me it seems if the container element&apos;s height is defined as a percentage, the child&apos;s height is still not adjusted correctly. Is this the same bug?

It is quite possible that it&apos;s a different bug. Can you file a new bug with an example attached that reproduces the problem? Then just assign it to me or email me the bug number, and I&apos;ll take a look as soon as I can.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922160</commentid>
    <comment_count>30</comment_count>
    <who name="Paul d&apos;Aoust">pauld</who>
    <bug_when>2013-08-28 12:54:28 -0700</bug_when>
    <thetext>I&apos;m still not seeing the corrected behaviour in Chrome 29 or Safari 5/Win. Given a div with a min-width (explicit units; in my example it&apos;s 20em) and a child with a height of 100%, the child still only takes up as much as its contents. As soon as I change the container&apos;s min-width to width, the child expands to 100% as expected.

http://codepen.io/pdaoust/pen/nxfGw

Now, granted, I don&apos;t see the expected behaviour in Firefox 23, IE 10, or Opera 12, so at least all the browsers agree :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922164</commentid>
    <comment_count>31</comment_count>
    <who name="Paul d&apos;Aoust">pauld</who>
    <bug_when>2013-08-28 13:13:58 -0700</bug_when>
    <thetext>addendum: CSS 2.1 says that percentage-sized children should only respect containers with an explicit height, and if the container is sized based on its content, percentage-height children&apos;s computed height should be auto.

http://www.w3.org/TR/CSS2/visudet.html#the-height-property

This could be interpreted, I suppose, to mean that min-height is an explicit height, but there&apos;s the ambiguous case of what happens when the content makes the item bigger than the min-height? Should the percentage-sized child now have its height computed to auto? This could break expectations, as well as layouts. Perhaps the current behaviour needs to stay the way it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922168</commentid>
    <comment_count>32</comment_count>
    <who name="Paul d&apos;Aoust">pauld</who>
    <bug_when>2013-08-28 13:22:31 -0700</bug_when>
    <thetext>Sorry for the stream-of-consciousness; I just thought of (and discovered) something. If the container has a min-height and the child has a percentage min-height rather than a percentage height, perhaps then the child should expand to the height of the container.

However, this goes against the CSS spec. Maybe a bug should be filed against the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922179</commentid>
    <comment_count>33</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-08-28 13:43:10 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; Sorry for the stream-of-consciousness; I just thought of (and discovered) something. If the container has a min-height and the child has a percentage min-height rather than a percentage height, perhaps then the child should expand to the height of the container.
&gt; 
&gt; However, this goes against the CSS spec. Maybe a bug should be filed against the spec.

It does sound like you&apos;re beyond the scope of this bug. I&apos;d suggest that it&apos;s probably best to bring this up on the www-style mailing list (http://lists.w3.org/Archives/Public/www-style/), as the folks there would be better equipped than me to determine if this is a spec bug or not.

If it still looks like there is a bug in WebKit (or whatever else), then I&apos;d suggest filing a new bug for this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922203</commentid>
    <comment_count>34</comment_count>
    <who name="Paul d&apos;Aoust">pauld</who>
    <bug_when>2013-08-28 14:33:32 -0700</bug_when>
    <thetext>Oh, pardon me -- I understood this bug to be about (min|max)-height containers and height: &lt;percentage&gt; children not expanding or shrinking respective to the displayed size of the container. If I did read the intent of the bug report, my suggestion was to leave behaviour as-is, because it seems to be conforming to the CSS spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922205</commentid>
    <comment_count>35</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-08-28 14:50:16 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; Oh, pardon me -- I understood this bug to be about (min|max)-height containers and height: &lt;percentage&gt; children not expanding or shrinking respective to the displayed size of the container. If I did read the intent of the bug report, my suggestion was to leave behaviour as-is, because it seems to be conforming to the CSS spec.

Ah. From your last post, I had thought you were still wrestling with if you had a spec issue or not, which is why I suggested www-style. Happy to hear that things have been resolved!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329247</commentid>
    <comment_count>36</comment_count>
    <who name="Alec Larson">alec.stanford.larson</who>
    <bug_when>2017-07-15 16:15:37 -0700</bug_when>
    <thetext>There must have been a regression. I&apos;m getting this issue in Safari on iOS 10.3.2 (14F89).

I have a &lt;div&gt; with `height: 100%` and its parent &lt;div&gt; has `min-height: 36px` and no explicit `height`. The child does not fit its parent. It looks to be having its computed `height` set to `auto`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403730</commentid>
    <comment_count>37</comment_count>
    <who name="Shravan Rajinikanth">star.shravan</who>
    <bug_when>2018-03-05 13:59:55 -0800</bug_when>
    <thetext>I still seem to be having this issue on Chrome 64 in 2018. It occurs when the parent doesn&apos;t have a height property, but only min-height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485688</commentid>
    <comment_count>38</comment_count>
    <who name="Sebastian Andil">sebastian.andil</who>
    <bug_when>2018-12-06 06:03:44 -0800</bug_when>
    <thetext>Still seeing this on 
- Chrome 71.0.3578.80 (Official Build) (64-bit)
- Firefox Developer Editon 65.0b1 (64-bit)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527103</commentid>
    <comment_count>39</comment_count>
    <who name="Andronachi Marian">andro.marian.v94</who>
    <bug_when>2019-04-14 11:00:55 -0700</bug_when>
    <thetext>Hen this bug will be repaired? Wtf is from 2009 reported.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>31563</attachid>
            <date>2009-06-19 14:11:19 -0700</date>
            <delta_ts>2009-06-19 14:11:19 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>foo.html</filename>
            <type>text/html</type>
            <size>758</size>
            <attacher>b-jorsch</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJh
bnNpdGlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
IiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRl
bnQtU2NyaXB0LVR5cGUiIGNvbnRlbnQ9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiIC8+CjxtZXRh
IGh0dHAtZXF1aXY9IkNvbnRlbnQtU3R5bGUtVHlwZSIgY29udGVudD0idGV4dC9jc3MiIC8+Cjx0
aXRsZT5UZXN0PC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KPGRpdiBzdHlsZT0id2lkdGg6MTAwcHg7
aGVpZ2h0OjEwMHB4O21pbi13aWR0aDoyMDBweDttaW4taGVpZ2h0OjIwMHB4O2JvcmRlcjoxcHgg
c29saWQgcmVkIj4KIDxkaXYgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyOjFw
eCBzb2xpZCBibHVlIj4KICAmbmJzcDsKIDwvZGl2Pgo8L2Rpdj4KPGJyIC8+PGJyIC8+CjxkaXYg
c3R5bGU9IndpZHRoOjQwMHB4O2hlaWdodDo0MDBweDttYXgtd2lkdGg6MjAwcHg7bWF4LWhlaWdo
dDoyMDBweDtib3JkZXI6MXB4IHNvbGlkIHJlZCI+CiA8ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO2hl
aWdodDoxMDAlO2JvcmRlcjoxcHggc29saWQgYmx1ZSI+CiAgJm5ic3A7CiA8L2Rpdj4KPC9kaXY+
CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155594</attachid>
            <date>2012-07-31 11:38:07 -0700</date>
            <delta_ts>2012-11-12 14:13:34 -0800</delta_ts>
            <desc>Bug fix</desc>
            <filename>bug-26559-20120731113750.patch</filename>
            <type>text/plain</type>
            <size>9233</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk4ZWE4ZWJmMmU4ZDY2
Y2UyMWYxMmY0YTVjNzBhM2NiZDJkMGYyNy4uYTk5NzQ5OWJmOGQ2MTk5MjBiMzI1MTQ0YjgxYjJh
NDVkMjYxNGFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA3LTMxICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFdoZW4gYSBibG9jaydz
IGhlaWdodCBpcyBkZXRlcm1pbmVkIGJ5IG1pbi1oZWlnaHQvbWF4LWhlaWdodCwgY2hpbGRyZW4g
d2l0aCBwZXJjZW50YWdlIGhlaWdodHMgYXJlIHNpemVkIGluY29ycmVjdGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjU1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBlcmNlbnRhZ2UgbG9naWNhbCBo
ZWlnaHQgY29tcHV0YXRpb24gbm93IHRha2VzIGludG8gYWNjb3VudCB0aGUgbWluCisgICAgICAg
IGFuZCBtYXggaGVpZ2h0IG9mIHRoZSBjb250YWluZXIuCisKKyAgICAgICAgVGVzdDogZmFzdC9i
bG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhlaWdodC1jaGlsZC5odG1sCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
Y29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHRSZXNw
ZWN0aW5nTWluTWF4SGVpZ2h0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6Cisg
ICAgICAgIChSZW5kZXJCb3gpOgorCiAyMDEyLTA3LTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVz
QHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrYmVycnldW0Z1bGxTY3JlZW5dIEhUTUw1IDx2aWRl
bz4gY29udHJvbHMgYXJlIHNjYWxlZCBkaWZmZXJlbnRseSBkZXBlbmRpbmcgb24gdGhlIGN1cnJl
bnQgd2VicGFnZSBzY2FsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRl
eCA5YjNiN2RlODYxNzY0M2MyMDNmYjRmNzUyNzlhZDk3ZTcyOTU1N2E2Li42MjdjYTYzNDBiZmJh
NzJmODE2ZDNlZjk2ZjUyNjEwYjBlNzc3OTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcApAQCAtMjEyNSwxMyArMjEyNSwxNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6
Y29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KGNvbnN0IExlbmd0aCYgaGVpZ2h0KQogICAg
ICAgICB9CiAgICAgfSBlbHNlIGlmIChjYnN0eWxlLT5sb2dpY2FsSGVpZ2h0KCkuaXNGaXhlZCgp
KSB7CiAgICAgICAgIC8vIE90aGVyd2lzZSB3ZSBvbmx5IHVzZSBvdXIgcGVyY2VudGFnZSBoZWln
aHQgaWYgb3VyIGNvbnRhaW5pbmcgYmxvY2sgaGFkIGEgc3BlY2lmaWVkIGhlaWdodC4KLSAgICAg
ICAgTGF5b3V0VW5pdCBjb250ZW50Qm94SGVpZ2h0V2l0aFNjcm9sbGJhciA9IGNiLT5jb21wdXRl
Q29udGVudEJveExvZ2ljYWxIZWlnaHQoY2JzdHlsZS0+bG9naWNhbEhlaWdodCgpLnZhbHVlKCkp
OworICAgICAgICByZXN1bHQgPSBjYi0+Y29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0UmVzcGVj
dGluZ01pbk1heEhlaWdodChjYnN0eWxlLT5sb2dpY2FsSGVpZ2h0KCkudmFsdWUoKSk7CisgICAg
ICAgIExheW91dFVuaXQgY29udGVudEJveEhlaWdodFdpdGhTY3JvbGxiYXIgPSBjYi0+Y29tcHV0
ZUNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KHJlc3VsdCk7CiAgICAgICAgIHJlc3VsdCA9IG1heDxM
YXlvdXRVbml0PigwLCBjb250ZW50Qm94SGVpZ2h0V2l0aFNjcm9sbGJhciAtIGNiLT5zY3JvbGxi
YXJMb2dpY2FsSGVpZ2h0KCkpOwogICAgIH0gZWxzZSBpZiAoY2JzdHlsZS0+bG9naWNhbEhlaWdo
dCgpLmlzUGVyY2VudCgpICYmICFpc091dE9mRmxvd1Bvc2l0aW9uZWRXaXRoU3BlY2lmaWVkSGVp
Z2h0KSB7CiAgICAgICAgIC8vIFdlIG5lZWQgdG8gcmVjdXIgYW5kIGNvbXB1dGUgdGhlIHBlcmNl
bnRhZ2UgaGVpZ2h0IGZvciBvdXIgY29udGFpbmluZyBibG9jay4KICAgICAgICAgcmVzdWx0ID0g
Y2ItPmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChjYnN0eWxlLT5sb2dpY2FsSGVpZ2h0
KCkpOwotICAgICAgICBpZiAocmVzdWx0ICE9IC0xKQotICAgICAgICAgICAgcmVzdWx0ID0gY2It
PmNvbXB1dGVDb250ZW50Qm94TG9naWNhbEhlaWdodChyZXN1bHQpOworICAgICAgICBpZiAocmVz
dWx0ICE9IC0xKSB7CisgICAgICAgICAgICByZXN1bHQgPSBjYi0+Y29tcHV0ZUNvbnRlbnRMb2dp
Y2FsSGVpZ2h0UmVzcGVjdGluZ01pbk1heEhlaWdodChyZXN1bHQpOworICAgICAgICAgICAgaWYg
KHJlc3VsdCAhPSAtMSkKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBjYi0+Y29tcHV0ZUNvbnRl
bnRCb3hMb2dpY2FsSGVpZ2h0KHJlc3VsdCk7CisgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKGNi
LT5pc1JlbmRlclZpZXcoKSB8fCAoY2ItPmlzQm9keSgpICYmIGRvY3VtZW50KCktPmluUXVpcmtz
TW9kZSgpKSB8fCBpc091dE9mRmxvd1Bvc2l0aW9uZWRXaXRoU3BlY2lmaWVkSGVpZ2h0KSB7CiAg
ICAgICAgIC8vIERvbid0IGFsbG93IHRoaXMgdG8gYWZmZWN0IHRoZSBibG9jaycgaGVpZ2h0KCkg
bWVtYmVyIHZhcmlhYmxlLCBzaW5jZSB0aGlzCiAgICAgICAgIC8vIGNhbiBnZXQgY2FsbGVkIHdo
aWxlIHRoZSBibG9jayBpcyBzdGlsbCBsYXlpbmcgb3V0IGl0cyBraWRzLgpAQCAtMjE1Niw2ICsy
MTYwLDE3IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxI
ZWlnaHQoY29uc3QgTGVuZ3RoJiBoZWlnaHQpCiAgICAgfQogICAgIHJldHVybiByZXN1bHQ7CiB9
CisgICAgCitMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0
UmVzcGVjdGluZ01pbk1heEhlaWdodChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQpCit7CisgICAg
TGF5b3V0VW5pdCBtaW5IID0gY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0VXNpbmcoTWluU2l6
ZSwgc3R5bGUoKS0+bG9naWNhbE1pbkhlaWdodCgpKTsgLy8gTGVhdmUgYXMgLTEgaWYgdW5zZXQu
CisgICAgTGF5b3V0VW5pdCBtYXhIID0gc3R5bGUoKS0+bG9naWNhbE1heEhlaWdodCgpLmlzVW5k
ZWZpbmVkKCkgPyBsb2dpY2FsSGVpZ2h0IDogY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0VXNp
bmcoTWF4U2l6ZSwgc3R5bGUoKS0+bG9naWNhbE1heEhlaWdodCgpKTsKKyAgICBpZiAobWF4SCA9
PSAtMSkKKyAgICAgICAgbWF4SCA9IGxvZ2ljYWxIZWlnaHQ7CisgICAgTGF5b3V0VW5pdCByZXN1
bHQgPSBtaW48TGF5b3V0VW5pdD4obWF4SCwgbG9naWNhbEhlaWdodCk7CisgICAgcmVzdWx0ID0g
bWF4PExheW91dFVuaXQ+KG1pbkgsIHJlc3VsdCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KIAog
TGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChib29sIGlu
Y2x1ZGVNYXhXaWR0aCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApp
bmRleCBiYmIwMzQ0NTEyNmQ4NjY0MTI3ZDdhYTI0YzhlMzExNmNmMGIwZTY5Li41N2Y3NDkxOTcz
YWUxYTI2NTYwYWU1Y2NhYmE2Mjc2ODc0YTZiNmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oCkBAIC0zNDMsNiArMzQzLDcgQEAgcHVibGljOgogICAgIExheW91dFVuaXQgY29t
cHV0ZUxvZ2ljYWxXaWR0aEluUmVnaW9uVXNpbmcoU2l6ZVR5cGUsIExheW91dFVuaXQgYXZhaWxh
YmxlTG9naWNhbFdpZHRoLCBjb25zdCBSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrLCBSZW5k
ZXJSZWdpb24qLCBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UpOwog
ICAgIExheW91dFVuaXQgY29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSwgY29uc3Qg
TGVuZ3RoJiBoZWlnaHQpOwogICAgIExheW91dFVuaXQgY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVp
Z2h0VXNpbmcoU2l6ZVR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KTsKKyAgICBMYXlvdXRVbml0
IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodFJlc3BlY3RpbmdNaW5NYXhIZWlnaHQoTGF5b3V0
VW5pdCBsb2dpY2FsSGVpZ2h0KTsKICAgICBMYXlvdXRVbml0IGNvbXB1dGVSZXBsYWNlZExvZ2lj
YWxXaWR0aFVzaW5nKFNpemVUeXBlLCBMZW5ndGggd2lkdGgpIGNvbnN0OwogICAgIExheW91dFVu
aXQgY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoUmVzcGVjdGluZ01pbk1heFdpZHRoKExheW91
dFVuaXQgbG9naWNhbFdpZHRoLCBib29sIGluY2x1ZGVNYXhXaWR0aCA9IHRydWUpIGNvbnN0Owog
ICAgIExheW91dFVuaXQgY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKFNpemVUeXBl
LCBMZW5ndGggaGVpZ2h0KSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MzhhOTk5OGNlMzE5OTMxMjljYjM0ZDM2
N2EyNTEzMDEzNjgxYzZhLi44MDQwMmEwZTBmOTI4ZjE5NjIwY2UwOGQ4ZDAyMTM0MGI2ZDRjM2Nl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDctMzEgIEJlbSBKb25lcy1CZXkgIDxiam9u
ZXNiZUBhZG9iZS5jb20+CisKKyAgICAgICAgV2hlbiBhIGJsb2NrJ3MgaGVpZ2h0IGlzIGRldGVy
bWluZWQgYnkgbWluLWhlaWdodC9tYXgtaGVpZ2h0LCBjaGlsZHJlbiB3aXRoIHBlcmNlbnRhZ2Ug
aGVpZ2h0cyBhcmUgc2l6ZWQgaW5jb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIHRvIGVuc3VyZSBwZXJjZW50IGhlaWdodHMg
YXJlIGNvcnJlY3RseSBkZXRlcm1pbmVkLgorCisgICAgICAgICogZmFzdC9ibG9jay9taW4tbWF4
LWhlaWdodC1wZXJjZW50LWhlaWdodC1jaGlsZC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Jsb2NrL21pbi1tYXgtaGVpZ2h0LXBlcmNlbnQtaGVpZ2h0LWNoaWxkLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTA3LTMxICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW1F0XVtXSzJdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLCBsYXN0IGF0dGVt
cHQgdG8gcGFpbnQgdGhlIFdLMiBib3QgZ3JlZW4gdG9kYXkuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Jsb2NrL21pbi1tYXgtaGVpZ2h0LXBlcmNlbnQtaGVpZ2h0LWNoaWxkLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL21pbi1tYXgtaGVpZ2h0LXBlcmNlbnQt
aGVpZ2h0LWNoaWxkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWVlYjNkZDU0YjgyNzZkNGNk
ZDQyMjI3YWU2ZmY1YjM4ZWI0Yzg0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvYmxvY2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAub3V0ZXIgeworICAgICAgICAgICAgICAgIGhl
aWdodDogMjAwcHg7CisgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICAgICAg
fQorICAgICAgICAgICAgLm1pbiB7CisgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICAubWF4IHsKKyAgICAgICAgICAgICAgICBtYXgt
aGVpZ2h0OiA1MHB4OworICAgICAgICAgICAgfQorICAgICAgICAgICAgLmlubmVyIHsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICAuZ29vZCB7CisgICAgICAgICAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgICAgICB9CisgICAgICAgICAgICAuYmFkIHsKKyAg
ICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICAubmV1dHJhbCB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxwPgorICAgICAgICBUaGVzZSBhcmUgdGVzdHMgZm9yIDxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjU1OSI+QnVnIDI2NTU5PC9h
Pjxici8+CisgICAgICAgIDwvcD4KKyAgICAgICAgPHA+VGVzdCAxOiBvbmUgdGFsbCBncmVlbiBy
ZWN0YW5nbGU8L3A+CisgICAgICAgIDxkaXYgY2xhc3M9Im91dGVyIG1pbiBiYWQiPgorICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iaW5uZXIgbWluIGdvb2QiPgorICAgICAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDwvZGl2PgorICAgICAgICA8cD5UZXN0IDI6IG9uZSBzaG9ydCBncmVlbiByZWN0YW5n
bGU8L3A+CisgICAgICAgIDxkaXYgY2xhc3M9Im91dGVyIG1heCBiYWQiPgorICAgICAgICAgICAg
PGRpdiBjbGFzcz0iaW5uZXIgbWF4IGdvb2QiPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAg
IDwvZGl2PgorICAgICAgICA8cD5UZXN0IDM6IHNtYWxsIGdyZWVuIHJlY3RhbmdsZSBvbiB0b3Ag
b2YgbGFyZ2VyIGJsdWUgcmVjdGFuZ2xlPC9wPgorICAgICAgICA8ZGl2IGNsYXNzPSJvdXRlciBu
ZXV0cmFsIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyIG1heCBiYWQiPgorICAgICAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyIG1heCBnb29kIj4KKyAgICAgICAgICAgICAgICA8
L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbWluLW1heC1oZWln
aHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbWlu
LW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODBlMGM2
YmJiMTY2OWY2Y2RhZjc5YjFiYWFlNzYzYjMwZGE0YzA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhlaWdodC1jaGlsZC5o
dG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIC5vdXRlciB7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICAubWluIHsKKyAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBw
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5tYXggeworICAgICAgICAgICAgICAgIG1h
eC1oZWlnaHQ6IDUwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAuaW5uZXIgeworICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5nb29kIHsKKyAgICAgICAgICAgICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5iYWQgewor
ICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIC5uZXV0cmFsIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBi
bHVlOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPHA+CisgICAgICAgIFRoZXNlIGFyZSB0ZXN0cyBmb3IgPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NTU5Ij5CdWcgMjY1NTk8
L2E+PGJyLz4KKyAgICAgICAgPC9wPgorICAgICAgICA8cD5UZXN0IDE6IG9uZSB0YWxsIGdyZWVu
IHJlY3RhbmdsZTwvcD4KKyAgICAgICAgPGRpdiBjbGFzcz0ib3V0ZXIgbWluIGJhZCI+CisgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lciBnb29kIj4KKyAgICAgICAgICAgIDwvZGl2PgorICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgPHA+VGVzdCAyOiBvbmUgc2hvcnQgZ3JlZW4gcmVjdGFuZ2xl
PC9wPgorICAgICAgICA8ZGl2IGNsYXNzPSJvdXRlciBtYXggYmFkIj4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImlubmVyIGdvb2QiPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8cD5UZXN0IDM6IHNtYWxsIGdyZWVuIHJlY3RhbmdsZSBvbiB0b3Agb2YgbGFy
Z2VyIGJsdWUgcmVjdGFuZ2xlPC9wPgorICAgICAgICA8ZGl2IGNsYXNzPSJvdXRlciBuZXV0cmFs
Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyIG1heCBiYWQiPgorICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9ImlubmVyIGdvb2QiPgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAg
ICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173722</attachid>
            <date>2012-11-12 14:13:36 -0800</date>
            <delta_ts>2012-11-30 22:31:09 -0800</delta_ts>
            <desc>Updated fix</desc>
            <filename>bug-26559-20121112141147.patch</filename>
            <type>text/plain</type>
            <size>20937</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjOWI1NTZlZjRlNTYw
ODAzMGEyMTY0ODdiMDFjNTI3MTI5ODgzYS4uMDQ0NjJlNzQwY2ZjNWQyODYxMTNkMzdmNzQ2Zjhk
ZGFjM2NlOGI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTExLTEyICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFdoZW4gYSBibG9jaydz
IGhlaWdodCBpcyBkZXRlcm1pbmVkIGJ5IG1pbi1oZWlnaHQvbWF4LWhlaWdodCwgY2hpbGRyZW4g
d2l0aCBwZXJjZW50YWdlIGhlaWdodHMgYXJlIHNpemVkIGluY29ycmVjdGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjU1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBlcmNlbnRhZ2UgbG9naWNhbCBo
ZWlnaHQgY29tcHV0YXRpb24gbm93IHRha2VzIGludG8gYWNjb3VudCB0aGUgbWluIGFuZCBtYXgg
aGVpZ2h0IG9mIHRoZSBjb250YWluZXIuCisKKyAgICAgICAgVGVzdDogZmFzdC9ibG9jay9taW4t
bWF4LWhlaWdodC1wZXJjZW50LWhlaWdodC1jaGlsZC5odG1sCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWlu
Q29udGVudEJveExvZ2ljYWxIZWlnaHRCeU1pbk1heCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVp
Z2h0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgIChSZW5kZXJC
b3gpOgorCiAyMDEyLTExLTEyICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBOZXR3b3JrUHJvY2VzczogVXNlIGFuIGFjY3VyYXRlIHNob3VsZENvbnRlbnRTbmlm
ZiB2YWx1ZSB3aGVuIGNyZWF0aW5nIFJlc291cmNlSGFuZGxlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcAppbmRleCBmMmZiMzc4ZjhjOTVhYjk1MTliN2IxNzU1Mjc4NzM5YTRi
N2EzMjNkLi5lYmZlN2Y3ZGQxNTM0N2EwZjYyNjY3YzFkMjJkMTI2MzZlYTU0OTRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDMzLDYgKzQzMywxNyBAQCBMYXlv
dXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVu
aXQgbG9naWNhbEhlaWdodCkgYwogICAgIHJldHVybiBtYXgobG9naWNhbEhlaWdodCwgY29tcHV0
ZUxvZ2ljYWxIZWlnaHRVc2luZyhNaW5TaXplLCBzdHlsZVRvVXNlLT5sb2dpY2FsTWluSGVpZ2h0
KCkpKTsKIH0KIAorTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkNvbnRlbnRCb3hMb2dp
Y2FsSGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSBjb25zdAoreworICAg
IFJlbmRlclN0eWxlKiBzdHlsZVRvVXNlID0gc3R5bGUoKTsKKyAgICBpZiAoIXN0eWxlVG9Vc2Ut
PmxvZ2ljYWxNYXhIZWlnaHQoKS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIExheW91dFVuaXQg
bWF4SCA9IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChNYXhTaXplLCBzdHlsZVRvVXNlLT5s
b2dpY2FsTWF4SGVpZ2h0KCkpOworICAgICAgICBpZiAobWF4SCAhPSAtMSkKKyAgICAgICAgICAg
IGxvZ2ljYWxIZWlnaHQgPSBtaW4obG9naWNhbEhlaWdodCwgbWF4SCk7CisgICAgfQorICAgIHJl
dHVybiBtYXgobG9naWNhbEhlaWdodCwgY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KE1pblNp
emUsIHN0eWxlVG9Vc2UtPmxvZ2ljYWxNaW5IZWlnaHQoKSkpOworfQorCiBJbnRSZWN0IFJlbmRl
ckJveDo6YWJzb2x1dGVDb250ZW50Qm94KCkgY29uc3QKIHsKICAgICAvLyBUaGlzIGlzIHdyb25n
IHdpdGggdHJhbnNmb3JtcyBhbmQgZmxpcHBlZCB3cml0aW5nIG1vZGVzLgpAQCAtMjEyNCw3ICsy
MTM1LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmco
U2l6ZVR5cGUgaGVpZ2h0VHlwZSwgY29uc3QgTGVuZ3QKICAgICByZXR1cm4gbG9naWNhbEhlaWdo
dDsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdo
dChTaXplVHlwZSBoZWlnaHRUeXBlLCBjb25zdCBMZW5ndGgmIGhlaWdodCkKK0xheW91dFVuaXQg
UmVuZGVyQm94Ojpjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoU2l6ZVR5cGUgaGVpZ2h0VHlw
ZSwgY29uc3QgTGVuZ3RoJiBoZWlnaHQpIGNvbnN0CiB7CiAgICAgTGF5b3V0VW5pdCBoZWlnaHRJ
bmNsdWRpbmdTY3JvbGxiYXIgPSBjb21wdXRlQ29udGVudEFuZFNjcm9sbGJhckxvZ2ljYWxIZWln
aHRVc2luZyhoZWlnaHRUeXBlLCBoZWlnaHQpOwogICAgIGlmIChoZWlnaHRJbmNsdWRpbmdTY3Jv
bGxiYXIgPT0gLTEpCkBAIC0yMjAxLDE0ICsyMjEyLDE5IEBAIExheW91dFVuaXQgUmVuZGVyQm94
Ojpjb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQoY29uc3QgTGVuZ3RoJiBoZWlnaHQpIGNv
bnN0CiAgICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IGNiLT5vdmVycmlkZUxvZ2ljYWxDb250ZW50
SGVpZ2h0KCk7CiAgICAgICAgIGluY2x1ZGVCb3JkZXJQYWRkaW5nID0gdHJ1ZTsKICAgICB9IGVs
c2UgaWYgKGNic3R5bGUtPmxvZ2ljYWxIZWlnaHQoKS5pc0ZpeGVkKCkpIHsKLSAgICAgICAgTGF5
b3V0VW5pdCBjb250ZW50Qm94SGVpZ2h0V2l0aFNjcm9sbGJhciA9IGNiLT5hZGp1c3RDb250ZW50
Qm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhjYnN0eWxlLT5sb2dpY2FsSGVpZ2h0KCkudmFs
dWUoKSk7Ci0gICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IG1heDxMYXlvdXRVbml0PigwLCBjb250
ZW50Qm94SGVpZ2h0V2l0aFNjcm9sbGJhciAtIGNiLT5zY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkp
OworICAgICAgICBMYXlvdXRVbml0IGNvbnRlbnRCb3hIZWlnaHQgPSBjYi0+YWRqdXN0Q29udGVu
dEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmcoY2JzdHlsZS0+bG9naWNhbEhlaWdodCgpLnZh
bHVlKCkpOworICAgICAgICBhdmFpbGFibGVIZWlnaHQgPSBtYXg8TGF5b3V0VW5pdD4oMCwgY2It
PmNvbnN0cmFpbkNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0QnlNaW5NYXgoY29udGVudEJveEhlaWdo
dCAtIGNiLT5zY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkpKTsKICAgICB9IGVsc2UgaWYgKGNic3R5
bGUtPmxvZ2ljYWxIZWlnaHQoKS5pc1BlcmNlbnQoKSAmJiAhaXNPdXRPZkZsb3dQb3NpdGlvbmVk
V2l0aFNwZWNpZmllZEhlaWdodCkgewogICAgICAgICAvLyBXZSBuZWVkIHRvIHJlY3VyIGFuZCBj
b21wdXRlIHRoZSBwZXJjZW50YWdlIGhlaWdodCBmb3Igb3VyIGNvbnRhaW5pbmcgYmxvY2suCiAg
ICAgICAgIExheW91dFVuaXQgaGVpZ2h0V2l0aFNjcm9sbGJhciA9IGNiLT5jb21wdXRlUGVyY2Vu
dGFnZUxvZ2ljYWxIZWlnaHQoY2JzdHlsZS0+bG9naWNhbEhlaWdodCgpKTsKICAgICAgICAgaWYg
KGhlaWdodFdpdGhTY3JvbGxiYXIgIT0gLTEpIHsKICAgICAgICAgICAgIExheW91dFVuaXQgY29u
dGVudEJveEhlaWdodFdpdGhTY3JvbGxiYXIgPSBjYi0+YWRqdXN0Q29udGVudEJveExvZ2ljYWxI
ZWlnaHRGb3JCb3hTaXppbmcoaGVpZ2h0V2l0aFNjcm9sbGJhcik7Ci0gICAgICAgICAgICBhdmFp
bGFibGVIZWlnaHQgPSBtYXg8TGF5b3V0VW5pdD4oMCwgY29udGVudEJveEhlaWdodFdpdGhTY3Jv
bGxiYXIgLSBjYi0+c2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgICAgIC8vIFdl
IG5lZWQgdG8gYWRqdXN0IGZvciBtaW4vbWF4IGhlaWdodCBiZWNhdXNlIHRoaXMgbWV0aG9kIGRv
ZXMgbm90CisgICAgICAgICAgICAvLyBoYW5kbGUgdGhlIG1pbi9tYXggb2YgdGhlIGN1cnJlbnQg
YmxvY2ssIGl0J3MgY2FsbGVyIGRvZXMuIFNvIHRoZQorICAgICAgICAgICAgLy8gcmV0dXJuIHZh
bHVlIGZyb20gdGhlIHJlY3Vyc2l2ZSBjYWxsIHdpbGwgbm90IGhhdmUgYmVlbiBhZGp1c3RlZAor
ICAgICAgICAgICAgLy8geWV0LgorICAgICAgICAgICAgTGF5b3V0VW5pdCBjb250ZW50Qm94SGVp
Z2h0ID0gY2ItPmNvbnN0cmFpbkNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0QnlNaW5NYXgoY29udGVu
dEJveEhlaWdodFdpdGhTY3JvbGxiYXIgLSBjYi0+c2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpKTsK
KyAgICAgICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IG1heDxMYXlvdXRVbml0PigwLCBjb250ZW50
Qm94SGVpZ2h0KTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoY2ItPmlzUmVuZGVyVmlldygp
IHx8IGlzT3V0T2ZGbG93UG9zaXRpb25lZFdpdGhTcGVjaWZpZWRIZWlnaHQpIHsKICAgICAgICAg
Ly8gRG9uJ3QgYWxsb3cgdGhpcyB0byBhZmZlY3QgdGhlIGJsb2NrJyBoZWlnaHQoKSBtZW1iZXIg
dmFyaWFibGUsIHNpbmNlIHRoaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRl
eCBlNWQxYzgzMDZiNWNiODNjM2VkMjRjNzA2MzFjODI4ZWRiMmMyNTRhLi5iMGE0N2E3M2I2OWFi
YjczNGNiNmZmY2Y2NGQ4NmQ1OGQ0NjA1MzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCkBAIC03Nyw2ICs3Nyw3IEBAIHB1YmxpYzoKIAogICAgIExheW91dFVuaXQgY29uc3Ry
YWluTG9naWNhbFdpZHRoSW5SZWdpb25CeU1pbk1heChMYXlvdXRVbml0LCBMYXlvdXRVbml0LCBS
ZW5kZXJCbG9jayosIFJlbmRlclJlZ2lvbiogPSAwLCBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dp
Y2FsVG9wT2ZGaXJzdFBhZ2UgPSAwKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGNvbnN0cmFpbkxv
Z2ljYWxIZWlnaHRCeU1pbk1heChMYXlvdXRVbml0KSBjb25zdDsKKyAgICBMYXlvdXRVbml0IGNv
bnN0cmFpbkNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5pdCkgY29uc3Q7
CiAKICAgICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHN0
eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBwaXhlbFNuYXBwZWRIZWlnaHQoKSA6
IHBpeGVsU25hcHBlZFdpZHRoKCk7IH0KICAgICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbFdpZHRo
KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHBp
eGVsU25hcHBlZFdpZHRoKCkgOiBwaXhlbFNuYXBwZWRIZWlnaHQoKTsgfQpAQCAtMzk1LDcgKzM5
Niw3IEBAIHB1YmxpYzoKIAogICAgIExheW91dFVuaXQgY29tcHV0ZUxvZ2ljYWxXaWR0aEluUmVn
aW9uVXNpbmcoU2l6ZVR5cGUsIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbFdpZHRoLCBjb25z
dCBSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrLCBSZW5kZXJSZWdpb24qLCBMYXlvdXRVbml0
IG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UpIGNvbnN0OwogICAgIExheW91dFVuaXQg
Y29tcHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBoZWlnaHQp
IGNvbnN0OwotICAgIExheW91dFVuaXQgY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KFNpemVU
eXBlLCBjb25zdCBMZW5ndGgmIGhlaWdodCk7CisgICAgTGF5b3V0VW5pdCBjb21wdXRlQ29udGVu
dExvZ2ljYWxIZWlnaHQoU2l6ZVR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBjb25zdDsKICAg
ICBMYXlvdXRVbml0IGNvbXB1dGVDb250ZW50QW5kU2Nyb2xsYmFyTG9naWNhbEhlaWdodFVzaW5n
KFNpemVUeXBlLCBjb25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBj
b21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhTaXplVHlwZSwgTGVuZ3RoIHdpZHRoKSBj
b25zdDsKICAgICBMYXlvdXRVbml0IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3Rp
bmdNaW5NYXhXaWR0aChMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCwgYm9vbCBpbmNsdWRlTWF4V2lk
dGggPSB0cnVlKSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2OTgyYTZlMWQwZmFiYjhlZTkyODQyNjAwZmFmOTMw
MmI2MWJmM2IwLi5jNmIxODRhMWJhNzQ2OTIzMzQ5YWQ4OGYwMjgwNzZmM2Q0MzkwZmUwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTEtMTIgIEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBh
ZG9iZS5jb20+CisKKyAgICAgICAgV2hlbiBhIGJsb2NrJ3MgaGVpZ2h0IGlzIGRldGVybWluZWQg
YnkgbWluLWhlaWdodC9tYXgtaGVpZ2h0LCBjaGlsZHJlbiB3aXRoIHBlcmNlbnRhZ2UgaGVpZ2h0
cyBhcmUgc2l6ZWQgaW5jb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI2NTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHRlc3RzIHRvIGVuc3VyZSBwZXJjZW50IGhlaWdodHMgYXJlIGNv
cnJlY3RseSBkZXRlcm1pbmVkLgorCisgICAgICAgICogZmFzdC9ibG9jay9taW4tbWF4LWhlaWdo
dC1wZXJjZW50LWhlaWdodC1jaGlsZC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Jsb2NrL21pbi1tYXgtaGVpZ2h0LXBlcmNlbnQtaGVpZ2h0LWNoaWxkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvYmxvY2svcmVzb3VyY2VzL21pbi1tYXgtaGVpZ2h0LXBlcmNlbnQt
aGVpZ2h0LWNoaWxkLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QpOgorICAgICAgICAoZXhwZWN0
YXRpb24pOgorICAgICAgICAoc2V0Q29sb3JzKToKKyAgICAgICAgKGVuc3VyZUVsZW1lbnQpOgor
ICAgICAgICAoY3JlYXRlUnVsZXMpOgorCiAyMDEyLTExLTEyICBEaW1pdHJpIEdsYXprb3YgIDxk
Z2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBXb25GaXhlZCBoaS1E
UEkgcmVsYXRlZCB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbWlu
LW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvYmxvY2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMDM3MTBkMTAwZmUyNWY0M2ViNDY3ZmM2ZDU2ZTQ2MTY0OGE1
ODEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhl
aWdodC1wZXJjZW50LWhlaWdodC1jaGlsZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNzcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZSBpZD0i
c3R5bGVzaGVldCI+CisgICAgICAgICAgICAuY29udGFpbmVyIHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogNTBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICAuYm90dG9tLW1hcmdpbiB7CisgICAgICAgICAgICAgICAgbWFyZ2luLWJv
dHRvbTogNTBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5haGVtIHsKKyAgICAgICAg
ICAgICAgICBmb250OiAxMHB4LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICBj
b2xvcjogZ3JlZW47CisgICAgICAgICAgICB9CisgICAgICAgICAgICAudmVydGljYWwgeyAtd2Vi
a2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL21pbi1tYXgtaGVpZ2h0LXBlcmNlbnQtaGVpZ2h0
LWNoaWxkLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHdpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgZXhwZWN0YXRpb24oJ3Np
bXBsZS1tYXgnLCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICI1MHB4IiwgIm1heC1oZWln
aHQiOiAiMjVweCIgfSwgeyAid2lkdGgiOiAiMTAwJSIsICJoZWlnaHQiOiAiMTAwJSIgfSwgeyAi
d2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiMjVweCIgfSk7CisgICAgICAgICAgICAgICAgZXhw
ZWN0YXRpb24oJ3NpbXBsZS1taW4nLCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICI1MHB4
IiwgIm1pbi1oZWlnaHQiOiAiNzVweCIgfSwgeyAid2lkdGgiOiAiMTAwJSIsICJoZWlnaHQiOiAi
MTAwJSIgfSwgeyAid2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiNzVweCIgfSk7CisgICAgICAg
ICAgICAgICAgZXhwZWN0YXRpb24oJ3ZlcnRpY2FsLW1heCcsIHsgIndpZHRoIjogIjUwcHgiLCAi
aGVpZ2h0IjogIjUwcHgiLCAibWF4LXdpZHRoIjogIjI1cHgiIH0sIHsgIndpZHRoIjogIjEwMCUi
LCAiaGVpZ2h0IjogIjEwMCUiIH0sIHsgIndpZHRoIjogIjI1cHgiLCAiaGVpZ2h0IjogIjUwcHgi
IH0pOworICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9uKCd2ZXJ0aWNhbC1taW4nLCB7ICJ3aWR0
aCI6ICI1MHB4IiwgImhlaWdodCI6ICI1MHB4IiwgIm1pbi13aWR0aCI6ICI3NXB4IiB9LCB7ICJ3
aWR0aCI6ICIxMDAlIiwgImhlaWdodCI6ICIxMDAlIiB9LCB7ICJ3aWR0aCI6ICI3NXB4IiwgImhl
aWdodCI6ICI1MHB4IiB9KTsKKyAgICAgICAgICAgICAgICBleHBlY3RhdGlvbigncGFyZW50LXBl
cmNlbnQtbWF4JywgeyAid2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiMTAwJSIsICJtYXgtaGVp
Z2h0IjogIjI1cHgiIH0sIHsgIndpZHRoIjogIjEwMCUiLCAiaGVpZ2h0IjogIjEwMCUiIH0sIHsg
IndpZHRoIjogIjUwcHgiLCAiaGVpZ2h0IjogIjI1cHgiIH0pOworICAgICAgICAgICAgICAgIGV4
cGVjdGF0aW9uKCdwYXJlbnQtcGVyY2VudC1taW4nLCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdo
dCI6ICIxMDAlIiwgIm1pbi1oZWlnaHQiOiAiNzVweCIgfSwgeyAid2lkdGgiOiAiMTAwJSIsICJo
ZWlnaHQiOiAiMTAwJSIgfSwgeyAid2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiNzVweCIgfSk7
CisgICAgICAgICAgICAgICAgZXhwZWN0YXRpb24oJ3BlcmNlbnQtbWF4JywgeyAid2lkdGgiOiAi
NTBweCIsICJoZWlnaHQiOiAiNTBweCIsICJtYXgtaGVpZ2h0IjogIjUwJSIgfSwgeyAid2lkdGgi
OiAiMTAwJSIsICJoZWlnaHQiOiAiMTAwJSIgfSwgeyAid2lkdGgiOiAiNTBweCIsICJoZWlnaHQi
OiAiMjVweCIgfSk7CisgICAgICAgICAgICAgICAgZXhwZWN0YXRpb24oJ3BlcmNlbnQtbWluJywg
eyAid2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiNTBweCIsICJtaW4taGVpZ2h0IjogIjE1MCUi
IH0sIHsgIndpZHRoIjogIjEwMCUiLCAiaGVpZ2h0IjogIjEwMCUiIH0sIHsgIndpZHRoIjogIjUw
cHgiLCAiaGVpZ2h0IjogIjc1cHgiIH0pOworICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9uKCdw
YXJlbnQtcGFkZGluZy1tYXgnLCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICI1MHB4Iiwg
Im1heC1oZWlnaHQiOiAiMjVweCIsICJwYWRkaW5nIjogIjVweCIgfSwgeyAid2lkdGgiOiAiMTAw
JSIsICJoZWlnaHQiOiAiMTAwJSIgfSwgeyAid2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiMjVw
eCIgfSk7CisgICAgICAgICAgICAgICAgZXhwZWN0YXRpb24oJ3BhcmVudC1wYWRkaW5nLW1pbics
IHsgIndpZHRoIjogIjUwcHgiLCAiaGVpZ2h0IjogIjUwcHgiLCAibWluLWhlaWdodCI6ICI3NXB4
IiwgInBhZGRpbmciOiAiNXB4IiB9LCB7ICJ3aWR0aCI6ICIxMDAlIiwgImhlaWdodCI6ICIxMDAl
IiB9LCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICI3NXB4IiB9KTsKKyAgICAgICAgICAg
ICAgICBleHBlY3RhdGlvbignYXV0by1tYXgnLCB7ICJ3aWR0aCI6ICI1MHB4IiwgIm1heC1oZWln
aHQiOiAiMjVweCIgfSwgeyAid2lkdGgiOiAiMTAwJSIsICJoZWlnaHQiOiAiMTAwJSIgfSwgeyAi
d2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiMHB4IiB9KTsKKyAgICAgICAgICAgICAgICBleHBl
Y3RhdGlvbignYXV0by1taW4nLCB7ICJ3aWR0aCI6ICI1MHB4IiwgIm1pbi1oZWlnaHQiOiAiNzVw
eCIgfSwgeyAid2lkdGgiOiAiMTAwJSIsICJoZWlnaHQiOiAiMTAwJSIgfSwgeyAid2lkdGgiOiAi
NTBweCIsICJoZWlnaHQiOiAiMHB4IiB9KTsKKyAgICAgICAgICAgICAgICBleHBlY3RhdGlvbign
bWluLWdyZWF0ZXItbWF4JywgeyAid2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiNTBweCIsICJt
YXgtaGVpZ2h0IjogIjI1cHgiLCAibWluLWhlaWdodCI6ICI3NXB4IiB9LCB7ICJ3aWR0aCI6ICIx
MDAlIiwgImhlaWdodCI6ICIxMDAlIiB9LCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICI3
NXB4IiB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5PgorICAgICAgICA8aDE+VGVzdHMgdG8gbWFrZSBzdXJlIGEgY2hpbGQgd2l0aCBw
ZXJjZW50YWdlIGhlaWdodCBpcyBjb21wdXRlZCBwcm9wZXJseSB3aGVuIHRoZSBwYXJlbnQgaGFz
IGEgbWF4IG9yIG1pbiBoZWlnaHQgc2V0LjwvaDE+CisgICAgICAgIDxoMj5FYWNoIG9mIHRoZSBm
b2xsb3dpbmcgdGVzdHMgc2hvdWxkIGRpc3BsYXkgYSBncmVlbiByZWN0YW5nbGUgd2l0aCBhIDEg
cGl4ZWwgcmVkIGJvcmRlciBvbiBhbGwgc2lkZXMuPC9oMj4KKyAgICAgICAgPGgzPlBhcmVudCB3
aXRoIGZpeGVkIGhlaWdodCBhbmQgbWluIHNldDwvaDI+CisgICAgICAgIDxkaXYgaWQ9InNpbXBs
ZS1taW4iPjwvZGl2PgorICAgICAgICA8aDM+UGFyZW50IHdpdGggZml4ZWQgaGVpZ2h0IGFuZCBt
YXggc2V0PC9oMj4KKyAgICAgICAgPGRpdiBpZD0ic2ltcGxlLW1heCI+PC9kaXY+CisgICAgICAg
IDxoMz5QYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIG1pbiBncmVhdGVyIHRoYW4gbWF4PC9o
Mj4KKyAgICAgICAgPGRpdiBpZD0ibWluLWdyZWF0ZXItbWF4Ij48L2Rpdj4KKyAgICAgICAgPGgz
PlZlcnRpY2FsIHBhcmVudCB3aXRoIGZpeGVkIHdpZHRoIGFuZCBtaW4gc2V0PC9oMj4KKyAgICAg
ICAgPGRpdiBpZD0idmVydGljYWwtbWluIiBjbGFzcz0idmVydGljYWwiPjwvZGl2PgorICAgICAg
ICA8aDM+VmVydGljYWwgcGFyZW50IHdpdGggZml4ZWQgd2lkdGggYW5kIG1heCBzZXQ8L2gyPgor
ICAgICAgICA8ZGl2IGlkPSJ2ZXJ0aWNhbC1tYXgiIGNsYXNzPSJ2ZXJ0aWNhbCI+PC9kaXY+Cisg
ICAgICAgIDxoMz5QYXJlbnQgd2l0aCBwZXJjZW50IGhlaWdodCBhbmQgYSBtaW4gc2V0PC9oMz4K
KyAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGJvdHRvbS1tYXJnaW4iPgorICAgICAgICAg
ICAgPGRpdiBpZD0icGFyZW50LXBlcmNlbnQtbWluIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxoMz5QYXJlbnQgd2l0aCBwZXJjZW50IGhlaWdodCBhbmQgYSBtYXggc2V0PC9oMz4K
KyAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9InBh
cmVudC1wZXJjZW50LW1heCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8aDM+UGFy
ZW50IHdpdGggZml4ZWQgaGVpZ2h0IGFuZCBwZXJjZW50YWdlIG1pbjwvaDM+CisgICAgICAgIDxk
aXYgY2xhc3M9ImNvbnRhaW5lciBib3R0b20tbWFyZ2luIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9
InBlcmNlbnQtbWluIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQg
d2l0aCBmaXhlZCBoZWlnaHQgYW5kIHBlcmNlbnRhZ2UgbWF4PC9oMz4KKyAgICAgICAgPGRpdiBj
bGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9InBlcmNlbnQtbWF4Ij48L2Rp
dj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMj5UaGUgZm9sbG93aW5nIHR3byB0ZXN0cyB3
aWxsIGhhdmUgYSA2IHBpeGVsIHJlZCBib3JkZXIuPC9oMj4KKyAgICAgICAgPGgzPlBhcmVudCB3
aXRoIGZpeGVkIGhlaWdodCBhbmQgcGFkZGluZyBhbmQgbWluIHNldDwvaDI+CisgICAgICAgIDxk
aXYgaWQ9InBhcmVudC1wYWRkaW5nLW1pbiI+PC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0
aCBmaXhlZCBoZWlnaHQgYW5kIHBhZGRpbmcgYW5kIG1heCBzZXQ8L2gyPgorICAgICAgICA8ZGl2
IGlkPSJwYXJlbnQtcGFkZGluZy1tYXgiPjwvZGl2PgorICAgICAgICA8aDI+VGhlIGZvbGxvd2lu
ZyB0ZXN0cyByZXF1aXJlIHRoZSBBaGVtIGZvbnQuIFRoZXkgd2lsbCBkaXNwbGF5IGEgcmVkIHJl
Y3RhbmdsZSB3aXRoIDMgdmVydGljYWwgZ3JlZW4gbGluZXMuPC9oMj4KKyAgICAgICAgPGgzPlBh
cmVudCB3aXRoIGF1dG8gaGVpZ2h0IGFuZCBhIG1pbiBzZXQ8L2gzPgorICAgICAgICA8ZGl2IGlk
PSJhdXRvLW1pbiIgY2xhc3M9ImFoZW0iPlggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBhdXRvIGhlaWdo
dCBhbmQgYSBtYXggc2V0PC9oMz4KKyAgICAgICAgPGRpdiBpZD0iYXV0by1tYXgiIGNsYXNzPSJh
aGVtIj5YIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWDwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxv
Y2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvYmxvY2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hYzViMzZhZWM3MDcxMjBhZDQ1ZmZiZGMyMGFmNDFhYmRjOTJhZWVkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50
LWhlaWdodC1jaGlsZC5odG1sCkBAIC0wLDAgKzEsNzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZSBpZD0ic3R5bGVzaGVldCI+CisgICAgICAg
ICAgICAuY29udGFpbmVyIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogNTBweDsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAuYm90dG9t
LW1hcmdpbiB7CisgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIC5haGVtIHsKKyAgICAgICAgICAgICAgICBmb250OiAxMHB4LzEg
QWhlbSwgc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICBjb2xvcjogZ3JlZW47CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAudmVydGljYWwgeyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVy
dGljYWwtbHI7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL21pbi1tYXgtaGVpZ2h0LXBlcmNlbnQtaGVpZ2h0LWNoaWxkLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICAgICAgdGVzdCgnc2ltcGxlLW1heCcsIHsgIndpZHRoIjogIjUwcHgi
LCAiaGVpZ2h0IjogIjUwcHgiLCAibWF4LWhlaWdodCI6ICIyNXB4IiB9LCB7ICJ3aWR0aCI6ICIx
MDAlIiwgImhlaWdodCI6ICIxMDAlIiB9LCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICIy
NXB4IiB9KTsKKyAgICAgICAgICAgICAgICB0ZXN0KCdzaW1wbGUtbWluJywgeyAid2lkdGgiOiAi
NTBweCIsICJoZWlnaHQiOiAiNTBweCIsICJtaW4taGVpZ2h0IjogIjc1cHgiIH0sIHsgIndpZHRo
IjogIjEwMCUiLCAiaGVpZ2h0IjogIjEwMCUiIH0sIHsgIndpZHRoIjogIjUwcHgiLCAiaGVpZ2h0
IjogIjc1cHgiIH0pOworICAgICAgICAgICAgICAgIHRlc3QoJ3ZlcnRpY2FsLW1heCcsIHsgIndp
ZHRoIjogIjUwcHgiLCAiaGVpZ2h0IjogIjUwcHgiLCAibWF4LXdpZHRoIjogIjI1cHgiIH0sIHsg
IndpZHRoIjogIjEwMCUiLCAiaGVpZ2h0IjogIjEwMCUiIH0sIHsgIndpZHRoIjogIjI1cHgiLCAi
aGVpZ2h0IjogIjUwcHgiIH0pOworICAgICAgICAgICAgICAgIHRlc3QoJ3ZlcnRpY2FsLW1pbics
IHsgIndpZHRoIjogIjUwcHgiLCAiaGVpZ2h0IjogIjUwcHgiLCAibWluLXdpZHRoIjogIjc1cHgi
IH0sIHsgIndpZHRoIjogIjEwMCUiLCAiaGVpZ2h0IjogIjEwMCUiIH0sIHsgIndpZHRoIjogIjc1
cHgiLCAiaGVpZ2h0IjogIjUwcHgiIH0pOworICAgICAgICAgICAgICAgIHRlc3QoJ3BhcmVudC1w
ZXJjZW50LW1heCcsIHsgIndpZHRoIjogIjUwcHgiLCAiaGVpZ2h0IjogIjEwMCUiLCAibWF4LWhl
aWdodCI6ICIyNXB4IiB9LCB7ICJ3aWR0aCI6ICIxMDAlIiwgImhlaWdodCI6ICIxMDAlIiB9LCB7
ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICIyNXB4IiB9KTsKKyAgICAgICAgICAgICAgICB0
ZXN0KCdwYXJlbnQtcGVyY2VudC1taW4nLCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICIx
MDAlIiwgIm1pbi1oZWlnaHQiOiAiNzVweCIgfSwgeyAid2lkdGgiOiAiMTAwJSIsICJoZWlnaHQi
OiAiMTAwJSIgfSwgeyAid2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiNzVweCIgfSk7CisgICAg
ICAgICAgICAgICAgdGVzdCgncGVyY2VudC1tYXgnLCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdo
dCI6ICI1MHB4IiwgIm1heC1oZWlnaHQiOiAiNTAlIiB9LCB7ICJ3aWR0aCI6ICIxMDAlIiwgImhl
aWdodCI6ICIxMDAlIiB9LCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICIyNXB4IiB9KTsK
KyAgICAgICAgICAgICAgICB0ZXN0KCdwZXJjZW50LW1pbicsIHsgIndpZHRoIjogIjUwcHgiLCAi
aGVpZ2h0IjogIjUwcHgiLCAibWluLWhlaWdodCI6ICIxNTAlIiB9LCB7ICJ3aWR0aCI6ICIxMDAl
IiwgImhlaWdodCI6ICIxMDAlIiB9LCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICI3NXB4
IiB9KTsKKyAgICAgICAgICAgICAgICB0ZXN0KCdwYXJlbnQtcGFkZGluZy1tYXgnLCB7ICJ3aWR0
aCI6ICI1MHB4IiwgImhlaWdodCI6ICI1MHB4IiwgIm1heC1oZWlnaHQiOiAiMjVweCIsICJwYWRk
aW5nIjogIjVweCIgfSwgeyAid2lkdGgiOiAiMTAwJSIsICJoZWlnaHQiOiAiMTAwJSIgfSwgeyAi
d2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiMjVweCIgfSk7CisgICAgICAgICAgICAgICAgdGVz
dCgncGFyZW50LXBhZGRpbmctbWluJywgeyAid2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiNTBw
eCIsICJtaW4taGVpZ2h0IjogIjc1cHgiLCAicGFkZGluZyI6ICI1cHgiIH0sIHsgIndpZHRoIjog
IjEwMCUiLCAiaGVpZ2h0IjogIjEwMCUiIH0sIHsgIndpZHRoIjogIjUwcHgiLCAiaGVpZ2h0Ijog
Ijc1cHgiIH0pOworICAgICAgICAgICAgICAgIHRlc3QoJ2F1dG8tbWF4JywgeyAid2lkdGgiOiAi
NTBweCIsICJtYXgtaGVpZ2h0IjogIjI1cHgiIH0sIHsgIndpZHRoIjogIjEwMCUiLCAiaGVpZ2h0
IjogIjEwMCUiIH0sIHsgIndpZHRoIjogIjUwcHgiLCAiaGVpZ2h0IjogIjBweCIgfSk7CisgICAg
ICAgICAgICAgICAgdGVzdCgnYXV0by1taW4nLCB7ICJ3aWR0aCI6ICI1MHB4IiwgIm1pbi1oZWln
aHQiOiAiNzVweCIgfSwgeyAid2lkdGgiOiAiMTAwJSIsICJoZWlnaHQiOiAiMTAwJSIgfSwgeyAi
d2lkdGgiOiAiNTBweCIsICJoZWlnaHQiOiAiMHB4IiB9KTsKKyAgICAgICAgICAgICAgICB0ZXN0
KCdtaW4tZ3JlYXRlci1tYXgnLCB7ICJ3aWR0aCI6ICI1MHB4IiwgImhlaWdodCI6ICI1MHB4Iiwg
Im1heC1oZWlnaHQiOiAiMjVweCIsICJtaW4taGVpZ2h0IjogIjc1cHgiIH0sIHsgIndpZHRoIjog
IjEwMCUiLCAiaGVpZ2h0IjogIjEwMCUiIH0sIHsgIndpZHRoIjogIjUwcHgiLCAiaGVpZ2h0Ijog
Ijc1cHgiIH0pOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxoMT5UZXN0cyB0byBtYWtlIHN1cmUgYSBjaGlsZCB3aXRo
IHBlcmNlbnRhZ2UgaGVpZ2h0IGlzIGNvbXB1dGVkIHByb3Blcmx5IHdoZW4gdGhlIHBhcmVudCBo
YXMgYSBtYXggb3IgbWluIGhlaWdodCBzZXQuPC9oMT4KKyAgICAgICAgPGgyPkVhY2ggb2YgdGhl
IGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgZGlzcGxheSBhIGdyZWVuIHJlY3RhbmdsZSB3aXRoIGEg
MSBwaXhlbCByZWQgYm9yZGVyIG9uIGFsbCBzaWRlcy48L2gyPgorICAgICAgICA8aDM+UGFyZW50
IHdpdGggZml4ZWQgaGVpZ2h0IGFuZCBtaW4gc2V0PC9oMj4KKyAgICAgICAgPGRpdiBpZD0ic2lt
cGxlLW1pbiI+PC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5k
IG1heCBzZXQ8L2gyPgorICAgICAgICA8ZGl2IGlkPSJzaW1wbGUtbWF4Ij48L2Rpdj4KKyAgICAg
ICAgPGgzPlBhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgbWluIGdyZWF0ZXIgdGhhbiBtYXg8
L2gyPgorICAgICAgICA8ZGl2IGlkPSJtaW4tZ3JlYXRlci1tYXgiPjwvZGl2PgorICAgICAgICA8
aDM+VmVydGljYWwgcGFyZW50IHdpdGggZml4ZWQgd2lkdGggYW5kIG1pbiBzZXQ8L2gyPgorICAg
ICAgICA8ZGl2IGlkPSJ2ZXJ0aWNhbC1taW4iIGNsYXNzPSJ2ZXJ0aWNhbCI+PC9kaXY+CisgICAg
ICAgIDxoMz5WZXJ0aWNhbCBwYXJlbnQgd2l0aCBmaXhlZCB3aWR0aCBhbmQgbWF4IHNldDwvaDI+
CisgICAgICAgIDxkaXYgaWQ9InZlcnRpY2FsLW1heCIgY2xhc3M9InZlcnRpY2FsIj48L2Rpdj4K
KyAgICAgICAgPGgzPlBhcmVudCB3aXRoIHBlcmNlbnQgaGVpZ2h0IGFuZCBhIG1pbiBzZXQ8L2gz
PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgYm90dG9tLW1hcmdpbiI+CisgICAgICAg
ICAgICA8ZGl2IGlkPSJwYXJlbnQtcGVyY2VudC1taW4iPjwvZGl2PgorICAgICAgICA8L2Rpdj4K
KyAgICAgICAgPGgzPlBhcmVudCB3aXRoIHBlcmNlbnQgaGVpZ2h0IGFuZCBhIG1heCBzZXQ8L2gz
PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0i
cGFyZW50LXBlcmNlbnQtbWF4Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5Q
YXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIHBlcmNlbnRhZ2UgbWluPC9oMz4KKyAgICAgICAg
PGRpdiBjbGFzcz0iY29udGFpbmVyIGJvdHRvbS1tYXJnaW4iPgorICAgICAgICAgICAgPGRpdiBp
ZD0icGVyY2VudC1taW4iPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGgzPlBhcmVu
dCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgcGVyY2VudGFnZSBtYXg8L2gzPgorICAgICAgICA8ZGl2
IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0icGVyY2VudC1tYXgiPjwv
ZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGgyPlRoZSBmb2xsb3dpbmcgdHdvIHRlc3Rz
IHdpbGwgaGF2ZSBhIDYgcGl4ZWwgcmVkIGJvcmRlci48L2gyPgorICAgICAgICA8aDM+UGFyZW50
IHdpdGggZml4ZWQgaGVpZ2h0IGFuZCBwYWRkaW5nIGFuZCBtaW4gc2V0PC9oMj4KKyAgICAgICAg
PGRpdiBpZD0icGFyZW50LXBhZGRpbmctbWluIj48L2Rpdj4KKyAgICAgICAgPGgzPlBhcmVudCB3
aXRoIGZpeGVkIGhlaWdodCBhbmQgcGFkZGluZyBhbmQgbWF4IHNldDwvaDI+CisgICAgICAgIDxk
aXYgaWQ9InBhcmVudC1wYWRkaW5nLW1heCI+PC9kaXY+CisgICAgICAgIDxoMj5UaGUgZm9sbG93
aW5nIHRlc3RzIHJlcXVpcmUgdGhlIEFoZW0gZm9udC4gVGhleSB3aWxsIGRpc3BsYXkgYSByZWQg
cmVjdGFuZ2xlIHdpdGggMyB2ZXJ0aWNhbCBncmVlbiBsaW5lcy48L2gyPgorICAgICAgICA8aDM+
UGFyZW50IHdpdGggYXV0byBoZWlnaHQgYW5kIGEgbWluIHNldDwvaDM+CisgICAgICAgIDxkaXYg
aWQ9ImF1dG8tbWluIiBjbGFzcz0iYWhlbSI+WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFg8L2Rpdj4KKyAgICAgICAgPGgzPlBhcmVudCB3aXRoIGF1dG8gaGVp
Z2h0IGFuZCBhIG1heCBzZXQ8L2gzPgorICAgICAgICA8ZGl2IGlkPSJhdXRvLW1heCIgY2xhc3M9
ImFoZW0iPlggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYPC9k
aXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9i
bG9jay9yZXNvdXJjZXMvbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3Jlc291cmNlcy9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhl
aWdodC1jaGlsZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjM0NDgwYzJkM2JkMzQzODY1ZTI5Y2VmNDVmMDE3
MDczNjllNGFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9yZXNv
dXJjZXMvbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuanMKQEAgLTAsMCArMSw1
NSBAQAorLy8gcGFyZW50OiB7IHdpZHRoOiAiNTBweCIsIGhlaWdodDogIjUwcHgiLCBtYXgtaGVp
Z2h0OiAiMjVweCIgfQorLy8gcGFyZW50OiB7IHdpZHRoOiAiNTBweCIsIGhlaWdodDogIjUwcHgi
LCBtaW4taGVpZ2h0OiAiNzVweCIgfQorLy8gY2hpbGQ6IHsgd2lkdGg6ICIxMDAlIiwgaGVpZ2h0
OiAiMTAwJSIgfQorLy8gZXhwZWN0ZWQ6IHsgd2lkdGg6ICI1MHB4IiwgaGVpZ2h0OiAiMjVweCIg
fQorZnVuY3Rpb24gdGVzdChlbGVtZW50SWQsIHBhcmVudCwgY2hpbGQsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIGVsZW1lbnQgPSBlbnN1cmVFbGVtZW50KGVsZW1lbnRJZCk7CisgICAgdmFyIHN0eWxl
c2hlZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3R5bGVzaGVldCcpLnNoZWV0OworICAg
IHZhciBydWxlcyA9IFtdOworCisgICAgc2V0Q29sb3JzKHBhcmVudCwgY2hpbGQsIGV4cGVjdGVk
KTsKKworICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
JykpOworICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnIycgKyBlbGVtZW50SWQgKyAneycgKyBj
cmVhdGVSdWxlcyhwYXJlbnQpICsgJ30nLCAwKTsKKyAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUo
JyMnICsgZWxlbWVudElkICsgJyBkaXYgeycgKyBjcmVhdGVSdWxlcyhjaGlsZCkgKyAnfScsIDAp
OworfQorCitmdW5jdGlvbiBleHBlY3RhdGlvbihlbGVtZW50SWQsIHBhcmVudCwgY2hpbGQsIGV4
cGVjdGVkKSB7CisgICAgdmFyIGVsZW1lbnQgPSBlbnN1cmVFbGVtZW50KGVsZW1lbnRJZCk7Cisg
ICAgdmFyIGVsZW1lbnQgPSBlbnN1cmVFbGVtZW50KGVsZW1lbnRJZCk7CisgICAgdmFyIHN0eWxl
c2hlZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3R5bGVzaGVldCcpLnNoZWV0OworICAg
IHZhciBydWxlcyA9IFtdOworCisgICAgc2V0Q29sb3JzKHBhcmVudCwgY2hpbGQsIGV4cGVjdGVk
KTsKKworICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
JykpOworICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnIycgKyBlbGVtZW50SWQgKyAneycgKyBj
cmVhdGVSdWxlcyhwYXJlbnQpICsgJ30nLCAwKTsKKyAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUo
JyMnICsgZWxlbWVudElkICsgJyBkaXYgeycgKyBjcmVhdGVSdWxlcyhleHBlY3RlZCkgKyAnfScs
IDApOworfQorCitmdW5jdGlvbiBzZXRDb2xvcnMocGFyZW50LCBjaGlsZCwgZXhwZWN0ZWQpIHsK
KyAgICBwYXJlbnRbJ2JhY2tncm91bmQtY29sb3InXSA9ICdyZWQnOworICAgIHBhcmVudFsnYm9y
ZGVyJ10gPSAnMXB4IHNvbGlkIHJlZCc7CisgICAgY2hpbGRbJ2JhY2tncm91bmQtY29sb3InXSA9
ICdncmVlbic7CisgICAgZXhwZWN0ZWRbJ2JhY2tncm91bmQtY29sb3InXSA9ICdncmVlbic7Cit9
CisKK2Z1bmN0aW9uIGVuc3VyZUVsZW1lbnQoZWxlbWVudElkKSB7CisgICAgdmFyIGVsZW1lbnQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOworICAgIGlmICghZWxlbWVudCkg
eworICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAg
ICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsIGVsZW1lbnRJZCk7CisgICAgICAgIGRvY3Vt
ZW50LmFwcGVuZENoaWxkKGVsZW1lbnQpOworICAgIH0KKyAgICByZXR1cm4gZWxlbWVudDsKK30K
KworZnVuY3Rpb24gY3JlYXRlUnVsZXMocnVsZU9iamVjdCkgeworICAgIHZhciBydWxlcyA9IFtd
OworICAgIGZvciAodmFyIGtleSBpbiBydWxlT2JqZWN0KSB7CisgICAgICAgIGlmIChydWxlT2Jq
ZWN0Lmhhc093blByb3BlcnR5KGtleSkpIHsKKyAgICAgICAgICAgIHJ1bGVzLnB1c2goa2V5ICsg
JzogJyArIHJ1bGVPYmplY3Rba2V5XSk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHJ1
bGVzLmpvaW4oJzsnKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177087</attachid>
            <date>2012-11-30 22:31:12 -0800</date>
            <delta_ts>2013-01-02 13:46:10 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug-26559-20121130222843.patch</filename>
            <type>text/plain</type>
            <size>16961</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzljMDZhOTgyZDI2MGRi
OTIzYzRmMDY5M2E5N2I3NzUyZTBkYjJkMS4uYjBiNTIyMDYxNzEzMjg2ZWYwMWIyYTM2NDZmOTJj
NWFmNzVjMjM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTMwICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFdoZW4gYSBibG9jaydz
IGhlaWdodCBpcyBkZXRlcm1pbmVkIGJ5IG1pbi1oZWlnaHQvbWF4LWhlaWdodCwgY2hpbGRyZW4g
d2l0aCBwZXJjZW50YWdlIGhlaWdodHMgYXJlIHNpemVkIGluY29ycmVjdGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjU1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBlcmNlbnRhZ2UgbG9naWNhbCBo
ZWlnaHQgY29tcHV0YXRpb24gbm93IHRha2VzIGludG8gYWNjb3VudCB0aGUgbWluIGFuZCBtYXgg
aGVpZ2h0IG9mIHRoZSBjb250YWluZXIuCisKKyAgICAgICAgVGVzdDogZmFzdC9ibG9jay9taW4t
bWF4LWhlaWdodC1wZXJjZW50LWhlaWdodC1jaGlsZC5odG1sCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWlu
Q29udGVudEJveExvZ2ljYWxIZWlnaHRCeU1pbk1heCk6IEFkZGVkLiBMaWtlIGNvbnN0cmFpbkxv
Z2ljYWxIZWlnaHRCeU1pbk1heCwKKyAgICAgICAgICAgIGJ1dCBjb25zdHJhaW5zIHRoZSBjb250
ZW50IGJveCBpbnN0ZWFkIG9mIHRoZSBib3JkZXIgYm94LgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodCk6
IE1ha2UgY29uc3Qgc28gaXQgY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBjb25zdCBtZXRob2QKKyAg
ICAgICAgICAgIGNvbnN0cmFpbkNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0QnlNaW5NYXguCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodCk6
IFVzZSBjb25zdHJhaW5Db250ZW50Qm94TG9naWNhbEhlaWdodEJ5TWluTWF4IHRvIHByb3Blcmx5
CisgICAgICAgICAgICByZXNwZWN0IG1pbiBhbmQgbWF4IGhlaWdodCBvbiB0aGUgY29udGFpbmlu
ZyBib3ggd2hlbiBjb21wdXRpbmcgdGhlIHBlcmNlbnRhZ2UgaGVpZ2h0LgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKFJlbmRlckJveCk6CisKIDIwMTItMTEtMzAg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQg
Y2FsbGluZyBpbnRvIE5TVXNlckRlZmF1bHRzIGV2ZXJ5IHRpbWUgd2Ugc3RhcnQgYSBzY3JvbGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNmMzNDFkZGIyYTdkZWRl
OWQyMzczYmY5YzRhMThlNjgyMzVlN2NlNC4uMzg2ZDJjYjM0ZmE4NGZlZGNlYTYzZTc4YmZmMGQx
MjU5MWQ4MGMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQz
OSw2ICs0MzksMTcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2ljYWxIZWln
aHRCeU1pbk1heChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQpIGMKICAgICByZXR1cm4gbWF4KGxv
Z2ljYWxIZWlnaHQsIGNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoTWluU2l6ZSwgc3R5bGVUb1Vz
ZS0+bG9naWNhbE1pbkhlaWdodCgpKSk7CiB9CiAKK0xheW91dFVuaXQgUmVuZGVyQm94Ojpjb25z
dHJhaW5Db250ZW50Qm94TG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbEhl
aWdodCkgY29uc3QKK3sKKyAgICBSZW5kZXJTdHlsZSogc3R5bGVUb1VzZSA9IHN0eWxlKCk7Cisg
ICAgaWYgKCFzdHlsZVRvVXNlLT5sb2dpY2FsTWF4SGVpZ2h0KCkuaXNVbmRlZmluZWQoKSkgewor
ICAgICAgICBMYXlvdXRVbml0IG1heEggPSBjb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoTWF4
U2l6ZSwgc3R5bGVUb1VzZS0+bG9naWNhbE1heEhlaWdodCgpKTsKKyAgICAgICAgaWYgKG1heEgg
IT0gLTEpCisgICAgICAgICAgICBsb2dpY2FsSGVpZ2h0ID0gbWluKGxvZ2ljYWxIZWlnaHQsIG1h
eEgpOworICAgIH0KKyAgICByZXR1cm4gbWF4KGxvZ2ljYWxIZWlnaHQsIGNvbXB1dGVDb250ZW50
TG9naWNhbEhlaWdodChNaW5TaXplLCBzdHlsZVRvVXNlLT5sb2dpY2FsTWluSGVpZ2h0KCkpKTsK
K30KKwogSW50UmVjdCBSZW5kZXJCb3g6OmFic29sdXRlQ29udGVudEJveCgpIGNvbnN0CiB7CiAg
ICAgLy8gVGhpcyBpcyB3cm9uZyB3aXRoIHRyYW5zZm9ybXMgYW5kIGZsaXBwZWQgd3JpdGluZyBt
b2Rlcy4KQEAgLTIyMjUsNyArMjIzNiw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRl
TG9naWNhbEhlaWdodFVzaW5nKFNpemVUeXBlIGhlaWdodFR5cGUsIGNvbnN0IExlbmd0CiAgICAg
cmV0dXJuIGxvZ2ljYWxIZWlnaHQ7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRl
Q29udGVudExvZ2ljYWxIZWlnaHQoU2l6ZVR5cGUgaGVpZ2h0VHlwZSwgY29uc3QgTGVuZ3RoJiBo
ZWlnaHQpCitMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0
KFNpemVUeXBlIGhlaWdodFR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBjb25zdAogewogICAg
IExheW91dFVuaXQgaGVpZ2h0SW5jbHVkaW5nU2Nyb2xsYmFyID0gY29tcHV0ZUNvbnRlbnRBbmRT
Y3JvbGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoaGVpZ2h0VHlwZSwgaGVpZ2h0KTsKICAgICBpZiAo
aGVpZ2h0SW5jbHVkaW5nU2Nyb2xsYmFyID09IC0xKQpAQCAtMjMwOCwxNCArMjMxOSwxOSBAQCBM
YXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KGNvbnN0
IExlbmd0aCYgaGVpZ2h0KSBjb25zdAogICAgICAgICAgICAgaW5jbHVkZUJvcmRlclBhZGRpbmcg
PSB0cnVlOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChjYnN0eWxlLT5sb2dpY2FsSGVpZ2h0
KCkuaXNGaXhlZCgpKSB7Ci0gICAgICAgIExheW91dFVuaXQgY29udGVudEJveEhlaWdodFdpdGhT
Y3JvbGxiYXIgPSBjYi0+YWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmco
Y2JzdHlsZS0+bG9naWNhbEhlaWdodCgpLnZhbHVlKCkpOwotICAgICAgICBhdmFpbGFibGVIZWln
aHQgPSBtYXg8TGF5b3V0VW5pdD4oMCwgY29udGVudEJveEhlaWdodFdpdGhTY3JvbGxiYXIgLSBj
Yi0+c2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBjb250ZW50
Qm94SGVpZ2h0ID0gY2ItPmFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5n
KGNic3R5bGUtPmxvZ2ljYWxIZWlnaHQoKS52YWx1ZSgpKTsKKyAgICAgICAgYXZhaWxhYmxlSGVp
Z2h0ID0gbWF4PExheW91dFVuaXQ+KDAsIGNiLT5jb25zdHJhaW5Db250ZW50Qm94TG9naWNhbEhl
aWdodEJ5TWluTWF4KGNvbnRlbnRCb3hIZWlnaHQgLSBjYi0+c2Nyb2xsYmFyTG9naWNhbEhlaWdo
dCgpKSk7CiAgICAgfSBlbHNlIGlmIChjYnN0eWxlLT5sb2dpY2FsSGVpZ2h0KCkuaXNQZXJjZW50
KCkgJiYgIWlzT3V0T2ZGbG93UG9zaXRpb25lZFdpdGhTcGVjaWZpZWRIZWlnaHQpIHsKICAgICAg
ICAgLy8gV2UgbmVlZCB0byByZWN1ciBhbmQgY29tcHV0ZSB0aGUgcGVyY2VudGFnZSBoZWlnaHQg
Zm9yIG91ciBjb250YWluaW5nIGJsb2NrLgogICAgICAgICBMYXlvdXRVbml0IGhlaWdodFdpdGhT
Y3JvbGxiYXIgPSBjYi0+Y29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KGNic3R5bGUtPmxv
Z2ljYWxIZWlnaHQoKSk7CiAgICAgICAgIGlmIChoZWlnaHRXaXRoU2Nyb2xsYmFyICE9IC0xKSB7
CiAgICAgICAgICAgICBMYXlvdXRVbml0IGNvbnRlbnRCb3hIZWlnaHRXaXRoU2Nyb2xsYmFyID0g
Y2ItPmFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKGhlaWdodFdpdGhT
Y3JvbGxiYXIpOwotICAgICAgICAgICAgYXZhaWxhYmxlSGVpZ2h0ID0gbWF4PExheW91dFVuaXQ+
KDAsIGNvbnRlbnRCb3hIZWlnaHRXaXRoU2Nyb2xsYmFyIC0gY2ItPnNjcm9sbGJhckxvZ2ljYWxI
ZWlnaHQoKSk7CisgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGFkanVzdCBmb3IgbWluL21heCBo
ZWlnaHQgYmVjYXVzZSB0aGlzIG1ldGhvZCBkb2VzIG5vdAorICAgICAgICAgICAgLy8gaGFuZGxl
IHRoZSBtaW4vbWF4IG9mIHRoZSBjdXJyZW50IGJsb2NrLCBpdCdzIGNhbGxlciBkb2VzLiBTbyB0
aGUKKyAgICAgICAgICAgIC8vIHJldHVybiB2YWx1ZSBmcm9tIHRoZSByZWN1cnNpdmUgY2FsbCB3
aWxsIG5vdCBoYXZlIGJlZW4gYWRqdXN0ZWQKKyAgICAgICAgICAgIC8vIHlldC4KKyAgICAgICAg
ICAgIExheW91dFVuaXQgY29udGVudEJveEhlaWdodCA9IGNiLT5jb25zdHJhaW5Db250ZW50Qm94
TG9naWNhbEhlaWdodEJ5TWluTWF4KGNvbnRlbnRCb3hIZWlnaHRXaXRoU2Nyb2xsYmFyIC0gY2It
PnNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICBhdmFpbGFibGVIZWlnaHQg
PSBtYXg8TGF5b3V0VW5pdD4oMCwgY29udGVudEJveEhlaWdodCk7CiAgICAgICAgIH0KICAgICB9
IGVsc2UgaWYgKGNiLT5pc1JlbmRlclZpZXcoKSB8fCBpc091dE9mRmxvd1Bvc2l0aW9uZWRXaXRo
U3BlY2lmaWVkSGVpZ2h0KSB7CiAgICAgICAgIC8vIERvbid0IGFsbG93IHRoaXMgdG8gYWZmZWN0
IHRoZSBibG9jaycgaGVpZ2h0KCkgbWVtYmVyIHZhcmlhYmxlLCBzaW5jZSB0aGlzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggYzFkZTNlNzM2MTkxNmMzODFiZjEzYzBiOTZh
MDFkYmQyMTUxNWJhMi4uOTY4OWRhNjAxZmI5ZTY4N2JiMDZmZDg2MjliYzQxZTBjNWI5NTExMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtNzcsNiArNzcsNyBAQCBwdWJs
aWM6CiAKICAgICBMYXlvdXRVbml0IGNvbnN0cmFpbkxvZ2ljYWxXaWR0aEluUmVnaW9uQnlNaW5N
YXgoTGF5b3V0VW5pdCwgTGF5b3V0VW5pdCwgUmVuZGVyQmxvY2sqLCBSZW5kZXJSZWdpb24qID0g
MCwgTGF5b3V0VW5pdCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlID0gMCkgY29uc3Q7
CiAgICAgTGF5b3V0VW5pdCBjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5p
dCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBjb25zdHJhaW5Db250ZW50Qm94TG9naWNhbEhlaWdo
dEJ5TWluTWF4KExheW91dFVuaXQpIGNvbnN0OwogCiAgICAgaW50IHBpeGVsU25hcHBlZExvZ2lj
YWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gcGl4ZWxTbmFwcGVkSGVpZ2h0KCkgOiBwaXhlbFNuYXBwZWRXaWR0aCgpOyB9CiAgICAg
aW50IHBpeGVsU25hcHBlZExvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBwaXhlbFNuYXBwZWRXaWR0aCgpIDogcGl4ZWxTbmFw
cGVkSGVpZ2h0KCk7IH0KQEAgLTQwNyw3ICs0MDgsNyBAQCBwdWJsaWM6CiAKICAgICBMYXlvdXRV
bml0IGNvbXB1dGVMb2dpY2FsV2lkdGhJblJlZ2lvblVzaW5nKFNpemVUeXBlLCBMYXlvdXRVbml0
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCwgY29uc3QgUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9j
aywgUmVuZGVyUmVnaW9uKiwgTGF5b3V0VW5pdCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQ
YWdlKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoU2l6
ZVR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBjb25zdDsKLSAgICBMYXlvdXRVbml0IGNvbXB1
dGVDb250ZW50TG9naWNhbEhlaWdodChTaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBoZWlnaHQpOwor
ICAgIExheW91dFVuaXQgY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KFNpemVUeXBlLCBjb25z
dCBMZW5ndGgmIGhlaWdodCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlQ29udGVudEFu
ZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBoZWln
aHQpIGNvbnN0OwogICAgIExheW91dFVuaXQgY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNp
bmcoU2l6ZVR5cGUsIExlbmd0aCB3aWR0aCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRl
UmVwbGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgoTGF5b3V0VW5pdCBsb2dp
Y2FsV2lkdGgsIGJvb2wgaW5jbHVkZU1heFdpZHRoID0gdHJ1ZSkgY29uc3Q7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTIz
MGE3MWM3OWNkOTczNmVkMGY4ZDQ1N2Q2MjVmMjI2ZTdhMDM1Ni4uMjk3MGRjYjBlMTcxY2JiZTg0
OTI2MmYxYzBhYjAwODRlMDY5NzQ3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTExLTMw
ICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFdoZW4gYSBi
bG9jaydzIGhlaWdodCBpcyBkZXRlcm1pbmVkIGJ5IG1pbi1oZWlnaHQvbWF4LWhlaWdodCwgY2hp
bGRyZW4gd2l0aCBwZXJjZW50YWdlIGhlaWdodHMgYXJlIHNpemVkIGluY29ycmVjdGx5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjU1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyB0byBl
bnN1cmUgcGVyY2VudCBoZWlnaHRzIGFyZSBjb3JyZWN0bHkgZGV0ZXJtaW5lZC4KKyAgICAgICAg
CisgICAgICAgICogZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhlaWdodC1jaGls
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvYmxvY2svbWluLW1heC1oZWln
aHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMzAgIFN1amlu
IFBhcmsgIDxzdWpqaW4ucGFya0BnbWFpbC5jb20+CiAKICAgICAgICAgW0VGTF1bV0sxXSBHYXJk
ZW5pbmcgdGVzdCBjYXNlcyB3aGljaCBhcmUgbm90IGNyYXNoZWQgYWZ0ZXIgcjEzNTY2MgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhl
aWdodC1jaGlsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL21pbi1tYXgt
aGVpZ2h0LXBlcmNlbnQtaGVpZ2h0LWNoaWxkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDY5
YWViZTFhYTYwN2IyZjdjMjBlOTI3MDU4NGUyMGUzODZhNWZhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhlaWdodC1jaGls
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1NyBAQAorQnVnIDI2NTU5OiBXaGVuIGEgYmxvY2sn
cyBoZWlnaHQgaXMgZGV0ZXJtaW5lZCBieSBtaW4taGVpZ2h0L21heC1oZWlnaHQsIGNoaWxkcmVu
IHdpdGggcGVyY2VudGFnZSBoZWlnaHRzIGFyZSBzaXplZCBpbmNvcnJlY3RseQorCitUZXN0cyB0
byBtYWtlIHN1cmUgYSBjaGlsZCB3aXRoIHBlcmNlbnRhZ2UgaGVpZ2h0IGlzIGNvbXB1dGVkIHBy
b3Blcmx5IHdoZW4gdGhlIHBhcmVudCBoYXMgYSBtYXggb3IgbWluIGhlaWdodCBzZXQuCisKK0Vh
Y2ggb2YgdGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgZGlzcGxheSBhIGdyZWVuIHJlY3Rhbmds
ZSB3aXRoIGEgMSBwaXhlbCByZWQgYm9yZGVyIG9uIGFsbCBzaWRlcy4KKworUGFyZW50IHdpdGgg
Zml4ZWQgaGVpZ2h0IGFuZCBtaW4gc2V0CisKK1BBU1MKK1BhcmVudCB3aXRoIGZpeGVkIGhlaWdo
dCBhbmQgbWF4IHNldAorCitQQVNTCitQYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIG1pbiBn
cmVhdGVyIHRoYW4gbWF4CisKK1BBU1MKK1ZlcnRpY2FsIHBhcmVudCB3aXRoIGZpeGVkIHdpZHRo
IGFuZCBtYXggc2V0CisKK1BBU1MKK1ZlcnRpY2FsIHBhcmVudCB3aXRoIGZpeGVkIHdpZHRoIGFu
ZCBtaW4gc2V0CisKK1BBU1MKK1BhcmVudCB3aXRoIHBlcmNlbnQgaGVpZ2h0IGFuZCBhIG1heCBz
ZXQKKworUEFTUworUGFyZW50IHdpdGggcGVyY2VudCBoZWlnaHQgYW5kIGEgbWluIHNldAorCitQ
QVNTCitQYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIHBlcmNlbnRhZ2UgbWF4CisKK1BBU1MK
K1BhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgcGVyY2VudGFnZSBtaW4KKworUEFTUworUGFy
ZW50IHdpdGggYXV0byBoZWlnaHQgYW5kIGEgbWF4IHNldC4gVGhpcyB0ZXN0IHdpbGwgbm90IGhh
dmUgdGhlIGJvcmRlciBhbGwgYXJvdW5kLCBpdCB3aWxsIG9ubHkgYmUgb24gdGhlIHRvcCBwb3J0
aW9uLgorCitYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWAor
UEFTUworUGFyZW50IHdpdGggYXV0byBoZWlnaHQgYW5kIGEgbWluIHNldAorCitYWFhYWCBYWFhY
WCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWAorUEFTUworVGhlIGZvbGxvd2lu
ZyB0d28gdGVzdHMgd2lsbCBoYXZlIGEgNiBwaXhlbCByZWQgYm9yZGVyLgorCitQYXJlbnQgd2l0
aCBmaXhlZCBoZWlnaHQgYW5kIHBhZGRpbmcgYW5kIG1heCBzZXQKKworUEFTUworUGFyZW50IHdp
dGggZml4ZWQgaGVpZ2h0IGFuZCBwYWRkaW5nIGFuZCBtaW4gc2V0CisKK1BBU1MKK0ZpeGVkIGhl
aWdodCBwYXJlbnQgd2l0aCBzY3JvbGwgYmFyCisKK1hYWFhYWFhYWFggWFhYWFhYWFhYWCBYWFhY
WFhYWFhYIFhYWFhYWFhYWFggWFhYWFhYWFhYWCBYWFhYWFhYWFhYCitQQVNTCitQYXJlbnQgd2l0
aCBwZXJjZW50IGhlaWdodCBhbmQgc2Nyb2xsIGJhcgorCitYWFhYWFhYWFhYIFhYWFhYWFhYWFgg
WFhYWFhYWFhYWCBYWFhYWFhYWFhYIFhYWFhYWFhYWFggWFhYWFhYWFhYWAorUEFTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhlaWdo
dC1jaGlsZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJj
ZW50LWhlaWdodC1jaGlsZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmZjFlOTVjNGUxZjY3ZGVjNjhhODhm
OTdiMDdhNjJmN2VlY2RmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Js
b2NrL21pbi1tYXgtaGVpZ2h0LXBlcmNlbnQtaGVpZ2h0LWNoaWxkLmh0bWwKQEAgLTAsMCArMSwx
MzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHls
ZSBpZD0ic3R5bGVzaGVldCI+CisgICAgICAgICAgICAuY29udGFpbmVyIHsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogNTBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAuYm90dG9tLW1hcmdpbiB7CisgICAgICAgICAgICAgICAgbWFy
Z2luLWJvdHRvbTogNTBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5haGVtIHsKKyAg
ICAgICAgICAgICAgICBmb250OiAxMHB4LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICAgICAgICAg
ICAgICBjb2xvcjogZ3JlZW47CisgICAgICAgICAgICB9CisgICAgICAgICAgICAucGFyZW50IHsK
KyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgICAgICAgICAgICAg
Ym9yZGVyOiAxcHggc29saWQgcmVkOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLmNoaWxk
IHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIC52ZXJ0aWNhbCB7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNh
bC1scjsgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIGNo
ZWNrTGF5b3V0KCIucGFyZW50Iik7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGgxPjxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjU1OSI+QnVnIDI2NTU5PC9hPjogV2hlbiBh
IGJsb2NrJ3MgaGVpZ2h0IGlzIGRldGVybWluZWQgYnkgbWluLWhlaWdodC9tYXgtaGVpZ2h0LCBj
aGlsZHJlbiB3aXRoIHBlcmNlbnRhZ2UgaGVpZ2h0cyBhcmUgc2l6ZWQgaW5jb3JyZWN0bHk8L2gx
PgorICAgICAgICA8aDE+VGVzdHMgdG8gbWFrZSBzdXJlIGEgY2hpbGQgd2l0aCBwZXJjZW50YWdl
IGhlaWdodCBpcyBjb21wdXRlZCBwcm9wZXJseSB3aGVuIHRoZSBwYXJlbnQgaGFzIGEgbWF4IG9y
IG1pbiBoZWlnaHQgc2V0LjwvaDE+CisgICAgICAgIDxoMj5FYWNoIG9mIHRoZSBmb2xsb3dpbmcg
dGVzdHMgc2hvdWxkIGRpc3BsYXkgYSBncmVlbiByZWN0YW5nbGUgd2l0aCBhIDEgcGl4ZWwgcmVk
IGJvcmRlciBvbiBhbGwgc2lkZXMuPC9oMj4KKyAgICAgICAgPGgzPlBhcmVudCB3aXRoIGZpeGVk
IGhlaWdodCBhbmQgbWluIHNldDwvaDI+CisgICAgICAgIDxkaXYgaWQ9InNpbXBsZS1taW4iIGNs
YXNzPSJwYXJlbnQiIHN0eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBtaW4taGVpZ2h0
OiA3NXB4Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEw
MCU7IGhlaWdodDogMTAwJSIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTBweCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9Ijc1cHgiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGgzPlBhcmVu
dCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgbWF4IHNldDwvaDI+CisgICAgICAgIDxkaXYgaWQ9InNp
bXBsZS1tYXgiIGNsYXNzPSJwYXJlbnQiIHN0eWxlPSJtYXgtaGVpZ2h0OiAyNXB4OyB3aWR0aDog
NTBweDsgaGVpZ2h0OiA1MHB4Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHls
ZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTBweCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjI1cHgiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPGgzPlBhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgbWluIGdyZWF0ZXIgdGhhbiBtYXg8
L2gyPgorICAgICAgICA8ZGl2IGlkPSJtaW4tZ3JlYXRlci1tYXgiIGNsYXNzPSJwYXJlbnQiIHN0
eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBtaW4taGVpZ2h0OiA3NXB4OyBtYXgtaGVp
Z2h0OiAyNXB4Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6
IDEwMCU7IGhlaWdodDogMTAwJSIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTBweCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9Ijc1cHgiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGgzPlZl
cnRpY2FsIHBhcmVudCB3aXRoIGZpeGVkIHdpZHRoIGFuZCBtYXggc2V0PC9oMj4KKyAgICAgICAg
PGRpdiBpZD0idmVydGljYWwtbWF4IiBjbGFzcz0icGFyZW50IiBzdHlsZT0id2lkdGg6IDUwcHg7
IG1heC13aWR0aDogMjVweDsgaGVpZ2h0OiA1MHB4Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMjVweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwcHgiPjwvZGl2PgorICAgICAgICA8
L2Rpdj4KKyAgICAgICAgPGgzPlZlcnRpY2FsIHBhcmVudCB3aXRoIGZpeGVkIHdpZHRoIGFuZCBt
aW4gc2V0PC9oMj4KKyAgICAgICAgPGRpdiBpZD0idmVydGljYWwtbWluIiBjbGFzcz0icGFyZW50
IiBzdHlsZT0id2lkdGg6IDUwcHg7IG1pbi13aWR0aDogNzVweDsgaGVpZ2h0OiA1MHB4Ij4KKyAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDog
MTAwJSIgZGF0YS1leHBlY3RlZC13aWR0aD0iNzVweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUw
cHgiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGgzPlBhcmVudCB3aXRoIHBlcmNl
bnQgaGVpZ2h0IGFuZCBhIG1heCBzZXQ8L2gzPgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIgYm90dG9tLW1hcmdpbiI+CisgICAgICAgICAgICA8ZGl2IGlkPSJwYXJlbnQtcGVyY2VudC1t
YXgiIGNsYXNzPSJwYXJlbnQiIHN0eWxlPSJtYXgtaGVpZ2h0OiAyNXB4OyB3aWR0aDogNTBweDsg
aGVpZ2h0OiAxMDAlIj4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9
IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIyNXB4Ij48L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgPGgzPlBhcmVudCB3aXRoIHBlcmNlbnQgaGVpZ2h0IGFuZCBh
IG1pbiBzZXQ8L2gzPgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgYm90dG9tLW1hcmdp
biI+CisgICAgICAgICAgICA8ZGl2IGlkPSJwYXJlbnQtcGVyY2VudC1taW4iIGNsYXNzPSJwYXJl
bnQiIHN0eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiA3NXB4Ij4K
KyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBo
ZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSI3NXB4Ij48L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAg
ICAgICAgPGgzPlBhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgcGVyY2VudGFnZSBtYXg8L2gz
PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0i
cGVyY2VudC1tYXgiIGNsYXNzPSJwYXJlbnQiIHN0eWxlPSJtYXgtaGVpZ2h0OiA1MCU7IHdpZHRo
OiA1MHB4OyBoZWlnaHQ6IDUwcHgiPgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxk
IiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIgZGF0YS1leHBlY3RlZC13aWR0aD0i
NTBweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjI1cHgiPjwvZGl2PgorICAgICAgICAgICAgPC9k
aXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8aDM+UGFyZW50IHdpdGggZml4ZWQgaGVpZ2h0
IGFuZCBwZXJjZW50YWdlIG1pbjwvaDM+CisgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBi
b3R0b20tbWFyZ2luIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9InBlcmNlbnQtbWluIiBjbGFzcz0i
cGFyZW50IiBzdHlsZT0id2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgbWluLWhlaWdodDogMTUw
JSI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJ3aWR0aDogMTAw
JTsgaGVpZ2h0OiAxMDAlIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MHB4IiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iNzVweCI+PC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+
CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBhdXRvIGhlaWdodCBhbmQgYSBtYXggc2V0LiBUaGlz
IHRlc3Qgd2lsbCBub3QgaGF2ZSB0aGUgYm9yZGVyIGFsbCBhcm91bmQsIGl0IHdpbGwgb25seSBi
ZSBvbiB0aGUgdG9wIHBvcnRpb24uPC9oMz4KKyAgICAgICAgPGRpdiBpZD0iYXV0by1tYXgiIGNs
YXNzPSJwYXJlbnQgYWhlbSBib3R0b20tbWFyZ2luIiBzdHlsZT0ibWF4LWhlaWdodDogMjVweDsg
d2lkdGg6IDUwcHgiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJ3aWR0
aDogMTAwJTsgaGVpZ2h0OiAxMDAlIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MHB4IiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMHB4Ij48L2Rpdj4KKyAgICAgICAgICAgIFhYWFhYCisgICAgICAgICAg
ICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisgICAgICAgICAg
ICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisgICAgICAgICAg
ICBYWFhYWAorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGgzPlBhcmVudCB3aXRoIGF1dG8gaGVp
Z2h0IGFuZCBhIG1pbiBzZXQ8L2gzPgorICAgICAgICA8ZGl2IGlkPSJhdXRvLW1pbiIgY2xhc3M9
InBhcmVudCBhaGVtIiBzdHlsZT0id2lkdGg6IDUwcHg7IG1pbi1oZWlnaHQ6IDc1cHgiPgorICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAx
MDAlIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MHB4IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMHB4
Ij48L2Rpdj4KKyAgICAgICAgICAgIFhYWFhYCisgICAgICAgICAgICBYWFhYWAorICAgICAgICAg
ICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisgICAgICAgICAgICBYWFhYWAorICAgICAgICAg
ICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisgICAgICAgICAgICBYWFhYWAorICAgICAgICA8
L2Rpdj4KKyAgICAgICAgPGgyPlRoZSBmb2xsb3dpbmcgdHdvIHRlc3RzIHdpbGwgaGF2ZSBhIDYg
cGl4ZWwgcmVkIGJvcmRlci48L2gyPgorICAgICAgICA8aDM+UGFyZW50IHdpdGggZml4ZWQgaGVp
Z2h0IGFuZCBwYWRkaW5nIGFuZCBtYXggc2V0PC9oMj4KKyAgICAgICAgPGRpdiBpZD0icGFyZW50
LXBhZGRpbmctbWF4IiBjbGFzcz0icGFyZW50IiBzdHlsZT0ibWF4LWhlaWdodDogMjVweDsgd2lk
dGg6IDUwcHg7IHBhZGRpbmc6IDVweDsgaGVpZ2h0OiA1MHB4Ij4KKyAgICAgICAgICAgIDxkaXYg
Y2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iNTBweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjI1cHgiPjwvZGl2PgorICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgPGgzPlBhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgcGFk
ZGluZyBhbmQgbWluIHNldDwvaDI+CisgICAgICAgIDxkaXYgaWQ9InBhcmVudC1wYWRkaW5nLW1p
biIgY2xhc3M9InBhcmVudCIgc3R5bGU9IndpZHRoOiA1MHB4OyBwYWRkaW5nOiA1cHg7IGhlaWdo
dDogNTBweDsgbWluLWhlaWdodDogNzVweCI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGls
ZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjUwcHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NXB4Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+
CisgICAgICAgIDxoMz5GaXhlZCBoZWlnaHQgcGFyZW50IHdpdGggc2Nyb2xsIGJhcjwvaDM+Cisg
ICAgICAgIDxkaXYgaWQ9Im92ZXJmbG93IiBjbGFzcz0icGFyZW50IGFoZW0iIHN0eWxlPSJvdmVy
Zmxvdzogc2Nyb2xsOyBtaW4taGVpZ2h0OiA3NXB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4
Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhl
aWdodDogMTAwJSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzVweCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjYwcHgiPjwvZGl2PgorICAgICAgICAgICAgWFhYWFhYWFhYWAorICAgICAgICAgICAgWFhY
WFhYWFhYWAorICAgICAgICAgICAgWFhYWFhYWFhYWAorICAgICAgICAgICAgWFhYWFhYWFhYWAor
ICAgICAgICAgICAgWFhYWFhYWFhYWAorICAgICAgICAgICAgWFhYWFhYWFhYWAorICAgICAgICA8
L2Rpdj4KKyAgICAgICAgPGgzPlBhcmVudCB3aXRoIHBlcmNlbnQgaGVpZ2h0IGFuZCBzY3JvbGwg
YmFyPC9oMz4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGJvdHRvbS1tYXJnaW4iPgor
ICAgICAgICAgICAgPGRpdiBpZD0ib3ZlcmZsb3ctcGVyY2VudCIgY2xhc3M9InBhcmVudCBhaGVt
IiBzdHlsZT0ib3ZlcmZsb3c6IHNjcm9sbDsgbWluLWhlaWdodDogNzVweDsgd2lkdGg6IDUwcHg7
IGhlaWdodDogMTAwJSI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxl
PSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzNXB4IiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iNjBweCI+PC9kaXY+CisgICAgICAgICAgICAgICAgWFhYWFhY
WFhYWAorICAgICAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAgICAgICAgICBYWFhYWFhY
WFhYCisgICAgICAgICAgICAgICAgWFhYWFhYWFhYWAorICAgICAgICAgICAgICAgIFhYWFhYWFhY
WFgKKyAgICAgICAgICAgICAgICBYWFhYWFhYWFhYCisgICAgICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181058</attachid>
            <date>2013-01-02 13:46:12 -0800</date>
            <delta_ts>2013-01-02 15:25:13 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug-26559-20130102134320.patch</filename>
            <type>text/plain</type>
            <size>16932</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTFhZWZkMDcxNzlmMGJk
MTFmNjhjNzk2YjkwOTYwMDk3YTg5NWRhZi4uNjhmZGVhN2QxNmE1ZDA0YjhiNWRmYjEwMGQyYTc0
ZDdjYTUyMDY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAxLTAyICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFdoZW4gYSBibG9jaydz
IGhlaWdodCBpcyBkZXRlcm1pbmVkIGJ5IG1pbi1oZWlnaHQvbWF4LWhlaWdodCwgY2hpbGRyZW4g
d2l0aCBwZXJjZW50YWdlIGhlaWdodHMgYXJlIHNpemVkIGluY29ycmVjdGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjU1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBlcmNlbnRhZ2UgbG9naWNhbCBo
ZWlnaHQgY29tcHV0YXRpb24gbm93IHRha2VzIGludG8gYWNjb3VudCB0aGUgbWluIGFuZCBtYXgg
aGVpZ2h0IG9mIHRoZSBjb250YWluZXIuCisKKyAgICAgICAgVGVzdDogZmFzdC9ibG9jay9taW4t
bWF4LWhlaWdodC1wZXJjZW50LWhlaWdodC1jaGlsZC5odG1sCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWlu
Q29udGVudEJveExvZ2ljYWxIZWlnaHRCeU1pbk1heCk6IEFkZGVkLiBMaWtlIGNvbnN0cmFpbkxv
Z2ljYWxIZWlnaHRCeU1pbk1heCwKKyAgICAgICAgICAgIGJ1dCBjb25zdHJhaW5zIHRoZSBjb250
ZW50IGJveCBpbnN0ZWFkIG9mIHRoZSBib3JkZXIgYm94LgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodCk6
IE1ha2UgY29uc3Qgc28gaXQgY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBjb25zdCBtZXRob2QKKyAg
ICAgICAgICAgIGNvbnN0cmFpbkNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0QnlNaW5NYXguCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodCk6
IFVzZSBjb25zdHJhaW5Db250ZW50Qm94TG9naWNhbEhlaWdodEJ5TWluTWF4IHRvIHByb3Blcmx5
CisgICAgICAgICAgICByZXNwZWN0IG1pbiBhbmQgbWF4IGhlaWdodCBvbiB0aGUgY29udGFpbmlu
ZyBib3ggd2hlbiBjb21wdXRpbmcgdGhlIHBlcmNlbnRhZ2UgaGVpZ2h0LgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKFJlbmRlckJveCk6CisKIDIwMTMtMDEtMDIg
IEtvbmRhcGFsbHkgS2FseWFuICA8a2FseWFuLmtvbmRhcGFsbHlAaW50ZWwuY29tPgogCiAgICAg
ICAgIFtFRkxdIFtXZWJHTF0gTWlub3IgY2xlYW51cCBpbiBQbGF0Zm9ybUNvbnRleHQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDU4YTc0NWFhNTYwYzNhMDQ2ZTM5
OTFiYTA1NjRjMGU5MWM5Nzk3NjcuLmY5ZDU3NWE0YWM4MDczZDZiMDAxMWRiMDBjYmQ4NTRkOTM5
OTc2MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC00NzAsNiAr
NDcwLDE3IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlN
aW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSBjCiAgICAgcmV0dXJuIG1heChsb2dpY2Fs
SGVpZ2h0LCBjb21wdXRlTG9naWNhbEhlaWdodFVzaW5nKE1pblNpemUsIHN0eWxlVG9Vc2UtPmxv
Z2ljYWxNaW5IZWlnaHQoKSkpOwogfQogCitMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWlu
Q29udGVudEJveExvZ2ljYWxIZWlnaHRCeU1pbk1heChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQp
IGNvbnN0Cit7CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UgPSBzdHlsZSgpOworICAgIGlm
ICghc3R5bGVUb1VzZS0+bG9naWNhbE1heEhlaWdodCgpLmlzVW5kZWZpbmVkKCkpIHsKKyAgICAg
ICAgTGF5b3V0VW5pdCBtYXhIID0gY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KE1heFNpemUs
IHN0eWxlVG9Vc2UtPmxvZ2ljYWxNYXhIZWlnaHQoKSk7CisgICAgICAgIGlmIChtYXhIICE9IC0x
KQorICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IG1pbihsb2dpY2FsSGVpZ2h0LCBtYXhIKTsK
KyAgICB9CisgICAgcmV0dXJuIG1heChsb2dpY2FsSGVpZ2h0LCBjb21wdXRlQ29udGVudExvZ2lj
YWxIZWlnaHQoTWluU2l6ZSwgc3R5bGVUb1VzZS0+bG9naWNhbE1pbkhlaWdodCgpKSk7Cit9CisK
IEludFJlY3QgUmVuZGVyQm94OjphYnNvbHV0ZUNvbnRlbnRCb3goKSBjb25zdAogewogICAgIC8v
IFRoaXMgaXMgd3Jvbmcgd2l0aCB0cmFuc2Zvcm1zIGFuZCBmbGlwcGVkIHdyaXRpbmcgbW9kZXMu
CkBAIC0yMjk4LDcgKzIzMDksNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUxvZ2lj
YWxIZWlnaHRVc2luZyhTaXplVHlwZSBoZWlnaHRUeXBlLCBjb25zdCBMZW5ndAogICAgIHJldHVy
biBsb2dpY2FsSGVpZ2h0OwogfQogCi1MYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUNvbnRl
bnRMb2dpY2FsSGVpZ2h0KFNpemVUeXBlIGhlaWdodFR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0
KQorTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChTaXpl
VHlwZSBoZWlnaHRUeXBlLCBjb25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3QKIHsKICAgICBMYXlv
dXRVbml0IGhlaWdodEluY2x1ZGluZ1Njcm9sbGJhciA9IGNvbXB1dGVDb250ZW50QW5kU2Nyb2xs
YmFyTG9naWNhbEhlaWdodFVzaW5nKGhlaWdodFR5cGUsIGhlaWdodCk7CiAgICAgaWYgKGhlaWdo
dEluY2x1ZGluZ1Njcm9sbGJhciA9PSAtMSkKQEAgLTIzODEsMTQgKzIzOTIsMTkgQEAgTGF5b3V0
VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChjb25zdCBMZW5n
dGgmIGhlaWdodCkgY29uc3QKICAgICAgICAgICAgIGluY2x1ZGVCb3JkZXJQYWRkaW5nID0gdHJ1
ZTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoY2JzdHlsZS0+bG9naWNhbEhlaWdodCgpLmlz
Rml4ZWQoKSkgewotICAgICAgICBMYXlvdXRVbml0IGNvbnRlbnRCb3hIZWlnaHRXaXRoU2Nyb2xs
YmFyID0gY2ItPmFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKGNic3R5
bGUtPmxvZ2ljYWxIZWlnaHQoKS52YWx1ZSgpKTsKLSAgICAgICAgYXZhaWxhYmxlSGVpZ2h0ID0g
bWF4PExheW91dFVuaXQ+KDAsIGNvbnRlbnRCb3hIZWlnaHRXaXRoU2Nyb2xsYmFyIC0gY2ItPnNj
cm9sbGJhckxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIExheW91dFVuaXQgY29udGVudEJveEhl
aWdodCA9IGNiLT5hZGp1c3RDb250ZW50Qm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhjYnN0
eWxlLT5sb2dpY2FsSGVpZ2h0KCkudmFsdWUoKSk7CisgICAgICAgIGF2YWlsYWJsZUhlaWdodCA9
IG1heDxMYXlvdXRVbml0PigwLCBjYi0+Y29uc3RyYWluQ29udGVudEJveExvZ2ljYWxIZWlnaHRC
eU1pbk1heChjb250ZW50Qm94SGVpZ2h0IC0gY2ItPnNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSkp
OwogICAgIH0gZWxzZSBpZiAoY2JzdHlsZS0+bG9naWNhbEhlaWdodCgpLmlzUGVyY2VudCgpICYm
ICFpc091dE9mRmxvd1Bvc2l0aW9uZWRXaXRoU3BlY2lmaWVkSGVpZ2h0KSB7CiAgICAgICAgIC8v
IFdlIG5lZWQgdG8gcmVjdXIgYW5kIGNvbXB1dGUgdGhlIHBlcmNlbnRhZ2UgaGVpZ2h0IGZvciBv
dXIgY29udGFpbmluZyBibG9jay4KICAgICAgICAgTGF5b3V0VW5pdCBoZWlnaHRXaXRoU2Nyb2xs
YmFyID0gY2ItPmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChjYnN0eWxlLT5sb2dpY2Fs
SGVpZ2h0KCkpOwogICAgICAgICBpZiAoaGVpZ2h0V2l0aFNjcm9sbGJhciAhPSAtMSkgewogICAg
ICAgICAgICAgTGF5b3V0VW5pdCBjb250ZW50Qm94SGVpZ2h0V2l0aFNjcm9sbGJhciA9IGNiLT5h
ZGp1c3RDb250ZW50Qm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhoZWlnaHRXaXRoU2Nyb2xs
YmFyKTsKLSAgICAgICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IG1heDxMYXlvdXRVbml0PigwLCBj
b250ZW50Qm94SGVpZ2h0V2l0aFNjcm9sbGJhciAtIGNiLT5zY3JvbGxiYXJMb2dpY2FsSGVpZ2h0
KCkpOworICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgZm9yIG1pbi9tYXggaGVpZ2h0
IGJlY2F1c2UgdGhpcyBtZXRob2QgZG9lcyBub3QKKyAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUg
bWluL21heCBvZiB0aGUgY3VycmVudCBibG9jaywgaXQncyBjYWxsZXIgZG9lcy4gU28gdGhlCisg
ICAgICAgICAgICAvLyByZXR1cm4gdmFsdWUgZnJvbSB0aGUgcmVjdXJzaXZlIGNhbGwgd2lsbCBu
b3QgaGF2ZSBiZWVuIGFkanVzdGVkCisgICAgICAgICAgICAvLyB5ZXQuCisgICAgICAgICAgICBM
YXlvdXRVbml0IGNvbnRlbnRCb3hIZWlnaHQgPSBjYi0+Y29uc3RyYWluQ29udGVudEJveExvZ2lj
YWxIZWlnaHRCeU1pbk1heChjb250ZW50Qm94SGVpZ2h0V2l0aFNjcm9sbGJhciAtIGNiLT5zY3Jv
bGxiYXJMb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICAgICAgYXZhaWxhYmxlSGVpZ2h0ID0gbWF4
PExheW91dFVuaXQ+KDAsIGNvbnRlbnRCb3hIZWlnaHQpOwogICAgICAgICB9CiAgICAgfSBlbHNl
IGlmIChjYi0+aXNSZW5kZXJWaWV3KCkgfHwgaXNPdXRPZkZsb3dQb3NpdGlvbmVkV2l0aFNwZWNp
ZmllZEhlaWdodCkgewogICAgICAgICAvLyBEb24ndCBhbGxvdyB0aGlzIHRvIGFmZmVjdCB0aGUg
YmxvY2snIGhlaWdodCgpIG1lbWJlciB2YXJpYWJsZSwgc2luY2UgdGhpcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IDg2OWYzNmNkMTI2MWE5ODdiOTBlY2M5ZWE1ZmQyNjk2
MzJhYjJiY2UuLmU5NTNjNjZkOGJjN2RiOTBmNzNhOTA1MTdhMjEyNTg1NThiMWMxMTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTgyLDYgKzgyLDcgQEAgcHVibGljOgog
CiAgICAgTGF5b3V0VW5pdCBjb25zdHJhaW5Mb2dpY2FsV2lkdGhJblJlZ2lvbkJ5TWluTWF4KExh
eW91dFVuaXQsIExheW91dFVuaXQsIFJlbmRlckJsb2NrKiwgUmVuZGVyUmVnaW9uKiA9IDAsIExh
eW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSA9IDApIGNvbnN0OwogICAg
IExheW91dFVuaXQgY29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVuaXQpIGNv
bnN0OworICAgIExheW91dFVuaXQgY29uc3RyYWluQ29udGVudEJveExvZ2ljYWxIZWlnaHRCeU1p
bk1heChMYXlvdXRVbml0KSBjb25zdDsKIAogICAgIGludCBwaXhlbFNuYXBwZWRMb2dpY2FsSGVp
Z2h0KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IHBpeGVsU25hcHBlZEhlaWdodCgpIDogcGl4ZWxTbmFwcGVkV2lkdGgoKTsgfQogICAgIGludCBw
aXhlbFNuYXBwZWRMb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gcGl4ZWxTbmFwcGVkV2lkdGgoKSA6IHBpeGVsU25hcHBlZEhl
aWdodCgpOyB9CkBAIC00MTMsNyArNDE0LDcgQEAgcHVibGljOgogCiAgICAgTGF5b3V0VW5pdCBj
b21wdXRlTG9naWNhbFdpZHRoSW5SZWdpb25Vc2luZyhTaXplVHlwZSwgTGF5b3V0VW5pdCBhdmFp
bGFibGVMb2dpY2FsV2lkdGgsIGNvbnN0IFJlbmRlckJsb2NrKiBjb250YWluaW5nQmxvY2ssIFJl
bmRlclJlZ2lvbiosIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSkg
Y29uc3Q7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlTG9naWNhbEhlaWdodFVzaW5nKFNpemVUeXBl
LCBjb25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBjb21wdXRlQ29u
dGVudExvZ2ljYWxIZWlnaHQoU2l6ZVR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KTsKKyAgICBM
YXlvdXRVbml0IGNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChTaXplVHlwZSwgY29uc3QgTGVu
Z3RoJiBoZWlnaHQpIGNvbnN0OwogICAgIExheW91dFVuaXQgY29tcHV0ZUNvbnRlbnRBbmRTY3Jv
bGxiYXJMb2dpY2FsSGVpZ2h0VXNpbmcoU2l6ZVR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBj
b25zdDsKICAgICBMYXlvdXRVbml0IGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKFNp
emVUeXBlLCBMZW5ndGggd2lkdGgpIGNvbnN0OwogICAgIExheW91dFVuaXQgY29tcHV0ZVJlcGxh
Y2VkTG9naWNhbFdpZHRoUmVzcGVjdGluZ01pbk1heFdpZHRoKExheW91dFVuaXQgbG9naWNhbFdp
ZHRoLCBTaG91bGRDb21wdXRlUHJlZmVycmVkICA9IENvbXB1dGVBY3R1YWwpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDkzNWM4OWUxZThiMWZlNjdlY2FkZTE3NWRhNjk1MWU1MjAwOGE3NDEuLjRkNzIxZTYyY2Ix
NDkzYjFiYjliYmZkNzhkYTYxNjY5ODlhMmQ5N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
My0wMS0wMiAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAgICAgICBX
aGVuIGEgYmxvY2sncyBoZWlnaHQgaXMgZGV0ZXJtaW5lZCBieSBtaW4taGVpZ2h0L21heC1oZWln
aHQsIGNoaWxkcmVuIHdpdGggcGVyY2VudGFnZSBoZWlnaHRzIGFyZSBzaXplZCBpbmNvcnJlY3Rs
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY1NTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVz
dHMgdG8gZW5zdXJlIHBlcmNlbnQgaGVpZ2h0cyBhcmUgY29ycmVjdGx5IGRldGVybWluZWQuCisK
KyAgICAgICAgKiBmYXN0L2Jsb2NrL21pbi1tYXgtaGVpZ2h0LXBlcmNlbnQtaGVpZ2h0LWNoaWxk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ibG9jay9taW4tbWF4LWhlaWdo
dC1wZXJjZW50LWhlaWdodC1jaGlsZC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMS0wMiAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjEzODYwMS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxv
Y2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhlaWdodC1jaGlsZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA2OWFlYmUxYWE2MDdiMmY3YzIwZTkyNzA1ODRlMjBl
Mzg2YTVmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbWluLW1h
eC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTcg
QEAKK0J1ZyAyNjU1OTogV2hlbiBhIGJsb2NrJ3MgaGVpZ2h0IGlzIGRldGVybWluZWQgYnkgbWlu
LWhlaWdodC9tYXgtaGVpZ2h0LCBjaGlsZHJlbiB3aXRoIHBlcmNlbnRhZ2UgaGVpZ2h0cyBhcmUg
c2l6ZWQgaW5jb3JyZWN0bHkKKworVGVzdHMgdG8gbWFrZSBzdXJlIGEgY2hpbGQgd2l0aCBwZXJj
ZW50YWdlIGhlaWdodCBpcyBjb21wdXRlZCBwcm9wZXJseSB3aGVuIHRoZSBwYXJlbnQgaGFzIGEg
bWF4IG9yIG1pbiBoZWlnaHQgc2V0LgorCitFYWNoIG9mIHRoZSBmb2xsb3dpbmcgdGVzdHMgc2hv
dWxkIGRpc3BsYXkgYSBncmVlbiByZWN0YW5nbGUgd2l0aCBhIDEgcGl4ZWwgcmVkIGJvcmRlciBv
biBhbGwgc2lkZXMuCisKK1BhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgbWluIHNldAorCitQ
QVNTCitQYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIG1heCBzZXQKKworUEFTUworUGFyZW50
IHdpdGggZml4ZWQgaGVpZ2h0IGFuZCBtaW4gZ3JlYXRlciB0aGFuIG1heAorCitQQVNTCitWZXJ0
aWNhbCBwYXJlbnQgd2l0aCBmaXhlZCB3aWR0aCBhbmQgbWF4IHNldAorCitQQVNTCitWZXJ0aWNh
bCBwYXJlbnQgd2l0aCBmaXhlZCB3aWR0aCBhbmQgbWluIHNldAorCitQQVNTCitQYXJlbnQgd2l0
aCBwZXJjZW50IGhlaWdodCBhbmQgYSBtYXggc2V0CisKK1BBU1MKK1BhcmVudCB3aXRoIHBlcmNl
bnQgaGVpZ2h0IGFuZCBhIG1pbiBzZXQKKworUEFTUworUGFyZW50IHdpdGggZml4ZWQgaGVpZ2h0
IGFuZCBwZXJjZW50YWdlIG1heAorCitQQVNTCitQYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5k
IHBlcmNlbnRhZ2UgbWluCisKK1BBU1MKK1BhcmVudCB3aXRoIGF1dG8gaGVpZ2h0IGFuZCBhIG1h
eCBzZXQuIFRoaXMgdGVzdCB3aWxsIG5vdCBoYXZlIHRoZSBib3JkZXIgYWxsIGFyb3VuZCwgaXQg
d2lsbCBvbmx5IGJlIG9uIHRoZSB0b3AgcG9ydGlvbi4KKworWFhYWFggWFhYWFggWFhYWFggWFhY
WFggWFhYWFggWFhYWFggWFhYWFggWFhYWFgKK1BBU1MKK1BhcmVudCB3aXRoIGF1dG8gaGVpZ2h0
IGFuZCBhIG1pbiBzZXQKKworWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhY
WFggWFhYWFgKK1BBU1MKK1RoZSBmb2xsb3dpbmcgdHdvIHRlc3RzIHdpbGwgaGF2ZSBhIDYgcGl4
ZWwgcmVkIGJvcmRlci4KKworUGFyZW50IHdpdGggZml4ZWQgaGVpZ2h0IGFuZCBwYWRkaW5nIGFu
ZCBtYXggc2V0CisKK1BBU1MKK1BhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgcGFkZGluZyBh
bmQgbWluIHNldAorCitQQVNTCitGaXhlZCBoZWlnaHQgcGFyZW50IHdpdGggc2Nyb2xsIGJhcgor
CitYWFhYWFhYWFhYIFhYWFhYWFhYWFggWFhYWFhYWFhYWCBYWFhYWFhYWFhYIFhYWFhYWFhYWFgg
WFhYWFhYWFhYWAorUEFTUworUGFyZW50IHdpdGggcGVyY2VudCBoZWlnaHQgYW5kIHNjcm9sbCBi
YXIKKworWFhYWFhYWFhYWCBYWFhYWFhYWFhYIFhYWFhYWFhYWFggWFhYWFhYWFhYWCBYWFhYWFhY
WFhYIFhYWFhYWFhYWFgKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2sv
bWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvYmxvY2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lZmYxZTk1YzRlMWY2N2RlYzY4YTg4Zjk3YjA3YTYyZjdlZWNkZjBkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhl
aWdodC1jaGlsZC5odG1sCkBAIC0wLDAgKzEsMTM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGUgaWQ9InN0eWxlc2hlZXQiPgorICAgICAgICAg
ICAgLmNvbnRhaW5lciB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7CisgICAgICAgICAg
ICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICAgICAgfQorICAgICAgICAgICAgLmJvdHRvbS1t
YXJnaW4geworICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICAuYWhlbSB7CisgICAgICAgICAgICAgICAgZm9udDogMTBweC8xIEFo
ZW0sIHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgY29sb3I6IGdyZWVuOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgLnBhcmVudCB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1j
b2xvcjogcmVkOworICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIC5jaGlsZCB7CisgICAgICAgICAgICAgICAgYmFja2dyb3Vu
ZC1jb2xvcjogZ3JlZW47CisgICAgICAgICAgICB9CisgICAgICAgICAgICAudmVydGljYWwgeyAt
d2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgICAgICAgICBjaGVja0xheW91dCgiLnBhcmVudCIpOworICAgICAg
ICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxoMT48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjY1NTkiPkJ1ZyAyNjU1OTwvYT46IFdoZW4gYSBibG9jaydzIGhlaWdodCBpcyBkZXRlcm1pbmVk
IGJ5IG1pbi1oZWlnaHQvbWF4LWhlaWdodCwgY2hpbGRyZW4gd2l0aCBwZXJjZW50YWdlIGhlaWdo
dHMgYXJlIHNpemVkIGluY29ycmVjdGx5PC9oMT4KKyAgICAgICAgPGgxPlRlc3RzIHRvIG1ha2Ug
c3VyZSBhIGNoaWxkIHdpdGggcGVyY2VudGFnZSBoZWlnaHQgaXMgY29tcHV0ZWQgcHJvcGVybHkg
d2hlbiB0aGUgcGFyZW50IGhhcyBhIG1heCBvciBtaW4gaGVpZ2h0IHNldC48L2gxPgorICAgICAg
ICA8aDI+RWFjaCBvZiB0aGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBkaXNwbGF5IGEgZ3JlZW4g
cmVjdGFuZ2xlIHdpdGggYSAxIHBpeGVsIHJlZCBib3JkZXIgb24gYWxsIHNpZGVzLjwvaDI+Cisg
ICAgICAgIDxoMz5QYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIG1pbiBzZXQ8L2gyPgorICAg
ICAgICA8ZGl2IGlkPSJzaW1wbGUtbWluIiBjbGFzcz0icGFyZW50IiBzdHlsZT0id2lkdGg6IDUw
cHg7IGhlaWdodDogNTBweDsgbWluLWhlaWdodDogNzVweCI+CisgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NXB4Ij48L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIG1heCBz
ZXQ8L2gyPgorICAgICAgICA8ZGl2IGlkPSJzaW1wbGUtbWF4IiBjbGFzcz0icGFyZW50IiBzdHls
ZT0ibWF4LWhlaWdodDogMjVweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweCI+CisgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyNXB4Ij48
L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBmaXhlZCBoZWln
aHQgYW5kIG1pbiBncmVhdGVyIHRoYW4gbWF4PC9oMj4KKyAgICAgICAgPGRpdiBpZD0ibWluLWdy
ZWF0ZXItbWF4IiBjbGFzcz0icGFyZW50IiBzdHlsZT0id2lkdGg6IDUwcHg7IGhlaWdodDogNTBw
eDsgbWluLWhlaWdodDogNzVweDsgbWF4LWhlaWdodDogMjVweCI+CisgICAgICAgICAgICA8ZGl2
IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NXB4Ij48L2Rpdj4KKyAg
ICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5WZXJ0aWNhbCBwYXJlbnQgd2l0aCBmaXhlZCB3aWR0
aCBhbmQgbWF4IHNldDwvaDI+CisgICAgICAgIDxkaXYgaWQ9InZlcnRpY2FsLW1heCIgY2xhc3M9
InBhcmVudCIgc3R5bGU9IndpZHRoOiA1MHB4OyBtYXgtd2lkdGg6IDI1cHg7IGhlaWdodDogNTBw
eCI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBo
ZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjI1cHgiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSI1MHB4Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5WZXJ0aWNhbCBw
YXJlbnQgd2l0aCBmaXhlZCB3aWR0aCBhbmQgbWluIHNldDwvaDI+CisgICAgICAgIDxkaXYgaWQ9
InZlcnRpY2FsLW1pbiIgY2xhc3M9InBhcmVudCIgc3R5bGU9IndpZHRoOiA1MHB4OyBtaW4td2lk
dGg6IDc1cHg7IGhlaWdodDogNTBweCI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIg
c3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9Ijc1
cHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MHB4Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxoMz5QYXJlbnQgd2l0aCBwZXJjZW50IGhlaWdodCBhbmQgYSBtYXggc2V0PC9oMz4K
KyAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGJvdHRvbS1tYXJnaW4iPgorICAgICAgICAg
ICAgPGRpdiBpZD0icGFyZW50LXBlcmNlbnQtbWF4IiBjbGFzcz0icGFyZW50IiBzdHlsZT0ibWF4
LWhlaWdodDogMjVweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogMTAwJSI+CisgICAgICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI1MHB4IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjVweCI+PC9k
aXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJl
bnQgd2l0aCBwZXJjZW50IGhlaWdodCBhbmQgYSBtaW4gc2V0PC9oMz4KKyAgICAgICAgPGRpdiBj
bGFzcz0iY29udGFpbmVyIGJvdHRvbS1tYXJnaW4iPgorICAgICAgICAgICAgPGRpdiBpZD0icGFy
ZW50LXBlcmNlbnQtbWluIiBjbGFzcz0icGFyZW50IiBzdHlsZT0id2lkdGg6IDUwcHg7IGhlaWdo
dDogMTAwJTsgbWluLWhlaWdodDogNzVweCI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
Y2hpbGQiIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSI1MHB4IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzVweCI+PC9kaXY+CisgICAgICAgICAg
ICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBmaXhlZCBo
ZWlnaHQgYW5kIHBlcmNlbnRhZ2UgbWF4PC9oMz4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29udGFp
bmVyIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9InBlcmNlbnQtbWF4IiBjbGFzcz0icGFyZW50IiBz
dHlsZT0ibWF4LWhlaWdodDogNTAlOyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4Ij4KKyAgICAg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6
IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIy
NXB4Ij48L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAg
PGgzPlBhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgcGVyY2VudGFnZSBtaW48L2gzPgorICAg
ICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgYm90dG9tLW1hcmdpbiI+CisgICAgICAgICAgICA8
ZGl2IGlkPSJwZXJjZW50LW1pbiIgY2xhc3M9InBhcmVudCIgc3R5bGU9IndpZHRoOiA1MHB4OyBo
ZWlnaHQ6IDUwcHg7IG1pbi1oZWlnaHQ6IDE1MCUiPgorICAgICAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iNTBweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1cHgiPjwvZGl2PgorICAgICAg
ICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8aDM+UGFyZW50IHdpdGggYXV0
byBoZWlnaHQgYW5kIGEgbWF4IHNldC4gVGhpcyB0ZXN0IHdpbGwgbm90IGhhdmUgdGhlIGJvcmRl
ciBhbGwgYXJvdW5kLCBpdCB3aWxsIG9ubHkgYmUgb24gdGhlIHRvcCBwb3J0aW9uLjwvaDM+Cisg
ICAgICAgIDxkaXYgaWQ9ImF1dG8tbWF4IiBjbGFzcz0icGFyZW50IGFoZW0gYm90dG9tLW1hcmdp
biIgc3R5bGU9Im1heC1oZWlnaHQ6IDI1cHg7IHdpZHRoOiA1MHB4Ij4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iNTBweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjBweCI+PC9kaXY+Cisg
ICAgICAgICAgICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisg
ICAgICAgICAgICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisg
ICAgICAgICAgICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgPC9kaXY+CisgICAg
ICAgIDxoMz5QYXJlbnQgd2l0aCBhdXRvIGhlaWdodCBhbmQgYSBtaW4gc2V0PC9oMz4KKyAgICAg
ICAgPGRpdiBpZD0iYXV0by1taW4iIGNsYXNzPSJwYXJlbnQgYWhlbSIgc3R5bGU9IndpZHRoOiA1
MHB4OyBtaW4taGVpZ2h0OiA3NXB4Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBz
dHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTBw
eCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjBweCI+PC9kaXY+CisgICAgICAgICAgICBYWFhYWAor
ICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisgICAgICAgICAgICBYWFhYWAor
ICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisgICAgICAgICAgICBYWFhYWAor
ICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMj5UaGUgZm9sbG93
aW5nIHR3byB0ZXN0cyB3aWxsIGhhdmUgYSA2IHBpeGVsIHJlZCBib3JkZXIuPC9oMj4KKyAgICAg
ICAgPGgzPlBhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgcGFkZGluZyBhbmQgbWF4IHNldDwv
aDI+CisgICAgICAgIDxkaXYgaWQ9InBhcmVudC1wYWRkaW5nLW1heCIgY2xhc3M9InBhcmVudCIg
c3R5bGU9Im1heC1oZWlnaHQ6IDI1cHg7IHdpZHRoOiA1MHB4OyBwYWRkaW5nOiA1cHg7IGhlaWdo
dDogNTBweCI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAx
MDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIyNXB4Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJl
bnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIHBhZGRpbmcgYW5kIG1pbiBzZXQ8L2gyPgorICAgICAg
ICA8ZGl2IGlkPSJwYXJlbnQtcGFkZGluZy1taW4iIGNsYXNzPSJwYXJlbnQiIHN0eWxlPSJ3aWR0
aDogNTBweDsgcGFkZGluZzogNXB4OyBoZWlnaHQ6IDUwcHg7IG1pbi1oZWlnaHQ6IDc1cHgiPgor
ICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0
OiAxMDAlIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MHB4IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
NzVweCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8aDM+Rml4ZWQgaGVpZ2h0IHBh
cmVudCB3aXRoIHNjcm9sbCBiYXI8L2gzPgorICAgICAgICA8ZGl2IGlkPSJvdmVyZmxvdyIgY2xh
c3M9InBhcmVudCBhaGVtIiBzdHlsZT0ib3ZlcmZsb3c6IHNjcm9sbDsgbWluLWhlaWdodDogNzVw
eDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweCI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJj
aGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjM1cHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI2MHB4Ij48L2Rpdj4KKyAgICAgICAgICAg
IFhYWFhYWFhYWFgKKyAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAgICAgIFhYWFhYWFhY
WFgKKyAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAg
ICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0
aCBwZXJjZW50IGhlaWdodCBhbmQgc2Nyb2xsIGJhcjwvaDM+CisgICAgICAgIDxkaXYgY2xhc3M9
ImNvbnRhaW5lciBib3R0b20tbWFyZ2luIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9Im92ZXJmbG93
LXBlcmNlbnQiIGNsYXNzPSJwYXJlbnQgYWhlbSIgc3R5bGU9Im92ZXJmbG93OiBzY3JvbGw7IG1p
bi1oZWlnaHQ6IDc1cHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDEwMCUiPgorICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMzVweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwcHgiPjwv
ZGl2PgorICAgICAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAgICAgICAgICBYWFhYWFhY
WFhYCisgICAgICAgICAgICAgICAgWFhYWFhYWFhYWAorICAgICAgICAgICAgICAgIFhYWFhYWFhY
WFgKKyAgICAgICAgICAgICAgICBYWFhYWFhYWFhYCisgICAgICAgICAgICAgICAgWFhYWFhYWFhY
WAorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4K
</data>
<flag name="review"
          id="198539"
          type_id="1"
          status="+"
          setter="tony"
    />
    <flag name="commit-queue"
          id="198540"
          type_id="3"
          status="-"
          setter="tony"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181079</attachid>
            <date>2013-01-02 15:24:50 -0800</date>
            <delta_ts>2013-01-02 15:55:39 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug-26559-20130102152158.patch</filename>
            <type>text/plain</type>
            <size>16944</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTM5MGM5YTQ4NGI4MmU4
MGViMzcyMmIzNTU3NDIwN2VkMTYxMjlhMC4uMjk3ZjdjYjg4ZGU2ODQxOTg4MjQ4YWE0OGU4YWQ0
ZjdlMjI0NGQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAxLTAyICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFdoZW4gYSBibG9jaydz
IGhlaWdodCBpcyBkZXRlcm1pbmVkIGJ5IG1pbi1oZWlnaHQvbWF4LWhlaWdodCwgY2hpbGRyZW4g
d2l0aCBwZXJjZW50YWdlIGhlaWdodHMgYXJlIHNpemVkIGluY29ycmVjdGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjU1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgUGVyY2VudGFnZSBsb2dpY2FsIGhlaWdo
dCBjb21wdXRhdGlvbiBub3cgdGFrZXMgaW50byBhY2NvdW50IHRoZSBtaW4gYW5kIG1heCBoZWln
aHQgb2YgdGhlIGNvbnRhaW5lci4KKworICAgICAgICBUZXN0OiBmYXN0L2Jsb2NrL21pbi1tYXgt
aGVpZ2h0LXBlcmNlbnQtaGVpZ2h0LWNoaWxkLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb25zdHJhaW5Db250
ZW50Qm94TG9naWNhbEhlaWdodEJ5TWluTWF4KTogQWRkZWQuIExpa2UgY29uc3RyYWluTG9naWNh
bEhlaWdodEJ5TWluTWF4LAorICAgICAgICAgICAgYnV0IGNvbnN0cmFpbnMgdGhlIGNvbnRlbnQg
Ym94IGluc3RlYWQgb2YgdGhlIGJvcmRlciBib3guCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KTogTWFr
ZSBjb25zdCBzbyBpdCBjYW4gYmUgY2FsbGVkIGZyb20gdGhlIGNvbnN0IG1ldGhvZAorICAgICAg
ICAgICAgY29uc3RyYWluQ29udGVudEJveExvZ2ljYWxIZWlnaHRCeU1pbk1heC4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KTogVXNl
IGNvbnN0cmFpbkNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0QnlNaW5NYXggdG8gcHJvcGVybHkKKyAg
ICAgICAgICAgIHJlc3BlY3QgbWluIGFuZCBtYXggaGVpZ2h0IG9uIHRoZSBjb250YWluaW5nIGJv
eCB3aGVuIGNvbXB1dGluZyB0aGUgcGVyY2VudGFnZSBoZWlnaHQuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJveC5oOgorICAgICAgICAoUmVuZGVyQm94KToKKwogMjAxMy0wMS0wMiAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEhUTUwgcHJlbG9hZCBzY2Fu
bmVyIGRvZXNuJ3QgbmVlZCB0byByZW1lbWJlciB3aGV0aGVyIHdlJ3JlIHNjYW5uaW5nIHRoZSBi
b2R5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDU4YTc0NWFhNTYw
YzNhMDQ2ZTM5OTFiYTA1NjRjMGU5MWM5Nzk3NjcuLmIzNDA2ZGE4ZjFlM2VjNTUxNWQyMDQwZDA4
MGVjMDNkYTM0MmFkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBA
IC00NzAsNiArNDcwLDE3IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2Fs
SGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSBjCiAgICAgcmV0dXJuIG1h
eChsb2dpY2FsSGVpZ2h0LCBjb21wdXRlTG9naWNhbEhlaWdodFVzaW5nKE1pblNpemUsIHN0eWxl
VG9Vc2UtPmxvZ2ljYWxNaW5IZWlnaHQoKSkpOwogfQogCitMYXlvdXRVbml0IFJlbmRlckJveDo6
Y29uc3RyYWluQ29udGVudEJveExvZ2ljYWxIZWlnaHRCeU1pbk1heChMYXlvdXRVbml0IGxvZ2lj
YWxIZWlnaHQpIGNvbnN0Cit7CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UgPSBzdHlsZSgp
OworICAgIGlmICghc3R5bGVUb1VzZS0+bG9naWNhbE1heEhlaWdodCgpLmlzVW5kZWZpbmVkKCkp
IHsKKyAgICAgICAgTGF5b3V0VW5pdCBtYXhIID0gY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0
KE1heFNpemUsIHN0eWxlVG9Vc2UtPmxvZ2ljYWxNYXhIZWlnaHQoKSk7CisgICAgICAgIGlmICht
YXhIICE9IC0xKQorICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IG1pbihsb2dpY2FsSGVpZ2h0
LCBtYXhIKTsKKyAgICB9CisgICAgcmV0dXJuIG1heChsb2dpY2FsSGVpZ2h0LCBjb21wdXRlQ29u
dGVudExvZ2ljYWxIZWlnaHQoTWluU2l6ZSwgc3R5bGVUb1VzZS0+bG9naWNhbE1pbkhlaWdodCgp
KSk7Cit9CisKIEludFJlY3QgUmVuZGVyQm94OjphYnNvbHV0ZUNvbnRlbnRCb3goKSBjb25zdAog
ewogICAgIC8vIFRoaXMgaXMgd3Jvbmcgd2l0aCB0cmFuc2Zvcm1zIGFuZCBmbGlwcGVkIHdyaXRp
bmcgbW9kZXMuCkBAIC0yMjk4LDcgKzIzMDksNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29t
cHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSBoZWlnaHRUeXBlLCBjb25zdCBMZW5ndAog
ICAgIHJldHVybiBsb2dpY2FsSGVpZ2h0OwogfQogCi1MYXlvdXRVbml0IFJlbmRlckJveDo6Y29t
cHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KFNpemVUeXBlIGhlaWdodFR5cGUsIGNvbnN0IExlbmd0
aCYgaGVpZ2h0KQorTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVDb250ZW50TG9naWNhbEhl
aWdodChTaXplVHlwZSBoZWlnaHRUeXBlLCBjb25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3QKIHsK
ICAgICBMYXlvdXRVbml0IGhlaWdodEluY2x1ZGluZ1Njcm9sbGJhciA9IGNvbXB1dGVDb250ZW50
QW5kU2Nyb2xsYmFyTG9naWNhbEhlaWdodFVzaW5nKGhlaWdodFR5cGUsIGhlaWdodCk7CiAgICAg
aWYgKGhlaWdodEluY2x1ZGluZ1Njcm9sbGJhciA9PSAtMSkKQEAgLTIzODEsMTQgKzIzOTIsMTkg
QEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChj
b25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3QKICAgICAgICAgICAgIGluY2x1ZGVCb3JkZXJQYWRk
aW5nID0gdHJ1ZTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoY2JzdHlsZS0+bG9naWNhbEhl
aWdodCgpLmlzRml4ZWQoKSkgewotICAgICAgICBMYXlvdXRVbml0IGNvbnRlbnRCb3hIZWlnaHRX
aXRoU2Nyb2xsYmFyID0gY2ItPmFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6
aW5nKGNic3R5bGUtPmxvZ2ljYWxIZWlnaHQoKS52YWx1ZSgpKTsKLSAgICAgICAgYXZhaWxhYmxl
SGVpZ2h0ID0gbWF4PExheW91dFVuaXQ+KDAsIGNvbnRlbnRCb3hIZWlnaHRXaXRoU2Nyb2xsYmFy
IC0gY2ItPnNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIExheW91dFVuaXQgY29u
dGVudEJveEhlaWdodCA9IGNiLT5hZGp1c3RDb250ZW50Qm94TG9naWNhbEhlaWdodEZvckJveFNp
emluZyhjYnN0eWxlLT5sb2dpY2FsSGVpZ2h0KCkudmFsdWUoKSk7CisgICAgICAgIGF2YWlsYWJs
ZUhlaWdodCA9IG1heDxMYXlvdXRVbml0PigwLCBjYi0+Y29uc3RyYWluQ29udGVudEJveExvZ2lj
YWxIZWlnaHRCeU1pbk1heChjb250ZW50Qm94SGVpZ2h0IC0gY2ItPnNjcm9sbGJhckxvZ2ljYWxI
ZWlnaHQoKSkpOwogICAgIH0gZWxzZSBpZiAoY2JzdHlsZS0+bG9naWNhbEhlaWdodCgpLmlzUGVy
Y2VudCgpICYmICFpc091dE9mRmxvd1Bvc2l0aW9uZWRXaXRoU3BlY2lmaWVkSGVpZ2h0KSB7CiAg
ICAgICAgIC8vIFdlIG5lZWQgdG8gcmVjdXIgYW5kIGNvbXB1dGUgdGhlIHBlcmNlbnRhZ2UgaGVp
Z2h0IGZvciBvdXIgY29udGFpbmluZyBibG9jay4KICAgICAgICAgTGF5b3V0VW5pdCBoZWlnaHRX
aXRoU2Nyb2xsYmFyID0gY2ItPmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChjYnN0eWxl
LT5sb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICBpZiAoaGVpZ2h0V2l0aFNjcm9sbGJhciAhPSAt
MSkgewogICAgICAgICAgICAgTGF5b3V0VW5pdCBjb250ZW50Qm94SGVpZ2h0V2l0aFNjcm9sbGJh
ciA9IGNiLT5hZGp1c3RDb250ZW50Qm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhoZWlnaHRX
aXRoU2Nyb2xsYmFyKTsKLSAgICAgICAgICAgIGF2YWlsYWJsZUhlaWdodCA9IG1heDxMYXlvdXRV
bml0PigwLCBjb250ZW50Qm94SGVpZ2h0V2l0aFNjcm9sbGJhciAtIGNiLT5zY3JvbGxiYXJMb2dp
Y2FsSGVpZ2h0KCkpOworICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgZm9yIG1pbi9t
YXggaGVpZ2h0IGJlY2F1c2UgdGhpcyBtZXRob2QgZG9lcyBub3QKKyAgICAgICAgICAgIC8vIGhh
bmRsZSB0aGUgbWluL21heCBvZiB0aGUgY3VycmVudCBibG9jaywgaXRzIGNhbGxlciBkb2VzLiBT
byB0aGUKKyAgICAgICAgICAgIC8vIHJldHVybiB2YWx1ZSBmcm9tIHRoZSByZWN1cnNpdmUgY2Fs
bCB3aWxsIG5vdCBoYXZlIGJlZW4gYWRqdXN0ZWQKKyAgICAgICAgICAgIC8vIHlldC4KKyAgICAg
ICAgICAgIExheW91dFVuaXQgY29udGVudEJveEhlaWdodCA9IGNiLT5jb25zdHJhaW5Db250ZW50
Qm94TG9naWNhbEhlaWdodEJ5TWluTWF4KGNvbnRlbnRCb3hIZWlnaHRXaXRoU2Nyb2xsYmFyIC0g
Y2ItPnNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICBhdmFpbGFibGVIZWln
aHQgPSBtYXg8TGF5b3V0VW5pdD4oMCwgY29udGVudEJveEhlaWdodCk7CiAgICAgICAgIH0KICAg
ICB9IGVsc2UgaWYgKGNiLT5pc1JlbmRlclZpZXcoKSB8fCBpc091dE9mRmxvd1Bvc2l0aW9uZWRX
aXRoU3BlY2lmaWVkSGVpZ2h0KSB7CiAgICAgICAgIC8vIERvbid0IGFsbG93IHRoaXMgdG8gYWZm
ZWN0IHRoZSBibG9jaycgaGVpZ2h0KCkgbWVtYmVyIHZhcmlhYmxlLCBzaW5jZSB0aGlzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggODY5ZjM2Y2QxMjYxYTk4N2I5MGVjYzll
YTVmZDI2OTYzMmFiMmJjZS4uZTk1M2M2NmQ4YmM3ZGI5MGY3M2E5MDUxN2EyMTI1ODU1OGIxYzEx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtODIsNiArODIsNyBAQCBw
dWJsaWM6CiAKICAgICBMYXlvdXRVbml0IGNvbnN0cmFpbkxvZ2ljYWxXaWR0aEluUmVnaW9uQnlN
aW5NYXgoTGF5b3V0VW5pdCwgTGF5b3V0VW5pdCwgUmVuZGVyQmxvY2sqLCBSZW5kZXJSZWdpb24q
ID0gMCwgTGF5b3V0VW5pdCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlID0gMCkgY29u
c3Q7CiAgICAgTGF5b3V0VW5pdCBjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoTGF5b3V0
VW5pdCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBjb25zdHJhaW5Db250ZW50Qm94TG9naWNhbEhl
aWdodEJ5TWluTWF4KExheW91dFVuaXQpIGNvbnN0OwogCiAgICAgaW50IHBpeGVsU25hcHBlZExv
Z2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gcGl4ZWxTbmFwcGVkSGVpZ2h0KCkgOiBwaXhlbFNuYXBwZWRXaWR0aCgpOyB9CiAg
ICAgaW50IHBpeGVsU25hcHBlZExvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBwaXhlbFNuYXBwZWRXaWR0aCgpIDogcGl4ZWxT
bmFwcGVkSGVpZ2h0KCk7IH0KQEAgLTQxMyw3ICs0MTQsNyBAQCBwdWJsaWM6CiAKICAgICBMYXlv
dXRVbml0IGNvbXB1dGVMb2dpY2FsV2lkdGhJblJlZ2lvblVzaW5nKFNpemVUeXBlLCBMYXlvdXRV
bml0IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCwgY29uc3QgUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdC
bG9jaywgUmVuZGVyUmVnaW9uKiwgTGF5b3V0VW5pdCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmly
c3RQYWdlKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmco
U2l6ZVR5cGUsIGNvbnN0IExlbmd0aCYgaGVpZ2h0KSBjb25zdDsKLSAgICBMYXlvdXRVbml0IGNv
bXB1dGVDb250ZW50TG9naWNhbEhlaWdodChTaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBoZWlnaHQp
OworICAgIExheW91dFVuaXQgY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KFNpemVUeXBlLCBj
b25zdCBMZW5ndGgmIGhlaWdodCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlQ29udGVu
dEFuZFNjcm9sbGJhckxvZ2ljYWxIZWlnaHRVc2luZyhTaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBo
ZWlnaHQpIGNvbnN0OwogICAgIExheW91dFVuaXQgY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRo
VXNpbmcoU2l6ZVR5cGUsIExlbmd0aCB3aWR0aCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBjb21w
dXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgoTGF5b3V0VW5pdCBs
b2dpY2FsV2lkdGgsIFNob3VsZENvbXB1dGVQcmVmZXJyZWQgID0gQ29tcHV0ZUFjdHVhbCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYmVmNWEzZTliNTU2ZTA0NTE5NjdjODI4MTY4ZTNlMjllMDBhMGFlZS4uN2Jh
NjJkNTc0YWRmNjAxYmI3YWEwNWQxMjA0YTc4YjA3Y2UzNDhmYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDEzLTAxLTAyICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisg
ICAgICAgIFdoZW4gYSBibG9jaydzIGhlaWdodCBpcyBkZXRlcm1pbmVkIGJ5IG1pbi1oZWlnaHQv
bWF4LWhlaWdodCwgY2hpbGRyZW4gd2l0aCBwZXJjZW50YWdlIGhlaWdodHMgYXJlIHNpemVkIGlu
Y29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNjU1OQorCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgQWRk
IHRlc3RzIHRvIGVuc3VyZSBwZXJjZW50IGhlaWdodHMgYXJlIGNvcnJlY3RseSBkZXRlcm1pbmVk
LgorCisgICAgICAgICogZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhlaWdodC1j
aGlsZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvYmxvY2svbWluLW1heC1o
ZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMDIgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGEgZmFpbGluZyB0
ZXN0IGV4cGVjdGF0aW9uIGZvciB0aGUgYnVnIDEwNTk1NC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvYmxvY2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdodC1wZXJjZW50LWhl
aWdodC1jaGlsZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA2OWFlYmUxYWE2MDdiMmY3YzIw
ZTkyNzA1ODRlMjBlMzg2YTVmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
YmxvY2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNTcgQEAKK0J1ZyAyNjU1OTogV2hlbiBhIGJsb2NrJ3MgaGVpZ2h0IGlzIGRldGVy
bWluZWQgYnkgbWluLWhlaWdodC9tYXgtaGVpZ2h0LCBjaGlsZHJlbiB3aXRoIHBlcmNlbnRhZ2Ug
aGVpZ2h0cyBhcmUgc2l6ZWQgaW5jb3JyZWN0bHkKKworVGVzdHMgdG8gbWFrZSBzdXJlIGEgY2hp
bGQgd2l0aCBwZXJjZW50YWdlIGhlaWdodCBpcyBjb21wdXRlZCBwcm9wZXJseSB3aGVuIHRoZSBw
YXJlbnQgaGFzIGEgbWF4IG9yIG1pbiBoZWlnaHQgc2V0LgorCitFYWNoIG9mIHRoZSBmb2xsb3dp
bmcgdGVzdHMgc2hvdWxkIGRpc3BsYXkgYSBncmVlbiByZWN0YW5nbGUgd2l0aCBhIDEgcGl4ZWwg
cmVkIGJvcmRlciBvbiBhbGwgc2lkZXMuCisKK1BhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQg
bWluIHNldAorCitQQVNTCitQYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIG1heCBzZXQKKwor
UEFTUworUGFyZW50IHdpdGggZml4ZWQgaGVpZ2h0IGFuZCBtaW4gZ3JlYXRlciB0aGFuIG1heAor
CitQQVNTCitWZXJ0aWNhbCBwYXJlbnQgd2l0aCBmaXhlZCB3aWR0aCBhbmQgbWF4IHNldAorCitQ
QVNTCitWZXJ0aWNhbCBwYXJlbnQgd2l0aCBmaXhlZCB3aWR0aCBhbmQgbWluIHNldAorCitQQVNT
CitQYXJlbnQgd2l0aCBwZXJjZW50IGhlaWdodCBhbmQgYSBtYXggc2V0CisKK1BBU1MKK1BhcmVu
dCB3aXRoIHBlcmNlbnQgaGVpZ2h0IGFuZCBhIG1pbiBzZXQKKworUEFTUworUGFyZW50IHdpdGgg
Zml4ZWQgaGVpZ2h0IGFuZCBwZXJjZW50YWdlIG1heAorCitQQVNTCitQYXJlbnQgd2l0aCBmaXhl
ZCBoZWlnaHQgYW5kIHBlcmNlbnRhZ2UgbWluCisKK1BBU1MKK1BhcmVudCB3aXRoIGF1dG8gaGVp
Z2h0IGFuZCBhIG1heCBzZXQuIFRoaXMgdGVzdCB3aWxsIG5vdCBoYXZlIHRoZSBib3JkZXIgYWxs
IGFyb3VuZCwgaXQgd2lsbCBvbmx5IGJlIG9uIHRoZSB0b3AgcG9ydGlvbi4KKworWFhYWFggWFhY
WFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFgKK1BBU1MKK1BhcmVudCB3aXRo
IGF1dG8gaGVpZ2h0IGFuZCBhIG1pbiBzZXQKKworWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhY
WFggWFhYWFggWFhYWFggWFhYWFgKK1BBU1MKK1RoZSBmb2xsb3dpbmcgdHdvIHRlc3RzIHdpbGwg
aGF2ZSBhIDYgcGl4ZWwgcmVkIGJvcmRlci4KKworUGFyZW50IHdpdGggZml4ZWQgaGVpZ2h0IGFu
ZCBwYWRkaW5nIGFuZCBtYXggc2V0CisKK1BBU1MKK1BhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBh
bmQgcGFkZGluZyBhbmQgbWluIHNldAorCitQQVNTCitGaXhlZCBoZWlnaHQgcGFyZW50IHdpdGgg
c2Nyb2xsIGJhcgorCitYWFhYWFhYWFhYIFhYWFhYWFhYWFggWFhYWFhYWFhYWCBYWFhYWFhYWFhY
IFhYWFhYWFhYWFggWFhYWFhYWFhYWAorUEFTUworUGFyZW50IHdpdGggcGVyY2VudCBoZWlnaHQg
YW5kIHNjcm9sbCBiYXIKKworWFhYWFhYWFhYWCBYWFhYWFhYWFhYIFhYWFhYWFhYWFggWFhYWFhY
WFhYWCBYWFhYWFhYWFhYIFhYWFhYWFhYWFgKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvYmxvY2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvYmxvY2svbWluLW1heC1oZWlnaHQtcGVyY2VudC1oZWlnaHQtY2hpbGQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lZmYxZTk1YzRlMWY2N2RlYzY4YTg4Zjk3YjA3YTYyZjdlZWNkZjBk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9taW4tbWF4LWhlaWdo
dC1wZXJjZW50LWhlaWdodC1jaGlsZC5odG1sCkBAIC0wLDAgKzEsMTM2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGUgaWQ9InN0eWxlc2hlZXQi
PgorICAgICAgICAgICAgLmNvbnRhaW5lciB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgLmJvdHRvbS1tYXJnaW4geworICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICAuYWhlbSB7CisgICAgICAgICAgICAgICAgZm9u
dDogMTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgY29sb3I6IGdyZWVu
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgLnBhcmVudCB7CisgICAgICAgICAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlk
IHJlZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5jaGlsZCB7CisgICAgICAgICAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgICAgICB9CisgICAgICAgICAgICAu
dmVydGljYWwgeyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlv
dXQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgd2luZG93Lm9u
bG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBjaGVja0xheW91dCgiLnBhcmVu
dCIpOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxoMT48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjY1NTkiPkJ1ZyAyNjU1OTwvYT46IFdoZW4gYSBibG9jaydzIGhlaWdodCBp
cyBkZXRlcm1pbmVkIGJ5IG1pbi1oZWlnaHQvbWF4LWhlaWdodCwgY2hpbGRyZW4gd2l0aCBwZXJj
ZW50YWdlIGhlaWdodHMgYXJlIHNpemVkIGluY29ycmVjdGx5PC9oMT4KKyAgICAgICAgPGgxPlRl
c3RzIHRvIG1ha2Ugc3VyZSBhIGNoaWxkIHdpdGggcGVyY2VudGFnZSBoZWlnaHQgaXMgY29tcHV0
ZWQgcHJvcGVybHkgd2hlbiB0aGUgcGFyZW50IGhhcyBhIG1heCBvciBtaW4gaGVpZ2h0IHNldC48
L2gxPgorICAgICAgICA8aDI+RWFjaCBvZiB0aGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBkaXNw
bGF5IGEgZ3JlZW4gcmVjdGFuZ2xlIHdpdGggYSAxIHBpeGVsIHJlZCBib3JkZXIgb24gYWxsIHNp
ZGVzLjwvaDI+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIG1pbiBz
ZXQ8L2gyPgorICAgICAgICA8ZGl2IGlkPSJzaW1wbGUtbWluIiBjbGFzcz0icGFyZW50IiBzdHls
ZT0id2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgbWluLWhlaWdodDogNzVweCI+CisgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NXB4Ij48
L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBmaXhlZCBoZWln
aHQgYW5kIG1heCBzZXQ8L2gyPgorICAgICAgICA8ZGl2IGlkPSJzaW1wbGUtbWF4IiBjbGFzcz0i
cGFyZW50IiBzdHlsZT0ibWF4LWhlaWdodDogMjVweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBw
eCI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBo
ZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIyNXB4Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0
aCBmaXhlZCBoZWlnaHQgYW5kIG1pbiBncmVhdGVyIHRoYW4gbWF4PC9oMj4KKyAgICAgICAgPGRp
diBpZD0ibWluLWdyZWF0ZXItbWF4IiBjbGFzcz0icGFyZW50IiBzdHlsZT0id2lkdGg6IDUwcHg7
IGhlaWdodDogNTBweDsgbWluLWhlaWdodDogNzVweDsgbWF4LWhlaWdodDogMjVweCI+CisgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEw
MCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NXB4
Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5WZXJ0aWNhbCBwYXJlbnQgd2l0
aCBmaXhlZCB3aWR0aCBhbmQgbWF4IHNldDwvaDI+CisgICAgICAgIDxkaXYgaWQ9InZlcnRpY2Fs
LW1heCIgY2xhc3M9InBhcmVudCIgc3R5bGU9IndpZHRoOiA1MHB4OyBtYXgtd2lkdGg6IDI1cHg7
IGhlaWdodDogNTBweCI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9Indp
ZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjI1cHgiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSI1MHB4Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxo
Mz5WZXJ0aWNhbCBwYXJlbnQgd2l0aCBmaXhlZCB3aWR0aCBhbmQgbWluIHNldDwvaDI+CisgICAg
ICAgIDxkaXYgaWQ9InZlcnRpY2FsLW1pbiIgY2xhc3M9InBhcmVudCIgc3R5bGU9IndpZHRoOiA1
MHB4OyBtaW4td2lkdGg6IDc1cHg7IGhlaWdodDogNTBweCI+CisgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9Ijc1cHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MHB4Ij48L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBwZXJjZW50IGhlaWdodCBhbmQgYSBt
YXggc2V0PC9oMz4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGJvdHRvbS1tYXJnaW4i
PgorICAgICAgICAgICAgPGRpdiBpZD0icGFyZW50LXBlcmNlbnQtbWF4IiBjbGFzcz0icGFyZW50
IiBzdHlsZT0ibWF4LWhlaWdodDogMjVweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogMTAwJSI+Cisg
ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVp
Z2h0OiAxMDAlIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MHB4IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMjVweCI+PC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAg
ICAgIDxoMz5QYXJlbnQgd2l0aCBwZXJjZW50IGhlaWdodCBhbmQgYSBtaW4gc2V0PC9oMz4KKyAg
ICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGJvdHRvbS1tYXJnaW4iPgorICAgICAgICAgICAg
PGRpdiBpZD0icGFyZW50LXBlcmNlbnQtbWluIiBjbGFzcz0icGFyZW50IiBzdHlsZT0id2lkdGg6
IDUwcHg7IGhlaWdodDogMTAwJTsgbWluLWhlaWdodDogNzVweCI+CisgICAgICAgICAgICAgICAg
PGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSI1MHB4IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzVweCI+PC9kaXY+
CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQg
d2l0aCBmaXhlZCBoZWlnaHQgYW5kIHBlcmNlbnRhZ2UgbWF4PC9oMz4KKyAgICAgICAgPGRpdiBj
bGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9InBlcmNlbnQtbWF4IiBjbGFz
cz0icGFyZW50IiBzdHlsZT0ibWF4LWhlaWdodDogNTAlOyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1
MHB4Ij4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAx
MDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIyNXB4Ij48L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGgzPlBhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgcGVyY2VudGFnZSBt
aW48L2gzPgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgYm90dG9tLW1hcmdpbiI+Cisg
ICAgICAgICAgICA8ZGl2IGlkPSJwZXJjZW50LW1pbiIgY2xhc3M9InBhcmVudCIgc3R5bGU9Indp
ZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IG1pbi1oZWlnaHQ6IDE1MCUiPgorICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iNTBweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1cHgiPjwv
ZGl2PgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8aDM+UGFy
ZW50IHdpdGggYXV0byBoZWlnaHQgYW5kIGEgbWF4IHNldC4gVGhpcyB0ZXN0IHdpbGwgbm90IGhh
dmUgdGhlIGJvcmRlciBhbGwgYXJvdW5kLCBpdCB3aWxsIG9ubHkgYmUgb24gdGhlIHRvcCBwb3J0
aW9uLjwvaDM+CisgICAgICAgIDxkaXYgaWQ9ImF1dG8tbWF4IiBjbGFzcz0icGFyZW50IGFoZW0g
Ym90dG9tLW1hcmdpbiIgc3R5bGU9Im1heC1oZWlnaHQ6IDI1cHg7IHdpZHRoOiA1MHB4Ij4KKyAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDog
MTAwJSIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTBweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjBw
eCI+PC9kaXY+CisgICAgICAgICAgICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAg
ICAgIFhYWFhYCisgICAgICAgICAgICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAg
ICAgIFhYWFhYCisgICAgICAgICAgICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAg
PC9kaXY+CisgICAgICAgIDxoMz5QYXJlbnQgd2l0aCBhdXRvIGhlaWdodCBhbmQgYSBtaW4gc2V0
PC9oMz4KKyAgICAgICAgPGRpdiBpZD0iYXV0by1taW4iIGNsYXNzPSJwYXJlbnQgYWhlbSIgc3R5
bGU9IndpZHRoOiA1MHB4OyBtaW4taGVpZ2h0OiA3NXB4Ij4KKyAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iNTBweCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjBweCI+PC9kaXY+CisgICAgICAg
ICAgICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisgICAgICAg
ICAgICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgICAgIFhYWFhYCisgICAgICAg
ICAgICBYWFhYWAorICAgICAgICAgICAgWFhYWFgKKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxo
Mj5UaGUgZm9sbG93aW5nIHR3byB0ZXN0cyB3aWxsIGhhdmUgYSA2IHBpeGVsIHJlZCBib3JkZXIu
PC9oMj4KKyAgICAgICAgPGgzPlBhcmVudCB3aXRoIGZpeGVkIGhlaWdodCBhbmQgcGFkZGluZyBh
bmQgbWF4IHNldDwvaDI+CisgICAgICAgIDxkaXYgaWQ9InBhcmVudC1wYWRkaW5nLW1heCIgY2xh
c3M9InBhcmVudCIgc3R5bGU9Im1heC1oZWlnaHQ6IDI1cHg7IHdpZHRoOiA1MHB4OyBwYWRkaW5n
OiA1cHg7IGhlaWdodDogNTBweCI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCIgc3R5
bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwcHgi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyNXB4Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAg
ICAgIDxoMz5QYXJlbnQgd2l0aCBmaXhlZCBoZWlnaHQgYW5kIHBhZGRpbmcgYW5kIG1pbiBzZXQ8
L2gyPgorICAgICAgICA8ZGl2IGlkPSJwYXJlbnQtcGFkZGluZy1taW4iIGNsYXNzPSJwYXJlbnQi
IHN0eWxlPSJ3aWR0aDogNTBweDsgcGFkZGluZzogNXB4OyBoZWlnaHQ6IDUwcHg7IG1pbi1oZWln
aHQ6IDc1cHgiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hpbGQiIHN0eWxlPSJ3aWR0aDog
MTAwJTsgaGVpZ2h0OiAxMDAlIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MHB4IiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iNzVweCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8aDM+Rml4
ZWQgaGVpZ2h0IHBhcmVudCB3aXRoIHNjcm9sbCBiYXI8L2gzPgorICAgICAgICA8ZGl2IGlkPSJv
dmVyZmxvdyIgY2xhc3M9InBhcmVudCBhaGVtIiBzdHlsZT0ib3ZlcmZsb3c6IHNjcm9sbDsgbWlu
LWhlaWdodDogNzVweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweCI+CisgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJjaGlsZCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUiIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjM1cHgiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI2MHB4Ij48L2Rpdj4K
KyAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAg
ICAgIFhYWFhYWFhYWFgKKyAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAgICAgIFhYWFhY
WFhYWFgKKyAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxo
Mz5QYXJlbnQgd2l0aCBwZXJjZW50IGhlaWdodCBhbmQgc2Nyb2xsIGJhcjwvaDM+CisgICAgICAg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciBib3R0b20tbWFyZ2luIj4KKyAgICAgICAgICAgIDxkaXYg
aWQ9Im92ZXJmbG93LXBlcmNlbnQiIGNsYXNzPSJwYXJlbnQgYWhlbSIgc3R5bGU9Im92ZXJmbG93
OiBzY3JvbGw7IG1pbi1oZWlnaHQ6IDc1cHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDEwMCUiPgor
ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoaWxkIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhl
aWdodDogMTAwJSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzVweCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjYwcHgiPjwvZGl2PgorICAgICAgICAgICAgICAgIFhYWFhYWFhYWFgKKyAgICAgICAgICAg
ICAgICBYWFhYWFhYWFhYCisgICAgICAgICAgICAgICAgWFhYWFhYWFhYWAorICAgICAgICAgICAg
ICAgIFhYWFhYWFhYWFgKKyAgICAgICAgICAgICAgICBYWFhYWFhYWFhYCisgICAgICAgICAgICAg
ICAgWFhYWFhYWFhYWAorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>