<?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>102352</bug_id>
          
          <creation_ts>2012-11-15 01:36:36 -0800</creation_ts>
          <short_desc>Avoid a second layout of flex items in layoutAndPlaceChildren()</short_desc>
          <delta_ts>2012-12-02 02:40:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>102817</dependson>
    
    <dependson>102851</dependson>
    
    <dependson>102993</dependson>
          <blocked>62048</blocked>
    
    <blocked>102585</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>767815</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-15 01:36:36 -0800</bug_when>
    <thetext>In case of nested flexbox containers, it&apos;s possible that in layoutAndPlaceChildren(), the children have already been laid out in computeMainAxisPreferredSizes().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767820</commentid>
    <comment_count>1</comment_count>
      <attachid>174370</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-15 01:47:54 -0800</bug_when>
    <thetext>Created attachment 174370
Patch

I&apos;m still getting a failure in css3/flexbox/auto-margins.html but as I commented in bug #87905 the output is correct, and the inspector shows the right values for margins, just reloading the page turns the FAIL into PASS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767857</commentid>
    <comment_count>2</comment_count>
      <attachid>174370</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 02:40:29 -0800</bug_when>
    <thetext>Comment on attachment 174370
Patch

Attachment 174370 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14857146

New failing tests:
fast/forms/datalist/update-range-with-datalist.html
fast/multicol/client-rects.html
mathml/presentation/sub.xhtml
mathml/presentation/mo-stretch.html
css3/flexbox/auto-margins.html
fast/css/unknown-pseudo-element-matching.html
fast/forms/range/input-appearance-range.html
fast/forms/range/range-thumb-height-percentage.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768198</commentid>
    <comment_count>3</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-15 09:53:22 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=174370) [details]
&gt; Patch
&gt; 
&gt; I&apos;m still getting a failure in css3/flexbox/auto-margins.html but as I commented in bug #87905 the output is correct, and the inspector shows the right values for margins, just reloading the page turns the FAIL into PASS.

This is a real failure. It means we&apos;re not layout out when we should.  The inspector is probably forcing an extra layout which is causing the margins to correct themselves.  The other failures are probably real too (mathml and the range form control both use flexbox).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768208</commentid>
    <comment_count>4</comment_count>
      <attachid>174370</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-15 09:57:17 -0800</bug_when>
    <thetext>Comment on attachment 174370
Patch

I&apos;m not sure why the tests are failing, maybe try using a debugger to see how auto-margins.html is different with and without this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769098</commentid>
    <comment_count>5</comment_count>
      <attachid>174641</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-16 04:03:23 -0800</bug_when>
    <thetext>Created attachment 174641
Updated patch

Since the major performance issues happen with nested flexbox containers, we can try a more conservative approach and only avoid second layout when the child is a flexbox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769124</commentid>
    <comment_count>6</comment_count>
      <attachid>174641</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 04:48:56 -0800</bug_when>
    <thetext>Comment on attachment 174641
Updated patch

Attachment 174641 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14874072

New failing tests:
fast/forms/datalist/update-range-with-datalist.html
mathml/presentation/sub.xhtml
mathml/presentation/mo-stretch.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769564</commentid>
    <comment_count>7</comment_count>
      <attachid>174641</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-16 12:22:48 -0800</bug_when>
    <thetext>Comment on attachment 174641
Updated patch

Tests are still failing.  We need to debug the cause of the failure.  Applying the change less often isn&apos;t going to make the bug go away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769925</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-17 02:06:03 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 174641 [details])
&gt; Tests are still failing.  We need to debug the cause of the failure.  Applying the change less often isn&apos;t going to make the bug go away.

Sure, I debugged the auto-margins case, and the problem was that the logical height is updated during the layout and it resets the margins, so when not laying out the margins already had the right value that is used to calculate the margin again, which ended up resetting to 0. So, just calling child-&gt;updateLogicalHeight() when avoiding the layout of the child, fixed the test, but I was not sure that was the right approach and that didn&apos;t fix the other tests. So, my guess is that when avoiding the layout, we should still do other things that happen during the layout even if they don&apos;t affect the size. I think the problem with the other failures has to do with the position, for some reason, when laying out multiple times the child is moved several times, but the final position is the same than when avoiding the layout. Next week I&apos;ll continue debugging the test failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771924</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-20 09:20:08 -0800</bug_when>
    <thetext>I&apos;ve been debugging fast/forms/range/input-appearance-range.html and the problem is that the slider thumb location is added every time the slider container is laid out. RenderSliderContainer::layout() sets the thumb location assuming the thumb is laid out, which might not be the case after this patch. I&apos;ve filed it as a separate bug report:

https://bugs.webkit.org/show_bug.cgi?id=102817

I&apos;m still looking at the mathml changes, the different is just a few pixels, for some reason the main axis is different (by one pixel) in some cases when doing the second layout to apply the stretch alignment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771988</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-20 10:35:03 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; I&apos;ve been debugging fast/forms/range/input-appearance-range.html and the problem is that the slider thumb location is added every time the slider container is laid out. RenderSliderContainer::layout() sets the thumb location assuming the thumb is laid out, which might not be the case after this patch. I&apos;ve filed it as a separate bug report:
&gt; 
&gt; https://bugs.webkit.org/show_bug.cgi?id=102817
&gt; 
&gt; I&apos;m still looking at the mathml changes, the different is just a few pixels, for some reason the main axis is different (by one pixel) in some cases when doing the second layout to apply the stretch alignment.

I meant the cross axis, not the main axis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772310</commentid>
    <comment_count>11</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-20 16:59:23 -0800</bug_when>
    <thetext>fixed by bug 102851:
fast/forms/datalist/update-range-with-datalist.html

fixed by bug 102817:
fast/forms/range/input-appearance-range.html
fast/forms/range/range-thumb-height-percentage.html

For these 2, it&apos;s because we normally compute margins during layout, but for flex items, we compute auto margins in the flexbox.  When we skip the flex item layout, we end up double computing the margin in a few cases.  There are probably a few different ways to solve this.
fast/multicol/client-rects.html
css3/flexbox/auto-margins.html

This is mysterious, the first :hover selector isn&apos;t applying, but the second test passes.  If I reorder the test cases, the first test always fails.
fast/css/unknown-pseudo-element-matching.html

Haven&apos;t looked at these yet.:
mathml/presentation/sub.xhtml
mathml/presentation/mo-stretch.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772604</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-21 01:27:03 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; For these 2, it&apos;s because we normally compute margins during layout, but for flex items, we compute auto margins in the flexbox.  When we skip the flex item layout, we end up double computing the margin in a few cases.  There are probably a few different ways to solve this.
&gt; fast/multicol/client-rects.html
&gt; css3/flexbox/auto-margins.html

I fixed this, by calling updateLogicalHeight() on the child when not laying out it.

&gt; Haven&apos;t looked at these yet.:
&gt; mathml/presentation/sub.xhtml
&gt; mathml/presentation/mo-stretch.html

I&apos;ll continue debugging these today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773425</commentid>
    <comment_count>13</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-21 17:02:02 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; This is mysterious, the first :hover selector isn&apos;t applying, but the second test passes.  If I reorder the test cases, the first test always fails.
&gt; fast/css/unknown-pseudo-element-matching.html

This will be fixed by 102993.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773802</commentid>
    <comment_count>14</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-22 03:37:00 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; Haven&apos;t looked at these yet.:
&gt; &gt; mathml/presentation/sub.xhtml
&gt; &gt; mathml/presentation/mo-stretch.html
&gt; 
&gt; I&apos;ll continue debugging these today.

I&apos;m very confused with these, mo-stretch.html fails for me even without the patch, so I&apos;m not sure, and sub.xhtml renders the sub Y one pixel below the expected one, however, what I get when running manually the tests in chromium is different and looks correct even with the patch, so I don&apos;t know if it has to do with the fonts used by DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778534</commentid>
    <comment_count>15</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-28 17:30:31 -0800</bug_when>
    <thetext>I debugged the mathml failures and they uncovered a real problem.  Here&apos;s an example:
http://plexode.com/u/#2N=0&amp;-Mle2L%3A2K%0AEJheightEH5olid!EG%3Cdiv29%3E28%3Dj7K!!G!id26%22r54borderL!1px!sb4!styM86b*%3C%2Fdiv92!%20~http://pMxode.com/eval3/#ht=G4displayL-webkit-fMx6978aHblue%3B!JL!30px69a*78bHgreen%3B69b*K*&amp;ohjNjt=document.getEMmentById(6a6).styM.J!8!620px6K&amp;ojhNojjNcex=0


Press eval JS now to see the bug.  What happens is that we previously stretched a child and since we don&apos;t layout the second time, we keep using the stretched height, which is incorrect.  We should include this test as a layout test.

A simple fix is to ignore this optimization if the child is stretching (i.e., always relayout stretching children).

For the auto margins case, updateLogicalHeight should work, but we may be able to be smarter about it (maybe just set the margins to 0 if they style is auto?).

I&apos;ll try to put together a patch tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778975</commentid>
    <comment_count>16</comment_count>
      <attachid>176720</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-29 06:56:20 -0800</bug_when>
    <thetext>Created attachment 176720
Updated patch

Do not skip the layout when stretching children that has auto size. This fixes the tests, but I think we are still missing some more cases where we could avoid a relayout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779343</commentid>
    <comment_count>17</comment_count>
      <attachid>176720</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-29 12:44:15 -0800</bug_when>
    <thetext>Comment on attachment 176720
Updated patch

Attachment 176720 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15054071

New failing tests:
fast/forms/datalist/input-appearance-range-with-datalist-rtl.html
fast/forms/datalist/input-appearance-range-with-padding-with-datalist.html
fast/forms/range/input-appearance-range-rtl.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779421</commentid>
    <comment_count>18</comment_count>
      <attachid>176720</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-29 14:07:56 -0800</bug_when>
    <thetext>Comment on attachment 176720
Updated patch

Attachment 176720 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15044429

New failing tests:
fast/forms/range/input-appearance-range-rtl.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779589</commentid>
    <comment_count>19</comment_count>
      <attachid>176849</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-29 16:47:43 -0800</bug_when>
    <thetext>Created attachment 176849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779864</commentid>
    <comment_count>20</comment_count>
      <attachid>176849</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-29 23:59:05 -0800</bug_when>
    <thetext>Comment on attachment 176849
Patch

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

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1074
&gt; +    return (!isColumnFlow() &amp;&amp; child-&gt;style()-&gt;logicalHeight().isAuto())
&gt; +        || (isColumnFlow() &amp;&amp; child-&gt;style()-&gt;logicalWidth().isAuto());

I&apos;ve noticed we might be checking isColumnFlow twice here, it&apos;s very minor thing, but we could cache it in a variable like you are doing in resetAutoMarginsAndLogicalTopInCrossAxis() with isHorizontalFlow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779929</commentid>
    <comment_count>21</comment_count>
      <attachid>176919</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-30 01:24:55 -0800</bug_when>
    <thetext>Created attachment 176919
Updated patch

Updated patch with the isColumnFlow minor improvement I commented before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780285</commentid>
    <comment_count>22</comment_count>
      <attachid>176919</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-30 12:07:11 -0800</bug_when>
    <thetext>Comment on attachment 176919
Updated patch

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

&gt; LayoutTests/css3/flexbox/stretch-after-sibling-size-change.html:17
&gt; +  &lt;div id=a class=&quot;flex-one&quot; data-expected-width=&quot;50&quot; data-expected-height=&quot;20&quot; style=&quot;background-color: blue; height: 30px;&quot;&gt;&lt;/div&gt;
&gt; +  &lt;div id=b class=&quot;flex-one&quot; data-expected-width=&quot;50&quot; data-expected-height=&quot;20&quot; style=&quot;background-color: green&quot;&gt;&lt;/div&gt;

Nit: 2 spec indent.

&gt; Source/WebCore/html/shadow/SliderThumbElement.cpp:186
&gt; +        // doesn&apos;t move the thumb to the wrong place. FIXME: Make a custom Render class

The FIXME should go at the beginning of a line.

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1074
&gt; +    bool isColumn = isColumnFlow();
&gt; +    return (!isColumn &amp;&amp; child-&gt;style()-&gt;logicalHeight().isAuto()) || (isColumn &amp;&amp; child-&gt;style()-&gt;logicalWidth().isAuto());

I&apos;d find this easier to read as follows:
var crossAxisLength = isColumnFlow() ? child-&gt;style-&gt;logicalWidth() : child-&gt;style-&gt;logicalHeight();
return crossAxisLength.isAuto();

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1081
&gt; +    Length start = isHorizontal ? child-&gt;style()-&gt;marginTop() : child-&gt;style()-&gt;marginLeft();
&gt; +    Length end = isHorizontal ? child-&gt;style()-&gt;marginBottom() : child-&gt;style()-&gt;marginRight();

s/start/before
s/end/after

You could use flowAwareMarginBeforeForChild and flowAwareMarginAfterForChild.

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1114
&gt; +            resetAutoMarginsAndLogicalTopInCrossAxis(child);

This could use a comment explaining why we need to do this. I had to go read the comments in the bug to make sense of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780308</commentid>
    <comment_count>23</comment_count>
      <attachid>177008</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-30 12:26:36 -0800</bug_when>
    <thetext>Created attachment 177008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780311</commentid>
    <comment_count>24</comment_count>
      <attachid>176919</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-30 12:28:27 -0800</bug_when>
    <thetext>Comment on attachment 176919
Updated patch

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

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1074
&gt;&gt; +    return (!isColumn &amp;&amp; child-&gt;style()-&gt;logicalHeight().isAuto()) || (isColumn &amp;&amp; child-&gt;style()-&gt;logicalWidth().isAuto());
&gt; 
&gt; I&apos;d find this easier to read as follows:
&gt; var crossAxisLength = isColumnFlow() ? child-&gt;style-&gt;logicalWidth() : child-&gt;style-&gt;logicalHeight();
&gt; return crossAxisLength.isAuto();

The old code was wrong in the case of orthogonal flow.  I fixed it in the latest patch.

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1081
&gt;&gt; +    Length end = isHorizontal ? child-&gt;style()-&gt;marginBottom() : child-&gt;style()-&gt;marginRight();
&gt; 
&gt; s/start/before
&gt; s/end/after
&gt; 
&gt; You could use flowAwareMarginBeforeForChild and flowAwareMarginAfterForChild.

Those return the computed margin, not the margin style. Fortunately, we had a different helper method that does what I want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780556</commentid>
    <comment_count>25</comment_count>
      <attachid>177008</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-30 17:01:16 -0800</bug_when>
    <thetext>Comment on attachment 177008
Patch

yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780893</commentid>
    <comment_count>26</comment_count>
      <attachid>177008</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-02 02:40:43 -0800</bug_when>
    <thetext>Comment on attachment 177008
Patch

Clearing flags on attachment: 177008

Committed r136324: &lt;http://trac.webkit.org/changeset/136324&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780894</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-02 02:40:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174370</attachid>
            <date>2012-11-15 01:47:54 -0800</date>
            <delta_ts>2012-11-16 04:03:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>css3-flexbox-layout.diff</filename>
            <type>text/plain</type>
            <size>1808</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5MmZmZDM4Li5kOGE4YWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTItMTEtMTUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIEF2b2lkIGEgc2Vjb25kIGxheW91dCBvZiBmbGV4IGl0ZW1zIGluIGxheW91
dEFuZFBsYWNlQ2hpbGRyZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAyMzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gY2FzZSBvZiBuZXN0ZWQgZmxleGJveCBjb250YWluZXJzIGl0IGNhbiBo
YXBwZW4gdGhhdCBzb21lCisgICAgICAgIGNoaWxkcmVuIGFyZSBsYWlkIG91dCBtdWx0aXBsZSB0
aW1lcy4gSXQncyBwb3NzaWJsZSB0byBhdm9pZCBhCisgICAgICAgIHNlY29uZCBsYXlvdXQgaW4g
bGF5b3V0QW5kUGxhY2VDaGlsZHJlbigpIGJ5IGNoZWNraW5nIGlmIHRoZQorICAgICAgICBjaGls
ZCBoYXMgYWxyZWFkeSBhIHNpemUgYW5kIGlzIHRoZSBzYW1lIHRoYXQgdGhlIGRlc2lyZWQgb25l
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRBbmRQbGFjZUNoaWxkcmVuKToKKwog
MjAxMi0xMS0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtW
OF0gV2Ugc2hvdWxkIGJlIGFibGUgdG8gcmVjb3ZlciB0aGUgVjhET01XaW5kb3dTaGVsbCBtb3Jl
IHF1aWNrbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4
aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3gu
Y3BwCmluZGV4IDJlMDhhNWMuLjI4N2E4YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtMTA4Nyw3ICsxMDg3LDggQEAgdm9pZCBSZW5k
ZXJGbGV4aWJsZUJveDo6bGF5b3V0QW5kUGxhY2VDaGlsZHJlbihMYXlvdXRVbml0JiBjcm9zc0F4
aXNPZmZzZXQsIGNvbnMKICAgICAgICAgTGF5b3V0VW5pdCBjaGlsZFByZWZlcnJlZFNpemUgPSBj
aGlsZFNpemVzW2ldICsgbWFpbkF4aXNCb3JkZXJBbmRQYWRkaW5nRXh0ZW50Rm9yQ2hpbGQoY2hp
bGQpOwogICAgICAgICBzZXRMb2dpY2FsT3ZlcnJpZGVTaXplKGNoaWxkLCBjaGlsZFByZWZlcnJl
ZFNpemUpOwogICAgICAgICAvLyBGSVhNRTogQ2FuIGF2b2lkIGxheWluZyBvdXQgaGVyZSBpbiBz
b21lIGNhc2VzLiBTZWUgaHR0cHM6Ly93ZWJraXQub3JnL2IvODc5MDUuCi0gICAgICAgIGNoaWxk
LT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhpcyk7CisgICAgICAgIGlmIChj
aGlsZFByZWZlcnJlZFNpemUgIT0gbWFpbkF4aXNFeHRlbnRGb3JDaGlsZChjaGlsZCkpCisgICAg
ICAgICAgICBjaGlsZC0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBNYXJrT25seVRoaXMpOwog
ICAgICAgICBjaGlsZC0+bGF5b3V0SWZOZWVkZWQoKTsKIAogICAgICAgICB1cGRhdGVBdXRvTWFy
Z2luc0luTWFpbkF4aXMoY2hpbGQsIGF1dG9NYXJnaW5PZmZzZXQpOwo=
</data>
<flag name="review"
          id="189407"
          type_id="1"
          status="-"
          setter="tony"
    />
    <flag name="commit-queue"
          id="189425"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174641</attachid>
            <date>2012-11-16 04:03:23 -0800</date>
            <delta_ts>2012-11-29 06:56:20 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wk-css3-flexbox-layout.diff</filename>
            <type>text/plain</type>
            <size>1871</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlMmU1YzEwLi40ZjNjZGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTItMTEtMTYgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIEF2b2lkIGEgc2Vjb25kIGxheW91dCBvZiBmbGV4IGl0ZW1zIGluIGxheW91
dEFuZFBsYWNlQ2hpbGRyZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAyMzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gY2FzZSBvZiBuZXN0ZWQgZmxleGJveCBjb250YWluZXJzIGl0IGNhbiBo
YXBwZW4gdGhhdCBzb21lCisgICAgICAgIGNoaWxkcmVuIGFyZSBsYWlkIG91dCBtdWx0aXBsZSB0
aW1lcy4gSXQncyBwb3NzaWJsZSB0byBhdm9pZCBhCisgICAgICAgIHNlY29uZCBsYXlvdXQgaW4g
bGF5b3V0QW5kUGxhY2VDaGlsZHJlbigpIGJ5IGNoZWNraW5nIGlmIHRoZQorICAgICAgICBjaGls
ZCBoYXMgYWxyZWFkeSBhIHNpemUgYW5kIGlzIHRoZSBzYW1lIHRoYXQgdGhlIGRlc2lyZWQgb25l
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRBbmRQbGFjZUNoaWxkcmVuKToKKwog
MjAxMi0xMS0wNiAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IG1ldHJpY3MsIGdlb2xvY2F0aW9uLCBvcmllbnRhdGlvbiBv
dmVycmlkZXMgZG8gbm90IGJlbG9uZyB0byB0aGUgc2V0dGluZ3MgcGFuZWwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IGUxMWQ4NjUuLjkz
ZmNmMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJs
ZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94
LmNwcApAQCAtMTA5MCw3ICsxMDkwLDggQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0
QW5kUGxhY2VDaGlsZHJlbihMYXlvdXRVbml0JiBjcm9zc0F4aXNPZmZzZXQsIGNvbnMKICAgICAg
ICAgTGF5b3V0VW5pdCBjaGlsZFByZWZlcnJlZFNpemUgPSBjaGlsZFNpemVzW2ldICsgbWFpbkF4
aXNCb3JkZXJBbmRQYWRkaW5nRXh0ZW50Rm9yQ2hpbGQoY2hpbGQpOwogICAgICAgICBzZXRMb2dp
Y2FsT3ZlcnJpZGVTaXplKGNoaWxkLCBjaGlsZFByZWZlcnJlZFNpemUpOwogICAgICAgICAvLyBG
SVhNRTogQ2FuIGF2b2lkIGxheWluZyBvdXQgaGVyZSBpbiBzb21lIGNhc2VzLiBTZWUgaHR0cHM6
Ly93ZWJraXQub3JnL2IvODc5MDUuCi0gICAgICAgIGNoaWxkLT5zZXRDaGlsZE5lZWRzTGF5b3V0
KHRydWUsIE1hcmtPbmx5VGhpcyk7CisgICAgICAgIGlmICghY2hpbGQtPmlzRmxleGlibGVCb3go
KSB8fCBjaGlsZFByZWZlcnJlZFNpemUgIT0gbWFpbkF4aXNFeHRlbnRGb3JDaGlsZChjaGlsZCkp
CisgICAgICAgICAgICBjaGlsZC0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBNYXJrT25seVRo
aXMpOwogICAgICAgICBjaGlsZC0+bGF5b3V0SWZOZWVkZWQoKTsKIAogICAgICAgICB1cGRhdGVB
dXRvTWFyZ2luc0luTWFpbkF4aXMoY2hpbGQsIGF1dG9NYXJnaW5PZmZzZXQpOwo=
</data>
<flag name="review"
          id="189781"
          type_id="1"
          status="-"
          setter="tony"
    />
    <flag name="commit-queue"
          id="189788"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176720</attachid>
            <date>2012-11-29 06:56:20 -0800</date>
            <delta_ts>2012-11-29 16:47:36 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wcore-flexbox-layouts.diff</filename>
            <type>text/plain</type>
            <size>3698</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiOThmNmI4Li5kNzMzZDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTItMTEtMjkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIEF2b2lkIGEgc2Vjb25kIGxheW91dCBvZiBmbGV4IGl0ZW1zIGluIGxheW91
dEFuZFBsYWNlQ2hpbGRyZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAyMzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gY2FzZSBvZiBuZXN0ZWQgZmxleGJveCBjb250YWluZXJzIGl0IGNhbiBo
YXBwZW4gdGhhdCBzb21lCisgICAgICAgIGNoaWxkcmVuIGFyZSBsYWlkIG91dCBtdWx0aXBsZSB0
aW1lcy4gSXQncyBwb3NzaWJsZSB0byBhdm9pZCBhCisgICAgICAgIHNlY29uZCBsYXlvdXQgaW4g
bGF5b3V0QW5kUGxhY2VDaGlsZHJlbigpIGJ5IGNoZWNraW5nIGlmIHRoZQorICAgICAgICBjaGls
ZCBoYXMgYWxyZWFkeSBhIHNpemUgYW5kIGlzIHRoZSBzYW1lIHRoYXQgdGhlIGRlc2lyZWQgb25l
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpuZWVkVG9TdHJldGNoQ2hpbGQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEFuZFBsYWNlQ2hpbGRyZW4pOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oOgorCiAyMDEyLTExLTI3ICBN
aWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wcm92ZSBXZWJTb2Nr
ZXRDaGFubmVsIGNvbm5lY3Rpb24gZmFpbHVyZSBjb25zb2xlIG1lc3NhZ2VzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggY2I5ZDExNS4u
ZDU2NDU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhp
YmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guY3BwCkBAIC0xMDc2LDYgKzEwNzYsMTUgQEAgc2l6ZV90IFJlbmRlckZsZXhpYmxlQm94Ojpu
dW1iZXJPZkluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbihjb25zdCBPcmRlcmVkRmxleEl0ZW0KICAg
ICByZXR1cm4gY291bnQ7CiB9CiAKK2Jvb2wgUmVuZGVyRmxleGlibGVCb3g6Om5lZWRUb1N0cmV0
Y2hDaGlsZChSZW5kZXJCb3gqIGNoaWxkKQoreworICAgIGlmIChhbGlnbm1lbnRGb3JDaGlsZChj
aGlsZCkgIT0gQWxpZ25TdHJldGNoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1
cm4gKCFpc0NvbHVtbkZsb3coKSAmJiBjaGlsZC0+c3R5bGUoKS0+bG9naWNhbEhlaWdodCgpLmlz
QXV0bygpKQorICAgICAgICB8fCAoaXNDb2x1bW5GbG93KCkgJiYgY2hpbGQtPnN0eWxlKCktPmxv
Z2ljYWxXaWR0aCgpLmlzQXV0bygpKTsKK30KKwogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5
b3V0QW5kUGxhY2VDaGlsZHJlbihMYXlvdXRVbml0JiBjcm9zc0F4aXNPZmZzZXQsIGNvbnN0IE9y
ZGVyZWRGbGV4SXRlbUxpc3QmIGNoaWxkcmVuLCBjb25zdCBXVEY6OlZlY3RvcjxMYXlvdXRVbml0
PiYgY2hpbGRTaXplcywgTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVlU3BhY2UsIFdURjo6VmVjdG9y
PExpbmVDb250ZXh0PiYgbGluZUNvbnRleHRzKQogewogICAgIEFTU0VSVChjaGlsZFNpemVzLnNp
emUoKSA9PSBjaGlsZHJlbi5zaXplKCkpOwpAQCAtMTEwMSw3ICsxMTEwLDEwIEBAIHZvaWQgUmVu
ZGVyRmxleGlibGVCb3g6OmxheW91dEFuZFBsYWNlQ2hpbGRyZW4oTGF5b3V0VW5pdCYgY3Jvc3NB
eGlzT2Zmc2V0LCBjb25zCiAgICAgICAgIExheW91dFVuaXQgY2hpbGRQcmVmZXJyZWRTaXplID0g
Y2hpbGRTaXplc1tpXSArIG1haW5BeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVudEZvckNoaWxkKGNo
aWxkKTsKICAgICAgICAgc2V0TG9naWNhbE92ZXJyaWRlU2l6ZShjaGlsZCwgY2hpbGRQcmVmZXJy
ZWRTaXplKTsKICAgICAgICAgLy8gRklYTUU6IENhbiBhdm9pZCBsYXlpbmcgb3V0IGhlcmUgaW4g
c29tZSBjYXNlcy4gU2VlIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzg3OTA1LgotICAgICAgICBjaGls
ZC0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBNYXJrT25seVRoaXMpOworICAgICAgICBpZiAo
bmVlZFRvU3RyZXRjaENoaWxkKGNoaWxkKSB8fCBjaGlsZFByZWZlcnJlZFNpemUgIT0gbWFpbkF4
aXNFeHRlbnRGb3JDaGlsZChjaGlsZCkpCisgICAgICAgICAgICBjaGlsZC0+c2V0Q2hpbGROZWVk
c0xheW91dCh0cnVlLCBNYXJrT25seVRoaXMpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBj
aGlsZC0+dXBkYXRlTG9naWNhbEhlaWdodCgpOwogICAgICAgICBjaGlsZC0+bGF5b3V0SWZOZWVk
ZWQoKTsKIAogICAgICAgICB1cGRhdGVBdXRvTWFyZ2luc0luTWFpbkF4aXMoY2hpbGQsIGF1dG9N
YXJnaW5PZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guaAppbmRleCA3NjI4ZDY1Li5lMjc2ODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxleGlibGVCb3guaApAQCAtMTM3LDYgKzEzNyw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduLCBjb25zdCBPcmRlcmVkRmxleEl0
ZW1MaXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBkb3VibGUmIHRvdGFsRmxl
eEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIEluZmxleGlibGVGbGV4SXRl
bVNpemUmLCBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiYgY2hpbGRTaXplcyk7CiAgICAgdm9pZCBm
cmVlemVWaW9sYXRpb25zKGNvbnN0IFdURjo6VmVjdG9yPFZpb2xhdGlvbj4mLCBMYXlvdXRVbml0
JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3Rh
bFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYpOwogCisgICAgYm9v
bCBuZWVkVG9TdHJldGNoQ2hpbGQoUmVuZGVyQm94Kik7CiAgICAgdm9pZCBzZXRMb2dpY2FsT3Zl
cnJpZGVTaXplKFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgY2hpbGRQcmVmZXJyZWRTaXpl
KTsKICAgICB2b2lkIHByZXBhcmVDaGlsZEZvclBvc2l0aW9uZWRMYXlvdXQoUmVuZGVyQm94KiBj
aGlsZCwgTGF5b3V0VW5pdCBtYWluQXhpc09mZnNldCwgTGF5b3V0VW5pdCBjcm9zc0F4aXNPZmZz
ZXQsIFBvc2l0aW9uZWRMYXlvdXRNb2RlKTsKICAgICBzaXplX3QgbnVtYmVyT2ZJbkZsb3dQb3Np
dGlvbmVkQ2hpbGRyZW4oY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176849</attachid>
            <date>2012-11-29 16:47:43 -0800</date>
            <delta_ts>2012-11-30 01:24:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102352-20121129164516.patch</filename>
            <type>text/plain</type>
            <size>8413</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMyMzk2YWY2YTk0YzNh
Nzc0ZjcxY2Q5OGNmMzYzOTBiMzU3MmI3Yy4uOGE4Y2QwYWUyMTQ5MDUwOWZlOGFlMGMyMTMyMThi
ZDlkNjhiZDUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTI5ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQXZvaWQgYSBzZWNvbmQgbGF5
b3V0IG9mIGZsZXggaXRlbXMgaW4gbGF5b3V0QW5kUGxhY2VDaGlsZHJlbigpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdm9pZCBkb2luZyBhIHNlY29u
ZCBsYXlvdXQgaWYgd2UncmUgZ29pbmcgdG8gZ2V0IHRoZSBzYW1lIHNpemUgYXMgYmVmb3JlLgor
ICAgICAgICBUaGlzIHByZXZlbnRzIHVzIGZyb20gZG9pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVy
IG9mIGxheW91dHMgaW4gc29tZQorICAgICAgICBjb21tb24gY2FzZXMuCisKKyAgICAgICAgVGVz
dDogY3NzMy9mbGV4Ym94L3N0cmV0Y2gtYWZ0ZXItc2libGluZy1zaXplLWNoYW5nZS5odG1sCisK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU2xpZGVyQ29udGFpbmVyOjpsYXlvdXQpOiBGb3JjZSBhIGxheW91dCBv
ZiB0aGUgdHJhY2ssIHdoaWNoIHBvc2l0aW9ucyB0aGUgdGh1bWIuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhp
YmxlQm94OjpuZWVkVG9TdHJldGNoQ2hpbGQpOiBEZXRlcm1pbmUgaWYgYSBjaGlsZCBpcyBnb2lu
ZyB0byBzdHJldGNoLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OnJlc2V0
QXV0b01hcmdpbnNBbmRMb2dpY2FsVG9wSW5Dcm9zc0F4aXMpOiBNYWtlcyBzdXJlIHdlJ3JlIGlu
IGEgY29uc2lzdGVudCBzdGF0ZSBiZWZvcmUKKyAgICAgICAgd2UgYXBwbHkgYXV0byBtYXJnaW5z
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEFuZFBsYWNlQ2hp
bGRyZW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oOiBBZGQgbmVl
ZFRvU3RyZXRjaENoaWxkLgorCiAyMDEyLTExLTI5ICBUaWFuY2hlbmcgSmlhbmcgIDx0aWppYW5n
QHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwZGF0ZSBCQjEwIGZvcm0gdGhlbWUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNw
cAppbmRleCBkNmMxYTMxMTEyNDRiZmRiZGJkYjAyNDEyZjMwYWFkMDZjMjc2NDMyLi44NjkxZGNi
NmNiMDczZjVhYWQxZGFkMmE1OWMzMDQ3YTEwZDNlNzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKQEAgLTE3OCwxMCArMTc4LDE0
IEBAIHZvaWQgUmVuZGVyU2xpZGVyQ29udGFpbmVyOjpsYXlvdXQoKQogICAgIH0KIAogICAgIFJl
bmRlckJveCogdGh1bWIgPSAwOworICAgIFJlbmRlckJveCogdHJhY2sgPSAwOwogICAgIGlmIChp
bnB1dC0+c2xpZGVyVGh1bWJFbGVtZW50KCkgJiYgaW5wdXQtPnNsaWRlclRodW1iRWxlbWVudCgp
LT5yZW5kZXJlcigpKSB7CiAgICAgICAgIHRodW1iID0gdG9SZW5kZXJCb3goaW5wdXQtPnNsaWRl
clRodW1iRWxlbWVudCgpLT5yZW5kZXJlcigpKTsKLSAgICAgICAgLy8gUmVzZXQgdGhlIHRodW1i
IGxvY2F0aW9uIGJlZm9yZSBsYXlvdXQuCi0gICAgICAgIHRodW1iLT5zZXRMb2NhdGlvbihMYXlv
dXRQb2ludCgpKTsKKyAgICAgICAgdHJhY2sgPSB0b1JlbmRlckJveCh0aHVtYi0+cGFyZW50KCkp
OworICAgICAgICAvLyBGb3JjZSBhIGxheW91dCB0byByZXNldCB0aGUgcG9zaXRpb24gb2YgdGhl
IHRodW1iIHNvIHRoZSBjb2RlIGJlbG93CisgICAgICAgIC8vIGRvZXNuJ3QgbW92ZSB0aGUgdGh1
bWIgdG8gdGhlIHdyb25nIHBsYWNlLiBGSVhNRTogTWFrZSBhIGN1c3RvbSBSZW5kZXIgY2xhc3MK
KyAgICAgICAgLy8gZm9yIHRoZSB0cmFjayBhbmQgbW92ZSB0aGUgdGh1bWIgcG9zaXRpb25pbmcg
Y29kZSB0aGVyZS4KKyAgICAgICAgdHJhY2stPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFy
a09ubHlUaGlzKTsKICAgICB9CiAKICAgICBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0KCk7CkBA
IC0xOTAsNyArMTk0LDYgQEAgdm9pZCBSZW5kZXJTbGlkZXJDb250YWluZXI6OmxheW91dCgpCiAg
ICAgLy8gVGhlc2Ugc2hvdWxkIGFsd2F5cyBleGlzdCwgdW5sZXNzIHNvbWVvbmUgbXV0YXRlcyB0
aGUgc2hhZG93IERPTSAoZS5nLiwgaW4gdGhlIGluc3BlY3RvcikuCiAgICAgaWYgKCF0aHVtYikK
ICAgICAgICAgcmV0dXJuOwotICAgIFJlbmRlckJveCogdHJhY2sgPSB0b1JlbmRlckJveCh0aHVt
Yi0+cGFyZW50KCkpOwogCiAgICAgZG91YmxlIHBlcmNlbnRhZ2VPZmZzZXQgPSBzbGlkZXJQb3Np
dGlvbihpbnB1dCkudG9Eb3VibGUoKTsKICAgICBMYXlvdXRVbml0IGF2YWlsYWJsZUV4dGVudCA9
IGlzVmVydGljYWwgPyB0cmFjay0+Y29udGVudEhlaWdodCgpIDogdHJhY2stPmNvbnRlbnRXaWR0
aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAK
aW5kZXggZTExZDg2NWYxZmUwNjc3ODMxZGI4MmIxOWRlYjJkODRlMDUyZjgyYi4uYjlmMzFhYjdj
OGY5NmI1MTc4ZDk2ZDVmMjRlMzAwNmUyZTNiNWM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC0xMDY1LDYgKzEwNjUsMjQgQEAgc2l6
ZV90IFJlbmRlckZsZXhpYmxlQm94OjpudW1iZXJPZkluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbihj
b25zdCBPcmRlcmVkRmxleEl0ZW0KICAgICByZXR1cm4gY291bnQ7CiB9CiAKK2Jvb2wgUmVuZGVy
RmxleGlibGVCb3g6Om5lZWRUb1N0cmV0Y2hDaGlsZChSZW5kZXJCb3gqIGNoaWxkKQoreworICAg
IGlmIChhbGlnbm1lbnRGb3JDaGlsZChjaGlsZCkgIT0gQWxpZ25TdHJldGNoKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gKCFpc0NvbHVtbkZsb3coKSAmJiBjaGlsZC0+c3R5
bGUoKS0+bG9naWNhbEhlaWdodCgpLmlzQXV0bygpKQorICAgICAgICB8fCAoaXNDb2x1bW5GbG93
KCkgJiYgY2hpbGQtPnN0eWxlKCktPmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpKTsKK30KKwordm9p
ZCBSZW5kZXJGbGV4aWJsZUJveDo6cmVzZXRBdXRvTWFyZ2luc0FuZExvZ2ljYWxUb3BJbkNyb3Nz
QXhpcyhSZW5kZXJCb3gqIGNoaWxkKQoreworICAgIGJvb2wgaXNIb3Jpem9udGFsID0gaXNIb3Jp
em9udGFsRmxvdygpOworICAgIExlbmd0aCBzdGFydCA9IGlzSG9yaXpvbnRhbCA/IGNoaWxkLT5z
dHlsZSgpLT5tYXJnaW5Ub3AoKSA6IGNoaWxkLT5zdHlsZSgpLT5tYXJnaW5MZWZ0KCk7CisgICAg
TGVuZ3RoIGVuZCA9IGlzSG9yaXpvbnRhbCA/IGNoaWxkLT5zdHlsZSgpLT5tYXJnaW5Cb3R0b20o
KSA6IGNoaWxkLT5zdHlsZSgpLT5tYXJnaW5SaWdodCgpOworICAgIGlmIChzdGFydC5pc0F1dG8o
KSB8fCBlbmQuaXNBdXRvKCkpCisgICAgICAgIGNoaWxkLT51cGRhdGVMb2dpY2FsSGVpZ2h0KCk7
Cit9CisKIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmxheW91dEFuZFBsYWNlQ2hpbGRyZW4oTGF5
b3V0VW5pdCYgY3Jvc3NBeGlzT2Zmc2V0LCBjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGls
ZHJlbiwgY29uc3QgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMsIExheW91dFVu
aXQgYXZhaWxhYmxlRnJlZVNwYWNlLCBXVEY6OlZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVDb250
ZXh0cykKIHsKICAgICBBU1NFUlQoY2hpbGRTaXplcy5zaXplKCkgPT0gY2hpbGRyZW4uc2l6ZSgp
KTsKQEAgLTEwOTAsNyArMTEwOCwxMCBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRB
bmRQbGFjZUNoaWxkcmVuKExheW91dFVuaXQmIGNyb3NzQXhpc09mZnNldCwgY29ucwogICAgICAg
ICBMYXlvdXRVbml0IGNoaWxkUHJlZmVycmVkU2l6ZSA9IGNoaWxkU2l6ZXNbaV0gKyBtYWluQXhp
c0JvcmRlckFuZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChjaGlsZCk7CiAgICAgICAgIHNldExvZ2lj
YWxPdmVycmlkZVNpemUoY2hpbGQsIGNoaWxkUHJlZmVycmVkU2l6ZSk7CiAgICAgICAgIC8vIEZJ
WE1FOiBDYW4gYXZvaWQgbGF5aW5nIG91dCBoZXJlIGluIHNvbWUgY2FzZXMuIFNlZSBodHRwczov
L3dlYmtpdC5vcmcvYi84NzkwNS4KLSAgICAgICAgY2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQo
dHJ1ZSwgTWFya09ubHlUaGlzKTsKKyAgICAgICAgaWYgKG5lZWRUb1N0cmV0Y2hDaGlsZChjaGls
ZCkgfHwgY2hpbGRQcmVmZXJyZWRTaXplICE9IG1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoY2hpbGQp
KQorICAgICAgICAgICAgY2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlU
aGlzKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzZXRBdXRvTWFyZ2luc0FuZExvZ2lj
YWxUb3BJbkNyb3NzQXhpcyhjaGlsZCk7CiAgICAgICAgIGNoaWxkLT5sYXlvdXRJZk5lZWRlZCgp
OwogCiAgICAgICAgIHVwZGF0ZUF1dG9NYXJnaW5zSW5NYWluQXhpcyhjaGlsZCwgYXV0b01hcmdp
bk9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5o
CmluZGV4IDk4ZWFmY2E3YzgwYTc0Yzg1MTQ4NWFmNWQ4NmJkODI5MjIxNjdhOTIuLmM2NGIzY2I3
MWM4N2I5Yzk4NjI3YTExZjIzNTc3NzdlYTMxY2RlYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCkBAIC0xMzQsNiArMTM0LDggQEAgcHJpdmF0ZToK
ICAgICBib29sIHJlc29sdmVGbGV4aWJsZUxlbmd0aHMoRmxleFNpZ24sIGNvbnN0IE9yZGVyZWRG
bGV4SXRlbUxpc3QmLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90
YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZs
ZXhJdGVtU2l6ZSYsIFdURjo6VmVjdG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzKTsKICAgICB2
b2lkIGZyZWV6ZVZpb2xhdGlvbnMoY29uc3QgV1RGOjpWZWN0b3I8VmlvbGF0aW9uPiYsIExheW91
dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZG91YmxlJiB0b3RhbEZsZXhHcm93LCBkb3VibGUm
IHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBJbmZsZXhpYmxlRmxleEl0ZW1TaXplJik7CiAKKyAg
ICB2b2lkIHJlc2V0QXV0b01hcmdpbnNBbmRMb2dpY2FsVG9wSW5Dcm9zc0F4aXMoUmVuZGVyQm94
Kik7CisgICAgYm9vbCBuZWVkVG9TdHJldGNoQ2hpbGQoUmVuZGVyQm94Kik7CiAgICAgdm9pZCBz
ZXRMb2dpY2FsT3ZlcnJpZGVTaXplKFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgY2hpbGRQ
cmVmZXJyZWRTaXplKTsKICAgICB2b2lkIHByZXBhcmVDaGlsZEZvclBvc2l0aW9uZWRMYXlvdXQo
UmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCBtYWluQXhpc09mZnNldCwgTGF5b3V0VW5pdCBj
cm9zc0F4aXNPZmZzZXQsIFBvc2l0aW9uZWRMYXlvdXRNb2RlKTsKICAgICBzaXplX3QgbnVtYmVy
T2ZJbkZsb3dQb3NpdGlvbmVkQ2hpbGRyZW4oY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDY4MTk0NzdhNDQ5MjY1NTgwNmFiZDEyN2Q4ZWU4MGEwZTE5ZDU4ZTMuLjdh
ZTAxZmMzYjMxZDNiNDhhYTUwYzkxMGZlZGFmZTUwMGRhOWM3Y2EgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxMi0xMS0yOSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIEF2b2lkIGEgc2Vjb25kIGxheW91dCBvZiBmbGV4IGl0ZW1zIGluIGxheW91dEFuZFBsYWNl
Q2hpbGRyZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAyMzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgdGVzdCBjYXNlIHRvIG1ha2Ugc3VyZSB3ZSByZWxheW91dCB3aGVuIGEgc2libGlu
ZyBpcyBzdHJldGNoaW5nLgorCisgICAgICAgICogY3NzMy9mbGV4Ym94L3N0cmV0Y2gtYWZ0ZXIt
c2libGluZy1zaXplLWNoYW5nZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMv
ZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1jaGFuZ2UuaHRtbDogQWRkZWQuCisK
IDIwMTItMTEtMjkgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBU
eXBvIGluICdhdXRvZm9jdXMnIHNhbmRib3hpbmcgZXJyb3IgbWVzc2FnZS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1jaGFu
Z2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3N0cmV0Y2gtYWZ0ZXIt
c2libGluZy1zaXplLWNoYW5nZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2VmMjJlOWE0MzFh
ZDAyNzI3MTNiNzFmZGM4Nzk0MDE2YzhlZjEyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1jaGFuZ2UtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
ZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1jaGFuZ2UuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1jaGFuZ2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41MWJlNzM2ZjNiOWE1MmExYzIyNDJiYmIxZTg1NWJhYTFiNGMzYjE3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3N0cmV0Y2gtYWZ0ZXItc2li
bGluZy1zaXplLWNoYW5nZS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIGhyZWY9InJlc291cmNlcy9mbGV4Ym94LmNzcyIgcmVsPSJz
dHlsZXNoZWV0Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQoreworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhIikuc3R5bGUuaGVpZ2h0ID0gIjIwcHgiCisgICAg
Y2hlY2tMYXlvdXQoIi5mbGV4Ym94Iik7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjAi
IGNsYXNzPSJmbGV4Ym94IiBzdHlsZT0id2lkdGg6IDEwMHB4Ij4KKyAgPGRpdiBpZD1hIGNsYXNz
PSJmbGV4LW9uZSIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIyMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsdWU7IGhlaWdodDogMzBweDsiPjwvZGl2
PgorICA8ZGl2IGlkPWIgY2xhc3M9ImZsZXgtb25lIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjIwIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4i
PjwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176919</attachid>
            <date>2012-11-30 01:24:55 -0800</date>
            <delta_ts>2012-11-30 12:28:27 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wcore-flexbox-relayout.diff</filename>
            <type>text/plain</type>
            <size>8078</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZjE4MWEzLi5jOGRiNWMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTEt
MzAgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBBdm9pZCBhIHNl
Y29uZCBsYXlvdXQgb2YgZmxleCBpdGVtcyBpbiBsYXlvdXRBbmRQbGFjZUNoaWxkcmVuKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjM1MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3Qg
Y2FzZSB0byBtYWtlIHN1cmUgd2UgcmVsYXlvdXQgd2hlbiBhIHNpYmxpbmcgaXMgc3RyZXRjaGlu
Zy4KKworICAgICAgICAqIGNzczMvZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1j
aGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvc3RyZXRj
aC1hZnRlci1zaWJsaW5nLXNpemUtY2hhbmdlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTI5ICBL
ZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgogCiAgICAgICAgIEJldHRlciB0eXBl
IGFoZWFkIGZvciBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL2ZsZXhib3gvc3RyZXRjaC1hZnRlci1zaWJsaW5nLXNpemUtY2hhbmdlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxp
bmctc2l6ZS1jaGFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjdlZjIyZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhi
b3gvc3RyZXRjaC1hZnRlci1zaWJsaW5nLXNpemUtY2hhbmdlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxIEBACitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvc3RyZXRj
aC1hZnRlci1zaWJsaW5nLXNpemUtY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhi
b3gvc3RyZXRjaC1hZnRlci1zaWJsaW5nLXNpemUtY2hhbmdlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNTFiZTczNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1jaGFuZ2UuaHRtbApA
QCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBo
cmVmPSJyZXNvdXJjZXMvZmxleGJveC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYSIpLnN0eWxlLmhlaWdodCA9ICIyMHB4IgorICAgIGNoZWNrTGF5b3V0KCIuZmxleGJveCIp
OworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjIwIiBjbGFzcz0iZmxleGJveCIgc3R5bGU9
IndpZHRoOiAxMDBweCI+CisgIDxkaXYgaWQ9YSBjbGFzcz0iZmxleC1vbmUiIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMjAiIHN0eWxlPSJiYWNrZ3JvdW5k
LWNvbG9yOiBibHVlOyBoZWlnaHQ6IDMwcHg7Ij48L2Rpdj4KKyAgPGRpdiBpZD1iIGNsYXNzPSJm
bGV4LW9uZSIgZGF0YS1leHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIy
MCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuIj48L2Rpdj4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDkxNzQ2YjguLjhhYjFjNmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNSBAQAorMjAxMi0xMS0zMCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3Jn
PiBhbmQgQ2FybG9zIEdhcmNpYSBDYW1wb3MgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAg
ICBBdm9pZCBhIHNlY29uZCBsYXlvdXQgb2YgZmxleCBpdGVtcyBpbiBsYXlvdXRBbmRQbGFjZUNo
aWxkcmVuKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMjM1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEF2b2lkIGRvaW5nIGEgc2Vjb25kIGxheW91dCBpZiB3ZSdyZSBnb2luZyB0byBnZXQgdGhlIHNh
bWUgc2l6ZSBhcyBiZWZvcmUuCisgICAgICAgIFRoaXMgcHJldmVudHMgdXMgZnJvbSBkb2luZyBh
biBleHBvbmVudGlhbCBudW1iZXIgb2YgbGF5b3V0cyBpbiBzb21lCisgICAgICAgIGNvbW1vbiBj
YXNlcy4KKworICAgICAgICBUZXN0OiBjc3MzL2ZsZXhib3gvc3RyZXRjaC1hZnRlci1zaWJsaW5n
LXNpemUtY2hhbmdlLmh0bWwKKworICAgICAgICAqIGh0bWwvc2hhZG93L1NsaWRlclRodW1iRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTbGlkZXJDb250YWluZXI6OmxheW91
dCk6IEZvcmNlIGEgbGF5b3V0IG9mIHRoZSB0cmFjaywgd2hpY2ggcG9zaXRpb25zIHRoZSB0aHVt
Yi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6Om5lZWRUb1N0cmV0Y2hDaGlsZCk6IERldGVybWlu
ZSBpZiBhIGNoaWxkIGlzIGdvaW5nIHRvIHN0cmV0Y2guCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbGV4aWJsZUJveDo6cmVzZXRBdXRvTWFyZ2luc0FuZExvZ2ljYWxUb3BJbkNyb3NzQXhpcyk6
IE1ha2VzIHN1cmUgd2UncmUgaW4gYSBjb25zaXN0ZW50IHN0YXRlIGJlZm9yZQorICAgICAgICB3
ZSBhcHBseSBhdXRvIG1hcmdpbnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6bGF5b3V0QW5kUGxhY2VDaGlsZHJlbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZs
ZXhpYmxlQm94Lmg6IEFkZCBuZWVkVG9TdHJldGNoQ2hpbGQuCisKIDIwMTItMTEtMjkgIE1hcnRp
biBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFtXZWJL
aXQyXSBXZWJLaXRXZWJWaWV3QmFzZSBjcmVhdGVzIGEgR0wgY29udGV4dCBmb3IgdGhlIHJlZGly
ZWN0ZWQgWENvbXBvc2l0ZSB3aW5kb3cgY3Jhc2hpbmcgV2ViS2l0IGluIFh2ZmIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCmluZGV4IGQ2
YzFhMzEuLjg2OTFkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Ns
aWRlclRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xp
ZGVyVGh1bWJFbGVtZW50LmNwcApAQCAtMTc4LDEwICsxNzgsMTQgQEAgdm9pZCBSZW5kZXJTbGlk
ZXJDb250YWluZXI6OmxheW91dCgpCiAgICAgfQogCiAgICAgUmVuZGVyQm94KiB0aHVtYiA9IDA7
CisgICAgUmVuZGVyQm94KiB0cmFjayA9IDA7CiAgICAgaWYgKGlucHV0LT5zbGlkZXJUaHVtYkVs
ZW1lbnQoKSAmJiBpbnB1dC0+c2xpZGVyVGh1bWJFbGVtZW50KCktPnJlbmRlcmVyKCkpIHsKICAg
ICAgICAgdGh1bWIgPSB0b1JlbmRlckJveChpbnB1dC0+c2xpZGVyVGh1bWJFbGVtZW50KCktPnJl
bmRlcmVyKCkpOwotICAgICAgICAvLyBSZXNldCB0aGUgdGh1bWIgbG9jYXRpb24gYmVmb3JlIGxh
eW91dC4KLSAgICAgICAgdGh1bWItPnNldExvY2F0aW9uKExheW91dFBvaW50KCkpOworICAgICAg
ICB0cmFjayA9IHRvUmVuZGVyQm94KHRodW1iLT5wYXJlbnQoKSk7CisgICAgICAgIC8vIEZvcmNl
IGEgbGF5b3V0IHRvIHJlc2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgdGh1bWIgc28gdGhlIGNvZGUg
YmVsb3cKKyAgICAgICAgLy8gZG9lc24ndCBtb3ZlIHRoZSB0aHVtYiB0byB0aGUgd3JvbmcgcGxh
Y2UuIEZJWE1FOiBNYWtlIGEgY3VzdG9tIFJlbmRlciBjbGFzcworICAgICAgICAvLyBmb3IgdGhl
IHRyYWNrIGFuZCBtb3ZlIHRoZSB0aHVtYiBwb3NpdGlvbmluZyBjb2RlIHRoZXJlLgorICAgICAg
ICB0cmFjay0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBNYXJrT25seVRoaXMpOwogICAgIH0K
IAogICAgIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXQoKTsKQEAgLTE5MCw3ICsxOTQsNiBAQCB2
b2lkIFJlbmRlclNsaWRlckNvbnRhaW5lcjo6bGF5b3V0KCkKICAgICAvLyBUaGVzZSBzaG91bGQg
YWx3YXlzIGV4aXN0LCB1bmxlc3Mgc29tZW9uZSBtdXRhdGVzIHRoZSBzaGFkb3cgRE9NIChlLmcu
LCBpbiB0aGUgaW5zcGVjdG9yKS4KICAgICBpZiAoIXRodW1iKQogICAgICAgICByZXR1cm47Ci0g
ICAgUmVuZGVyQm94KiB0cmFjayA9IHRvUmVuZGVyQm94KHRodW1iLT5wYXJlbnQoKSk7CiAKICAg
ICBkb3VibGUgcGVyY2VudGFnZU9mZnNldCA9IHNsaWRlclBvc2l0aW9uKGlucHV0KS50b0RvdWJs
ZSgpOwogICAgIExheW91dFVuaXQgYXZhaWxhYmxlRXh0ZW50ID0gaXNWZXJ0aWNhbCA/IHRyYWNr
LT5jb250ZW50SGVpZ2h0KCkgOiB0cmFjay0+Y29udGVudFdpZHRoKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCBlMTFkODY1Li5kZjcw
ZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHAKQEAgLTEwNjUsNiArMTA2NSwyNCBAQCBzaXplX3QgUmVuZGVyRmxleGlibGVCb3g6Om51bWJl
ck9mSW5GbG93UG9zaXRpb25lZENoaWxkcmVuKGNvbnN0IE9yZGVyZWRGbGV4SXRlbQogICAgIHJl
dHVybiBjb3VudDsKIH0KIAorYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6bmVlZFRvU3RyZXRjaENo
aWxkKFJlbmRlckJveCogY2hpbGQpCit7CisgICAgaWYgKGFsaWdubWVudEZvckNoaWxkKGNoaWxk
KSAhPSBBbGlnblN0cmV0Y2gpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGJvb2wgaXND
b2x1bW4gPSBpc0NvbHVtbkZsb3coKTsKKyAgICByZXR1cm4gKCFpc0NvbHVtbiAmJiBjaGlsZC0+
c3R5bGUoKS0+bG9naWNhbEhlaWdodCgpLmlzQXV0bygpKSB8fCAoaXNDb2x1bW4gJiYgY2hpbGQt
PnN0eWxlKCktPmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpKTsKK30KKwordm9pZCBSZW5kZXJGbGV4
aWJsZUJveDo6cmVzZXRBdXRvTWFyZ2luc0FuZExvZ2ljYWxUb3BJbkNyb3NzQXhpcyhSZW5kZXJC
b3gqIGNoaWxkKQoreworICAgIGJvb2wgaXNIb3Jpem9udGFsID0gaXNIb3Jpem9udGFsRmxvdygp
OworICAgIExlbmd0aCBzdGFydCA9IGlzSG9yaXpvbnRhbCA/IGNoaWxkLT5zdHlsZSgpLT5tYXJn
aW5Ub3AoKSA6IGNoaWxkLT5zdHlsZSgpLT5tYXJnaW5MZWZ0KCk7CisgICAgTGVuZ3RoIGVuZCA9
IGlzSG9yaXpvbnRhbCA/IGNoaWxkLT5zdHlsZSgpLT5tYXJnaW5Cb3R0b20oKSA6IGNoaWxkLT5z
dHlsZSgpLT5tYXJnaW5SaWdodCgpOworICAgIGlmIChzdGFydC5pc0F1dG8oKSB8fCBlbmQuaXNB
dXRvKCkpCisgICAgICAgIGNoaWxkLT51cGRhdGVMb2dpY2FsSGVpZ2h0KCk7Cit9CisKIHZvaWQg
UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEFuZFBsYWNlQ2hpbGRyZW4oTGF5b3V0VW5pdCYgY3Jv
c3NBeGlzT2Zmc2V0LCBjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGlsZHJlbiwgY29uc3Qg
V1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMsIExheW91dFVuaXQgYXZhaWxhYmxl
RnJlZVNwYWNlLCBXVEY6OlZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVDb250ZXh0cykKIHsKICAg
ICBBU1NFUlQoY2hpbGRTaXplcy5zaXplKCkgPT0gY2hpbGRyZW4uc2l6ZSgpKTsKQEAgLTEwOTAs
NyArMTEwOCwxMCBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRBbmRQbGFjZUNoaWxk
cmVuKExheW91dFVuaXQmIGNyb3NzQXhpc09mZnNldCwgY29ucwogICAgICAgICBMYXlvdXRVbml0
IGNoaWxkUHJlZmVycmVkU2l6ZSA9IGNoaWxkU2l6ZXNbaV0gKyBtYWluQXhpc0JvcmRlckFuZFBh
ZGRpbmdFeHRlbnRGb3JDaGlsZChjaGlsZCk7CiAgICAgICAgIHNldExvZ2ljYWxPdmVycmlkZVNp
emUoY2hpbGQsIGNoaWxkUHJlZmVycmVkU2l6ZSk7CiAgICAgICAgIC8vIEZJWE1FOiBDYW4gYXZv
aWQgbGF5aW5nIG91dCBoZXJlIGluIHNvbWUgY2FzZXMuIFNlZSBodHRwczovL3dlYmtpdC5vcmcv
Yi84NzkwNS4KLSAgICAgICAgY2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09u
bHlUaGlzKTsKKyAgICAgICAgaWYgKG5lZWRUb1N0cmV0Y2hDaGlsZChjaGlsZCkgfHwgY2hpbGRQ
cmVmZXJyZWRTaXplICE9IG1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoY2hpbGQpKQorICAgICAgICAg
ICAgY2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlUaGlzKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgcmVzZXRBdXRvTWFyZ2luc0FuZExvZ2ljYWxUb3BJbkNyb3Nz
QXhpcyhjaGlsZCk7CiAgICAgICAgIGNoaWxkLT5sYXlvdXRJZk5lZWRlZCgpOwogCiAgICAgICAg
IHVwZGF0ZUF1dG9NYXJnaW5zSW5NYWluQXhpcyhjaGlsZCwgYXV0b01hcmdpbk9mZnNldCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCmluZGV4IDk4ZWFm
Y2EuLmM2NGIzY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJs
ZUJveC5oCkBAIC0xMzQsNiArMTM0LDggQEAgcHJpdmF0ZToKICAgICBib29sIHJlc29sdmVGbGV4
aWJsZUxlbmd0aHMoRmxleFNpZ24sIGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxpc3QmLCBMYXlvdXRV
bml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0
b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYsIFdURjo6VmVj
dG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzKTsKICAgICB2b2lkIGZyZWV6ZVZpb2xhdGlvbnMo
Y29uc3QgV1RGOjpWZWN0b3I8VmlvbGF0aW9uPiYsIExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVT
cGFjZSwgZG91YmxlJiB0b3RhbEZsZXhHcm93LCBkb3VibGUmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hy
aW5rLCBJbmZsZXhpYmxlRmxleEl0ZW1TaXplJik7CiAKKyAgICB2b2lkIHJlc2V0QXV0b01hcmdp
bnNBbmRMb2dpY2FsVG9wSW5Dcm9zc0F4aXMoUmVuZGVyQm94Kik7CisgICAgYm9vbCBuZWVkVG9T
dHJldGNoQ2hpbGQoUmVuZGVyQm94Kik7CiAgICAgdm9pZCBzZXRMb2dpY2FsT3ZlcnJpZGVTaXpl
KFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgY2hpbGRQcmVmZXJyZWRTaXplKTsKICAgICB2
b2lkIHByZXBhcmVDaGlsZEZvclBvc2l0aW9uZWRMYXlvdXQoUmVuZGVyQm94KiBjaGlsZCwgTGF5
b3V0VW5pdCBtYWluQXhpc09mZnNldCwgTGF5b3V0VW5pdCBjcm9zc0F4aXNPZmZzZXQsIFBvc2l0
aW9uZWRMYXlvdXRNb2RlKTsKICAgICBzaXplX3QgbnVtYmVyT2ZJbkZsb3dQb3NpdGlvbmVkQ2hp
bGRyZW4oY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177008</attachid>
            <date>2012-11-30 12:26:36 -0800</date>
            <delta_ts>2012-12-02 02:40:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102352-20121130122407.patch</filename>
            <type>text/plain</type>
            <size>8337</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGZjNmMwYjRmNWMwNjY2
ZmJkN2U2MTI3OGQyZjA1ZDA3MDUwOGU1My4uZDA4NDcwMWQxOWQ0NzJjMGYxNWMxMmRhNjhlZjVl
NDAwNDZmNWY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTI5ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQXZvaWQgYSBzZWNvbmQgbGF5
b3V0IG9mIGZsZXggaXRlbXMgaW4gbGF5b3V0QW5kUGxhY2VDaGlsZHJlbigpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdm9pZCBkb2luZyBhIHNlY29u
ZCBsYXlvdXQgaWYgd2UncmUgZ29pbmcgdG8gZ2V0IHRoZSBzYW1lIHNpemUgYXMgYmVmb3JlLgor
ICAgICAgICBUaGlzIHByZXZlbnRzIHVzIGZyb20gZG9pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVy
IG9mIGxheW91dHMgaW4gc29tZQorICAgICAgICBjb21tb24gY2FzZXMuCisKKyAgICAgICAgVGVz
dDogY3NzMy9mbGV4Ym94L3N0cmV0Y2gtYWZ0ZXItc2libGluZy1zaXplLWNoYW5nZS5odG1sCisK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU2xpZGVyQ29udGFpbmVyOjpsYXlvdXQpOiBGb3JjZSBhIGxheW91dCBv
ZiB0aGUgdHJhY2ssIHdoaWNoIHBvc2l0aW9ucyB0aGUgdGh1bWIuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhp
YmxlQm94OjpuZWVkVG9TdHJldGNoQ2hpbGQpOiBEZXRlcm1pbmUgaWYgYSBjaGlsZCBpcyBnb2lu
ZyB0byBzdHJldGNoLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OnJlc2V0
QXV0b01hcmdpbnNBbmRMb2dpY2FsVG9wSW5Dcm9zc0F4aXMpOiBNYWtlcyBzdXJlIHdlJ3JlIGlu
IGEgY29uc2lzdGVudCBzdGF0ZSBiZWZvcmUKKyAgICAgICAgd2UgYXBwbHkgYXV0byBtYXJnaW5z
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEFuZFBsYWNlQ2hp
bGRyZW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oOiBBZGQgbmVl
ZFRvU3RyZXRjaENoaWxkLgorCiAyMDEyLTExLTMwICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFt
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXBvcnQgQ1NTIGFzIGluaXRpYXRvciBpbnN0ZWFk
IG9mIGVsZW1lbnRzLCBleGNlcHQgYm9keQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKaW5kZXggZDZjMWEzMTExMjQ0YmZkYmRiZGIwMjQx
MmYzMGFhZDA2YzI3NjQzMi4uNDI1NWJjZGEzMDEyNjcyZjU0YjM1N2RiNWIzNTVkNTdiNjAzYzMw
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1l
bnQuY3BwCkBAIC0xNzgsMTAgKzE3OCwxMyBAQCB2b2lkIFJlbmRlclNsaWRlckNvbnRhaW5lcjo6
bGF5b3V0KCkKICAgICB9CiAKICAgICBSZW5kZXJCb3gqIHRodW1iID0gMDsKKyAgICBSZW5kZXJC
b3gqIHRyYWNrID0gMDsKICAgICBpZiAoaW5wdXQtPnNsaWRlclRodW1iRWxlbWVudCgpICYmIGlu
cHV0LT5zbGlkZXJUaHVtYkVsZW1lbnQoKS0+cmVuZGVyZXIoKSkgewogICAgICAgICB0aHVtYiA9
IHRvUmVuZGVyQm94KGlucHV0LT5zbGlkZXJUaHVtYkVsZW1lbnQoKS0+cmVuZGVyZXIoKSk7Ci0g
ICAgICAgIC8vIFJlc2V0IHRoZSB0aHVtYiBsb2NhdGlvbiBiZWZvcmUgbGF5b3V0LgotICAgICAg
ICB0aHVtYi0+c2V0TG9jYXRpb24oTGF5b3V0UG9pbnQoKSk7CisgICAgICAgIHRyYWNrID0gdG9S
ZW5kZXJCb3godGh1bWItPnBhcmVudCgpKTsKKyAgICAgICAgLy8gRm9yY2UgYSBsYXlvdXQgdG8g
cmVzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSB0aHVtYiBzbyB0aGUgY29kZSBiZWxvdyBkb2Vzbid0
IG1vdmUgdGhlIHRodW1iIHRvIHRoZSB3cm9uZyBwbGFjZS4KKyAgICAgICAgLy8gRklYTUU6IE1h
a2UgYSBjdXN0b20gUmVuZGVyIGNsYXNzIGZvciB0aGUgdHJhY2sgYW5kIG1vdmUgdGhlIHRodW1i
IHBvc2l0aW9uaW5nIGNvZGUgdGhlcmUuCisgICAgICAgIHRyYWNrLT5zZXRDaGlsZE5lZWRzTGF5
b3V0KHRydWUsIE1hcmtPbmx5VGhpcyk7CiAgICAgfQogCiAgICAgUmVuZGVyRmxleGlibGVCb3g6
OmxheW91dCgpOwpAQCAtMTkwLDcgKzE5Myw2IEBAIHZvaWQgUmVuZGVyU2xpZGVyQ29udGFpbmVy
OjpsYXlvdXQoKQogICAgIC8vIFRoZXNlIHNob3VsZCBhbHdheXMgZXhpc3QsIHVubGVzcyBzb21l
b25lIG11dGF0ZXMgdGhlIHNoYWRvdyBET00gKGUuZy4sIGluIHRoZSBpbnNwZWN0b3IpLgogICAg
IGlmICghdGh1bWIpCiAgICAgICAgIHJldHVybjsKLSAgICBSZW5kZXJCb3gqIHRyYWNrID0gdG9S
ZW5kZXJCb3godGh1bWItPnBhcmVudCgpKTsKIAogICAgIGRvdWJsZSBwZXJjZW50YWdlT2Zmc2V0
ID0gc2xpZGVyUG9zaXRpb24oaW5wdXQpLnRvRG91YmxlKCk7CiAgICAgTGF5b3V0VW5pdCBhdmFp
bGFibGVFeHRlbnQgPSBpc1ZlcnRpY2FsID8gdHJhY2stPmNvbnRlbnRIZWlnaHQoKSA6IHRyYWNr
LT5jb250ZW50V2lkdGgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guY3BwCmluZGV4IGUxMWQ4NjVmMWZlMDY3NzgzMWRiODJiMTlkZWIyZDg0ZTA1MmY4
MmIuLjQxMGM1ZDFjOTJmZDkxY2RkODcwYWRiZDg1NWQ3MGQ2MDc1OTc1MjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtMTA2NSw2ICsx
MDY1LDIxIEBAIHNpemVfdCBSZW5kZXJGbGV4aWJsZUJveDo6bnVtYmVyT2ZJbkZsb3dQb3NpdGlv
bmVkQ2hpbGRyZW4oY29uc3QgT3JkZXJlZEZsZXhJdGVtCiAgICAgcmV0dXJuIGNvdW50OwogfQog
Citib29sIFJlbmRlckZsZXhpYmxlQm94OjpuZWVkVG9TdHJldGNoQ2hpbGQoUmVuZGVyQm94KiBj
aGlsZCkKK3sKKyAgICBpZiAoYWxpZ25tZW50Rm9yQ2hpbGQoY2hpbGQpICE9IEFsaWduU3RyZXRj
aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTGVuZ3RoIGNyb3NzQXhpc0xlbmd0aCA9
IGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5zdHlsZSgpLT5oZWlnaHQoKSA6IGNoaWxkLT5z
dHlsZSgpLT53aWR0aCgpOworICAgIHJldHVybiBjcm9zc0F4aXNMZW5ndGguaXNBdXRvKCk7Cit9
CisKK3ZvaWQgUmVuZGVyRmxleGlibGVCb3g6OnJlc2V0QXV0b01hcmdpbnNBbmRMb2dpY2FsVG9w
SW5Dcm9zc0F4aXMoUmVuZGVyQm94KiBjaGlsZCkKK3sKKyAgICBpZiAoaGFzQXV0b01hcmdpbnNJ
bkNyb3NzQXhpcyhjaGlsZCkpCisgICAgICAgIGNoaWxkLT51cGRhdGVMb2dpY2FsSGVpZ2h0KCk7
Cit9CisKIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmxheW91dEFuZFBsYWNlQ2hpbGRyZW4oTGF5
b3V0VW5pdCYgY3Jvc3NBeGlzT2Zmc2V0LCBjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGls
ZHJlbiwgY29uc3QgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMsIExheW91dFVu
aXQgYXZhaWxhYmxlRnJlZVNwYWNlLCBXVEY6OlZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVDb250
ZXh0cykKIHsKICAgICBBU1NFUlQoY2hpbGRTaXplcy5zaXplKCkgPT0gY2hpbGRyZW4uc2l6ZSgp
KTsKQEAgLTEwOTAsNyArMTEwNSwxMiBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRB
bmRQbGFjZUNoaWxkcmVuKExheW91dFVuaXQmIGNyb3NzQXhpc09mZnNldCwgY29ucwogICAgICAg
ICBMYXlvdXRVbml0IGNoaWxkUHJlZmVycmVkU2l6ZSA9IGNoaWxkU2l6ZXNbaV0gKyBtYWluQXhp
c0JvcmRlckFuZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChjaGlsZCk7CiAgICAgICAgIHNldExvZ2lj
YWxPdmVycmlkZVNpemUoY2hpbGQsIGNoaWxkUHJlZmVycmVkU2l6ZSk7CiAgICAgICAgIC8vIEZJ
WE1FOiBDYW4gYXZvaWQgbGF5aW5nIG91dCBoZXJlIGluIHNvbWUgY2FzZXMuIFNlZSBodHRwczov
L3dlYmtpdC5vcmcvYi84NzkwNS4KLSAgICAgICAgY2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQo
dHJ1ZSwgTWFya09ubHlUaGlzKTsKKyAgICAgICAgaWYgKG5lZWRUb1N0cmV0Y2hDaGlsZChjaGls
ZCkgfHwgY2hpbGRQcmVmZXJyZWRTaXplICE9IG1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoY2hpbGQp
KQorICAgICAgICAgICAgY2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlU
aGlzKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAvLyBUbyBhdm9pZCBkb3VibGUgYXBw
bHlpbmcgbWFyZ2luIGNoYW5nZXMgaW4gdXBkYXRlQXV0b01hcmdpbnNJbkNyb3NzQXhpcywgd2Ug
cmVzZXQgdGhlIG1hcmdpbnMgaGVyZS4KKyAgICAgICAgICAgIHJlc2V0QXV0b01hcmdpbnNBbmRM
b2dpY2FsVG9wSW5Dcm9zc0F4aXMoY2hpbGQpOworICAgICAgICB9CiAgICAgICAgIGNoaWxkLT5s
YXlvdXRJZk5lZWRlZCgpOwogCiAgICAgICAgIHVwZGF0ZUF1dG9NYXJnaW5zSW5NYWluQXhpcyhj
aGlsZCwgYXV0b01hcmdpbk9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5oCmluZGV4IDk4ZWFmY2E3YzgwYTc0Yzg1MTQ4NWFmNWQ4NmJkODI5MjIx
NjdhOTIuLmM2NGIzY2I3MWM4N2I5Yzk4NjI3YTExZjIzNTc3NzdlYTMxY2RlYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCkBAIC0xMzQsNiArMTM0
LDggQEAgcHJpdmF0ZToKICAgICBib29sIHJlc29sdmVGbGV4aWJsZUxlbmd0aHMoRmxleFNpZ24s
IGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxpc3QmLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3Bh
Y2UsIGRvdWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmlu
aywgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYsIFdURjo6VmVjdG9yPExheW91dFVuaXQ+JiBjaGls
ZFNpemVzKTsKICAgICB2b2lkIGZyZWV6ZVZpb2xhdGlvbnMoY29uc3QgV1RGOjpWZWN0b3I8Vmlv
bGF0aW9uPiYsIExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZG91YmxlJiB0b3RhbEZs
ZXhHcm93LCBkb3VibGUmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBJbmZsZXhpYmxlRmxleEl0
ZW1TaXplJik7CiAKKyAgICB2b2lkIHJlc2V0QXV0b01hcmdpbnNBbmRMb2dpY2FsVG9wSW5Dcm9z
c0F4aXMoUmVuZGVyQm94Kik7CisgICAgYm9vbCBuZWVkVG9TdHJldGNoQ2hpbGQoUmVuZGVyQm94
Kik7CiAgICAgdm9pZCBzZXRMb2dpY2FsT3ZlcnJpZGVTaXplKFJlbmRlckJveCogY2hpbGQsIExh
eW91dFVuaXQgY2hpbGRQcmVmZXJyZWRTaXplKTsKICAgICB2b2lkIHByZXBhcmVDaGlsZEZvclBv
c2l0aW9uZWRMYXlvdXQoUmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCBtYWluQXhpc09mZnNl
dCwgTGF5b3V0VW5pdCBjcm9zc0F4aXNPZmZzZXQsIFBvc2l0aW9uZWRMYXlvdXRNb2RlKTsKICAg
ICBzaXplX3QgbnVtYmVyT2ZJbkZsb3dQb3NpdGlvbmVkQ2hpbGRyZW4oY29uc3QgT3JkZXJlZEZs
ZXhJdGVtTGlzdCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJjMmZjMjI0ZTA4MmViM2YwMzc3Njg3YzIyY2Ni
MTNmNmZmZmZhNDUuLmEzNWEyYjY2NzgwN2ZjMDMxZWFiNDQ5ODcwNTk2ZjMxZDQzODkyM2QgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0yOSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIEF2b2lkIGEgc2Vjb25kIGxheW91dCBvZiBmbGV4IGl0ZW1zIGlu
IGxheW91dEFuZFBsYWNlQ2hpbGRyZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCBjYXNlIHRvIG1ha2Ugc3VyZSB3ZSByZWxheW91
dCB3aGVuIGEgc2libGluZyBpcyBzdHJldGNoaW5nLgorCisgICAgICAgICogY3NzMy9mbGV4Ym94
L3N0cmV0Y2gtYWZ0ZXItc2libGluZy1zaXplLWNoYW5nZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1jaGFuZ2Uu
aHRtbDogQWRkZWQuCisKIDIwMTItMTEtMzAgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJlcG9ydCBDU1MgYXMgaW5pdGlhdG9yIGluc3RlYWQgb2Yg
ZWxlbWVudHMsIGV4Y2VwdCBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhi
b3gvc3RyZXRjaC1hZnRlci1zaWJsaW5nLXNpemUtY2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NzczMvZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1jaGFuZ2UtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcyNzEzYjcxZmRjODc5NDAxNmM4
ZWYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvc3RyZXRj
aC1hZnRlci1zaWJsaW5nLXNpemUtY2hhbmdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQ
QVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvc3RyZXRjaC1hZnRlci1z
aWJsaW5nLXNpemUtY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvc3RyZXRj
aC1hZnRlci1zaWJsaW5nLXNpemUtY2hhbmdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBjZmYxOTIwOTYx
MTU4MWM5MmRiZWVlMjJjMzg1NTViOGRhYWUyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvZmxleGJveC9zdHJldGNoLWFmdGVyLXNpYmxpbmctc2l6ZS1jaGFuZ2UuaHRtbApA
QCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBo
cmVmPSJyZXNvdXJjZXMvZmxleGJveC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYSIpLnN0eWxlLmhlaWdodCA9ICIyMHB4IgorICAgIGNoZWNrTGF5b3V0KCIuZmxleGJveCIp
OworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjIwIiBjbGFzcz0iZmxleGJveCIgc3R5bGU9
IndpZHRoOiAxMDBweCI+CisgICAgPGRpdiBpZD1hIGNsYXNzPSJmbGV4LW9uZSIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iNTAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIyMCIgc3R5bGU9ImJhY2tncm91
bmQtY29sb3I6IGJsdWU7IGhlaWdodDogMzBweDsiPjwvZGl2PgorICAgIDxkaXYgaWQ9YiBjbGFz
cz0iZmxleC1vbmUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMjAiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiI+PC9kaXY+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>