<?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>21371</bug_id>
          
          <creation_ts>2008-10-04 14:32:52 -0700</creation_ts>
          <short_desc>Cannot animate &quot;points&quot; attribute for &lt;svg:polygon&gt;</short_desc>
          <delta_ts>2013-12-20 00:20:44 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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 name="Antoine Quint">ml</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>alex.biryukoff</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>d-r</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>freddy</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jeffschiller</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>krit</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>s.hollenshead</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>94106</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">ml</who>
    <bug_when>2008-10-04 14:32:52 -0700</bug_when>
    <thetext>I&apos;ve tried animating the points of a polygon but it does not work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94107</commentid>
    <comment_count>1</comment_count>
      <attachid>24093</attachid>
    <who name="Antoine Quint">ml</who>
    <bug_when>2008-10-04 14:35:41 -0700</bug_when>
    <thetext>Created attachment 24093
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205162</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-03-28 05:42:16 -0700</bug_when>
    <thetext>We have to differentiate between two issues on your example. The first one is the wrong handling on missing &apos;from&apos; attributes. The second one is the animation itself. I take this bug to handle the animation problem. See also W3C test: http://www.w3.org/Graphics/SVG/Test/20061213/svggen/animate-elem-34-t.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205174</commentid>
    <comment_count>3</comment_count>
      <attachid>51861</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-03-28 08:26:13 -0700</bug_when>
    <thetext>Created attachment 51861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205304</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-28 23:58:54 -0700</bug_when>
    <thetext>Attachment 51861 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/svg/SVGAnimateElement.cpp:149:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205313</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-03-29 00:31:10 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Attachment 51861 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
&gt; WebCore/svg/SVGAnimateElement.cpp:149:  Tests for true/false, null/non-null,
&gt; and zero/non-zero should all be done without equality comparisons. 
&gt; [readability/comparison_to_zero] [5]
&gt; Total errors found: 1 in 9 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

The value can be negative, so ... == 0 check is ok here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205319</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-29 00:57:44 -0700</bug_when>
    <thetext>Attachment 51861 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/1611047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205334</commentid>
    <comment_count>7</comment_count>
      <attachid>51885</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-03-29 01:46:27 -0700</bug_when>
    <thetext>Created attachment 51885
Patch

with build-fix for chromium</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205337</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-29 01:51:32 -0700</bug_when>
    <thetext>Attachment 51885 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/svg/SVGAnimateElement.cpp:149:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205901</commentid>
    <comment_count>9</comment_count>
      <attachid>51885</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-03-30 01:35:03 -0700</bug_when>
    <thetext>Comment on attachment 51885
Patch

Nice patch, some small comments before landing:

&gt; Index: WebCore/svg/SVGPathSegList.h
&gt; ===================================================================
&gt; --- WebCore/svg/SVGPathSegList.h	(revision 56693)
&gt; +++ WebCore/svg/SVGPathSegList.h	(working copy)
&gt; @@ -45,6 +45,8 @@ namespace WebCore {
&gt;          SVGPathSegList(const QualifiedName&amp;);
&gt;      };
&gt;  
&gt; +    float blendFunc(float from, float to, float progress);

Can you rename this function to something more descriptive?



&gt; Index: WebCore/svg/SVGPointList.cpp

&gt; +        const FloatPoint from = fromList-&gt;getItem(n, ec);
&gt; +        const FloatPoint to = toList-&gt;getItem(n, ec);
Can&apos;t you omit const here?

Excellent testcase, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209481</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-06 23:46:33 -0700</bug_when>
    <thetext>Attachment 51885 was posted by a committer and has review+, assigning to Dirk Schulze for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226653</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 00:42:35 -0700</bug_when>
    <thetext>Unsure of the status of this patch.  It&apos;s been in pending-commit for over a month.  Updates?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226676</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-05-17 01:24:18 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/56795.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708035</commentid>
    <comment_count>13</comment_count>
    <who name="Freddy Snijder">freddy</who>
    <bug_when>2012-08-29 16:34:23 -0700</bug_when>
    <thetext>The test case for this bug doesn&apos;t work in Chrome Version 21.0.1180.82 or Safari Version 6.0 (8536.25). Isn&apos;t the fix incorporated in the latest Safari &amp; Chrome releases?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708121</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-08-29 17:58:34 -0700</bug_when>
    <thetext>The code base changed a lot since the landing. Niko? Philip? Any ideas?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846016</commentid>
    <comment_count>15</comment_count>
    <who name="Alexander Biryukov">alex.biryukoff</who>
    <bug_when>2013-03-03 08:16:58 -0800</bug_when>
    <thetext>Hi guys. Do you have any updates about the last two comments?
I tried it in Chrome 25.0.1364.99 (Mac OS) and Safari 6.0.2 (Mac OS). 
May be better to reopen the bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952139</commentid>
    <comment_count>16</comment_count>
    <who name="Sawyer Hollenshead">s.hollenshead</who>
    <bug_when>2013-11-19 11:09:17 -0800</bug_when>
    <thetext>This is broken once again in latest Chrome (31.0.1650.57) and Safari 7. Works fine in Firefox 25.0.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952165</commentid>
    <comment_count>17</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-11-19 12:05:27 -0800</bug_when>
    <thetext>Reopening since it&apos;s broken in Safari 7 on Mavericks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952494</commentid>
    <comment_count>18</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-11-20 01:38:15 -0800</bug_when>
    <thetext>I did a little poking around yesterday and found that the SVGPointsList gets animated correctly. It seems the issue is at the painting level, either the dirty rect is not correct or the animated path is not obtained.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952512</commentid>
    <comment_count>19</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-11-20 02:44:52 -0800</bug_when>
    <thetext>It doesn&apos;t seem like the right list of points is retrieved when updatePathFromPolygonElement() is called. We always get the base list instead of the animated list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952542</commentid>
    <comment_count>20</comment_count>
      <attachid>217421</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-11-20 05:16:41 -0800</bug_when>
    <thetext>Created attachment 217421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952543</commentid>
    <comment_count>21</comment_count>
      <attachid>217421</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-20 05:38:24 -0800</bug_when>
    <thetext>Comment on attachment 217421
Patch

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

&gt; Source/WebCore/rendering/svg/SVGPathData.cpp:77
&gt;  static void updatePathFromPolygonElement(SVGElement* element, Path&amp; path)

You could modernize this to take SVGElement&amp; since you are here (the argument can&apos;t be null).

&gt; Source/WebCore/rendering/svg/SVGPathData.cpp:92
&gt;  static void updatePathFromPolylineElement(SVGElement* element, Path&amp; path)

Here too.

&gt; LayoutTests/svg/animations/polyline-set-expected.txt:6
&gt; +layer at (0,0) size 800x600
&gt; +  RenderView at (0,0) size 800x600
&gt; +layer at (0,0) size 800x600
&gt; +  RenderSVGRoot {svg} at (10,0) size 210x220
&gt; +    RenderSVGPath {polyline} at (10,0) size 210x220 [stroke={[type=SOLID] [color=#FF0000] [stroke width=20.00]}] [points=&quot;10 10 210 10 210 210 10 210&quot;]
&gt; +    RenderSVGPath {polyline} at (10,0) size 210x220 [stroke={[type=SOLID] [color=#008000] [stroke width=20.00]}] [points=&quot;10 10 110 10 110 110 10 110&quot;]

Could you make a reftest instead? Render tree dumps are fragile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952544</commentid>
    <comment_count>22</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-11-20 05:45:34 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 217421 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=217421&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/svg/SVGPathData.cpp:77
&gt; &gt;  static void updatePathFromPolygonElement(SVGElement* element, Path&amp; path)
&gt; 
&gt; You could modernize this to take SVGElement&amp; since you are here (the argument can&apos;t be null).
&gt; 
&gt; &gt; Source/WebCore/rendering/svg/SVGPathData.cpp:92
&gt; &gt;  static void updatePathFromPolylineElement(SVGElement* element, Path&amp; path)
&gt; 
&gt; Here too.
&gt; 
&gt; &gt; LayoutTests/svg/animations/polyline-set-expected.txt:6
&gt; &gt; +layer at (0,0) size 800x600
&gt; &gt; +  RenderView at (0,0) size 800x600
&gt; &gt; +layer at (0,0) size 800x600
&gt; &gt; +  RenderSVGRoot {svg} at (10,0) size 210x220
&gt; &gt; +    RenderSVGPath {polyline} at (10,0) size 210x220 [stroke={[type=SOLID] [color=#FF0000] [stroke width=20.00]}] [points=&quot;10 10 210 10 210 210 10 210&quot;]
&gt; &gt; +    RenderSVGPath {polyline} at (10,0) size 210x220 [stroke={[type=SOLID] [color=#008000] [stroke width=20.00]}] [points=&quot;10 10 110 10 110 110 10 110&quot;]
&gt; 
&gt; Could you make a reftest instead? Render tree dumps are fragile.

No problem, I&apos;ll make those changes as I land, thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952547</commentid>
    <comment_count>23</comment_count>
      <attachid>217422</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-11-20 06:08:27 -0800</bug_when>
    <thetext>Created attachment 217422
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952553</commentid>
    <comment_count>24</comment_count>
      <attachid>217422</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-20 06:53:05 -0800</bug_when>
    <thetext>Comment on attachment 217422
Patch for landing

Clearing flags on attachment: 217422

Committed r159559: &lt;http://trac.webkit.org/changeset/159559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952554</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-20 06:53:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952566</commentid>
    <comment_count>26</comment_count>
    <who name="Sawyer Hollenshead">s.hollenshead</who>
    <bug_when>2013-11-20 07:28:33 -0800</bug_when>
    <thetext>Awesome, thanks everyone!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953111</commentid>
    <comment_count>27</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-11-21 08:36:30 -0800</bug_when>
    <thetext>FYI, this new test is super-flaky for Blink.  We merged your change in:
https://codereview.chromium.org/79063004/

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20Blink&amp;showAllRuns=true&amp;tests=fast%2Fjs%2Fglobal-constructors.html%2Cfast%2Fpreloader%2Fdocument-write-noscript.html%2Csvg%2Fanimations%2Fpolygon-set.svg%2Cwebaudio%2Foscillator-sine.html

I suspect it may be flaky for WebKit as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953137</commentid>
    <comment_count>28</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-11-21 09:35:40 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; FYI, this new test is super-flaky for Blink.  We merged your change in:
&gt; https://codereview.chromium.org/79063004/
&gt; 
&gt; http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20Blink&amp;showAllRuns=true&amp;tests=fast%2Fjs%2Fglobal-constructors.html%2Cfast%2Fpreloader%2Fdocument-write-noscript.html%2Csvg%2Fanimations%2Fpolygon-set.svg%2Cwebaudio%2Foscillator-sine.html
&gt; 
&gt; I suspect it may be flaky for WebKit as well.

Eric, you already had a fix for a similar bug with https://codereview.chromium.org/55893002/ (fix by Erik Dahlström). This just changed the code a little bit but should have the same results. In fact now I think you have dead code since pointsCurrentValue is not longer in use.

I&apos;m not sure if this test is flaky with WebKit, but I&apos;ll look into it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953152</commentid>
    <comment_count>29</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-11-21 10:08:57 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; I&apos;m not sure if this test is flaky with WebKit, but I&apos;ll look into it.

I&apos;m told these two tests have not caused flakiness since they landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961768</commentid>
    <comment_count>30</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-12-20 00:20:44 -0800</bug_when>
    <thetext>*** Bug 126050 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>24093</attachid>
            <date>2008-10-04 14:35:41 -0700</date>
            <delta_ts>2008-10-04 14:35:41 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>polygon-animation.svg</filename>
            <type>image/svg+xml</type>
            <size>304</size>
            <attacher name="Antoine Quint">ml</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KCiAgPHRpdGxlPlBvbHlnb24gQW5pbWF0aW9uPC90
aXRsZT4KCiAgPHBvbHlnb24gcG9pbnRzPSIwLDAgMjAwLDAgMjAwLDIwMCAwLDIwMCIgZmlsbD0i
cmVkIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InBvaW50cyIgYmVnaW49ImNsaWNrIiB0
bz0iMCwwIDMwMCwwIDMwMCwyMDAgMCwyMDAiIGR1cj0iMnMiIGZpbGw9ImZyZWV6ZSIgLz4KICA8
L3BvbHlnb24+CiAgCjwvc3ZnPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51861</attachid>
            <date>2010-03-28 08:26:13 -0700</date>
            <delta_ts>2010-03-29 01:46:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-21371-20100328172611.patch</filename>
            <type>text/plain</type>
            <size>12881</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjY5MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMDMtMjggIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYW5u
b3QgYW5pbWF0ZSAicG9pbnRzIiBhdHRyaWJ1dGUgZm9yIDxzdmc6cG9seWdvbj4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzcxCisKKyAgICAgICAg
QWRkIGFuaW1hdGlvbiBzdXBwb3J0IGZvciAncG9pbnRzJyBvbiBwb2x5Z29ucyBpbiBTVkcuIAor
CisgICAgICAgIFRlc3Q6IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtcG9pbnRzLmh0bWwKKworICAg
ICAgICAqIHN2Zy9TVkdBbmltYXRlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdB
bmltYXRlRWxlbWVudDo6ZGV0ZXJtaW5lUHJvcGVydHlUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0FuaW1hdGVFbGVtZW50OjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0FuaW1hdGVFbGVtZW50OjpjYWxjdWxhdGVGcm9tQW5kVG9WYWx1ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OnJlc2V0VG9CYXNlVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OmFwcGx5UmVzdWx0c1RvVGFyZ2V0KToK
KyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVFbGVtZW50OjopOiBhZGRlZCBQcm9wZXJ0eVR5cGUgUG9pbnRzUHJvcGVydHkKKyAg
ICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJsZW5kRnVu
Yyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZUFuaW1hdGVkKTogY2Fs
Y3VsYXRlcyBhbmltYXRlZCBQb2ludExpc3QKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6
CisKIDIwMTAtMDMtMjggIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVF
bGVtZW50LmNwcAkocmV2aXNpb24gNTYzNTUpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJTVkdD
b2xvci5oIgogI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxpdGllcy5oIgogI2luY2x1ZGUgIlNWR1Bh
dGhTZWdMaXN0LmgiCisjaW5jbHVkZSAiU1ZHUG9pbnRMaXN0LmgiCiAjaW5jbHVkZSA8bWF0aC5o
PgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtODAsNiArODEsOCBAQCBTVkdBbmltYXRlRWxl
bWVudDo6UHJvcGVydHlUeXBlIFNWR0FuaW1hCiAgICAgICAgIHJldHVybiBDb2xvclByb3BlcnR5
OwogICAgIGlmIChhdHRyaWJ1dGUgPT0gImQiKQogICAgICAgICByZXR1cm4gUGF0aFByb3BlcnR5
OworICAgIGlmIChhdHRyaWJ1dGUgPT0gInBvaW50cyIpCisgICAgICAgIHJldHVybiBQb2ludHNQ
cm9wZXJ0eTsKICAgICBpZiAoYXR0cmlidXRlID09ICJjb2xvciIgfHwgYXR0cmlidXRlID09ICJm
aWxsIiB8fCBhdHRyaWJ1dGUgPT0gInN0cm9rZSIpCiAgICAgICAgIHJldHVybiBDb2xvclByb3Bl
cnR5OwogICAgIHJldHVybiBOdW1iZXJQcm9wZXJ0eTsKQEAgLTE0Miw2ICsxNDUsMjIgQEAgdm9p
ZCBTVkdBbmltYXRlRWxlbWVudDo6Y2FsY3VsYXRlQW5pbWF0ZQogICAgICAgICAgICAgICAgICAg
ICA/IG1fdG9QYXRoIDogbV9mcm9tUGF0aDsKICAgICAgICAgfQogICAgICAgICByZXR1cm47Cisg
ICAgfSBlbHNlIGlmIChtX3Byb3BlcnR5VHlwZSA9PSBQb2ludHNQcm9wZXJ0eSkgeworICAgICAg
ICBpZiAocGVyY2VudGFnZSA9PSAwKQorICAgICAgICAgICAgcmVzdWx0cy0+bV9hbmltYXRlZFBv
aW50cyA9IG1fZnJvbVBvaW50czsKKyAgICAgICAgZWxzZSBpZiAocGVyY2VudGFnZSA9PSAxLmYp
CisgICAgICAgICAgICByZXN1bHRzLT5tX2FuaW1hdGVkUG9pbnRzID0gbV90b1BvaW50czsKKyAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAobV9mcm9tUG9pbnRzICYmIG1fdG9Qb2ludHMp
CisgICAgICAgICAgICAgICAgcmVzdWx0cy0+bV9hbmltYXRlZFBvaW50cyA9IFNWR1BvaW50TGlz
dDo6Y3JlYXRlQW5pbWF0ZWQobV9mcm9tUG9pbnRzLmdldCgpLCBtX3RvUG9pbnRzLmdldCgpLCBw
ZXJjZW50YWdlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXN1bHRzLT5t
X2FuaW1hdGVkUG9pbnRzLmNsZWFyKCk7CisgICAgICAgICAgICAvLyBGYWxsIGJhY2sgdG8gZGlz
Y3JldGUgYW5pbWF0aW9uIGlmIHRoZSBwb2ludHMgYXJlIG5vdCBjb21wYXRpYmxlCisgICAgICAg
ICAgICBpZiAoIXJlc3VsdHMtPm1fYW5pbWF0ZWRQb2ludHMpCisgICAgICAgICAgICAgICAgcmVz
dWx0cy0+bV9hbmltYXRlZFBvaW50cyA9ICgoYW5pbWF0aW9uTW9kZSA9PSBGcm9tVG9BbmltYXRp
b24gJiYgcGVyY2VudGFnZSA+IDAuNWYpIHx8IGFuaW1hdGlvbk1vZGUgPT0gVG9BbmltYXRpb24g
fHwgcGVyY2VudGFnZSA9PSAxLjBmKSAKKyAgICAgICAgICAgICAgICAgICAgPyBtX3RvUG9pbnRz
IDogbV9mcm9tUG9pbnRzOworICAgICAgICB9CisgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
QVNTRVJUKGFuaW1hdGlvbk1vZGUgPT0gRnJvbVRvQW5pbWF0aW9uIHx8IGFuaW1hdGlvbk1vZGUg
PT0gVG9BbmltYXRpb24gfHwgYW5pbWF0aW9uTW9kZSA9PSBWYWx1ZXNBbmltYXRpb24pOwogICAg
IGlmICgoYW5pbWF0aW9uTW9kZSA9PSBGcm9tVG9BbmltYXRpb24gJiYgcGVyY2VudGFnZSA+IDAu
NWYpIHx8IGFuaW1hdGlvbk1vZGUgPT0gVG9BbmltYXRpb24gfHwgcGVyY2VudGFnZSA9PSAxLjBm
KQpAQCAtMTc3LDYgKzE5NiwxNSBAQCBib29sIFNWR0FuaW1hdGVFbGVtZW50OjpjYWxjdWxhdGVG
cm9tQW5kCiAgICAgICAgIH0KICAgICAgICAgbV9mcm9tUGF0aC5jbGVhcigpOwogICAgICAgICBt
X3RvUGF0aC5jbGVhcigpOworICAgIH0gZWxzZSBpZiAobV9wcm9wZXJ0eVR5cGUgPT0gUG9pbnRz
UHJvcGVydHkpIHsKKyAgICAgICAgbV9mcm9tUG9pbnRzID0gU1ZHUG9pbnRMaXN0OjpjcmVhdGUo
U1ZHTmFtZXM6OnBvaW50c0F0dHIpOworICAgICAgICBpZiAocG9pbnRzTGlzdEZyb21TVkdEYXRh
KG1fZnJvbVBvaW50cy5nZXQoKSwgZnJvbVN0cmluZykpIHsKKyAgICAgICAgICAgIG1fdG9Qb2lu
dHMgPSBTVkdQb2ludExpc3Q6OmNyZWF0ZShTVkdOYW1lczo6cG9pbnRzQXR0cik7CisgICAgICAg
ICAgICBpZiAocG9pbnRzTGlzdEZyb21TVkdEYXRhKG1fdG9Qb2ludHMuZ2V0KCksIHRvU3RyaW5n
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBtX2Zy
b21Qb2ludHMuY2xlYXIoKTsKKyAgICAgICAgbV90b1BvaW50cy5jbGVhcigpOwogICAgIH0KICAg
ICBtX2Zyb21TdHJpbmcgPSBmcm9tU3RyaW5nOwogICAgIG1fdG9TdHJpbmcgPSB0b1N0cmluZzsK
QEAgLTIyNCw2ICsyNTIsOSBAQCB2b2lkIFNWR0FuaW1hdGVFbGVtZW50OjpyZXNldFRvQmFzZVZh
bHVlCiAgICAgfSBlbHNlIGlmIChtX3Byb3BlcnR5VHlwZSA9PSBQYXRoUHJvcGVydHkpIHsKICAg
ICAgICAgbV9hbmltYXRlZFBhdGguY2xlYXIoKTsKICAgICAgICAgcmV0dXJuOworICAgIH0gZWxz
ZSBpZiAobV9wcm9wZXJ0eVR5cGUgPT0gUG9pbnRzUHJvcGVydHkpIHsKKyAgICAgICAgbV9hbmlt
YXRlZFBvaW50cy5jbGVhcigpOworICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fcHJvcGVy
dHlUeXBlID0gU3RyaW5nUHJvcGVydHk7CiB9CkBAIC0yNTAsNiArMjgxLDExIEBAIHZvaWQgU1ZH
QW5pbWF0ZUVsZW1lbnQ6OmFwcGx5UmVzdWx0c1RvVGEKICAgICAgICAgICAgICAgICB2YWx1ZVRv
QXBwbHkuYXBwZW5kKHNlZ21lbnQtPnRvU3RyaW5nKCkgKyAiICIpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CisgICAgfSBlbHNlIGlmIChtX3Byb3BlcnR5VHlwZSA9PSBQb2ludHNQcm9wZXJ0
eSkgeworICAgICAgICBpZiAoIW1fYW5pbWF0ZWRQb2ludHMgfHwgIW1fYW5pbWF0ZWRQb2ludHMt
Pm51bWJlck9mSXRlbXMoKSkKKyAgICAgICAgICAgIHZhbHVlVG9BcHBseSA9IG1fYW5pbWF0ZWRT
dHJpbmc7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHZhbHVlVG9BcHBseSA9IG1fYW5pbWF0
ZWRQb2ludHMtPnZhbHVlQXNTdHJpbmcoKTsKICAgICB9IGVsc2UKICAgICAgICAgdmFsdWVUb0Fw
cGx5ID0gbV9hbmltYXRlZFN0cmluZzsKICAgICAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1lbnQu
aAkocmV2aXNpb24gNTYzNTUpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBTVkdQYXRoU2VnTGlzdDsKKyAgICBjbGFzcyBTVkdQb2ludExpc3Q7CiAKICAgICBj
bGFzcyBTVkdBbmltYXRlRWxlbWVudCA6IHB1YmxpYyBTVkdBbmltYXRpb25FbGVtZW50IHsKICAg
ICBwdWJsaWM6CkBAIC00NCw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dmlydHVhbCBmbG9hdCBjYWxjdWxhdGVEaXN0YW5jZShjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcs
IGNvbnN0IFN0cmluZyYgdG9TdHJpbmcpOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgZW51bSBQ
cm9wZXJ0eVR5cGUgeyBOdW1iZXJQcm9wZXJ0eSwgQ29sb3JQcm9wZXJ0eSwgU3RyaW5nUHJvcGVy
dHksIFBhdGhQcm9wZXJ0eSB9OworICAgICAgICBlbnVtIFByb3BlcnR5VHlwZSB7IE51bWJlclBy
b3BlcnR5LCBDb2xvclByb3BlcnR5LCBTdHJpbmdQcm9wZXJ0eSwgUGF0aFByb3BlcnR5LCBQb2lu
dHNQcm9wZXJ0eSB9OwogICAgICAgICBQcm9wZXJ0eVR5cGUgZGV0ZXJtaW5lUHJvcGVydHlUeXBl
KGNvbnN0IFN0cmluZyYgYXR0cmlidXRlKSBjb25zdDsKICAgICAgICAgUHJvcGVydHlUeXBlIG1f
cHJvcGVydHlUeXBlOwogICAgICAgICAKQEAgLTYxLDYgKzYyLDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBSZWZQdHI8U1ZHUGF0aFNlZ0xpc3Q+IG1fZnJvbVBhdGg7CiAgICAgICAg
IFJlZlB0cjxTVkdQYXRoU2VnTGlzdD4gbV90b1BhdGg7CiAgICAgICAgIFJlZlB0cjxTVkdQYXRo
U2VnTGlzdD4gbV9hbmltYXRlZFBhdGg7CisgICAgICAgIFJlZlB0cjxTVkdQb2ludExpc3Q+IG1f
ZnJvbVBvaW50czsKKyAgICAgICAgUmVmUHRyPFNWR1BvaW50TGlzdD4gbV90b1BvaW50czsKKyAg
ICAgICAgUmVmUHRyPFNWR1BvaW50TGlzdD4gbV9hbmltYXRlZFBvaW50czsKICAgICB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5jcHAJKHJldmlzaW9uIDU2
MzU1KQorKysgV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTMsNiArNTMsMzQgQEAgU3RyaW5nIFNWR1BvaW50TGlzdDo6dmFsdWVBc1N0cmluZygpIGNvbgog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgZmxvYXQgYmxlbmRGdW5jKGZs
b2F0IGZyb20sIGZsb2F0IHRvLCBmbG9hdCBwcm9ncmVzcykKK3sKKyAgICByZXR1cm4gKHRvIC0g
ZnJvbSkgKiBwcm9ncmVzcyArIGZyb207Cit9CisKK1Bhc3NSZWZQdHI8U1ZHUG9pbnRMaXN0PiBT
VkdQb2ludExpc3Q6OmNyZWF0ZUFuaW1hdGVkKGNvbnN0IFNWR1BvaW50TGlzdCogZnJvbUxpc3Qs
IGNvbnN0IFNWR1BvaW50TGlzdCogdG9MaXN0LCBmbG9hdCBwcm9ncmVzcykKK3sKKyAgICB1bnNp
Z25lZCBpdGVtQ291bnQgPSBmcm9tTGlzdC0+bnVtYmVyT2ZJdGVtcygpOworICAgIGlmICghaXRl
bUNvdW50IHx8IGl0ZW1Db3VudCAhPSB0b0xpc3QtPm51bWJlck9mSXRlbXMoKSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgUmVmUHRyPFNWR1BvaW50TGlzdD4gcmVzdWx0ID0gY3JlYXRlKGZyb21M
aXN0LT5hc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0g
MDsKKyAgICBmb3IgKHVuc2lnbmVkIG4gPSAwOyBuIDwgaXRlbUNvdW50OyArK24pIHsKKyAgICAg
ICAgY29uc3QgRmxvYXRQb2ludCBmcm9tID0gZnJvbUxpc3QtPmdldEl0ZW0obiwgZWMpOworICAg
ICAgICBpZiAoZWMpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgY29uc3QgRmxvYXRQ
b2ludCB0byA9IHRvTGlzdC0+Z2V0SXRlbShuLCBlYyk7CisgICAgICAgIGlmIChlYykKKyAgICAg
ICAgICAgIHJldHVybiAwOworICAgICAgICBGbG9hdFBvaW50IHNlZ21lbnQgPSBGbG9hdFBvaW50
KGJsZW5kRnVuYyhmcm9tLngoKSwgdG8ueCgpLCBwcm9ncmVzcyksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYmxlbmRGdW5jKGZyb20ueSgpLCB0by55KCksIHByb2dy
ZXNzKSk7CisgICAgICAgIHJlc3VsdC0+YXBwZW5kSXRlbShzZWdtZW50LCBlYyk7CisgICAgICAg
IGlmIChlYykKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0
LnJlbGVhc2UoKTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1BvaW50TGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BvaW50
TGlzdC5oCShyZXZpc2lvbiA1NjM1NSkKKysrIFdlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0OwogCisgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFNWR1BvaW50TGlzdD4gY3JlYXRlQW5pbWF0ZWQoY29uc3QgU1ZHUG9pbnRMaXN0KiBm
cm9tTGlzdCwgY29uc3QgU1ZHUG9pbnRMaXN0KiB0b0xpc3QsIGZsb2F0IHByb2dyZXNzKTsKKwog
ICAgIHByaXZhdGU6CiAgICAgICAgIFNWR1BvaW50TGlzdChjb25zdCBRdWFsaWZpZWROYW1lJik7
CiAgICAgfTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU2NjkxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDMtMjggIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDYW5ub3QgYW5pbWF0ZSAicG9pbnRzIiBhdHRyaWJ1dGUgZm9yIDxz
dmc6cG9seWdvbj4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMzcxCisKKyAgICAgICAgVGVzdHMgaWYgcG9pbnRzIG9mIGEgcG9seWdvbiBhcmUgYW5p
bWF0ZWFibGUuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLXBvaW50cy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtcG9pbnRz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9hbmlt
YXRlLXBvaW50cy5qczogQWRkZWQuCisgICAgICAgIChzYW1wbGUxKToKKyAgICAgICAgKHNhbXBs
ZTIpOgorICAgICAgICAoc2FtcGxlMyk6CisgICAgICAgIChleGVjdXRlVGVzdCk6CisKIDIwMTAt
MDMtMjcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9hbmltYXRlLXBvaW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1wb2ludHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1wb2ludHMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACitTVkcgMS4xIGR5bmFtaWMgYW5pbWF0
aW9uIHRlc3RzCisKK1Rlc3RzIGlmIHBvaW50cyBvZiBhIHBvbHlnb24gYXJlIGFuaW1hdGVhYmxl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBwb2x5LnBvaW50cy5nZXRJ
dGVtKDIpLnggaXMgMjAwCitQQVNTIHBvbHkucG9pbnRzLmdldEl0ZW0oMikueSBpcyAyMDAKK1BB
U1MgcG9seS5wb2ludHMuZ2V0SXRlbSgyKS54IGlzIDE1MAorUEFTUyBwb2x5LnBvaW50cy5nZXRJ
dGVtKDIpLnkgaXMgMTUwCitQQVNTIHBvbHkucG9pbnRzLmdldEl0ZW0oMikueCBpcyBhbG1vc3Qg
MTAwLCBqdXN0IGJlZm9yZS1lbmQKK1BBU1MgcG9seS5wb2ludHMuZ2V0SXRlbSgyKS54IGlzIDIw
MAorUEFTUyBwb2x5LnBvaW50cy5nZXRJdGVtKDIpLnkgaXMgMjAwCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZS1wb2ludHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLXBvaW50cy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1wb2ludHMuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0
czwvaDE+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hbmltYXRlLXBvaW50cy5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3Jp
cHQtdGVzdHMvYW5pbWF0ZS1wb2ludHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtcG9pbnRzLmpzCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtcG9pbnRz
LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcwIEBACisvLyBGSVhNRTogVGhpcyB0ZXN0IHdp
bGwgYmVjb21lIHVzZWZ1bCBvbmNlIHdlIGhhdmUgYmFzaWMgYW5pbVZhbCBzdXBwb3J0LiBGb3Ig
bm93IGl0J3MganVzdCB0ZXN0aW5nIHRoZSBTVkcgYW5pbWF0aW9uIHRlc3QgaW5mcmFzdHJ1Y3R1
cmUKK2Rlc2NyaXB0aW9uKCJUZXN0cyBpZiBwb2ludHMgb2YgYSBwb2x5Z29uIGFyZSBhbmltYXRl
YWJsZS4iKTsKK2NyZWF0ZVNWR1Rlc3RDYXNlKCk7CisKKy8vIFNldHVwIHRlc3QgZG9jdW1lbnQK
K3ZhciBwb2x5ID0gY3JlYXRlU1ZHRWxlbWVudCgicG9seWdvbiIpOworcG9seS5zZXRBdHRyaWJ1
dGUoImlkIiwgInBvbHkiKTsKK3BvbHkuc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVuIik7Citw
b2x5LnNldEF0dHJpYnV0ZSgicG9pbnRzIiwgIjAsMCAyMDAsMCAyMDAsMjAwIDAsMjAwIik7Citw
b2x5LnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIik7CisKK3ZhciBhbmlt
YXRlID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0ZSIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUo
ImlkIiwgImFuaW1hdGlvbiIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZU5hbWUi
LCAicG9pbnRzIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZnJvbSIsICIwLDAgMjAwLDAgMjAw
LDIwMCAwLDIwMCIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoInRvIiwgIjAsMCAxMDAsMCAxMDAs
MTAwIDAsMTAwIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiYmVnaW4iLCAiY2xpY2siKTsKK2Fu
aW1hdGUuc2V0QXR0cmlidXRlKCJkdXIiLCAiNHMiKTsKK3BvbHkuYXBwZW5kQ2hpbGQoYW5pbWF0
ZSk7Cityb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChwb2x5KTsKKworLy8gU2V0dXAgYW5pbWF0
aW9uIHRlc3QKK2Z1bmN0aW9uIHNhbXBsZTEoKSB7CisgICAgLy8gQ2hlY2sgaW5pdGlhbC9lbmQg
Y29uZGl0aW9ucworICAgIHNob3VsZEJlKCJwb2x5LnBvaW50cy5nZXRJdGVtKDIpLngiLCAiMjAw
Iik7CisgICAgc2hvdWxkQmUoInBvbHkucG9pbnRzLmdldEl0ZW0oMikueSIsICIyMDAiKTsKKyAg
ICAvL3Nob3VsZEJlKCJwb2x5LmFuaW1hdGVkUG9pbnRzLmdldEl0ZW0oMikueCIsICIyMDAiKTsK
KyAgICAvL3Nob3VsZEJlKCJwb2x5LmFuaW1hdGVkUG9pbnRzLmdldEl0ZW0oMikueSIsICIyMDAi
KTsKK30KKworZnVuY3Rpb24gc2FtcGxlMigpIHsKKyAgICAvLyBGSVhNRTogQWRkIGFuaW1WYWwg
c3VwcG9ydC4gQW5pbWF0ZXMgYmFzZVZhbCBhdCB0aGUgbW9tZW50LgorICAgIC8vIHNob3VsZEJl
KCJyZWN0LndpZHRoLmFuaW1WYWwudmFsdWUiLCAiMTUwIik7CisgICAgLy8gc2hvdWxkQmUoInJl
Y3Qud2lkdGguYmFzZVZhbC52YWx1ZSIsICIyMDAiKTsKKworICAgIC8vIENoZWNrIGhhbGYtdGlt
ZSBjb25kaXRpb25zCisgICAgc2hvdWxkQmUoInBvbHkucG9pbnRzLmdldEl0ZW0oMikueCIsICIx
NTAiKTsKKyAgICBzaG91bGRCZSgicG9seS5wb2ludHMuZ2V0SXRlbSgyKS55IiwgIjE1MCIpOwor
ICAgIC8vc2hvdWxkQmUoInBvbHkuYW5pbWF0ZWRQb2ludHMuZ2V0SXRlbSgyKS54IiwgIjE1MCIp
OworICAgIC8vc2hvdWxkQmUoInBvbHkuYW5pbWF0ZWRQb2ludHMuZ2V0SXRlbSgyKS55IiwgIjE1
MCIpOworfQorCitmdW5jdGlvbiBzYW1wbGUzKCkgeworICAgIC8vIEZJWE1FOiBBZGQgYW5pbVZh
bCBzdXBwb3J0LiBBbmltYXRlcyBiYXNlVmFsIGF0IHRoZSBtb21lbnQuCisgICAgLy8gc2hvdWxk
QmUoInJlY3Qud2lkdGguYW5pbVZhbC52YWx1ZSIsICIxMDAiKTsKKyAgICAvLyBzaG91bGRCZSgi
cmVjdC53aWR0aC5iYXNlVmFsLnZhbHVlIiwgIjIwMCIpOworCisgICAgLy8gQ2hlY2sganVzdCBi
ZWZvcmUtZW5kIGNvbmRpdGlvbnMKKyAgICB2YXIgb2sgPSBpc0Nsb3NlRW5vdWdoKHBvbHkucG9p
bnRzLmdldEl0ZW0oMikueCwgMTAwLCAwLjAxKTsKKyAgICBpZiAob2spCisgICAgICAgIHRlc3RQ
YXNzZWQoInBvbHkucG9pbnRzLmdldEl0ZW0oMikueCBpcyBhbG1vc3QgMTAwLCBqdXN0IGJlZm9y
ZS1lbmQiKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoInBvbHkucG9pbnRzLmdldEl0
ZW0oMikueCBpcyBOT1QgYWxtb3N0IDEwMCwgYXMgZXhwZWN0ZWQiKTsKK30KKworZnVuY3Rpb24g
ZXhlY3V0ZVRlc3QoKSB7CisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAgIC8v
IFthbmltYXRpb25JZCwgdGltZSwgZWxlbWVudElkLCBzYW1wbGVDYWxsYmFja10KKyAgICAgICAg
WyJhbmltYXRpb24iLCAwLjAsICAgICJwb2x5Iiwgc2FtcGxlMV0sCisgICAgICAgIFsiYW5pbWF0
aW9uIiwgMi4wLCAgICAicG9seSIsIHNhbXBsZTJdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDMu
OTk5OSwgInBvbHkiLCBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCA0LjAgLCAgICJw
b2x5Iiwgc2FtcGxlMV0KKyAgICBdOworCisgICAgcnVuQW5pbWF0aW9uVGVzdChleHBlY3RlZFZh
bHVlcyk7Cit9CisKKy8vIEJlZ2luIHRlc3QgYXN5bmMKK3dpbmRvdy5zZXRUaW1lb3V0KCJ0cmln
Z2VyVXBkYXRlKDE1LCAzMCkiLCAwKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51885</attachid>
            <date>2010-03-29 01:46:27 -0700</date>
            <delta_ts>2013-11-20 05:16:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>animate-points2.patch</filename>
            <type>text/plain</type>
            <size>13785</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjY5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMDMtMjkgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYW5u
b3QgYW5pbWF0ZSAicG9pbnRzIiBhdHRyaWJ1dGUgZm9yIDxzdmc6cG9seWdvbj4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzcxCisKKyAgICAgICAg
QWRkIGFuaW1hdGlvbiBzdXBwb3J0IGZvciAncG9pbnRzJyBvbiBwb2x5Z29ucyBpbiBTVkcuIAor
CisgICAgICAgIFRlc3Q6IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtcG9pbnRzLmh0bWwKKworICAg
ICAgICAqIHN2Zy9TVkdBbmltYXRlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdB
bmltYXRlRWxlbWVudDo6ZGV0ZXJtaW5lUHJvcGVydHlUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0FuaW1hdGVFbGVtZW50OjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0FuaW1hdGVFbGVtZW50OjpjYWxjdWxhdGVGcm9tQW5kVG9WYWx1ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OnJlc2V0VG9CYXNlVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OmFwcGx5UmVzdWx0c1RvVGFyZ2V0KToK
KyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVFbGVtZW50OjopOiBhZGRlZCBQcm9wZXJ0eVR5cGUgUG9pbnRzUHJvcGVydHkKKyAg
ICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJsZW5kRnVu
Yyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZUFuaW1hdGVkKTogY2Fs
Y3VsYXRlcyBhbmltYXRlZCBQb2ludExpc3QKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6
CisKIDIwMTAtMDMtMjggIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkIGJ1aWxkLWZpeCBmb3IgY2hyb21pdW0gbGludXguCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZUVsZW1lbnQuY3BwCShyZXZpc2lvbiA1NjY5MykKKysrIFdlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1
ZGUgIlNWR0NvbG9yLmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCiAjaW5jbHVk
ZSAiU1ZHUGF0aFNlZ0xpc3QuaCIKKyNpbmNsdWRlICJTVkdQb2ludExpc3QuaCIKICNpbmNsdWRl
IDxtYXRoLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC04MCw2ICs4MSw4IEBAIFNWR0Fu
aW1hdGVFbGVtZW50OjpQcm9wZXJ0eVR5cGUgU1ZHQW5pbWEKICAgICAgICAgcmV0dXJuIENvbG9y
UHJvcGVydHk7CiAgICAgaWYgKGF0dHJpYnV0ZSA9PSAiZCIpCiAgICAgICAgIHJldHVybiBQYXRo
UHJvcGVydHk7CisgICAgaWYgKGF0dHJpYnV0ZSA9PSAicG9pbnRzIikKKyAgICAgICAgcmV0dXJu
IFBvaW50c1Byb3BlcnR5OwogICAgIGlmIChhdHRyaWJ1dGUgPT0gImNvbG9yIiB8fCBhdHRyaWJ1
dGUgPT0gImZpbGwiIHx8IGF0dHJpYnV0ZSA9PSAic3Ryb2tlIikKICAgICAgICAgcmV0dXJuIENv
bG9yUHJvcGVydHk7CiAgICAgcmV0dXJuIE51bWJlclByb3BlcnR5OwpAQCAtMTQyLDYgKzE0NSwy
MiBAQCB2b2lkIFNWR0FuaW1hdGVFbGVtZW50OjpjYWxjdWxhdGVBbmltYXRlCiAgICAgICAgICAg
ICAgICAgICAgID8gbV90b1BhdGggOiBtX2Zyb21QYXRoOwogICAgICAgICB9CiAgICAgICAgIHJl
dHVybjsKKyAgICB9IGVsc2UgaWYgKG1fcHJvcGVydHlUeXBlID09IFBvaW50c1Byb3BlcnR5KSB7
CisgICAgICAgIGlmIChwZXJjZW50YWdlID09IDApCisgICAgICAgICAgICByZXN1bHRzLT5tX2Fu
aW1hdGVkUG9pbnRzID0gbV9mcm9tUG9pbnRzOworICAgICAgICBlbHNlIGlmIChwZXJjZW50YWdl
ID09IDEuZikKKyAgICAgICAgICAgIHJlc3VsdHMtPm1fYW5pbWF0ZWRQb2ludHMgPSBtX3RvUG9p
bnRzOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtX2Zyb21Qb2ludHMgJiYgbV90
b1BvaW50cykKKyAgICAgICAgICAgICAgICByZXN1bHRzLT5tX2FuaW1hdGVkUG9pbnRzID0gU1ZH
UG9pbnRMaXN0OjpjcmVhdGVBbmltYXRlZChtX2Zyb21Qb2ludHMuZ2V0KCksIG1fdG9Qb2ludHMu
Z2V0KCksIHBlcmNlbnRhZ2UpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJl
c3VsdHMtPm1fYW5pbWF0ZWRQb2ludHMuY2xlYXIoKTsKKyAgICAgICAgICAgIC8vIEZhbGwgYmFj
ayB0byBkaXNjcmV0ZSBhbmltYXRpb24gaWYgdGhlIHBvaW50cyBhcmUgbm90IGNvbXBhdGlibGUK
KyAgICAgICAgICAgIGlmICghcmVzdWx0cy0+bV9hbmltYXRlZFBvaW50cykKKyAgICAgICAgICAg
ICAgICByZXN1bHRzLT5tX2FuaW1hdGVkUG9pbnRzID0gKChhbmltYXRpb25Nb2RlID09IEZyb21U
b0FuaW1hdGlvbiAmJiBwZXJjZW50YWdlID4gMC41ZikgfHwgYW5pbWF0aW9uTW9kZSA9PSBUb0Fu
aW1hdGlvbiB8fCBwZXJjZW50YWdlID09IDEuMGYpIAorICAgICAgICAgICAgICAgICAgICA/IG1f
dG9Qb2ludHMgOiBtX2Zyb21Qb2ludHM7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBBU1NFUlQoYW5pbWF0aW9uTW9kZSA9PSBGcm9tVG9BbmltYXRpb24gfHwgYW5pbWF0
aW9uTW9kZSA9PSBUb0FuaW1hdGlvbiB8fCBhbmltYXRpb25Nb2RlID09IFZhbHVlc0FuaW1hdGlv
bik7CiAgICAgaWYgKChhbmltYXRpb25Nb2RlID09IEZyb21Ub0FuaW1hdGlvbiAmJiBwZXJjZW50
YWdlID4gMC41ZikgfHwgYW5pbWF0aW9uTW9kZSA9PSBUb0FuaW1hdGlvbiB8fCBwZXJjZW50YWdl
ID09IDEuMGYpCkBAIC0xNzcsNiArMTk2LDE1IEBAIGJvb2wgU1ZHQW5pbWF0ZUVsZW1lbnQ6OmNh
bGN1bGF0ZUZyb21BbmQKICAgICAgICAgfQogICAgICAgICBtX2Zyb21QYXRoLmNsZWFyKCk7CiAg
ICAgICAgIG1fdG9QYXRoLmNsZWFyKCk7CisgICAgfSBlbHNlIGlmIChtX3Byb3BlcnR5VHlwZSA9
PSBQb2ludHNQcm9wZXJ0eSkgeworICAgICAgICBtX2Zyb21Qb2ludHMgPSBTVkdQb2ludExpc3Q6
OmNyZWF0ZShTVkdOYW1lczo6cG9pbnRzQXR0cik7CisgICAgICAgIGlmIChwb2ludHNMaXN0RnJv
bVNWR0RhdGEobV9mcm9tUG9pbnRzLmdldCgpLCBmcm9tU3RyaW5nKSkgeworICAgICAgICAgICAg
bV90b1BvaW50cyA9IFNWR1BvaW50TGlzdDo6Y3JlYXRlKFNWR05hbWVzOjpwb2ludHNBdHRyKTsK
KyAgICAgICAgICAgIGlmIChwb2ludHNMaXN0RnJvbVNWR0RhdGEobV90b1BvaW50cy5nZXQoKSwg
dG9TdHJpbmcpKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAg
ICAgIG1fZnJvbVBvaW50cy5jbGVhcigpOworICAgICAgICBtX3RvUG9pbnRzLmNsZWFyKCk7CiAg
ICAgfQogICAgIG1fZnJvbVN0cmluZyA9IGZyb21TdHJpbmc7CiAgICAgbV90b1N0cmluZyA9IHRv
U3RyaW5nOwpAQCAtMjI0LDYgKzI1Miw5IEBAIHZvaWQgU1ZHQW5pbWF0ZUVsZW1lbnQ6OnJlc2V0
VG9CYXNlVmFsdWUKICAgICB9IGVsc2UgaWYgKG1fcHJvcGVydHlUeXBlID09IFBhdGhQcm9wZXJ0
eSkgewogICAgICAgICBtX2FuaW1hdGVkUGF0aC5jbGVhcigpOwogICAgICAgICByZXR1cm47Cisg
ICAgfSBlbHNlIGlmIChtX3Byb3BlcnR5VHlwZSA9PSBQb2ludHNQcm9wZXJ0eSkgeworICAgICAg
ICBtX2FuaW1hdGVkUG9pbnRzLmNsZWFyKCk7CisgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
bV9wcm9wZXJ0eVR5cGUgPSBTdHJpbmdQcm9wZXJ0eTsKIH0KQEAgLTI1MCw2ICsyODEsMTEgQEAg
dm9pZCBTVkdBbmltYXRlRWxlbWVudDo6YXBwbHlSZXN1bHRzVG9UYQogICAgICAgICAgICAgICAg
IHZhbHVlVG9BcHBseS5hcHBlbmQoc2VnbWVudC0+dG9TdHJpbmcoKSArICIgIik7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKG1fcHJvcGVydHlUeXBlID09IFBvaW50
c1Byb3BlcnR5KSB7CisgICAgICAgIGlmICghbV9hbmltYXRlZFBvaW50cyB8fCAhbV9hbmltYXRl
ZFBvaW50cy0+bnVtYmVyT2ZJdGVtcygpKQorICAgICAgICAgICAgdmFsdWVUb0FwcGx5ID0gbV9h
bmltYXRlZFN0cmluZzsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmFsdWVUb0FwcGx5ID0g
bV9hbmltYXRlZFBvaW50cy0+dmFsdWVBc1N0cmluZygpOwogICAgIH0gZWxzZQogICAgICAgICB2
YWx1ZVRvQXBwbHkgPSBtX2FuaW1hdGVkU3RyaW5nOwogICAgIApJbmRleDogV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRl
RWxlbWVudC5oCShyZXZpc2lvbiA1NjY5MykKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIFNWR1BhdGhTZWdMaXN0OworICAgIGNsYXNzIFNWR1BvaW50TGlzdDsK
IAogICAgIGNsYXNzIFNWR0FuaW1hdGVFbGVtZW50IDogcHVibGljIFNWR0FuaW1hdGlvbkVsZW1l
bnQgewogICAgIHB1YmxpYzoKQEAgLTQ0LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIGZsb2F0IGNhbGN1bGF0ZURpc3RhbmNlKGNvbnN0IFN0cmluZyYgZnJv
bVN0cmluZywgY29uc3QgU3RyaW5nJiB0b1N0cmluZyk7CiAKICAgICBwcml2YXRlOgotICAgICAg
ICBlbnVtIFByb3BlcnR5VHlwZSB7IE51bWJlclByb3BlcnR5LCBDb2xvclByb3BlcnR5LCBTdHJp
bmdQcm9wZXJ0eSwgUGF0aFByb3BlcnR5IH07CisgICAgICAgIGVudW0gUHJvcGVydHlUeXBlIHsg
TnVtYmVyUHJvcGVydHksIENvbG9yUHJvcGVydHksIFN0cmluZ1Byb3BlcnR5LCBQYXRoUHJvcGVy
dHksIFBvaW50c1Byb3BlcnR5IH07CiAgICAgICAgIFByb3BlcnR5VHlwZSBkZXRlcm1pbmVQcm9w
ZXJ0eVR5cGUoY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGUpIGNvbnN0OwogICAgICAgICBQcm9wZXJ0
eVR5cGUgbV9wcm9wZXJ0eVR5cGU7CiAgICAgICAgIApAQCAtNjEsNiArNjIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFJlZlB0cjxTVkdQYXRoU2VnTGlzdD4gbV9mcm9tUGF0aDsK
ICAgICAgICAgUmVmUHRyPFNWR1BhdGhTZWdMaXN0PiBtX3RvUGF0aDsKICAgICAgICAgUmVmUHRy
PFNWR1BhdGhTZWdMaXN0PiBtX2FuaW1hdGVkUGF0aDsKKyAgICAgICAgUmVmUHRyPFNWR1BvaW50
TGlzdD4gbV9mcm9tUG9pbnRzOworICAgICAgICBSZWZQdHI8U1ZHUG9pbnRMaXN0PiBtX3RvUG9p
bnRzOworICAgICAgICBSZWZQdHI8U1ZHUG9pbnRMaXN0PiBtX2FuaW1hdGVkUG9pbnRzOwogICAg
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlzdC5jcHAJ
KHJldmlzaW9uIDU2NjkzKQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDQsNyArMTQ0LDcgQEAgUGF0aCBTVkdQYXRoU2VnTGlzdDo6dG9QYXRo
RGF0YSgpCiAgICAgcmV0dXJuIHBhdGhEYXRhOwogfQogICAgIAotc3RhdGljIGlubGluZSBmbG9h
dCBibGVuZEZ1bmMoZmxvYXQgZnJvbSwgZmxvYXQgdG8sIGZsb2F0IHByb2dyZXNzKQorZmxvYXQg
YmxlbmRGdW5jKGZsb2F0IGZyb20sIGZsb2F0IHRvLCBmbG9hdCBwcm9ncmVzcykKIHsKICAgICBy
ZXR1cm4gKHRvIC0gZnJvbSkgKiBwcm9ncmVzcyArIGZyb207CiB9CkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdGhTZWdM
aXN0LmgJKHJldmlzaW9uIDU2NjkzKQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3QuaAko
d29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIFNWR1BhdGhTZWdMaXN0KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICB9OwogCisgICAg
ZmxvYXQgYmxlbmRGdW5jKGZsb2F0IGZyb20sIGZsb2F0IHRvLCBmbG9hdCBwcm9ncmVzcyk7CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBX
ZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R1BvaW50TGlzdC5jcHAJKHJldmlzaW9uIDU2NjkzKQorKysgV2ViQ29yZS9zdmcvU1ZHUG9pbnRM
aXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogCiAjaWYgRU5BQkxFKFNW
RykKICNpbmNsdWRlICJTVkdQb2ludExpc3QuaCIKKyNpbmNsdWRlICJTVkdQYXRoU2VnTGlzdC5o
IgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTUzLDYgKzU0LDI5IEBAIFN0cmluZyBTVkdQb2ludExpc3Q6OnZhbHVlQXNTdHJpbmcoKSBjb24K
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCitQYXNzUmVmUHRyPFNWR1BvaW50TGlzdD4gU1ZHUG9p
bnRMaXN0OjpjcmVhdGVBbmltYXRlZChjb25zdCBTVkdQb2ludExpc3QqIGZyb21MaXN0LCBjb25z
dCBTVkdQb2ludExpc3QqIHRvTGlzdCwgZmxvYXQgcHJvZ3Jlc3MpCit7CisgICAgdW5zaWduZWQg
aXRlbUNvdW50ID0gZnJvbUxpc3QtPm51bWJlck9mSXRlbXMoKTsKKyAgICBpZiAoIWl0ZW1Db3Vu
dCB8fCBpdGVtQ291bnQgIT0gdG9MaXN0LT5udW1iZXJPZkl0ZW1zKCkpCisgICAgICAgIHJldHVy
biAwOworICAgIFJlZlB0cjxTVkdQb2ludExpc3Q+IHJlc3VsdCA9IGNyZWF0ZShmcm9tTGlzdC0+
YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Cisg
ICAgZm9yICh1bnNpZ25lZCBuID0gMDsgbiA8IGl0ZW1Db3VudDsgKytuKSB7CisgICAgICAgIGNv
bnN0IEZsb2F0UG9pbnQgZnJvbSA9IGZyb21MaXN0LT5nZXRJdGVtKG4sIGVjKTsKKyAgICAgICAg
aWYgKGVjKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGNvbnN0IEZsb2F0UG9pbnQg
dG8gPSB0b0xpc3QtPmdldEl0ZW0obiwgZWMpOworICAgICAgICBpZiAoZWMpCisgICAgICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgRmxvYXRQb2ludCBzZWdtZW50ID0gRmxvYXRQb2ludChibGVu
ZEZ1bmMoZnJvbS54KCksIHRvLngoKSwgcHJvZ3Jlc3MpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJsZW5kRnVuYyhmcm9tLnkoKSwgdG8ueSgpLCBwcm9ncmVzcykp
OworICAgICAgICByZXN1bHQtPmFwcGVuZEl0ZW0oc2VnbWVudCwgZWMpOworICAgICAgICBpZiAo
ZWMpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdC5yZWxl
YXNlKCk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdQb2ludExpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQb2ludExpc3Qu
aAkocmV2aXNpb24gNTY2OTMpCisrKyBXZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzcsNiArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
U3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdDsKIAorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTVkdQb2ludExpc3Q+IGNyZWF0ZUFuaW1hdGVkKGNvbnN0IFNWR1BvaW50TGlzdCogZnJvbUxp
c3QsIGNvbnN0IFNWR1BvaW50TGlzdCogdG9MaXN0LCBmbG9hdCBwcm9ncmVzcyk7CisKICAgICBw
cml2YXRlOgogICAgICAgICBTVkdQb2ludExpc3QoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAg
IH07CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1NjY5NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEwLTAzLTI5ICBEaXJrIFNjaHVsemUg
IDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2Fubm90IGFuaW1hdGUgInBvaW50cyIgYXR0cmlidXRlIGZvciA8c3ZnOnBv
bHlnb24+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTM3MQorCisgICAgICAgIFRlc3RzIGlmIHBvaW50cyBvZiBhIHBvbHlnb24gYXJlIGFuaW1hdGVh
YmxlLgorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1wb2ludHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLXBvaW50cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvYW5pbWF0ZS1w
b2ludHMuanM6IEFkZGVkLgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAgIChzYW1wbGUyKToK
KyAgICAgICAgKHNhbXBsZTMpOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgorCiAyMDEwLTAzLTI4
ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0
ZXN0IHVwZGF0ZSBmb3IgV2luLgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5p
bWF0ZS1wb2ludHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL2FuaW1hdGUtcG9pbnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtcG9pbnRzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorU1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0
cworCitUZXN0cyBpZiBwb2ludHMgb2YgYSBwb2x5Z29uIGFyZSBhbmltYXRlYWJsZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcG9seS5wb2ludHMuZ2V0SXRlbSgyKS54
IGlzIDIwMAorUEFTUyBwb2x5LnBvaW50cy5nZXRJdGVtKDIpLnkgaXMgMjAwCitQQVNTIHBvbHku
cG9pbnRzLmdldEl0ZW0oMikueCBpcyAxNTAKK1BBU1MgcG9seS5wb2ludHMuZ2V0SXRlbSgyKS55
IGlzIDE1MAorUEFTUyBwb2x5LnBvaW50cy5nZXRJdGVtKDIpLnggaXMgYWxtb3N0IDEwMCwganVz
dCBiZWZvcmUtZW5kCitQQVNTIHBvbHkucG9pbnRzLmdldEl0ZW0oMikueCBpcyAyMDAKK1BBU1Mg
cG9seS5wb2ludHMuZ2V0SXRlbSgyKS55IGlzIDIwMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL2FuaW1hdGUtcG9pbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZS1wb2ludHMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtcG9pbnRzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
ZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL1NWR0FuaW1hdGlvblRlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHM8L2gxPgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvYW5pbWF0ZS1wb2ludHMuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3Rz
L2FuaW1hdGUtcG9pbnRzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLXBvaW50cy5qcwkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLXBvaW50cy5qcwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw3MCBAQAorLy8gRklYTUU6IFRoaXMgdGVzdCB3aWxsIGJlY29t
ZSB1c2VmdWwgb25jZSB3ZSBoYXZlIGJhc2ljIGFuaW1WYWwgc3VwcG9ydC4gRm9yIG5vdyBpdCdz
IGp1c3QgdGVzdGluZyB0aGUgU1ZHIGFuaW1hdGlvbiB0ZXN0IGluZnJhc3RydWN0dXJlCitkZXNj
cmlwdGlvbigiVGVzdHMgaWYgcG9pbnRzIG9mIGEgcG9seWdvbiBhcmUgYW5pbWF0ZWFibGUuIik7
CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50Cit2YXIgcG9s
eSA9IGNyZWF0ZVNWR0VsZW1lbnQoInBvbHlnb24iKTsKK3BvbHkuc2V0QXR0cmlidXRlKCJpZCIs
ICJwb2x5Iik7Citwb2x5LnNldEF0dHJpYnV0ZSgiZmlsbCIsICJncmVlbiIpOworcG9seS5zZXRB
dHRyaWJ1dGUoInBvaW50cyIsICIwLDAgMjAwLDAgMjAwLDIwMCAwLDIwMCIpOworcG9seS5zZXRB
dHRyaWJ1dGUoIm9uY2xpY2siLCAiZXhlY3V0ZVRlc3QoKSIpOworCit2YXIgYW5pbWF0ZSA9IGNy
ZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJpZCIsICJh
bmltYXRpb24iKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgInBvaW50
cyIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImZyb20iLCAiMCwwIDIwMCwwIDIwMCwyMDAgMCwy
MDAiKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJ0byIsICIwLDAgMTAwLDAgMTAwLDEwMCAwLDEw
MCIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgImNsaWNrIik7CithbmltYXRlLnNl
dEF0dHJpYnV0ZSgiZHVyIiwgIjRzIik7Citwb2x5LmFwcGVuZENoaWxkKGFuaW1hdGUpOworcm9v
dFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQocG9seSk7CisKKy8vIFNldHVwIGFuaW1hdGlvbiB0ZXN0
CitmdW5jdGlvbiBzYW1wbGUxKCkgeworICAgIC8vIENoZWNrIGluaXRpYWwvZW5kIGNvbmRpdGlv
bnMKKyAgICBzaG91bGRCZSgicG9seS5wb2ludHMuZ2V0SXRlbSgyKS54IiwgIjIwMCIpOworICAg
IHNob3VsZEJlKCJwb2x5LnBvaW50cy5nZXRJdGVtKDIpLnkiLCAiMjAwIik7CisgICAgLy9zaG91
bGRCZSgicG9seS5hbmltYXRlZFBvaW50cy5nZXRJdGVtKDIpLngiLCAiMjAwIik7CisgICAgLy9z
aG91bGRCZSgicG9seS5hbmltYXRlZFBvaW50cy5nZXRJdGVtKDIpLnkiLCAiMjAwIik7Cit9CisK
K2Z1bmN0aW9uIHNhbXBsZTIoKSB7CisgICAgLy8gRklYTUU6IEFkZCBhbmltVmFsIHN1cHBvcnQu
IEFuaW1hdGVzIGJhc2VWYWwgYXQgdGhlIG1vbWVudC4KKyAgICAvLyBzaG91bGRCZSgicmVjdC53
aWR0aC5hbmltVmFsLnZhbHVlIiwgIjE1MCIpOworICAgIC8vIHNob3VsZEJlKCJyZWN0LndpZHRo
LmJhc2VWYWwudmFsdWUiLCAiMjAwIik7CisKKyAgICAvLyBDaGVjayBoYWxmLXRpbWUgY29uZGl0
aW9ucworICAgIHNob3VsZEJlKCJwb2x5LnBvaW50cy5nZXRJdGVtKDIpLngiLCAiMTUwIik7Cisg
ICAgc2hvdWxkQmUoInBvbHkucG9pbnRzLmdldEl0ZW0oMikueSIsICIxNTAiKTsKKyAgICAvL3No
b3VsZEJlKCJwb2x5LmFuaW1hdGVkUG9pbnRzLmdldEl0ZW0oMikueCIsICIxNTAiKTsKKyAgICAv
L3Nob3VsZEJlKCJwb2x5LmFuaW1hdGVkUG9pbnRzLmdldEl0ZW0oMikueSIsICIxNTAiKTsKK30K
KworZnVuY3Rpb24gc2FtcGxlMygpIHsKKyAgICAvLyBGSVhNRTogQWRkIGFuaW1WYWwgc3VwcG9y
dC4gQW5pbWF0ZXMgYmFzZVZhbCBhdCB0aGUgbW9tZW50LgorICAgIC8vIHNob3VsZEJlKCJyZWN0
LndpZHRoLmFuaW1WYWwudmFsdWUiLCAiMTAwIik7CisgICAgLy8gc2hvdWxkQmUoInJlY3Qud2lk
dGguYmFzZVZhbC52YWx1ZSIsICIyMDAiKTsKKworICAgIC8vIENoZWNrIGp1c3QgYmVmb3JlLWVu
ZCBjb25kaXRpb25zCisgICAgdmFyIG9rID0gaXNDbG9zZUVub3VnaChwb2x5LnBvaW50cy5nZXRJ
dGVtKDIpLngsIDEwMCwgMC4wMSk7CisgICAgaWYgKG9rKQorICAgICAgICB0ZXN0UGFzc2VkKCJw
b2x5LnBvaW50cy5nZXRJdGVtKDIpLnggaXMgYWxtb3N0IDEwMCwganVzdCBiZWZvcmUtZW5kIik7
CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCJwb2x5LnBvaW50cy5nZXRJdGVtKDIpLngg
aXMgTk9UIGFsbW9zdCAxMDAsIGFzIGV4cGVjdGVkIik7Cit9CisKK2Z1bmN0aW9uIGV4ZWN1dGVU
ZXN0KCkgeworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWworICAgICAgICAvLyBbYW5pbWF0
aW9uSWQsIHRpbWUsIGVsZW1lbnRJZCwgc2FtcGxlQ2FsbGJhY2tdCisgICAgICAgIFsiYW5pbWF0
aW9uIiwgMC4wLCAgICAicG9seSIsIHNhbXBsZTFdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDIu
MCwgICAgInBvbHkiLCBzYW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAzLjk5OTksICJw
b2x5Iiwgc2FtcGxlM10sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgNC4wICwgICAicG9seSIsIHNh
bXBsZTFdCisgICAgXTsKKworICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOwor
fQorCisvLyBCZWdpbiB0ZXN0IGFzeW5jCit3aW5kb3cuc2V0VGltZW91dCgidHJpZ2dlclVwZGF0
ZSgxNSwgMzApIiwgMCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217421</attachid>
            <date>2013-11-20 05:16:41 -0800</date>
            <delta_ts>2013-11-20 06:08:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-21371-20131120141639.patch</filename>
            <type>text/plain</type>
            <size>8642</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTdjNWFmNmU4MTJkZDM3
OWZmY2QyMTgxZjEwNTFkZDQ4MTY3NzE0OC4uNjJhNmEwZTVlYjE2M2ZhOGIxYTlhNzNjODM5ZGFh
YzNjYjNiNGMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTExLTIwICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgQ2Fubm90IGFuaW1hdGUg
InBvaW50cyIgYXR0cmlidXRlIGZvciA8c3ZnOnBvbHlnb24+CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM3MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuc3VyZSB3ZSB1c2UgYW5pbWF0ZWQgbGlzdCBv
ZiBwb2ludHMgZm9yIFNWRyA8cG9seWdvbj4gYW5kIDxwb2x5bGluZT4gZWxlbWVudHMKKyAgICAg
ICAgd2hlbiB3ZSBidWlsZCB0aGUgcGF0aCB1c2VkIHRvIGRyYXcgdGhlbSwgb3RoZXJ3aXNlIHRo
ZSBhbmltYXRlZCBjaGFuZ2VzIHdvbid0CisgICAgICAgIGJlIHJlbmRlcmVkIGFuZCB0aGUgYmFz
ZSB2YWx1ZSB3aWxsIGJlIHVzZWQuCisKKyAgICAgICAgVGVzdHM6IHN2Zy9hbmltYXRpb25zL3Bv
bHlnb24tc2V0LnN2ZworICAgICAgICAgICAgICAgc3ZnL2FuaW1hdGlvbnMvcG9seWxpbmUtc2V0
LnN2ZworCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp1cGRhdGVQYXRoRnJvbVBvbHlnb25FbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OnVwZGF0ZVBhdGhGcm9tUG9seWxpbmVFbGVtZW50KToKKwogMjAxMy0xMS0xOCAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjE1OTQ1NS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUGF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQ
YXRoRGF0YS5jcHAKaW5kZXggNjdjNGY1MjM4MjJmNDNlODA3ZDVjZGI3NzQ3NzU0ZGQ0NWU1YTUx
Ni4uMTZjYzY0MzA2OTljNmU3M2Y4NDdjMmZlMzE2ODRlNmRlZmU4YTVkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKQEAgLTc2LDcgKzc2LDcgQEAg
c3RhdGljIHZvaWQgdXBkYXRlUGF0aEZyb21QYXRoRWxlbWVudChTVkdFbGVtZW50KiBlbGVtZW50
LCBQYXRoJiBwYXRoKQogCiBzdGF0aWMgdm9pZCB1cGRhdGVQYXRoRnJvbVBvbHlnb25FbGVtZW50
KFNWR0VsZW1lbnQqIGVsZW1lbnQsIFBhdGgmIHBhdGgpCiB7Ci0gICAgU1ZHUG9pbnRMaXN0JiBw
b2ludHMgPSB0b1NWR1BvbHlnb25FbGVtZW50KGVsZW1lbnQpLT5wb2ludExpc3QoKTsKKyAgICBT
VkdQb2ludExpc3QmIHBvaW50cyA9IHRvU1ZHUG9seWdvbkVsZW1lbnQoZWxlbWVudCktPmFuaW1h
dGVkUG9pbnRzKCktPnZhbHVlcygpOwogICAgIGlmIChwb2ludHMuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm47CiAKQEAgLTkxLDcgKzkxLDcgQEAgc3RhdGljIHZvaWQgdXBkYXRlUGF0aEZyb21Q
b2x5Z29uRWxlbWVudChTVkdFbGVtZW50KiBlbGVtZW50LCBQYXRoJiBwYXRoKQogCiBzdGF0aWMg
dm9pZCB1cGRhdGVQYXRoRnJvbVBvbHlsaW5lRWxlbWVudChTVkdFbGVtZW50KiBlbGVtZW50LCBQ
YXRoJiBwYXRoKQogewotICAgIFNWR1BvaW50TGlzdCYgcG9pbnRzID0gdG9TVkdQb2x5bGluZUVs
ZW1lbnQoZWxlbWVudCktPnBvaW50TGlzdCgpOworICAgIFNWR1BvaW50TGlzdCYgcG9pbnRzID0g
dG9TVkdQb2x5bGluZUVsZW1lbnQoZWxlbWVudCktPmFuaW1hdGVkUG9pbnRzKCktPnZhbHVlcygp
OwogICAgIGlmIChwb2ludHMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBj
OGM2NDc4N2M0N2QxODkwZTUwZjY2MTU0YjdkZjNmMjU2NmIwMmRmLi4zMzIwZGQ4NjBkNTVkZWMy
Y2I4NTVkYjdlNjVkYWJhYTY4Zjk0MWEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMTEt
MjAgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBDYW5ub3Qg
YW5pbWF0ZSAicG9pbnRzIiBhdHRyaWJ1dGUgZm9yIDxzdmc6cG9seWdvbj4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzcxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHRlc3RzIGNvdmVyaW5nIHRo
ZSBhY3R1YWwgYXBwbGljYXRpb24gb2YgdGhlIGFuaW1hdGVkIHZhbHVlCisgICAgICAgIGZvciB0
aGUgInBvaW50cyIgYXR0cmlidXRlIG9mIHRoZSBTVkcgPHBvbHlnb24+IGFuZCA8cG9seWxpbmU+
IGVsZW1lbnRzLgorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvcG9seWdvbi1zZXQtZXhwZWN0
ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9wb2x5Z29uLXNldC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3BvbHlnb24tc2V0LnN2
ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvcG9seWxpbmUtc2V0LWV4cGVjdGVk
LnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvcG9seWxpbmUtc2V0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvcG9seWxpbmUtc2V0LnN2
ZzogQWRkZWQuCisKIDIwMTMtMTEtMTggIFNhbXVlbCBXaGl0ZSAgPHNhbXVlbF93aGl0ZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQVg6IGFyaWEtbGFiZWxsZWRieSBzaG91bGQgYmUgdXNlZCBpbiBw
cmVmZXJlbmNlIHRvIGFyaWEtbGFiZWxlZGJ5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9wb2x5Z29uLXNldC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9wb2x5Z29uLXNldC1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTI0ODI4ZGM5MDc3
ZmI3NTRlYmFmNjUwZjdiMDI3MzllZWYwMDA3MwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTA0
NTQKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMUIlUWxZYnBSem5rQjlnQ0NN
NDckPVN1RnhlVWdNCnppSDJzMDI5YCE/c1lhJEloR3QweSMrSnpgIztKKXc1eVJCUDYhWThEO317
cTtHQ1ctekxuO3tHLXJVSDAqbm9sQQp6KFlqbEd3emt7Pi11LXF7bmY2JmF1ckI9bEVCMUwyaGRf
bT5NZn5+NHFRX0pqbk9IYWs2ZFYrfFlMZThJOVUyJioKentEdVFNMkBQamJtPnt4WDtaK1RjS35H
RC1zdiprR0Z0TUhSUUJ5IUBURUhjdDViRWJYWVJHN3FqSFoqKHlmYSE5CnpqMjRmaFJtTnlGSUAm
NTJaN0gjZ3dqTWBZKURFS14xZGNPSS16KDM+YUR3Xz11enIjTiVieH1vNkhadnEzKWx0bwp6Sjsw
RWVyLWp0X1lIREI8eH1idjhfY0NFKlViMXJ+a3xgV2FZI3Q3aWt4YWU3IVpZRjdHOXxiejRoa0Yr
M1hIeF4KekZrMmxPOUUxJVZYM2ckYGNsajZeNiVzfXJHOCFWSVg9RjZsQVdFbXZhJThrKjlqJDlk
WXYwbEskWT17fnc1YlJXCnpmemloRVhtP18/Z0VpWGE5UE5hVTRvaSM8KUY0NyZibShleTN+aDgm
YWRlekBibVZ6LUVGS1g4cXE3c2tZcmZfTwphdiQ7UmRAYCVsanRBR20/ODlaSjZULUdAeUd5d28x
dWpZJloKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9hbmltYXRpb25zL3BvbHlnb24tc2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL3BvbHlnb24tc2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTA2MDJiZjJj
Y2VhYzdjODM1Njg5MzhjOGUyYTZkYjlhMzRlNmY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvcG9seWdvbi1zZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9v
dCB7c3ZnfSBhdCAoMCwwKSBzaXplIDIwMHgyMDAKKyAgICBSZW5kZXJTVkdQYXRoIHtwb2x5Z29u
fSBhdCAoMCwwKSBzaXplIDIwMHgyMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAw
MF19XSBbcG9pbnRzPSIwIDAgMjAwIDAgMjAwIDIwMCAwIDIwMCJdCisgICAgUmVuZGVyU1ZHUGF0
aCB7cG9seWdvbn0gYXQgKDAsMCkgc2l6ZSAyMDB4MjAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDgwMDBdfV0gW3BvaW50cz0iMCAwIDEwMCAwIDEwMCAxMDAgMCAxMDAiXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvcG9seWdvbi1zZXQuc3ZnIGIvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvcG9seWdvbi1zZXQuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3NGUwNzE1
ZjY4YTBkN2MwMDI0M2M2NzRmNzA1YTZhOWRmZGQ1NWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9wb2x5Z29uLXNldC5zdmcKQEAgLTAsMCArMSw3IEBACis8
c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgICAgPGRlc2M+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IHdlIGNvcnJlY3RseSBoYW5kbGUgYW5pbWF0ZWQgdmFsdWVzIGZvciB0
aGUgInBvaW50cyIgYXR0cmlidXRlIG9mIGEgcG9seWdvbiBlbGVtZW50LjwvZGVzYz4KKyAgICA8
cG9seWdvbiBwb2ludHM9IjAsMCAyMDAsMCAyMDAsMjAwIDAsMjAwIiBmaWxsPSJyZWQiIC8+Cisg
ICAgPHBvbHlnb24gcG9pbnRzPSIwLDAgMTAwLDAgMTAwLDEwMCAwLDEwMCIgZmlsbD0iZ3JlZW4i
PgorICAgICAgICA8c2V0IGF0dHJpYnV0ZU5hbWU9InBvaW50cyIgdG89IjAsMCAyMDAsMCAyMDAs
MjAwIDAsMjAwIiAvPgorICAgIDwvcG9seWdvbj4KKzwvc3ZnPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3BvbHlsaW5l
LXNldC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9wb2x5bGluZS1z
ZXQtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMDE4NWM5MzE3NDU0YmJjMTFjNTgzMmY5N2M2
NTdkMmY3YzgwYTgKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEwNzE3CnpjbWVBU0BOPyhvbEh5
YHVWQnEhaWEweX55VXsrdllWMmE+aTFCJVFsWWJwUnpua0I5Z0NDTTQ3JD1TdUZ4ZU9NRAp6Iy1e
c0pYfn52R3JiI0JMI14lTnIyMWJVZFgyeis7aE4odSQkJVk+dUBwbDBBPGFAZH1oRXk9VnozSkdN
YSRMd0kKemFPI0Q5dipSalA5KFBtOU49aV8peEJkTDVScnRMe2VaakArLXs7cll8OXg9KGB1cHxy
ZjJQX2lJeX42VnZha057Cnppfm84NXc7dVpNKjEqOFgjS0l2XjUldTh4XjchezNmbExKbGg/dEc0
ZzJPems+Qm9nJjBzPEEkNGg/JjE/Ym9ZQQp6UlJ9MTJuOXsmZGA2QD12OCl9UyMhLUhIIyMhdWg9
P3dKUU03cFY2QEZjWl8wbUJwMWhWMmVQOEhFdzVSSWRTe0AKej1QSG9SNVl6b1JJVkxQV19qRHMl
ZmFSVztmSXxOTF5SR0ZGeGBQaGIrdDxHUnpXKTlFZT1HTVpmN21iaDxKYUc+CnpgK3RoYkozKyVO
TGZ9S1pnVj8kVXlhPlBkYWQxcGZadlFxREF0SmBZYV5qSGFvPD5CZDNOa1ZsSi1Ke3Y4Nm5jdAp6
eiExNWskczhWRDB2MVhONHQrQVcoaClIakF0MGNAOXNZcTA1JUJJbmdDeyF3X0NiaG5HY2x6Kzxo
bG9zVn19UEYKejRHZms9OFNfMmlrKH1WQCg0WjRAUCNQOXtFRjNhfDB0KVZZWjtjVkxyMzNVc3Q5
QXU1QkcjM0c+RU9ofFN+WXxTCnpEPGs4azBAaSRaMCNoaChhY0dkUys7VXo4WnU8cldoMCh4KWd4
Rn17akhWb3AoUUV9VC0kdSl2KEVeIWl3Nj1tYgp6NT1OX1hjdGN7ZW9kWFl3KE1JNUMzei1FPV9v
MT1BPyRfTS17cmxeRkUmdGFDNDxhQiNwN29GVGducGVtTD50XjsKemZ1ZSRnKVQlTj5LU0pSe3Bo
SDdWJTEzMippO1IocG15eipPeiphPG1nclR0Pyp4KjwwbVBobW4xVHVofmcwQHcyCno7WUFoO01+
I1NwZl8mczM0fHJBOTtOYX1nVT1zMmMkQCZNMjh5SjNgYzt0QGdxcChPWkYpZGtgckgqOTFKZ2Bz
Ywp6RUBxRzkjdFhwQzRzV1A2bEohM3s2ZGRkfXtne2FHWmV2Pm1MKnxOR2hefGU7MGU0XnJjSCtA
fkJzWkZ7dXl7Q00Kel4rVTRXaipFaz1BWmxGeS11fU4tSD9ycCU5SnFleURgK09FIU1pKlQzKUI9
R3ZiS2xgIX1HQWgxU1RkRypFMns/Cnp4Jm19a0Aza1ooQ2p+aClFYXtrdTxnLX1+M0BhfjJgNSot
Pig5dDQ+TlR2bnwzbi1YSWJ0NDZrMlA1TW9yOEZjewp6dnctMzNtVGlhPiZZQjdpS31WMkhePnR7
dGxBKCpfZDw5ayhrRkZVPXJtZ15YP3hvZnFNUk5YPDFfbjwtVjxifmUKejg1eDVYWj1IZVVkfDxq
NTRWMk05OEJIa3lxdUVFblZZRXpYYTJQRlU4SlJ8RkFDfVE3bkx9Vy1vdVYrPmN5ajxZCnpva3ZA
PXFzQEZLbWVJWnMkN3FMOFY2Pk80RmdrUHFUMyM/WmJpZ3pecDJFVTBJJj81UGJPNCt6OXZ3T3U5
WGJGRgpvZnt6WHpqMUM8RHJ5JDUwSShRSzhvK1BZeTw7JlVNITFiQzhwMDBpXz56b3ByMEF2PXVX
ZEh5RwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvcG9seWxpbmUtc2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL3BvbHlsaW5lLXNldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGRhYmYwMmI4
OWRjMDY0YmVlMWExODg3N2JjYzRjNWMxN2I2OGM0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL3BvbHlsaW5lLXNldC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJTVkdS
b290IHtzdmd9IGF0ICgxMCwwKSBzaXplIDIxMHgyMjAKKyAgICBSZW5kZXJTVkdQYXRoIHtwb2x5
bGluZX0gYXQgKDEwLDApIHNpemUgMjEweDIyMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSNGRjAwMDBdIFtzdHJva2Ugd2lkdGg9MjAuMDBdfV0gW3BvaW50cz0iMTAgMTAgMjEwIDEwIDIx
MCAyMTAgMTAgMjEwIl0KKyAgICBSZW5kZXJTVkdQYXRoIHtwb2x5bGluZX0gYXQgKDEwLDApIHNp
emUgMjEweDIyMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdIFtzdHJva2Ug
d2lkdGg9MjAuMDBdfV0gW3BvaW50cz0iMTAgMTAgMTEwIDEwIDExMCAxMTAgMTAgMTEwIl0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3BvbHlsaW5lLXNldC5zdmcgYi9M
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9wb2x5bGluZS1zZXQuc3ZnCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQz
NmE4MzU5YmU3MDJkMjhiMjc1Yjk3NWY2M2ZkMjhkMjJlNDAzMDEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9wb2x5bGluZS1zZXQuc3ZnCkBAIC0wLDAgKzEs
NyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorICAgIDxkZXNj
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCB3ZSBjb3JyZWN0bHkgaGFuZGxlIGFuaW1hdGVkIHZhbHVl
cyBmb3IgdGhlICJwb2ludHMiIGF0dHJpYnV0ZSBvZiBhIHBvbHlsaW5lIGVsZW1lbnQuIFlvdSBz
aG91bGQgc2VlIG9ubHkgYSB0aGljayBncmVlbiBzdHJva2UgYW5kIG5vIHJlZC48L2Rlc2M+Cisg
ICAgPHBvbHlsaW5lIHBvaW50cz0iMTAsMTAgMjEwLDEwIDIxMCwyMTAgMTAsMjEwIiBmaWxsPSJu
b25lIiBzdHJva2U9InJlZCIgc3Ryb2tlLXdpZHRoPSIyMCIgLz4KKyAgICA8cG9seWxpbmUgcG9p
bnRzPSIxMCwxMCAxMTAsMTAgMTEwLDExMCAxMCwxMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iZ3Jl
ZW4iIHN0cm9rZS13aWR0aD0iMjAiPgorICAgICAgICA8c2V0IGF0dHJpYnV0ZU5hbWU9InBvaW50
cyIgdG89IjEwLDEwIDIxMCwxMCAyMTAsMjEwIDEwLDIxMCIgLz4KKyAgICA8L3BvbHlsaW5lPgor
PC9zdmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217422</attachid>
            <date>2013-11-20 06:08:27 -0800</date>
            <delta_ts>2013-11-20 06:53:05 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-21371-20131120150825.patch</filename>
            <type>text/plain</type>
            <size>5536</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTdjNWFmNmU4MTJkZDM3
OWZmY2QyMTgxZjEwNTFkZDQ4MTY3NzE0OC4uYzkxZjRkMjEzOWFmMGYwMzM4ZTYxNDFhZjI0NTM5
ZGUwYmQzOTM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTExLTIwICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgQ2Fubm90IGFuaW1hdGUg
InBvaW50cyIgYXR0cmlidXRlIGZvciA8c3ZnOnBvbHlnb24+CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM3MQorCisgICAgICAgIFJldmlld2VkIGJ5
IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIEVuc3VyZSB3ZSB1c2UgYW5pbWF0ZWQgbGlzdCBv
ZiBwb2ludHMgZm9yIFNWRyA8cG9seWdvbj4gYW5kIDxwb2x5bGluZT4gZWxlbWVudHMKKyAgICAg
ICAgd2hlbiB3ZSBidWlsZCB0aGUgcGF0aCB1c2VkIHRvIGRyYXcgdGhlbSwgb3RoZXJ3aXNlIHRo
ZSBhbmltYXRlZCBjaGFuZ2VzIHdvbid0CisgICAgICAgIGJlIHJlbmRlcmVkIGFuZCB0aGUgYmFz
ZSB2YWx1ZSB3aWxsIGJlIHVzZWQuCisKKyAgICAgICAgVGVzdHM6IHN2Zy9hbmltYXRpb25zL3Bv
bHlnb24tc2V0LnN2ZworICAgICAgICAgICAgICAgc3ZnL2FuaW1hdGlvbnMvcG9seWxpbmUtc2V0
LnN2ZworCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp1cGRhdGVQYXRoRnJvbVBvbHlnb25FbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OnVwZGF0ZVBhdGhGcm9tUG9seWxpbmVFbGVtZW50KToKKwogMjAxMy0xMS0xOCAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjE1OTQ1NS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUGF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQ
YXRoRGF0YS5jcHAKaW5kZXggNjdjNGY1MjM4MjJmNDNlODA3ZDVjZGI3NzQ3NzU0ZGQ0NWU1YTUx
Ni4uMTZjYzY0MzA2OTljNmU3M2Y4NDdjMmZlMzE2ODRlNmRlZmU4YTVkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKQEAgLTc2LDcgKzc2LDcgQEAg
c3RhdGljIHZvaWQgdXBkYXRlUGF0aEZyb21QYXRoRWxlbWVudChTVkdFbGVtZW50KiBlbGVtZW50
LCBQYXRoJiBwYXRoKQogCiBzdGF0aWMgdm9pZCB1cGRhdGVQYXRoRnJvbVBvbHlnb25FbGVtZW50
KFNWR0VsZW1lbnQqIGVsZW1lbnQsIFBhdGgmIHBhdGgpCiB7Ci0gICAgU1ZHUG9pbnRMaXN0JiBw
b2ludHMgPSB0b1NWR1BvbHlnb25FbGVtZW50KGVsZW1lbnQpLT5wb2ludExpc3QoKTsKKyAgICBT
VkdQb2ludExpc3QmIHBvaW50cyA9IHRvU1ZHUG9seWdvbkVsZW1lbnQoZWxlbWVudCktPmFuaW1h
dGVkUG9pbnRzKCktPnZhbHVlcygpOwogICAgIGlmIChwb2ludHMuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm47CiAKQEAgLTkxLDcgKzkxLDcgQEAgc3RhdGljIHZvaWQgdXBkYXRlUGF0aEZyb21Q
b2x5Z29uRWxlbWVudChTVkdFbGVtZW50KiBlbGVtZW50LCBQYXRoJiBwYXRoKQogCiBzdGF0aWMg
dm9pZCB1cGRhdGVQYXRoRnJvbVBvbHlsaW5lRWxlbWVudChTVkdFbGVtZW50KiBlbGVtZW50LCBQ
YXRoJiBwYXRoKQogewotICAgIFNWR1BvaW50TGlzdCYgcG9pbnRzID0gdG9TVkdQb2x5bGluZUVs
ZW1lbnQoZWxlbWVudCktPnBvaW50TGlzdCgpOworICAgIFNWR1BvaW50TGlzdCYgcG9pbnRzID0g
dG9TVkdQb2x5bGluZUVsZW1lbnQoZWxlbWVudCktPmFuaW1hdGVkUG9pbnRzKCktPnZhbHVlcygp
OwogICAgIGlmIChwb2ludHMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBj
OGM2NDc4N2M0N2QxODkwZTUwZjY2MTU0YjdkZjNmMjU2NmIwMmRmLi41MmQyZDM2YjAzYTk2ZDZk
YmJjMDIzNTFiZWRlNzhmNTg4MDU4ZDMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMTEt
MjAgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBDYW5ub3Qg
YW5pbWF0ZSAicG9pbnRzIiBhdHRyaWJ1dGUgZm9yIDxzdmc6cG9seWdvbj4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzcxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgTmV3IHRlc3RzIGNvdmVyaW5nIHRo
ZSBhY3R1YWwgYXBwbGljYXRpb24gb2YgdGhlIGFuaW1hdGVkIHZhbHVlCisgICAgICAgIGZvciB0
aGUgInBvaW50cyIgYXR0cmlidXRlIG9mIHRoZSBTVkcgPHBvbHlnb24+IGFuZCA8cG9seWxpbmU+
IGVsZW1lbnRzLgorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvcG9seWdvbi1zZXQtZXhwZWN0
ZWQuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9wb2x5Z29uLXNldC5zdmc6
IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3BvbHlsaW5lLXNldC1leHBlY3RlZC5z
dmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3BvbHlsaW5lLXNldC5zdmc6IEFk
ZGVkLgorCiAyMDEzLTExLTE4ICBTYW11ZWwgV2hpdGUgIDxzYW11ZWxfd2hpdGVAYXBwbGUuY29t
PgogCiAgICAgICAgIEFYOiBhcmlhLWxhYmVsbGVkYnkgc2hvdWxkIGJlIHVzZWQgaW4gcHJlZmVy
ZW5jZSB0byBhcmlhLWxhYmVsZWRieQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvcG9seWdvbi1zZXQtZXhwZWN0ZWQuc3ZnIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvcG9seWdvbi1zZXQtZXhwZWN0ZWQuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmZmFiYzRhOTY2NjFmZWJh
MzU1NmUyNGVkYjg5NGQ4ZThlNTg5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9wb2x5Z29uLXNldC1leHBlY3RlZC5zdmcKQEAgLTAsMCArMSwzIEBACis8
c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CisgICAgPHBvbHlnb24gcG9p
bnRzPSIwLDAgMjAwLDAgMjAwLDIwMCAwLDIwMCIgZmlsbD0iZ3JlZW4iIC8+Cis8L3N2Zz4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9wb2x5Z29uLXNldC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9wb2x5
Z29uLXNldC5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc0ZTA3MTVmNjhhMGQ3YzAwMjQzYzY3NGY3MDVhNmE5
ZGZkZDU1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3Bv
bHlnb24tc2V0LnN2ZwpAQCAtMCwwICsxLDcgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIj4KKyAgICA8ZGVzYz5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgd2UgY29ycmVj
dGx5IGhhbmRsZSBhbmltYXRlZCB2YWx1ZXMgZm9yIHRoZSAicG9pbnRzIiBhdHRyaWJ1dGUgb2Yg
YSBwb2x5Z29uIGVsZW1lbnQuPC9kZXNjPgorICAgIDxwb2x5Z29uIHBvaW50cz0iMCwwIDIwMCww
IDIwMCwyMDAgMCwyMDAiIGZpbGw9InJlZCIgLz4KKyAgICA8cG9seWdvbiBwb2ludHM9IjAsMCAx
MDAsMCAxMDAsMTAwIDAsMTAwIiBmaWxsPSJncmVlbiI+CisgICAgICAgIDxzZXQgYXR0cmlidXRl
TmFtZT0icG9pbnRzIiB0bz0iMCwwIDIwMCwwIDIwMCwyMDAgMCwyMDAiIC8+CisgICAgPC9wb2x5
Z29uPgorPC9zdmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvcG9seWxpbmUtc2V0LWV4cGVjdGVkLnN2ZyBiL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL3BvbHlsaW5lLXNldC1leHBlY3RlZC5zdmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDFkODMxMWUzNjFhZDQ0ZjVlN2EzYTAyYjM1MWU1MTU5MjRiZmFhMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3BvbHlsaW5lLXNldC1leHBlY3RlZC5z
dmcKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyI+CisgICAgPHBvbHlsaW5lIHBvaW50cz0iMTAsMTAgMjEwLDEwIDIxMCwyMTAgMTAsMjEwIiBm
aWxsPSJub25lIiBzdHJva2U9ImdyZWVuIiBzdHJva2Utd2lkdGg9IjIwIiAvPgorPC9zdmc+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvcG9seWxpbmUtc2V0LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3Bv
bHlsaW5lLXNldC5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDM2YTgzNTliZTcwMmQyOGIyNzViOTc1ZjYzZmQy
OGQyMmU0MDMwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L3BvbHlsaW5lLXNldC5zdmcKQEAgLTAsMCArMSw3IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyI+CisgICAgPGRlc2M+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHdlIGNv
cnJlY3RseSBoYW5kbGUgYW5pbWF0ZWQgdmFsdWVzIGZvciB0aGUgInBvaW50cyIgYXR0cmlidXRl
IG9mIGEgcG9seWxpbmUgZWxlbWVudC4gWW91IHNob3VsZCBzZWUgb25seSBhIHRoaWNrIGdyZWVu
IHN0cm9rZSBhbmQgbm8gcmVkLjwvZGVzYz4KKyAgICA8cG9seWxpbmUgcG9pbnRzPSIxMCwxMCAy
MTAsMTAgMjEwLDIxMCAxMCwyMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmVkIiBzdHJva2Utd2lk
dGg9IjIwIiAvPgorICAgIDxwb2x5bGluZSBwb2ludHM9IjEwLDEwIDExMCwxMCAxMTAsMTEwIDEw
LDExMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJncmVlbiIgc3Ryb2tlLXdpZHRoPSIyMCI+CisgICAg
ICAgIDxzZXQgYXR0cmlidXRlTmFtZT0icG9pbnRzIiB0bz0iMTAsMTAgMjEwLDEwIDIxMCwyMTAg
MTAsMjEwIiAvPgorICAgIDwvcG9seWxpbmU+Cis8L3N2Zz4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>