<?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>106358</bug_id>
          
          <creation_ts>2013-01-08 11:47:34 -0800</creation_ts>
          <short_desc>[EFL][WebGL] WebGL content is not painted after resizing the viewport.</short_desc>
          <delta_ts>2013-02-11 23:26:31 -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>WebKit EFL</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>https://www.webkit.org/blog-files/webgl/SpiritBox.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>104532</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joone Hur">joone</reporter>
          <assigned_to name="Viatcheslav Ostapenko">ostap73</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>hugo.lima</cc>
    
    <cc>kalyan.kondapally</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>noam</cc>
    
    <cc>ostap73</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>802451</commentid>
    <comment_count>0</comment_count>
    <who name="Joone Hur">joone</who>
    <bug_when>2013-01-08 11:47:34 -0800</bug_when>
    <thetext>It seems that most WebGL contents are not painted after resizing the viewport.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803034</commentid>
    <comment_count>1</comment_count>
      <attachid>181848</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-08 22:22:23 -0800</bug_when>
    <thetext>Created attachment 181848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811165</commentid>
    <comment_count>2</comment_count>
      <attachid>181848</attachid>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-01-18 16:52:53 -0800</bug_when>
    <thetext>Comment on attachment 181848
Patch

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

&gt; Source/WebCore/platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:481
&gt; +{

What about the other GraphicsSurface implementations ?? i.e GraphicsSurfaceWin, GraphicsSurfaceMac etc

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:349
&gt; +        assignImageBackingToLayer(layer, layerInfo.imageID);

Does this change effect GraphicsSurface usage on other platforms i.e using GraphicsSurface with Qt on Win, Mac for example. ??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811563</commentid>
    <comment_count>3</comment_count>
      <attachid>183658</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-19 23:06:07 -0800</bug_when>
    <thetext>Created attachment 183658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811564</commentid>
    <comment_count>4</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-19 23:18:43 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 181848 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181848&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:481
&gt; &gt; +{
&gt; 
&gt; What about the other GraphicsSurface implementations ?? i.e GraphicsSurfaceWin, GraphicsSurfaceMac etc
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:349
&gt; &gt; +        assignImageBackingToLayer(layer, layerInfo.imageID);
&gt; 
&gt; Does this change effect GraphicsSurface usage on other platforms i.e using GraphicsSurface with Qt on Win, Mac for example. ??

I&apos;ve added empty platformReset methods to make it compile on Qt Win and Mac. Qt doesn&apos;t need this because it doesn&apos;t have surface resize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811579</commentid>
    <comment_count>5</comment_count>
      <attachid>183658</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-01-20 00:36:30 -0800</bug_when>
    <thetext>Comment on attachment 183658
Patch

This looks like a hack. 
I can&apos;t understand what the code does from reading it - but I&apos;m guessing it resets all the backing store sizes forcing the GLX ones to get a new size from the GLXPixmap on the next draw, and this happens whenever anything changes in the layer? This doesn&apos;t seem like the most straightforward way to do what you&apos;re trying to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811620</commentid>
    <comment_count>6</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-01-20 07:20:57 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 181848 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181848&amp;action=review
&gt;Qt doesn&apos;t need this because it doesn&apos;t have surface resize.

Isn&apos;t the issue here that we are resizing the viewport and not the canvas itself ??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811664</commentid>
    <comment_count>7</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-20 13:08:52 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; (From update of attachment 181848 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181848&amp;action=review
&gt; &gt;Qt doesn&apos;t need this because it doesn&apos;t have surface resize.
&gt; 
&gt; Isn&apos;t the issue here that we are resizing the viewport and not the canvas itself ??

Canvas also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811666</commentid>
    <comment_count>8</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-20 13:15:08 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 183658 [details])
&gt; This looks like a hack. 
&gt; I can&apos;t understand what the code does from reading it - but I&apos;m guessing it resets all the backing store sizes forcing the GLX ones to get a new size from the GLXPixmap on the next draw, and this happens whenever anything changes in the layer? This doesn&apos;t seem like the most straightforward way to do what you&apos;re trying to do.

Yes, resetting surface size is a part of the fix.
Also, setLayerState clears layer backing store by calling assingImageBackingToLayer with 0 imageID. My patch also prevents this.

What do you think would be better approach if we want to support surface resize?

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811736</commentid>
    <comment_count>9</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-01-20 19:05:02 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 183658 [details] [details])
&gt; &gt; This looks like a hack. 
&gt; &gt; I can&apos;t understand what the code does from reading it - but I&apos;m guessing it resets all the backing store sizes forcing the GLX ones to get a new size from the GLXPixmap on the next draw, and this happens whenever anything changes in the layer? This doesn&apos;t seem like the most straightforward way to do what you&apos;re trying to do.
&gt; 
&gt; Yes, resetting surface size is a part of the fix.
&gt; Also, setLayerState clears layer backing store by calling assingImageBackingToLayer with 0 imageID. My patch also prevents this.
&gt; 
&gt; What do you think would be better approach if we want to support surface resize?
&gt; 
&gt; Thanks.

Looking at the demo, it doesn&apos;t resize the html canvas element after the initial setup is done. Demo seems broken after the main view size changes. Currently, any resize of Context3D platform layer(as a result of resizing the canvas element) would destroy the existing surface and create a new one. 
Still wondering about the issue here and why it is fixed after forcing a size query on graphicssurfaceglx side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811737</commentid>
    <comment_count>10</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-20 19:15:52 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; (From update of attachment 183658 [details] [details] [details])
&gt; &gt; &gt; This looks like a hack. 
&gt; &gt; &gt; I can&apos;t understand what the code does from reading it - but I&apos;m guessing it resets all the backing store sizes forcing the GLX ones to get a new size from the GLXPixmap on the next draw, and this happens whenever anything changes in the layer? This doesn&apos;t seem like the most straightforward way to do what you&apos;re trying to do.
&gt; &gt; 
&gt; &gt; Yes, resetting surface size is a part of the fix.
&gt; &gt; Also, setLayerState clears layer backing store by calling assingImageBackingToLayer with 0 imageID. My patch also prevents this.
&gt; &gt; 
&gt; &gt; What do you think would be better approach if we want to support surface resize?
&gt; &gt; 
&gt; &gt; Thanks.
&gt; 
&gt; Looking at the demo, it doesn&apos;t resize the html canvas element after the initial setup is done. Demo seems broken after the main view size changes. Currently, any resize of Context3D platform layer(as a result of resizing the canvas element) would destroy the existing surface and create a new one. 
&gt; Still wondering about the issue here and why it is fixed after forcing a size query on graphicssurfaceglx side.

No, it doesn&apos;t destroy the surface. It just resizes it. Is it wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811746</commentid>
    <comment_count>11</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-01-20 20:10:01 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; (From update of attachment 183658 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; This looks like a hack.  
&gt; No, it doesn&apos;t destroy the surface. It just resizes it. Is it wrong?

Yes, CoordinateGraphicsLayer should recreate the surface(in UI Process side).
If we hold on to a surface with wrong size than that should be a bug here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812407</commentid>
    <comment_count>12</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-01-21 15:00:06 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; &gt; (From update of attachment 183658 [details] [details] [details] [details] [details])
&gt; &gt; &gt; &gt; &gt; This looks like a hack.  
&gt; &gt; No, it doesn&apos;t destroy the surface. It just resizes it. Is it wrong?
&gt; 
&gt; Yes, CoordinateGraphicsLayer should recreate the surface(in UI Process side).
&gt; If we hold on to a surface with wrong size than that should be a bug here.

k, I think we are trying to solve two different things here. The issue with this demo and (some others I could replicate with) is clearing the backing store of the canvas layer(As you mentioned above and provided the fix). 

The other thing we are trying to solve here(atleast partly) is to avoid deletion of surface on UI side during canvas resize. IMHO should be part of a different discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812614</commentid>
    <comment_count>13</comment_count>
      <attachid>183892</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-21 22:24:54 -0800</bug_when>
    <thetext>Created attachment 183892
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812615</commentid>
    <comment_count>14</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-21 22:26:38 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; &gt; &gt; (From update of attachment 183658 [details] [details] [details] [details] [details] [details])
&gt; &gt; &gt; &gt; &gt; &gt; This looks like a hack.  
&gt; &gt; &gt; No, it doesn&apos;t destroy the surface. It just resizes it. Is it wrong?
&gt; &gt; 
&gt; &gt; Yes, CoordinateGraphicsLayer should recreate the surface(in UI Process side).
&gt; &gt; If we hold on to a surface with wrong size than that should be a bug here.
&gt; 
&gt; k, I think we are trying to solve two different things here. The issue with this demo and (some others I could replicate with) is clearing the backing store of the canvas layer(As you mentioned above and provided the fix). 
&gt; 
&gt; The other thing we are trying to solve here(atleast partly) is to avoid deletion of surface on UI side during canvas resize. IMHO should be part of a different discussion.

It appears canvas resize problem is already solved. If layer/canvas size changed, canvas get recreated.
I uploaded patch which fixes layer update problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812625</commentid>
    <comment_count>15</comment_count>
      <attachid>183892</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-01-21 22:44:29 -0800</bug_when>
    <thetext>Comment on attachment 183892
Patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:345
&gt; +#if USE(GRAPHICS_SURFACE)
&gt; +    SurfaceBackingStoreMap::iterator it = m_surfaceBackingStores.find(id);
&gt; +    if (it == m_surfaceBackingStores.end())
&gt; +#endif

Can you move this into the assignImageBackingToLayer function, with an early return?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812680</commentid>
    <comment_count>16</comment_count>
      <attachid>183903</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-22 00:05:54 -0800</bug_when>
    <thetext>Created attachment 183903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812681</commentid>
    <comment_count>17</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-22 00:06:29 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 183892 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=183892&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:345
&gt; &gt; +#if USE(GRAPHICS_SURFACE)
&gt; &gt; +    SurfaceBackingStoreMap::iterator it = m_surfaceBackingStores.find(id);
&gt; &gt; +    if (it == m_surfaceBackingStores.end())
&gt; &gt; +#endif
&gt; 
&gt; Can you move this into the assignImageBackingToLayer function, with an early return?

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812697</commentid>
    <comment_count>18</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-01-22 00:15:48 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #15)
&gt; &gt; (From update of attachment 183892 [details] [details])
&gt; Done

Would be nice to have a layout test to replicate the issue. Would it be possible to provide one along with the fix ??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812702</commentid>
    <comment_count>19</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-01-22 00:23:43 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Would be nice to have a layout test to replicate the issue. Would it be possible to provide one along with the fix ??

or is it already covered by our tests(i.e pixel tests)??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813679</commentid>
    <comment_count>20</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-22 19:10:59 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; (From update of attachment 183892 [details] [details] [details])
&gt; &gt; Done
&gt; 
&gt; Would be nice to have a layout test to replicate the issue. Would it be possible to provide one along with the fix ??

Tried to do test today, cannot force it to re-layout the page.
Minibrowser uses fixed layout view and does setFixedLayout on window resize.
On webkittestrunner this doesn&apos;t happen by default.
It is possible to force fixed layout for webkittestrunner, but I&apos;d have to do something like this:
https://trac.webkit.org/changeset/140262/trunk/Tools/WebKitTestRunner/TestInvocation.cpp
Any ideas?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816826</commentid>
    <comment_count>21</comment_count>
      <attachid>184790</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-25 12:08:09 -0800</bug_when>
    <thetext>Created attachment 184790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816858</commentid>
    <comment_count>22</comment_count>
      <attachid>184790</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-01-25 13:02:31 -0800</bug_when>
    <thetext>Comment on attachment 184790
Patch

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

Good catch! One nitpick but otherwise looks ok to me, if you can get a WK2 owner to review.

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:553
&gt; +    SurfaceBackingStoreMap::iterator surfacesIterator = m_surfaceBackingStores.find(id);
&gt; +    if (surfacesIterator != m_surfaceBackingStores.end())
&gt; +        return;

if (m_surfaceBackingStores.contains(id))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816861</commentid>
    <comment_count>23</comment_count>
      <attachid>184798</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-25 13:10:22 -0800</bug_when>
    <thetext>Created attachment 184798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816997</commentid>
    <comment_count>24</comment_count>
      <attachid>184798</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-25 16:00:03 -0800</bug_when>
    <thetext>Comment on attachment 184798
Patch

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

New failing tests:
fast/canvas/webgl/webgl-composite-modes-update.html
platform/chromium/virtual/gpu/fast/canvas/webgl/webgl-composite-modes-update.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817118</commentid>
    <comment_count>25</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-25 21:31:55 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 184798 [details])
&gt; Attachment 184798 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/16124532
&gt; 
&gt; New failing tests:
&gt; fast/canvas/webgl/webgl-composite-modes-update.html
&gt; platform/chromium/virtual/gpu/fast/canvas/webgl/webgl-composite-modes-update.html

Have built chromium, have weird results:

fast/canvas/webgl/webgl-composite-modes-update.html [ ImageOnlyFailure ]

+fast/canvas/webgl/webgl-composite-modes-update.html		images diff (0%) 	IMAGE	PASS

I&apos;ll attach expected and actual images. For me look identical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817119</commentid>
    <comment_count>26</comment_count>
      <attachid>184853</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-25 21:33:08 -0800</bug_when>
    <thetext>Created attachment 184853
webgl-composite-modes-update-expected.png</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817120</commentid>
    <comment_count>27</comment_count>
      <attachid>184854</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-25 21:38:34 -0800</bug_when>
    <thetext>Created attachment 184854
webgl-composite-modes-update-actual.png</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817129</commentid>
    <comment_count>28</comment_count>
      <attachid>184855</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-25 22:21:34 -0800</bug_when>
    <thetext>Created attachment 184855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817130</commentid>
    <comment_count>29</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-25 22:23:08 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; Created an attachment (id=184855) [details]
&gt; Patch

Use chromium test result as a baseline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817173</commentid>
    <comment_count>30</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-01-26 03:56:01 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (In reply to comment #28)
&gt; &gt; Created an attachment (id=184855) [details] [details]
&gt; &gt; Patch
&gt; 
&gt; Use chromium test result as a baseline.

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818106</commentid>
    <comment_count>31</comment_count>
      <attachid>184855</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-01-28 14:28:58 -0800</bug_when>
    <thetext>Comment on attachment 184855
Patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:551
&gt; +    if (m_surfaceBackingStores.contains(id))

Would not be better to do this check outside the assignImageBackingToLayer function? so it remains intact and doesn&apos;t seems like it needs to be renamed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818278</commentid>
    <comment_count>32</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-28 16:58:26 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 184855 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=184855&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:551
&gt; &gt; +    if (m_surfaceBackingStores.contains(id))
&gt; 
&gt; Would not be better to do this check outside the assignImageBackingToLayer function? so it remains intact and doesn&apos;t seems like it needs to be renamed.

https://bugs.webkit.org/show_bug.cgi?id=106358#c15</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819337</commentid>
    <comment_count>33</comment_count>
      <attachid>184855</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-29 14:34:24 -0800</bug_when>
    <thetext>Comment on attachment 184855
Patch

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

I sign off on this for WebKit2. Please get Noam to review the changes for correctness.

In my opinion, the test is not good enough. Tests have a cost, especially with timers.

&gt; LayoutTests/ChangeLog:14
&gt; +        Add test checking that canvas painting is correct if layer parameters were changed,
&gt; +        but webgl canvas didn&apos;t change.
&gt; +
&gt; +        * fast/canvas/webgl/webgl-composite-modes-update-expected.png: Added.
&gt; +        * fast/canvas/webgl/webgl-composite-modes-update-expected.txt: Added.
&gt; +        * fast/canvas/webgl/webgl-composite-modes-update.html: Added.
&gt; +

I think this is not a great test. You should focus on the use case at hand, not have complex rendering for the sake of it. Drawing simple rect should be enough to reproduce the bug with a pixel test.

The test rely on two timers. It is unlikely required as most canvas rendering can be forced.

&gt; LayoutTests/fast/canvas/webgl/webgl-composite-modes-update.html:28
&gt; +This test is only useful as a pixel test. You should see two rows with 4 canvases in each. The top row of canvases should have a black background, the bottom row should have a dark blue background.
&gt; +Each canvas should have a green triangle in it. If multisampling is supported, the odd columns should have smooth edges instead of jagged stair-stepping. Otherwise, all canvases within a row should be identical to each other.

This is not an accurate description of the test. You should have some context about what is being tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819373</commentid>
    <comment_count>34</comment_count>
      <attachid>184855</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-01-29 15:07:36 -0800</bug_when>
    <thetext>Comment on attachment 184855
Patch

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

&gt;&gt; LayoutTests/ChangeLog:14
&gt;&gt; +
&gt; 
&gt; I think this is not a great test. You should focus on the use case at hand, not have complex rendering for the sake of it. Drawing simple rect should be enough to reproduce the bug with a pixel test.
&gt; 
&gt; The test rely on two timers. It is unlikely required as most canvas rendering can be forced.

The problem is not in repaint of canvas, but in handling of layer update message for canvas layer on UI side.
I have to make sure, that layer flush happens and 1st set of updates is processed on UI side before the 2nd re-layout and layer flash.
I&apos;ll make test simpler, but probably will have to use several canvases. It was the most reliable way to reproduce the problem and I just modified existing layout test which always showed this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822425</commentid>
    <comment_count>35</comment_count>
      <attachid>185966</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-02-01 00:25:22 -0800</bug_when>
    <thetext>Created attachment 185966
Patch

Simplified test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822920</commentid>
    <comment_count>36</comment_count>
      <attachid>186075</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-02-01 10:23:10 -0800</bug_when>
    <thetext>Created attachment 186075
Patch

Rebased patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829038</commentid>
    <comment_count>37</comment_count>
      <attachid>186075</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-09 08:54:41 -0800</bug_when>
    <thetext>Comment on attachment 186075
Patch

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

I&apos;d rather not add a test at all than add a flaky test.

&gt; Source/WebCore/ChangeLog:9
&gt; +        When page size changes and layer parameters get updated LayerTreeRenderer::setLayerState
&gt; +        clears layer backing store and detaches canvas surface from the layer. If layer size is

You&apos;re missing &quot;the&quot;s
clears the layer backing store and detaches the canvas surface. If the layer size

&gt; Source/WebCore/ChangeLog:10
&gt; +        not changed then canvas recreate is not invoked because canvas size is also not changed

then the canvas is not recreated. This leaves the canvas detached from the layer, but still referenced from m_surfaceBackingStores.

&gt; Source/WebCore/ChangeLog:12
&gt; +        Don&apos;t assign layer backing store to layer in assignImageBackingToLayer if there is canvas

if there is a canvas surface

&gt; LayoutTests/ChangeLog:10
&gt; +        Add test checking that canvas painting is correct if layer parameters were changed,
&gt; +        but webgl canvas didn&apos;t change.
&gt; +

This is not a good description of the test. Please explain why you need a test with 3 canvases just to reproduce this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830159</commentid>
    <comment_count>38</comment_count>
      <attachid>187684</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-02-11 14:48:55 -0800</bug_when>
    <thetext>Created attachment 187684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830174</commentid>
    <comment_count>39</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-02-11 15:00:34 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; (From update of attachment 186075 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=186075&amp;action=review
&gt; You&apos;re missing &quot;the&quot;s

Fixed.
 
&gt; This is not a good description of the test. Please explain why you need a test with 3 canvases just to reproduce this.

It is not necessary now with use of testRunner.display()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830211</commentid>
    <comment_count>40</comment_count>
      <attachid>187684</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-11 15:27:56 -0800</bug_when>
    <thetext>Comment on attachment 187684
Patch

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

Looks good, but please clean up the test.

&gt; LayoutTests/fast/canvas/webgl/webgl-layer-update.html:7
&gt; +        var canvases = document.getElementsByTagName(&apos;canvas&apos;);
&gt; +        for(var i = 0; i &lt; canvases.length; i++) {

You have only 1 canvas in this test

&gt; LayoutTests/fast/canvas/webgl/webgl-layer-update.html:13
&gt; +            window.setTimeout(&quot;testRunner.notifyDone()&quot;, 0);

Is this timeout necessary?

&gt; LayoutTests/fast/canvas/webgl/webgl-layer-update.html:24
&gt; +            window.setTimeout(&quot;doUpdate()&quot;, 100);

window.setTimeout(doUpdate, 100);

&gt; LayoutTests/fast/canvas/webgl/webgl-layer-update.html:32
&gt; +if (window.testRunner) {
&gt; +    testRunner.waitUntilDone();
&gt; +}

No need for braces

&gt; LayoutTests/fast/canvas/webgl/webgl-layer-update.html:72
&gt; +var ctx;
&gt; +function addCanvas() {
&gt; +    var can = document.createElement(&apos;canvas&apos;);
&gt; +    can.width = can.height = 100;
&gt; +    can.style.position = &quot;absolute&quot;;
&gt; +    can.style.left = &quot;40px&quot;;
&gt; +    can.style.top = &quot;40px&quot;;
&gt; +    document.body.appendChild(can);
&gt; +    ctx = can.getContext(&quot;experimental-webgl&quot;);
&gt; +    draw(ctx, 1, 0, 0, 1);
&gt; +}
&gt; +
&gt; +function draw(gl, red, green, blue, alpha) {
&gt; +    gl.clearColor(red, green, blue, alpha);
&gt; +    gl.clear(gl.COLOR_BUFFER_BIT);
&gt; +}
&gt; +
&gt; +addCanvas();

This can all be one function or without a function at all... it&apos;s hard to read.

&gt; LayoutTests/fast/canvas/webgl/webgl-layer-update.html:76
&gt; +    testRunner.display();
&gt; +}

no need for braces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830241</commentid>
    <comment_count>41</comment_count>
      <attachid>187702</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2013-02-11 15:41:35 -0800</bug_when>
    <thetext>Created attachment 187702
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830597</commentid>
    <comment_count>42</comment_count>
      <attachid>187702</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 23:26:24 -0800</bug_when>
    <thetext>Comment on attachment 187702
Patch

Clearing flags on attachment: 187702

Committed r142586: &lt;http://trac.webkit.org/changeset/142586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830598</commentid>
    <comment_count>43</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 23:26:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181848</attachid>
            <date>2013-01-08 22:22:23 -0800</date>
            <delta_ts>2013-01-19 23:06:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130109011926.patch</filename>
            <type>text/plain</type>
            <size>7904</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJkNTY1ZGJkMjc4N2Y5
NDFkMmM5YjQzNzA2Yzg2Njk5YWM1ZGYwYS4uZTQwZGVhODQ0YjZmMmNiZGQ5NjlkNTUxMGY3YmI1
MTcxNGE5NTQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAxLTA4ICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDYzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgbWV0aG9kIHRvIHJlc2V0IGNhbnZhcy4gCisgICAgICAgIFJlc2V0dGluZyBjYW52
YXMgc2l6ZSBpbiBHcmFwaGljc1N1cmZhY2VHTFggZm9yY2VzIGl0IHRvIGdldCBuZXcgc2l6ZQor
ICAgICAgICBmcm9tIEdMWCBwaXhtYXAuCisKKyAgICAgICAgQ292ZXJlZCBieSBmYXN0L2NhbnZh
cy93ZWJnbC8qcmVzaXplIC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2Vz
L0dyYXBoaWNzU3VyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2U6
OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oOgorICAgICAgICAoR3JhcGhpY3NTdXJmYWNlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9nbHgvR3JhcGhpY3NTdXJmYWNl
R0xYLmNwcDoKKyAgICAgICAgKEdyYXBoaWNzU3VyZmFjZVByaXZhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NTdXJmYWNlUHJpdmF0ZTo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVJlc2V0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3Jl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBl
clN1cmZhY2VCYWNraW5nU3RvcmU6OnJlc2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoVGV4dHVyZU1h
cHBlclN1cmZhY2VCYWNraW5nU3RvcmUpOgorCiAyMDEzLTAxLTA4ICBUb255IEdlbnRpbGNvcmUg
IDx0b255Z0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIGRlcGVuZGVuY3kgb24gRG9j
dW1lbnQgZnJvbSBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5RdWlya3NNb2RlKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCA0YjVhOWNlNDVhOTg5MjdmNGU2M2M4MDc1ZTAwZDBmMTI5Y2JhNDViLi5kMjU5M2VkZDhl
OTZlYjAyNjRmMWMzM2U5MTlmOGRiYzEyZjQyM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTMtMDEtMDggIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHNsLm9zdGFwZW5rb0BzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXZWJHTF0gV2ViR0wgY29udGVudCBpcyBub3QgcGFp
bnRlZCBhZnRlciByZXNpemluZyB0aGUgdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjM1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERvbid0IGNsZWFyIGxheWVyIGJhY2tpbmcgc3RvcmUg
aW4gbGF5ZXIgc3RhdGUgdXBkYXRlIGlmIGNhbnZhcyBleGlzdHMKKyAgICAgICAgZm9yIHRoZSBs
YXllciwgYnV0IHJlc2V0IGNhbnZhcyBpbnN0ZWFkLgorCisgICAgICAgICogVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZSk6CisKIDIwMTMtMDEtMDggIEFuZGVy
cyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBVbmJyZWFrIHRoZSB3
b3JsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZh
Y2VzL0dyYXBoaWNzU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2UuY3BwCmluZGV4IDU2ODhjZTllMWIzZTkzOGM3Njdi
NmMzYzliN2ZkOWEwNzgzNmIzNDguLmNlYzU0ZTdiMDI1YzMzNzYyNzIxNDY5NmVmMmNhY2NlZDM1
MjFiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZh
Y2VzL0dyYXBoaWNzU3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc3VyZmFjZXMvR3JhcGhpY3NTdXJmYWNlLmNwcApAQCAtNzgsNiArNzgsMTEgQEAgdWlu
dDMyX3QgR3JhcGhpY3NTdXJmYWNlOjpzd2FwQnVmZmVycygpCiAgICAgcmV0dXJuIHBsYXRmb3Jt
U3dhcEJ1ZmZlcnMoKTsKIH0KIAordm9pZCBHcmFwaGljc1N1cmZhY2U6OnJlc2V0KCkKK3sKKyAg
ICByZXR1cm4gcGxhdGZvcm1SZXNldCgpOworfQorCiBJbnRTaXplIEdyYXBoaWNzU3VyZmFjZTo6
c2l6ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHBsYXRmb3JtU2l6ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvR3JhcGhpY3NTdXJmYWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFwaGljc1N1
cmZhY2UuaAppbmRleCA1NDllODA0YzQ2NWRkZTg4ZDQ3ZmU3ZTU4OWNlNjRlYTgzZDU0MzAzLi5l
YmM5OTQ3NTg3ZDZkNjYyMTk3OTliZTUyMDc0MGI3MTAzYTY2NGVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFwaGljc1N1
cmZhY2UuaApAQCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWludFRvVGV4dHVy
ZU1hcHBlcihUZXh0dXJlTWFwcGVyKiwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHksIEJpdG1hcFRleHR1cmUqIG1h
c2spOwogICAgIHVpbnQzMl90IGZyb250QnVmZmVyKCk7CiAgICAgdWludDMyX3Qgc3dhcEJ1ZmZl
cnMoKTsKKyAgICB2b2lkIHJlc2V0KCk7CiAgICAgR3JhcGhpY3NTdXJmYWNlVG9rZW4gZXhwb3J0
VG9rZW4oKTsKICAgICB1aW50MzJfdCBnZXRUZXh0dXJlSUQoKTsKICAgICBQYXNzT3duUHRyPEdy
YXBoaWNzQ29udGV4dD4gYmVnaW5QYWludChjb25zdCBJbnRSZWN0JiwgTG9ja09wdGlvbnMpOwpA
QCAtMTAzLDYgKzEwNCw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHBsYXRmb3JtUGFpbnRUb1Rl
eHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciosIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwg
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5LCBCaXRtYXBUZXh0dXJl
KiBtYXNrKTsKICAgICB1aW50MzJfdCBwbGF0Zm9ybUZyb250QnVmZmVyKCkgY29uc3Q7CiAgICAg
dWludDMyX3QgcGxhdGZvcm1Td2FwQnVmZmVycygpOworICAgIHZvaWQgcGxhdGZvcm1SZXNldCgp
OwogICAgIEludFNpemUgcGxhdGZvcm1TaXplKCkgY29uc3Q7CiAKICAgICBQYXNzT3duUHRyPEdy
YXBoaWNzQ29udGV4dD4gcGxhdGZvcm1CZWdpblBhaW50KGNvbnN0IEludFNpemUmLCBjaGFyKiBi
aXRzLCBpbnQgc3RyaWRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3N1cmZhY2VzL2dseC9HcmFwaGljc1N1cmZhY2VHTFguY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvZ2x4L0dyYXBoaWNzU3VyZmFjZUdMWC5jcHAK
aW5kZXggMDU2OTU5MTYwZTE5ZDAwY2RhMDY2MGIzZTUzYzhmY2U1NjQ4YjU2NC4uMzliNzcxMWRi
NWZlMWJjMWRkODE0MjlkOWI3MGUxMDc2ODY3NGQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvZ2x4L0dyYXBoaWNzU3VyZmFjZUdMWC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvZ2x4L0dyYXBo
aWNzU3VyZmFjZUdMWC5jcHAKQEAgLTM1MCw2ICszNTAsOSBAQCBzdHJ1Y3QgR3JhcGhpY3NTdXJm
YWNlUHJpdmF0ZSB7CiAgICAgfQogCiAgICAgYm9vbCBpc1JlY2VpdmVyKCkgY29uc3QgeyByZXR1
cm4gbV9pc1JlY2VpdmVyOyB9CisKKyAgICB2b2lkIHJlc2V0KCkgeyBtX3NpemUgPSBJbnRTaXpl
KCk7IH0KKwogcHJpdmF0ZToKICAgICBHTFhGQkNvbmZpZyYgZmluZEZCQ29uZmlnV2l0aEFscGhh
KEdMWEZCQ29uZmlnKiBmYkNvbmZpZ3MsIGludCBudW1iZXJPZkNvbmZpZ3MpCiAgICAgewpAQCAt
NDc0LDYgKzQ3NywxMSBAQCB1aW50MzJfdCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtU3dhcEJ1
ZmZlcnMoKQogICAgIHJldHVybiAwOwogfQogCit2b2lkIEdyYXBoaWNzU3VyZmFjZTo6cGxhdGZv
cm1SZXNldCgpCit7CisgICAgbV9wcml2YXRlLT5yZXNldCgpOworfQorCiBJbnRTaXplIEdyYXBo
aWNzU3VyZmFjZTo6cGxhdGZvcm1TaXplKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRl
LT5zaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5jcHAKaW5kZXgg
ZTg5OTI1MzFiMjg3YzViNTk3NzllNjQ3NmU4MDFiOGI2OTk1YzJjNy4uZTMzODAxM2E3MDY5MTIw
ZjAyZGEyNTYzNDZlMjFkY2E4OTA3NjM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFj
a2luZ1N0b3JlLmNwcApAQCAtNTcsNiArNTcsMTIgQEAgdm9pZCBUZXh0dXJlTWFwcGVyU3VyZmFj
ZUJhY2tpbmdTdG9yZTo6cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciogdGV4dHUK
ICAgICBpZiAobV9ncmFwaGljc1N1cmZhY2UpCiAgICAgICAgIG1fZ3JhcGhpY3NTdXJmYWNlLT5w
YWludFRvVGV4dHVyZU1hcHBlcih0ZXh0dXJlTWFwcGVyLCB0YXJnZXRSZWN0LCB0cmFuc2Zvcm0s
IG9wYWNpdHksIG1hc2spOwogfQorCit2b2lkIFRleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0
b3JlOjpyZXNldCgpCit7CisgICAgaWYgKG1fZ3JhcGhpY3NTdXJmYWNlKQorICAgICAgICBtX2dy
YXBoaWNzU3VyZmFjZS0+cmVzZXQoKTsKK30KICNlbmRpZgogCiB2b2lkIFRleHR1cmVNYXBwZXJU
aWxlOjp1cGRhdGVDb250ZW50cyhUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyLCBJbWFnZSog
aW1hZ2UsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCwgQml0bWFwVGV4dHVyZTo6VXBkYXRlQ29u
dGVudHNGbGFnIHVwZGF0ZUNvbnRlbnRzRmxhZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckJhY2tp
bmdTdG9yZS5oCmluZGV4IDBkZDJkZjRiMTk4YmQzMTFmZDQxYzU1YTMzNzcyMTg0Y2QxNGIzNGEu
LjAxNjJmMGM4YTRjYmQyMDY5ZDRlMGFkNTg2Y2EzMzc0MjI4ZjZmMWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2lu
Z1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8VGV4dHVyZU1hcHBlclN1cmZhY2VCYWNraW5nU3RvcmU+IGNyZWF0
ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0dXJlTWFwcGVyU3VyZmFjZUJhY2tpbmdTdG9y
ZSk7IH0KICAgICB2b2lkIHNldEdyYXBoaWNzU3VyZmFjZShQYXNzUmVmUHRyPEdyYXBoaWNzU3Vy
ZmFjZT4pOwogICAgIHZvaWQgc3dhcEJ1ZmZlcnNJZk5lZWRlZCh1aW50MzJfdCBmcm9udEJ1ZmZl
cik7CisgICAgdm9pZCByZXNldCgpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCaXRtYXBUZXh0
dXJlPiB0ZXh0dXJlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50VG9UZXh0dXJlTWFw
cGVyKFRleHR1cmVNYXBwZXIqLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYsIGZsb2F0LCBCaXRtYXBUZXh0dXJlKik7CiAgICAgdmlydHVhbCB+VGV4dHVyZU1h
cHBlclN1cmZhY2VCYWNraW5nU3RvcmUoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRl
cmVyLmNwcAppbmRleCA2ZTk3MzAyMTY2MmI0MGQzNmEyODRjM2ZkMWQwNDlhYjY2YTI1OTk2Li5k
MmY1N2I2YzY3ODk1Mjg0MWE0ODAyYTI3NzQ2MWMxNzI0MjNhMmUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlUmVuZGVyZXIuY3BwCkBAIC0zMzksNyArMzM5LDE1IEBAIHZvaWQgTGF5ZXJUcmVl
UmVuZGVyZXI6OnNldExheWVyU3RhdGUoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBjb25zdCBDb29y
ZGluYXRlZExhCiAgICAgZWxzZQogICAgICAgICBtX2ZpeGVkTGF5ZXJzLnJlbW92ZShpZCk7CiAK
LSAgICBhc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKGxheWVyLCBsYXllckluZm8uaW1hZ2VJRCk7
CisjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCisgICAgU3VyZmFjZUJhY2tpbmdTdG9yZU1hcDo6
aXRlcmF0b3IgaXQgPSBtX3N1cmZhY2VCYWNraW5nU3RvcmVzLmZpbmQoaWQpOworICAgIGlmIChp
dCAhPSBtX3N1cmZhY2VCYWNraW5nU3RvcmVzLmVuZCgpKSB7CisgICAgICAgIFJlZlB0cjxUZXh0
dXJlTWFwcGVyU3VyZmFjZUJhY2tpbmdTdG9yZT4gY2FudmFzQmFja2luZ1N0b3JlID0gaXQtPnZh
bHVlOworICAgICAgICBjYW52YXNCYWNraW5nU3RvcmUtPnJlc2V0KCk7CisgICAgfSBlbHNlCisj
ZW5kaWYKKyAgICAgICAgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihsYXllciwgbGF5ZXJJbmZv
LmltYWdlSUQpOworCiAgICAgcHJlcGFyZUNvbnRlbnRCYWNraW5nU3RvcmUobGF5ZXIpOwogCiAg
ICAgLy8gTmV2ZXIgbWFrZSB0aGUgcm9vdCBsYXllciBjbGlwLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183658</attachid>
            <date>2013-01-19 23:06:07 -0800</date>
            <delta_ts>2013-01-21 22:24:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130120020309.patch</filename>
            <type>text/plain</type>
            <size>9263</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzlmNmVlMTc4OTc1N2Yx
ZTZiMGIzY2M0ZDY1MmU3OWNhMTdmNGVhMS4uMzY2MTRhZTQ1NDI1Zjk4OWU5MTc5MDNmY2U1Y2Iz
ODAzM2YxODA5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAxLTE5ICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIG1ldGhvZCB0byByZXNldCBjYW52YXMuIAorICAgICAgICBSZXNldHRpbmcgY2Fu
dmFzIHNpemUgaW4gR3JhcGhpY3NTdXJmYWNlR0xYIGZvcmNlcyBpdCB0byBnZXQgbmV3IHNpemUK
KyAgICAgICAgZnJvbSBHTFggcGl4bWFwLgorCisgICAgICAgIENvdmVyZWQgYnkgZmFzdC9jYW52
YXMvd2ViZ2wvKnJlc2l6ZSAuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNl
cy9HcmFwaGljc1N1cmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNl
OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2UuaDoKKyAgICAgICAgKEdyYXBoaWNzU3VyZmFjZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvZ2x4L0dyYXBoaWNzU3VyZmFj
ZUdMWC5jcHA6CisgICAgICAgIChHcmFwaGljc1N1cmZhY2VQcml2YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzU3VyZmFjZVByaXZhdGU6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1SZXNldCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9tYWMvR3JhcGhpY3NTdXJmYWNlTWFj
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1SZXNldCk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNl
cy93aW4vR3JhcGhpY3NTdXJmYWNlV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
U3VyZmFjZTo6cGxhdGZvcm1SZXNldCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJTdXJmYWNl
QmFja2luZ1N0b3JlOjpyZXNldCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKFRleHR1cmVNYXBwZXJTdXJm
YWNlQmFja2luZ1N0b3JlKToKKwogMjAxMy0wMS0xNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jh
ci5odG1sIGZhaWxzIG9uIE1hYyBXSzEgYW5kIFdLMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGFjMTE2ZjRlNmMw
NjI0MGVmZjliNmU3NTNhNTE2MzE4ODk3YmVmYTMuLjYxZGIwYWQxNmJkOTM3NjI1Y2UyNzYyNjFi
Mjg2NTU0YTY0YWYzYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wMS0xOSAg
VmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8c2wub3N0YXBlbmtvQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFtFRkxdW1dlYkdMXSBXZWJHTCBjb250ZW50IGlzIG5vdCBwYWludGVkIGFmdGVyIHJlc2l6
aW5nIHRoZSB2aWV3cG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNjM1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIERvbid0IGNsZWFyIGxheWVyIGJhY2tpbmcgc3RvcmUgaW4gbGF5ZXIgc3RhdGUg
dXBkYXRlIGlmIGNhbnZhcyBleGlzdHMKKyAgICAgICAgZm9yIHRoZSBsYXllciwgYnV0IHJlc2V0
IGNhbnZhcyBpbnN0ZWFkLgorCisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6c2V0TGF5ZXJTdGF0ZSk6CisKIDIwMTMtMDEtMTQgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFtBTkdMRV0gVXBkYXRlIEFOR0xFIGluIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvR3JhcGhp
Y3NTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2Vz
L0dyYXBoaWNzU3VyZmFjZS5jcHAKaW5kZXggNTY4OGNlOWUxYjNlOTM4Yzc2N2I2YzNjOWI3ZmQ5
YTA3ODM2YjM0OC4uY2VjNTRlN2IwMjVjMzM3NjI3MjE0Njk2ZWYyY2FjY2VkMzUyMWJhNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvR3JhcGhp
Y3NTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJm
YWNlcy9HcmFwaGljc1N1cmZhY2UuY3BwCkBAIC03OCw2ICs3OCwxMSBAQCB1aW50MzJfdCBHcmFw
aGljc1N1cmZhY2U6OnN3YXBCdWZmZXJzKCkKICAgICByZXR1cm4gcGxhdGZvcm1Td2FwQnVmZmVy
cygpOwogfQogCit2b2lkIEdyYXBoaWNzU3VyZmFjZTo6cmVzZXQoKQoreworICAgIHJldHVybiBw
bGF0Zm9ybVJlc2V0KCk7Cit9CisKIEludFNpemUgR3JhcGhpY3NTdXJmYWNlOjpzaXplKCkgY29u
c3QKIHsKICAgICByZXR1cm4gcGxhdGZvcm1TaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oCmlu
ZGV4IDU0OWU4MDRjNDY1ZGRlODhkNDdmZTdlNTg5Y2U2NGVhODNkNTQzMDMuLmViYzk5NDc1ODdk
NmQ2NjIxOTc5OWJlNTIwNzQwYjcxMDNhNjY0ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oCkBA
IC04Myw2ICs4Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBhaW50VG9UZXh0dXJlTWFwcGVyKFRl
eHR1cmVNYXBwZXIqLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgQml0bWFwVGV4dHVyZSogbWFzayk7CiAgICAg
dWludDMyX3QgZnJvbnRCdWZmZXIoKTsKICAgICB1aW50MzJfdCBzd2FwQnVmZmVycygpOworICAg
IHZvaWQgcmVzZXQoKTsKICAgICBHcmFwaGljc1N1cmZhY2VUb2tlbiBleHBvcnRUb2tlbigpOwog
ICAgIHVpbnQzMl90IGdldFRleHR1cmVJRCgpOwogICAgIFBhc3NPd25QdHI8R3JhcGhpY3NDb250
ZXh0PiBiZWdpblBhaW50KGNvbnN0IEludFJlY3QmLCBMb2NrT3B0aW9ucyk7CkBAIC0xMDMsNiAr
MTA0LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcGxhdGZvcm1QYWludFRvVGV4dHVyZU1hcHBl
cihUZXh0dXJlTWFwcGVyKiwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHksIEJpdG1hcFRleHR1cmUqIG1hc2spOwog
ICAgIHVpbnQzMl90IHBsYXRmb3JtRnJvbnRCdWZmZXIoKSBjb25zdDsKICAgICB1aW50MzJfdCBw
bGF0Zm9ybVN3YXBCdWZmZXJzKCk7CisgICAgdm9pZCBwbGF0Zm9ybVJlc2V0KCk7CiAgICAgSW50
U2l6ZSBwbGF0Zm9ybVNpemUoKSBjb25zdDsKIAogICAgIFBhc3NPd25QdHI8R3JhcGhpY3NDb250
ZXh0PiBwbGF0Zm9ybUJlZ2luUGFpbnQoY29uc3QgSW50U2l6ZSYsIGNoYXIqIGJpdHMsIGludCBz
dHJpZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3Vy
ZmFjZXMvZ2x4L0dyYXBoaWNzU3VyZmFjZUdMWC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9zdXJmYWNlcy9nbHgvR3JhcGhpY3NTdXJmYWNlR0xYLmNwcAppbmRleCAwNTY5
NTkxNjBlMTlkMDBjZGEwNjYwYjNlNTNjOGZjZTU2NDhiNTY0Li4zOWI3NzExZGI1ZmUxYmMxZGQ4
MTQyOWQ5YjcwZTEwNzY4Njc0ZDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9zdXJmYWNlcy9nbHgvR3JhcGhpY3NTdXJmYWNlR0xYLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9nbHgvR3JhcGhpY3NTdXJmYWNl
R0xYLmNwcApAQCAtMzUwLDYgKzM1MCw5IEBAIHN0cnVjdCBHcmFwaGljc1N1cmZhY2VQcml2YXRl
IHsKICAgICB9CiAKICAgICBib29sIGlzUmVjZWl2ZXIoKSBjb25zdCB7IHJldHVybiBtX2lzUmVj
ZWl2ZXI7IH0KKworICAgIHZvaWQgcmVzZXQoKSB7IG1fc2l6ZSA9IEludFNpemUoKTsgfQorCiBw
cml2YXRlOgogICAgIEdMWEZCQ29uZmlnJiBmaW5kRkJDb25maWdXaXRoQWxwaGEoR0xYRkJDb25m
aWcqIGZiQ29uZmlncywgaW50IG51bWJlck9mQ29uZmlncykKICAgICB7CkBAIC00NzQsNiArNDc3
LDExIEBAIHVpbnQzMl90IEdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1Td2FwQnVmZmVycygpCiAg
ICAgcmV0dXJuIDA7CiB9CiAKK3ZvaWQgR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVJlc2V0KCkK
K3sKKyAgICBtX3ByaXZhdGUtPnJlc2V0KCk7Cit9CisKIEludFNpemUgR3JhcGhpY3NTdXJmYWNl
OjpwbGF0Zm9ybVNpemUoKSBjb25zdAogewogICAgIHJldHVybiBtX3ByaXZhdGUtPnNpemUoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL21h
Yy9HcmFwaGljc1N1cmZhY2VNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc3VyZmFjZXMvbWFjL0dyYXBoaWNzU3VyZmFjZU1hYy5jcHAKaW5kZXggMGUwZTdiNThhNTA3
NTE2ZjZiYmJmMGExZjU4MWRmM2UwNDQxMTFkZC4uMzNjNDU4MzZiMTcwN2IyZjlmOGI5YWQ4Nzcy
YzA2ZjBlZjdjM2UwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc3VyZmFjZXMvbWFjL0dyYXBoaWNzU3VyZmFjZU1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvbWFjL0dyYXBoaWNzU3VyZmFjZU1hYy5jcHAK
QEAgLTQzNCw1ICs0MzQsOSBAQCB2b2lkIEdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1EZXN0cm95
KCkKICAgICBtX3ByaXZhdGUgPSAwOwogfQogCit2b2lkIEdyYXBoaWNzU3VyZmFjZTo6cGxhdGZv
cm1SZXNldCgpCit7Cit9CisKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvd2luL0dyYXBoaWNzU3VyZmFjZVdpbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy93aW4vR3JhcGhpY3NTdXJm
YWNlV2luLmNwcAppbmRleCBiODU4NmFjMThiNjI4NzM2MzVhNzVmZTEwMzRmNDBjN2JhYjEzMjYw
Li4wYzZlYTgwNzIzMjhkNmI2ODZjZDRmMjBlMDMwNjA2NDFiZmM2ZTNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy93aW4vR3JhcGhpY3NTdXJm
YWNlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNl
cy93aW4vR3JhcGhpY3NTdXJmYWNlV2luLmNwcApAQCAtNDk3LDUgKzQ5Nyw5IEBAIHZvaWQgR3Jh
cGhpY3NTdXJmYWNlOjpwbGF0Zm9ybURlc3Ryb3koKQogICAgIG1fcHJpdmF0ZSA9IDA7CiB9CiAK
K3ZvaWQgR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVJlc2V0KCkKK3sKK30KKwogfQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5jcHAKaW5kZXggZTg5OTI1MzFi
Mjg3YzViNTk3NzllNjQ3NmU4MDFiOGI2OTk1YzJjNy4uZTMzODAxM2E3MDY5MTIwZjAyZGEyNTYz
NDZlMjFkY2E4OTA3NjM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3Jl
LmNwcApAQCAtNTcsNiArNTcsMTIgQEAgdm9pZCBUZXh0dXJlTWFwcGVyU3VyZmFjZUJhY2tpbmdT
dG9yZTo6cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciogdGV4dHUKICAgICBpZiAo
bV9ncmFwaGljc1N1cmZhY2UpCiAgICAgICAgIG1fZ3JhcGhpY3NTdXJmYWNlLT5wYWludFRvVGV4
dHVyZU1hcHBlcih0ZXh0dXJlTWFwcGVyLCB0YXJnZXRSZWN0LCB0cmFuc2Zvcm0sIG9wYWNpdHks
IG1hc2spOwogfQorCit2b2lkIFRleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlOjpyZXNl
dCgpCit7CisgICAgaWYgKG1fZ3JhcGhpY3NTdXJmYWNlKQorICAgICAgICBtX2dyYXBoaWNzU3Vy
ZmFjZS0+cmVzZXQoKTsKK30KICNlbmRpZgogCiB2b2lkIFRleHR1cmVNYXBwZXJUaWxlOjp1cGRh
dGVDb250ZW50cyhUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyLCBJbWFnZSogaW1hZ2UsIGNv
bnN0IEludFJlY3QmIGRpcnR5UmVjdCwgQml0bWFwVGV4dHVyZTo6VXBkYXRlQ29udGVudHNGbGFn
IHVwZGF0ZUNvbnRlbnRzRmxhZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5o
CmluZGV4IDBkZDJkZjRiMTk4YmQzMTFmZDQxYzU1YTMzNzcyMTg0Y2QxNGIzNGEuLjAxNjJmMGM4
YTRjYmQyMDY5ZDRlMGFkNTg2Y2EzMzc0MjI4ZjZmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJCYWNraW5nU3RvcmUuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8VGV4dHVyZU1hcHBlclN1cmZhY2VCYWNraW5nU3RvcmU+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBUZXh0dXJlTWFwcGVyU3VyZmFjZUJhY2tpbmdTdG9yZSk7IH0KICAg
ICB2b2lkIHNldEdyYXBoaWNzU3VyZmFjZShQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4pOwog
ICAgIHZvaWQgc3dhcEJ1ZmZlcnNJZk5lZWRlZCh1aW50MzJfdCBmcm9udEJ1ZmZlcik7CisgICAg
dm9pZCByZXNldCgpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiB0ZXh0
dXJlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1
cmVNYXBwZXIqLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYs
IGZsb2F0LCBCaXRtYXBUZXh0dXJlKik7CiAgICAgdmlydHVhbCB+VGV4dHVyZU1hcHBlclN1cmZh
Y2VCYWNraW5nU3RvcmUoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApp
bmRleCA2ZTk3MzAyMTY2MmI0MGQzNmEyODRjM2ZkMWQwNDlhYjY2YTI1OTk2Li5kMmY1N2I2YzY3
ODk1Mjg0MWE0ODAyYTI3NzQ2MWMxNzI0MjNhMmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
UmVuZGVyZXIuY3BwCkBAIC0zMzksNyArMzM5LDE1IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6
OnNldExheWVyU3RhdGUoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBjb25zdCBDb29yZGluYXRlZExh
CiAgICAgZWxzZQogICAgICAgICBtX2ZpeGVkTGF5ZXJzLnJlbW92ZShpZCk7CiAKLSAgICBhc3Np
Z25JbWFnZUJhY2tpbmdUb0xheWVyKGxheWVyLCBsYXllckluZm8uaW1hZ2VJRCk7CisjaWYgVVNF
KEdSQVBISUNTX1NVUkZBQ0UpCisgICAgU3VyZmFjZUJhY2tpbmdTdG9yZU1hcDo6aXRlcmF0b3Ig
aXQgPSBtX3N1cmZhY2VCYWNraW5nU3RvcmVzLmZpbmQoaWQpOworICAgIGlmIChpdCAhPSBtX3N1
cmZhY2VCYWNraW5nU3RvcmVzLmVuZCgpKSB7CisgICAgICAgIFJlZlB0cjxUZXh0dXJlTWFwcGVy
U3VyZmFjZUJhY2tpbmdTdG9yZT4gY2FudmFzQmFja2luZ1N0b3JlID0gaXQtPnZhbHVlOworICAg
ICAgICBjYW52YXNCYWNraW5nU3RvcmUtPnJlc2V0KCk7CisgICAgfSBlbHNlCisjZW5kaWYKKyAg
ICAgICAgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihsYXllciwgbGF5ZXJJbmZvLmltYWdlSUQp
OworCiAgICAgcHJlcGFyZUNvbnRlbnRCYWNraW5nU3RvcmUobGF5ZXIpOwogCiAgICAgLy8gTmV2
ZXIgbWFrZSB0aGUgcm9vdCBsYXllciBjbGlwLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183892</attachid>
            <date>2013-01-21 22:24:54 -0800</date>
            <delta_ts>2013-01-22 00:05:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130122012149.patch</filename>
            <type>text/plain</type>
            <size>2195</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTEwZDQ4NWVkMjRiMGUx
ZGU1MWQ1MTM2MTU0NWY1MzdhOWNiNDZiMC4uOWVkZDYwMjZjNDE3NzA1MjAyOGU0ZjQzMTA4NGZm
MWI4NDU4OTM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAxLTIxICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBwYWdlIHNpemUgY2hhbmdlcyBhbmQgbGF5ZXIgcGFyYW1ldGVycyBnZXQgdXBk
YXRlZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZQorICAgICAgICBjbGVhcnMgbGF5
ZXIgYmFja2luZyBzdG9yZSBhbmQgZGV0YWNoZXMgY2FudmFzIHN1cmZhY2UgZnJvbSB0aGUgbGF5
ZXIuIElmIGxheWVyIHNpemUgaXMgCisgICAgICAgIG5vdCBjaGFuZ2VkIHRoZW4gY2FudmFzIHJl
Y3JlYXRlIGlzIG5vdCBpbnZva2VkIGJlY2F1c2UgY2FudmFzIHNpemUgaXMgbm90IGNoYW5nZWQg
YWxzbyAKKyAgICAgICAgbGVhdmluZyBjYW52YXMgZGV0YWNoZWQgZnJvbSBsYXllciwgYnV0IHN0
aWxsIHJlZmVyZW5jZWQgaW4gbV9zdXJmYWNlQmFja2luZ1N0b3JlcyBtYXAuCisgICAgICAgIERv
bid0IGFzc2lnbiBsYXllciBiYWNraW5nIHN0b3JlIHRvIGxheWVyIGluIHNldExheWVyU3RhdGUg
aWYgdGhlcmUgaXMgY2FudmFzIHN1cmZhY2UgCisgICAgICAgIGFscmVhZHkgYXR0YWNoZWQgdG8g
dGhlIGxheWVyLgorCisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6
c2V0TGF5ZXJTdGF0ZSk6CisKIDIwMTMtMDEtMjEgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGdu
c0Bnbm9tZS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE0MDI4NSk6IEdUSyB1c2VzIFdL
UGFnZVJlc291cmNlTG9hZENsaWVudCB3aGljaCB3YXMgcmVtb3ZlZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVy
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlUmVuZGVyZXIuY3BwCmluZGV4IGViYjUwNjM5MGUzOTc5ODI0ZTZlNWUyMWNiZDUyM2Iy
OTY3MWU5N2YuLmRhMTc4NzZkYWEzNGMwZDIzMzVhN2RjNGM5ZDVlMWRjMTkzN2I5YWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVy
VHJlZVJlbmRlcmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKQEAgLTMzOSw3ICszMzksMTIgQEAgdm9p
ZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZShDb29yZGluYXRlZExheWVySUQgaWQs
IGNvbnN0IENvb3JkaW5hdGVkTGEKICAgICBlbHNlCiAgICAgICAgIG1fZml4ZWRMYXllcnMucmVt
b3ZlKGlkKTsKIAotICAgIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIobGF5ZXIsIGxheWVySW5m
by5pbWFnZUlEKTsKKyNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKyAgICBTdXJmYWNlQmFja2lu
Z1N0b3JlTWFwOjppdGVyYXRvciBpdCA9IG1fc3VyZmFjZUJhY2tpbmdTdG9yZXMuZmluZChpZCk7
CisgICAgaWYgKGl0ID09IG1fc3VyZmFjZUJhY2tpbmdTdG9yZXMuZW5kKCkpCisjZW5kaWYKKyAg
ICAgICAgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihsYXllciwgbGF5ZXJJbmZvLmltYWdlSUQp
OworCiAgICAgcHJlcGFyZUNvbnRlbnRCYWNraW5nU3RvcmUobGF5ZXIpOwogCiAgICAgLy8gTmV2
ZXIgbWFrZSB0aGUgcm9vdCBsYXllciBjbGlwLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183903</attachid>
            <date>2013-01-22 00:05:54 -0800</date>
            <delta_ts>2013-01-25 12:08:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130122030249.patch</filename>
            <type>text/plain</type>
            <size>3702</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTEwZDQ4NWVkMjRiMGUx
ZGU1MWQ1MTM2MTU0NWY1MzdhOWNiNDZiMC4uNWZjYTA1YzlhMDEyY2NkMDk3NDIwNmZhZmE3YWVh
YzI0ODc5NTZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTIyICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBwYWdlIHNpemUgY2hhbmdlcyBhbmQgbGF5ZXIgcGFyYW1ldGVycyBnZXQgdXBk
YXRlZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZQorICAgICAgICBjbGVhcnMgbGF5
ZXIgYmFja2luZyBzdG9yZSBhbmQgZGV0YWNoZXMgY2FudmFzIHN1cmZhY2UgZnJvbSB0aGUgbGF5
ZXIuIElmIGxheWVyIHNpemUgaXMKKyAgICAgICAgbm90IGNoYW5nZWQgdGhlbiBjYW52YXMgcmVj
cmVhdGUgaXMgbm90IGludm9rZWQgYmVjYXVzZSBjYW52YXMgc2l6ZSBpcyBhbHNvIG5vdCBjaGFu
Z2VkIAorICAgICAgICBsZWF2aW5nIGNhbnZhcyBkZXRhY2hlZCBmcm9tIGxheWVyLCBidXQgc3Rp
bGwgcmVmZXJlbmNlZCBpbiBtX3N1cmZhY2VCYWNraW5nU3RvcmVzIG1hcC4KKyAgICAgICAgRG9u
J3QgYXNzaWduIGxheWVyIGJhY2tpbmcgc3RvcmUgdG8gbGF5ZXIgaW4gYXNzaWduSW1hZ2VCYWNr
aW5nVG9MYXllciBpZiB0aGVyZSBpcyBjYW52YXMKKyAgICAgICAgc3VyZmFjZSBhbHJlYWR5IGF0
dGFjaGVkIHRvIHRoZSBsYXllci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
UmVuZGVyZXI6OnNldExheWVyU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcik6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKwogMjAxMy0wMS0yMSAgR3Vz
dGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9O
IChyMTQwMjg1KTogR1RLIHVzZXMgV0tQYWdlUmVzb3VyY2VMb2FkQ2xpZW50IHdoaWNoIHdhcyBy
ZW1vdmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggZWJiNTA2Mzkw
ZTM5Nzk4MjRlNmU1ZTIxY2JkNTIzYjI5NjcxZTk3Zi4uMTBmODc3MDYxMjJlNzZmZjY5OTBiMjhm
MDlhMGY2ZmM4NGJkYzg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApA
QCAtMzM5LDcgKzMzOSw3IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnNldExheWVyU3RhdGUo
Q29vcmRpbmF0ZWRMYXllcklEIGlkLCBjb25zdCBDb29yZGluYXRlZExhCiAgICAgZWxzZQogICAg
ICAgICBtX2ZpeGVkTGF5ZXJzLnJlbW92ZShpZCk7CiAKLSAgICBhc3NpZ25JbWFnZUJhY2tpbmdU
b0xheWVyKGxheWVyLCBsYXllckluZm8uaW1hZ2VJRCk7CisgICAgYXNzaWduSW1hZ2VCYWNraW5n
VG9MYXllcihpZCwgbGF5ZXIsIGxheWVySW5mby5pbWFnZUlEKTsKICAgICBwcmVwYXJlQ29udGVu
dEJhY2tpbmdTdG9yZShsYXllcik7CiAKICAgICAvLyBOZXZlciBtYWtlIHRoZSByb290IGxheWVy
IGNsaXAuCkBAIC01MzMsOCArNTMzLDE0IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnJlbW92
ZUltYWdlQmFja2luZyhDb29yZGluYXRlZEltYWdlQmFja2luZ0lEIGltYWdlSUQpCiAgICAgbV9y
ZWxlYXNlZEltYWdlQmFja2luZ3MuYXBwZW5kKG1faW1hZ2VCYWNraW5ncy50YWtlKGltYWdlSUQp
KTsKIH0KIAotdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXll
cihHcmFwaGljc0xheWVyKiBsYXllciwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCBpbWFnZUlE
KQordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihDb29y
ZGluYXRlZExheWVySUQgaWQsIEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBDb29yZGluYXRlZEltYWdl
QmFja2luZ0lEIGltYWdlSUQpCiB7CisjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCisgICAgU3Vy
ZmFjZUJhY2tpbmdTdG9yZU1hcDo6aXRlcmF0b3Igc3VyZmFjZXNJdGVyYXRvciA9IG1fc3VyZmFj
ZUJhY2tpbmdTdG9yZXMuZmluZChpZCk7CisgICAgaWYgKHN1cmZhY2VzSXRlcmF0b3IgIT0gbV9z
dXJmYWNlQmFja2luZ1N0b3Jlcy5lbmQoKSkKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCisKICAg
ICBpZiAoaW1hZ2VJRCA9PSBJbnZhbGlkQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCkgewogICAg
ICAgICBsYXllci0+c2V0Q29udGVudHNUb01lZGlhKDApOwogICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAppbmRleCA1M2VjYmUzOTQ5ODE4OTlkMmFiYmUwZjIx
ZDQ0NDM0NDIzOTM2NDg4Li42MWMyOTVjMDViNmE1Yzk1ZTZhMjMxMzE2MzFjOTVmODVhZDEyOWNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgcmVuZGVyTmV4dEZyYW1lKCk7CiAgICAgdm9pZCBwdXJnZUJhY2tp
bmdTdG9yZXMoKTsKIAotICAgIHZvaWQgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihXZWJDb3Jl
OjpHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7CisgICAgdm9pZCBh
c3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCwgV2ViQ29yZTo6R3Jh
cGhpY3NMYXllciosIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAgIHZvaWQgcmVtb3Zl
UmVsZWFzZWRJbWFnZUJhY2tpbmdzSWZOZWVkZWQoKTsKICAgICB2b2lkIGVuc3VyZVJvb3RMYXll
cigpOwogICAgIHZvaWQgY29tbWl0UGVuZGluZ0JhY2tpbmdTdG9yZU9wZXJhdGlvbnMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184790</attachid>
            <date>2013-01-25 12:08:09 -0800</date>
            <delta_ts>2013-01-25 13:10:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130125144928.patch</filename>
            <type>text/plain</type>
            <size>12866</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjA5ZWVlYmI5ZGFjYjMx
OWJjM2U3OTdiMjY5NDBkNTdjMWJhYmY1NS4uMDQ5NTZmODQwYjFiN2QxNTE1NTcyMGM4MDU2ZWYy
M2E5ZmViYzQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTI1ICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBwYWdlIHNpemUgY2hhbmdlcyBhbmQgbGF5ZXIgcGFyYW1ldGVycyBnZXQgdXBk
YXRlZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZQorICAgICAgICBjbGVhcnMgbGF5
ZXIgYmFja2luZyBzdG9yZSBhbmQgZGV0YWNoZXMgY2FudmFzIHN1cmZhY2UgZnJvbSB0aGUgbGF5
ZXIuIElmIGxheWVyIHNpemUgaXMKKyAgICAgICAgbm90IGNoYW5nZWQgdGhlbiBjYW52YXMgcmVj
cmVhdGUgaXMgbm90IGludm9rZWQgYmVjYXVzZSBjYW52YXMgc2l6ZSBpcyBhbHNvIG5vdCBjaGFu
Z2VkIAorICAgICAgICBsZWF2aW5nIGNhbnZhcyBkZXRhY2hlZCBmcm9tIGxheWVyLCBidXQgc3Rp
bGwgcmVmZXJlbmNlZCBpbiBtX3N1cmZhY2VCYWNraW5nU3RvcmVzIG1hcC4KKyAgICAgICAgRG9u
J3QgYXNzaWduIGxheWVyIGJhY2tpbmcgc3RvcmUgdG8gbGF5ZXIgaW4gYXNzaWduSW1hZ2VCYWNr
aW5nVG9MYXllciBpZiB0aGVyZSBpcyBjYW52YXMKKyAgICAgICAgc3VyZmFjZSBhbHJlYWR5IGF0
dGFjaGVkIHRvIHRoZSBsYXllci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
UmVuZGVyZXI6OnNldExheWVyU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcik6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKwogMjAxMy0wMS0yNSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBTZW5kIHNhbmRib3gg
ZXh0ZW5zaW9ucyBmb3IgbG9jYWwgZmlsZXMgdG8gTmV0d29ya1Byb2Nlc3MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJl
bmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZVJlbmRlcmVyLmNwcAppbmRleCBkZmE0MDZkMDRkYWViYjc2Yzc2MDljM2YwNzVi
ZGIxZTljYzQ0YTkxLi42ZWY4ZmM2NDNiZjAyMTVhYzdlNzY5ZWM1YzBjZGFkM2JmZjk4MjBlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCkBAIC0zMzksNyArMzM5LDcgQEAg
dm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZShDb29yZGluYXRlZExheWVySUQg
aWQsIGNvbnN0IENvb3JkaW5hdGVkTGEKICAgICBlbHNlCiAgICAgICAgIG1fZml4ZWRMYXllcnMu
cmVtb3ZlKGlkKTsKIAotICAgIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIobGF5ZXIsIGxheWVy
SW5mby5pbWFnZUlEKTsKKyAgICBhc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKGlkLCBsYXllciwg
bGF5ZXJJbmZvLmltYWdlSUQpOwogICAgIHByZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKGxheWVy
KTsKIAogICAgIC8vIE5ldmVyIG1ha2UgdGhlIHJvb3QgbGF5ZXIgY2xpcC4KQEAgLTU0NSw4ICs1
NDUsMTQgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlSW1hZ2VCYWNraW5nKENvb3Jk
aW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZ2VJRCkKICAgICBtX3JlbGVhc2VkSW1hZ2VCYWNraW5n
cy5hcHBlbmQobV9pbWFnZUJhY2tpbmdzLnRha2UoaW1hZ2VJRCkpOwogfQogCi12b2lkIExheWVy
VHJlZVJlbmRlcmVyOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKEdyYXBoaWNzTGF5ZXIqIGxh
eWVyLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lEIGltYWdlSUQpCit2b2lkIExheWVyVHJlZVJl
bmRlcmVyOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCwg
R3JhcGhpY3NMYXllciogbGF5ZXIsIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZ2VJRCkK
IHsKKyNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKyAgICBTdXJmYWNlQmFja2luZ1N0b3JlTWFw
OjppdGVyYXRvciBzdXJmYWNlc0l0ZXJhdG9yID0gbV9zdXJmYWNlQmFja2luZ1N0b3Jlcy5maW5k
KGlkKTsKKyAgICBpZiAoc3VyZmFjZXNJdGVyYXRvciAhPSBtX3N1cmZhY2VCYWNraW5nU3RvcmVz
LmVuZCgpKQorICAgICAgICByZXR1cm47CisjZW5kaWYKKwogICAgIGlmIChpbWFnZUlEID09IElu
dmFsaWRDb29yZGluYXRlZEltYWdlQmFja2luZ0lEKSB7CiAgICAgICAgIGxheWVyLT5zZXRDb250
ZW50c1RvTWVkaWEoMCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5k
ZXJlci5oCmluZGV4IGMxZDU4ZjQ5OWZlOTFjMTc0YjM2ZjM0MjA5NmQ4YTkzZGNjZDI0ZTUuLjVh
ZDBhNTllNzI1YTcyNTA3YTY3MWRkM2ZmNWQ5MjhkMWIyNjM3YmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVy
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlUmVuZGVyZXIuaApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBj
cmVhdGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwogICAgIHZvaWQgZGVsZXRlTGF5ZXIoQ29v
cmRpbmF0ZWRMYXllcklEKTsKIAotICAgIHZvaWQgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihX
ZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7CisgICAg
dm9pZCBhc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCwgV2ViQ29y
ZTo6R3JhcGhpY3NMYXllciosIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAgIHZvaWQg
cmVtb3ZlUmVsZWFzZWRJbWFnZUJhY2tpbmdzSWZOZWVkZWQoKTsKICAgICB2b2lkIGVuc3VyZVJv
b3RMYXllcigpOwogICAgIHZvaWQgY29tbWl0UGVuZGluZ0JhY2tpbmdTdG9yZU9wZXJhdGlvbnMo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA2YTU3MDVlYjU1OGE2NjYyYjhkMWE5NTAzNjFkNmYzN2ExY2M3MDI4Li40ZTli
ZTQ3ZjMwMjczYjg0NDQ2ZjdmYmY0M2JiNzZmMzEyNTc4M2NkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTMtMDEtMjUgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHNsLm9zdGFwZW5rb0BzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXZWJHTF0gV2ViR0wgY29udGVudCBpcyBub3QgcGFp
bnRlZCBhZnRlciByZXNpemluZyB0aGUgdmlld3BvcnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCBjaGVja2luZyB0aGF0IGNhbnZhcyBw
YWludGluZyBpcyBjb3JyZWN0IGlmIGxheWVyIHBhcmFtZXRlcnMgd2VyZSBjaGFuZ2VkLAorICAg
ICAgICBidXQgd2ViZ2wgY2FudmFzIGRpZG4ndCBjaGFuZ2UuCisKKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtdXBkYXRlLWV4cGVjdGVkLnBuZzogQWRk
ZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXVw
ZGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3dl
YmdsLWNvbXBvc2l0ZS1tb2Rlcy11cGRhdGUuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMjUgIEFi
aGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZWdyZXNzaW9u
KHIxMzk4MzYpOiBDcmFzaCBpbiBXVEY6OmVxdWFsSWdub3JpbmdDYXNlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtdXBkYXRl
LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBv
c2l0ZS1tb2Rlcy11cGRhdGUtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhMTcwNWNhNDgyZTEy
NmY5NDYxYTk0YTZmNDMwZjlhNDk4NTFlMWIKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDQ2MTEK
emNtZUhMWWdDaT44R2xLKk5YdzsmS3gwclU5TERIITFXUVJzTDJ5RShORWEtMUNwaWEjMFQxQSpn
ezBBaGExbzRVCnpYci1jNzE+NkVEYnNke2YkVkw/aW1xZkQ7ayZVMy0/e15VKWgoalRta25JMXk8
VzFnQitkbE5tJk4lc3lfbi1Jdwp6ZG9JN3tkNEE3MWBTSilvKCpCS3xaJEo9YUFONjVHRUNrYC1m
Z2xgbjh4SCo5dmN0cyhlRUZXSEY7NT5xayRuOCoKekRTakhYRkRaJGRvSjJgRTl6K2g8bS1zJDhG
QCtySHBGJXhPTy1WfG9DY1lQIzx+YzcxQW5UOykkT3k7KWY0KnN7Cnp5YXF1fFVxblV4QH5CWCg5
KHxQbEsxMX1JTX1ofiRuMWJgQXsrSTJaO0l7OTFebSo+XnZGQTBuNlFia2FJcD58KQp6QHhrMXcj
Xkt6aShjQmdic0IzK0dQeSNgVS1mYmw0WV5lZVZVOWtRQ2Q+Qng5PSh+PntsS2pabXNpUXJUPVR2
YEwKekRKWXx+LVZOWk1AVVpEcTMkbypLVC17ej09SHloRDwmOWA1cD8jZlVvdD96LUt8O3twRmkq
Pz5qPCRfPzQkc2d2CnomWih+LSpESSVXYGxAb1o/dWNNYThuQkZPYnp7biN2fjliXjw8d3gjSyZH
LSYhS2FEJUNFY2Yjb2thS3MqWT5ocQp6Yig2UnBLN2hiUGJ2SkdMU2FnLVdAdj4tX212bzdqbEAy
M2AwXyZubDFzM2R8YWFTU2htflR2K2dZT2ZCem1LLVcKemZEZz5idSRQeEp7YWwkRD5uKUVfU0J+
cChgU1E7WHFxZztENnwmS0VkYl45IXdUQ20pZF5uI0ZEaXdjP0JFd2RPCnpNNj1nTjtEOU5NY0Rs
MlNHajBgTEpZej03JTdsTn43SnAobzVgZiQxXm1iZEwqfTBaamM4azFFelNNMlpzZFhscQp6P29j
QGNuYCV4Pm92MkVmcGUtMyo3ck41aEJrTUxEPGZ3WV85aDdmU0AwX05XekVkWGVKOEg3ODFiTT8p
S216YDEKelZZeFRHLU5AZDd4b19MclhAKXh2WkpTKG9IQk5tdyNsV0VuJE0kRG8hLW18bCZZNj02
YFA7OD85bGo9Sk9RUzZACnpEU2JIU05IUngha0c+bClnO3MzM1k/WU4/XlotM1JxKU9PU1ErVk0l
YzRpPVo7V0dAMmU9bUMlISpGVSkzPGVnJQp6RTY4eUF6IU9hfWhPaEMjYyZ5dE1qNnZkcXhFTiNg
d0AxTTxtRHBrVzNkVzsqYEBKI1IoK2ctQi1CbmwxRzA1fCQKek9FSml6WEshUFgwflEhXmc2Xmk7
bjkxUF5Sb05JP3ghWXJ+dzJJcFR1KmUmazc+fXVTX0dXUz5AKFZCeSNvYVNsCnpRZzgwcFY+Km4+
YjlCR31iLU1gfGE9YiVHNzs+dEZBN0xFMiNtV28yb1h7RktoK2tyaihwY0Q9RT5AVGZTdjFWNgp6
bDJ4XjBOUHAqUHwxNWIzbmN5bUlnMiNzVVltJW1QX3lqVnYzMUBBTksrcnlzNzQoKWZeUVV8R3Zt
e0pjYE1pRU8Kej8yek9eYmxwbTJiS1cjd3QoI3RLZWxjNG4zZU5ePjtMUGVBMWFXPEhCZXdscCZz
dlMhQ0grKiUjRkB2MnkhbCY7CnpJJHV1eEBPYk0+a3dDdkFuM0kjNEk/KXlDUCg5MmpvREFHaEFe
TnlmZn5jaCEkWUA7dkh+djRfSHpscEA5LXEteQp6JFBLU25TOTN2cFdCVFdVPzd+b1FlVFVZZCpV
Rm5XVWlZWWBwQ0tZKG1FJE1QVUROam04KlgoNnRaRCE4UW5EejkKeiNYeiloNXd9cEl0KmxJQzE9
alo8Pkp4dzgzJXteZUJfb2YtIVU3UyVDOWZjd0lDKm9icGNhK3s4XktvIVMreENVCnohYXA9clNk
JG0rKz82NSMyJFdXJlErZ0RAV01pRWJCQVdjQiQlUmExaExnZ0o8IVJMMWFESkwqRllaRC1NWTwl
Kgp6JWVwUTRaUVE1ZXJ2WllkKzNuNWhycmNUIXBDe3EjOD41S2Q8dm4/WSVNYE4/YylaMXxBNjZk
PV5QWUp6YSVsNUwKem5gTG83YH0+QVZXRipJTUtNJkAhUG5Cc3VBaXxhUjxqJTJ+QzZsVEZPfD5V
RSl7eF9Bbl4yJnNrQEBEXmt7NE5gCno/YHBgWDtWMi1uO0FMJmcwQ3hmRzBabFVfJU8zUD1fPmJ3
REVPLWxmYD5qfDRGe2BLez1qP355LSp5dzhufChPVwp6YnhBYHUocHZuNlpMd15LT041VncrZUFR
TW9reyNWbFlRZXpMKk03KVE2JkAjdFJuWEFXVHhMVERlVDRDZCNKdlkKenZuPjh9YXtvUXZyZDY9
NWMyNjlQaz49b0tBaTtWKVY3amcwcCkpK0Zsb1ZySnt2e3hlPm14QFAjTVd9S05KMVgzCnohPUJK
RWgwPCNfI3Jeb1NLVU52eCFSbkxKXztxNTx4M0c1dGxSQWUpWCZrIT5YS1BhcW9yPUNlVHI/fXFO
SHUldQp6czV3ZjNiQF5tUzNgUEB0czdoeTJtQDYhVXpzTGpvYElCOGhUO2prSkY/fEVIazRtdHAt
fm09TW1FWCgzZFYoQnUKelVJIyVBdlozV3lAVmFgdFhlVU4oNjVUPFdeIUZ6VWpINiNQITtYPTxV
eGpOM2NrZVh5Rit6WkcpbT9GYlMxaF9JCnpKX2Y3YXlraGFlMmlUY1dURn5NbnVpP2U3OWB4Zzc5
OFQ5SDhAWH5IeU18bFg1Tk8rUDc9KGZgcD9veCNIeWMpNwp6Q1IhMDVnMmt6KWNlRDhgLV4pV2Zm
dDd9STArJjRPISEpJE0lSmk+KWdpTWRQWXVVQ3FePENtLU1Gfk5iP2F0TH0KeiF8RXMzYjMlOyFg
c1YmblgtTEQrQCtEOX5QJFRpazdwODYpQU95KUhUZG1STjckN3Z7cFUzSz8lVmtAVnllSldFCnph
VWkkVzltRzdpYHtCN1B4bl5CVnY0Zld9e3N1VFFkYSUlc01eOCRkcFBIdF8mQmR6a2NNfDVXbmow
X3UzPmhCVAp6TU1XJEZqa0A2bmohaUttailQOXR2KGAxd0hNd3hLSHk+NENnX3ElfDFFaCVGe3VB
bWlCSXckNm1FS1dLM1ZtfWkKekJuZUtjYzFiUEp6OGFMXkE7b3RaciM7WXRrSnVLX1VvQm0/OT0x
cj4+ViZOKypxVmE+dV9ANW85eGwxaWQmVFNMClJsaSZ7O0QyaGdwczUhXyFfYj5MJCpPbVlQCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtdXBkYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy11cGRhdGUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzZjI1OGYzZTk4NzQ3YTk3YWVjNDEwZDYzNzg2MzBmOGIz
MDMxMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93
ZWJnbC1jb21wb3NpdGUtbW9kZXMtdXBkYXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
K1RoaXMgdGVzdCBpcyBvbmx5IHVzZWZ1bCBhcyBhIHBpeGVsIHRlc3QuIFlvdSBzaG91bGQgc2Vl
IHR3byByb3dzIHdpdGggNCBjYW52YXNlcyBpbiBlYWNoLiBUaGUgdG9wIHJvdyBvZiBjYW52YXNl
cyBzaG91bGQgaGF2ZSBhIGJsYWNrIGJhY2tncm91bmQsIHRoZSBib3R0b20gcm93IHNob3VsZCBo
YXZlIGEgZGFyayBibHVlIGJhY2tncm91bmQuIEVhY2ggY2FudmFzIHNob3VsZCBoYXZlIGEgZ3Jl
ZW4gdHJpYW5nbGUgaW4gaXQuIElmIG11bHRpc2FtcGxpbmcgaXMgc3VwcG9ydGVkLCB0aGUgb2Rk
IGNvbHVtbnMgc2hvdWxkIGhhdmUgc21vb3RoIGVkZ2VzIGluc3RlYWQgb2YgamFnZ2VkIHN0YWly
LXN0ZXBwaW5nLiBPdGhlcndpc2UsIGFsbCBjYW52YXNlcyB3aXRoaW4gYSByb3cgc2hvdWxkIGJl
IGlkZW50aWNhbCB0byBlYWNoIG90aGVyLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy11cGRhdGUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy11cGRhdGUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZGM2NjE3OTZiNGU3YTg3ZjJhMTM5MTZmMTU4NTYyN2UwOTdiZDU2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29t
cG9zaXRlLW1vZGVzLXVwZGF0ZS5odG1sCkBAIC0wLDAgKzEsMTM5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiBkb1VwZGF0ZSgpCisgICAgeworICAg
ICAgICAgdmFyIGNhbnZhc2VzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2NhbnZh
cycpOworICAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IGNhbnZhc2VzLmxlbmd0aDsgaSsrKSB7
CisgICAgICAgICAgICAgdmFyIGNhbiA9IGNhbnZhc2VzW2ldOworICAgICAgICAgICAgIGNhbi5z
dHlsZS50b3AgPSAoaSA8IDQgPyA2MCA6IDE3MCkgKyAicHgiOworICAgICAgICAgfQorICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91
dCgidGVzdFJ1bm5lci5ub3RpZnlEb25lKCkiLCAxMCk7CisgICAgICAgIH0KKyAgICB9CisgICAg
ZnVuY3Rpb24gaW5pdCgpCisgICAgeworICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgiZG9VcGRh
dGUoKSIsIDEwMCk7CisgICAgfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzxzcGFuIGlkPSJkZXNjcmlwdGlvbiIgc3R5bGU9ImNv
bG9yOiB3aGl0ZSI+CitUaGlzIHRlc3QgaXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0LiBZ
b3Ugc2hvdWxkIHNlZSB0d28gcm93cyB3aXRoIDQgY2FudmFzZXMgaW4gZWFjaC4gVGhlIHRvcCBy
b3cgb2YgY2FudmFzZXMgc2hvdWxkIGhhdmUgYSBibGFjayBiYWNrZ3JvdW5kLCB0aGUgYm90dG9t
IHJvdyBzaG91bGQgaGF2ZSBhIGRhcmsgYmx1ZSBiYWNrZ3JvdW5kLgorRWFjaCBjYW52YXMgc2hv
dWxkIGhhdmUgYSBncmVlbiB0cmlhbmdsZSBpbiBpdC4gSWYgbXVsdGlzYW1wbGluZyBpcyBzdXBw
b3J0ZWQsIHRoZSBvZGQgY29sdW1ucyBzaG91bGQgaGF2ZSBzbW9vdGggZWRnZXMgaW5zdGVhZCBv
ZiBqYWdnZWQgc3RhaXItc3RlcHBpbmcuIE90aGVyd2lzZSwgYWxsIGNhbnZhc2VzIHdpdGhpbiBh
IHJvdyBzaG91bGQgYmUgaWRlbnRpY2FsIHRvIGVhY2ggb3RoZXIuCis8L3NwYW4+Cis8YnI+Cis8
c3R5bGU+CitjYW52YXMgeworICAgIG91dGxpbmU6IDFweCBzb2xpZCBibHVlOworfQorYm9keSB7
CisgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2JsdWU7Cit9Cis8L3N0eWxlPgorPHNjcmlwdCBp
ZD0iMmQtZnJhZ21lbnQtc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHZlYzQgdV9jb2xvcjsKKwordm9pZCBtYWlu
KCkgeworICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9yOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSIyZC12ZXJ0ZXgtc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUg
dmVjMiBhX3Bvc2l0aW9uOworCit1bmlmb3JtIHZlYzIgdV9yZXNvbHV0aW9uOworCit2b2lkIG1h
aW4oKSB7CisgICAvLyBjb252ZXJ0IHRoZSByZWN0YW5nbGUgZnJvbSBwaXhlbHMgdG8gMC4wIHRv
IDEuMAorICAgdmVjMiB6ZXJvVG9PbmUgPSBhX3Bvc2l0aW9uIC8gdV9yZXNvbHV0aW9uOworCisg
ICAvLyBjb252ZXJ0IGZyb20gMC0+MSB0byAwLT4yCisgICB2ZWMyIHplcm9Ub1R3byA9IHplcm9U
b09uZSAqIDIuMDsKKworICAgLy8gY29udmVydCBmcm9tIDAtPjIgdG8gLTEtPisxIChjbGlwc3Bh
Y2UpCisgICB2ZWMyIGNsaXBTcGFjZSA9IHplcm9Ub1R3byAtIDEuMDsKKworICAgZ2xfUG9zaXRp
b24gPSB2ZWM0KGNsaXBTcGFjZSAqIHZlYzIoMSwgLTEpLCAwLCAxKTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisKK3ZhciBjdHhzID0gW10KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7
CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJkZXNjcmlwdGlvbiIpLnN0eWxlLnBvc2l0aW9uID0gImFic29sdXRlIjsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKS5zdHlsZS50b3AgPSAiLTUwMDBw
eCI7IAorfQorCitmdW5jdGlvbiBhZGRDYW52YXMoaSkgeworICAgIHZhciBhdHRycyA9IHsKKyAg
ICAgICAgJ2FscGhhJzogKGkgPj0gNCksCisgICAgICAgICdwcmVzZXJ2ZURyYXdpbmdCdWZmZXIn
OiAoaSAlIDQpID49IDIsCisgICAgICAgICdhbnRpYWxpYXMnOiAoaSAlIDIpID09IDEKKyAgICB9
OworICAgIHZhciBjYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICBj
YW4ud2lkdGggPSBjYW4uaGVpZ2h0ID0gMTAwOworICAgIGNhbi5zdHlsZS5wb3NpdGlvbiA9ICJh
YnNvbHV0ZSI7CisgICAgY2FuLnN0eWxlLmxlZnQgPSAxMCArIChpICUgNCkgKiAxMjAgKyAicHgi
OworICAgIGNhbi5zdHlsZS50b3AgPSAoaSA8IDQgPyA0MCA6IDE1MCkgKyAicHgiOworICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2FuKTsKKyAgICBpZiAoaSA9PSAzKQorICAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOwor
ICAgIGN0eHNbaV0gPSBjYW4uZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIiwgYXR0cnMp
OworICAgIHNldHVwKGN0eHNbaV0pOworICAgIGRyYXcoY3R4c1tpXSk7Cit9CisKK2ZvciAodmFy
IGk9MDsgaTw4OyArK2kpIHsKKyAgICBhZGRDYW52YXMoaSk7Cit9CisKK2Z1bmN0aW9uIHNldHVw
KGdsKSB7CisgICAgLy8gc2V0dXAgYSBHTFNMIHByb2dyYW0KKyAgICB2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7CisgICAgdmFyIHZlcnRleFNoYWRlciA9IFdlYkdMVGVzdFV0aWxzLmxvYWRTaGFk
ZXJGcm9tU2NyaXB0KGdsLCAiMmQtdmVydGV4LXNoYWRlciIpOworICAgIHZhciBmcmFnbWVudFNo
YWRlciA9IFdlYkdMVGVzdFV0aWxzLmxvYWRTaGFkZXJGcm9tU2NyaXB0KGdsLCAiMmQtZnJhZ21l
bnQtc2hhZGVyIik7CisgICAgdmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgICAg
Z2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHZlcnRleFNoYWRlciwgZ2wuVkVSVEVYX1NIQURFUik7
CisgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGZyYWdtZW50U2hhZGVyLCBnbC5GUkFHTUVO
VF9TSEFERVIpOworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dyYW0pOworICAgIGdsLnVzZVByb2dy
YW0ocHJvZ3JhbSk7CisKKyAgICAvLyBsb29rIHVwIHdoZXJlIHRoZSB2ZXJ0ZXggZGF0YSBuZWVk
cyB0byBnby4KKyAgICBnbC5teVBvc2l0aW9uTG9jYXRpb24gPSBnbC5nZXRBdHRyaWJMb2NhdGlv
bihwcm9ncmFtLCAiYV9wb3NpdGlvbiIpOworCisgICAgLy8gc2V0IHRoZSByZXNvbHV0aW9uCisg
ICAgdmFyIHJlc29sdXRpb25Mb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFt
LCAidV9yZXNvbHV0aW9uIik7CisgICAgZ2wudW5pZm9ybTJmKHJlc29sdXRpb25Mb2NhdGlvbiwg
MTAwLCAxMDApOworCisgICAgdmFyIGNvbG9yTG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRp
b24ocHJvZ3JhbSwgInVfY29sb3IiKTsKKyAgICBnbC51bmlmb3JtNGYoY29sb3JMb2NhdGlvbiwg
MCwgMSwgMCwgMSk7Cit9CisKK2Z1bmN0aW9uIGRyYXcoZ2wpIHsKKyAgICB2YXIgYnVmZmVyID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1
ZmZlcik7CisgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJy
YXkoWworICAgICAgICA4MCwgMjAsCisgICAgICAgIDEwLCAxMCwKKyAgICAgICAgMTAsIDgwXSks
IGdsLlNUQVRJQ19EUkFXKTsKKworICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGdsLm15
UG9zaXRpb25Mb2NhdGlvbik7CisgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihnbC5teVBvc2l0
aW9uTG9jYXRpb24sIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgICAvLyBkcmF3Cisg
ICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpOworfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184798</attachid>
            <date>2013-01-25 13:10:22 -0800</date>
            <delta_ts>2013-01-25 22:21:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130125155141.patch</filename>
            <type>text/plain</type>
            <size>12763</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjA5ZWVlYmI5ZGFjYjMx
OWJjM2U3OTdiMjY5NDBkNTdjMWJhYmY1NS4uMDQ5NTZmODQwYjFiN2QxNTE1NTcyMGM4MDU2ZWYy
M2E5ZmViYzQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTI1ICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBwYWdlIHNpemUgY2hhbmdlcyBhbmQgbGF5ZXIgcGFyYW1ldGVycyBnZXQgdXBk
YXRlZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZQorICAgICAgICBjbGVhcnMgbGF5
ZXIgYmFja2luZyBzdG9yZSBhbmQgZGV0YWNoZXMgY2FudmFzIHN1cmZhY2UgZnJvbSB0aGUgbGF5
ZXIuIElmIGxheWVyIHNpemUgaXMKKyAgICAgICAgbm90IGNoYW5nZWQgdGhlbiBjYW52YXMgcmVj
cmVhdGUgaXMgbm90IGludm9rZWQgYmVjYXVzZSBjYW52YXMgc2l6ZSBpcyBhbHNvIG5vdCBjaGFu
Z2VkIAorICAgICAgICBsZWF2aW5nIGNhbnZhcyBkZXRhY2hlZCBmcm9tIGxheWVyLCBidXQgc3Rp
bGwgcmVmZXJlbmNlZCBpbiBtX3N1cmZhY2VCYWNraW5nU3RvcmVzIG1hcC4KKyAgICAgICAgRG9u
J3QgYXNzaWduIGxheWVyIGJhY2tpbmcgc3RvcmUgdG8gbGF5ZXIgaW4gYXNzaWduSW1hZ2VCYWNr
aW5nVG9MYXllciBpZiB0aGVyZSBpcyBjYW52YXMKKyAgICAgICAgc3VyZmFjZSBhbHJlYWR5IGF0
dGFjaGVkIHRvIHRoZSBsYXllci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
UmVuZGVyZXI6OnNldExheWVyU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcik6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKwogMjAxMy0wMS0yNSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBTZW5kIHNhbmRib3gg
ZXh0ZW5zaW9ucyBmb3IgbG9jYWwgZmlsZXMgdG8gTmV0d29ya1Byb2Nlc3MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJl
bmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZVJlbmRlcmVyLmNwcAppbmRleCBkZmE0MDZkMDRkYWViYjc2Yzc2MDljM2YwNzVi
ZGIxZTljYzQ0YTkxLi44MTBmNjk3Y2E5ZmYxMGIxNDZiNWFhNGUyNDdkZDg0NDAxNTMwMjczIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCkBAIC0zMzksNyArMzM5LDcgQEAg
dm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZShDb29yZGluYXRlZExheWVySUQg
aWQsIGNvbnN0IENvb3JkaW5hdGVkTGEKICAgICBlbHNlCiAgICAgICAgIG1fZml4ZWRMYXllcnMu
cmVtb3ZlKGlkKTsKIAotICAgIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIobGF5ZXIsIGxheWVy
SW5mby5pbWFnZUlEKTsKKyAgICBhc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKGlkLCBsYXllciwg
bGF5ZXJJbmZvLmltYWdlSUQpOwogICAgIHByZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKGxheWVy
KTsKIAogICAgIC8vIE5ldmVyIG1ha2UgdGhlIHJvb3QgbGF5ZXIgY2xpcC4KQEAgLTU0NSw4ICs1
NDUsMTMgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlSW1hZ2VCYWNraW5nKENvb3Jk
aW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZ2VJRCkKICAgICBtX3JlbGVhc2VkSW1hZ2VCYWNraW5n
cy5hcHBlbmQobV9pbWFnZUJhY2tpbmdzLnRha2UoaW1hZ2VJRCkpOwogfQogCi12b2lkIExheWVy
VHJlZVJlbmRlcmVyOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKEdyYXBoaWNzTGF5ZXIqIGxh
eWVyLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lEIGltYWdlSUQpCit2b2lkIExheWVyVHJlZVJl
bmRlcmVyOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCwg
R3JhcGhpY3NMYXllciogbGF5ZXIsIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZ2VJRCkK
IHsKKyNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKyAgICBpZiAobV9zdXJmYWNlQmFja2luZ1N0
b3Jlcy5jb250YWlucyhpZCkpCisgICAgICAgIHJldHVybjsKKyNlbmRpZgorCiAgICAgaWYgKGlt
YWdlSUQgPT0gSW52YWxpZENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpIHsKICAgICAgICAgbGF5
ZXItPnNldENvbnRlbnRzVG9NZWRpYSgwKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVu
ZGVyZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZVJlbmRlcmVyLmgKaW5kZXggYzFkNThmNDk5ZmU5MWMxNzRiMzZmMzQyMDk2ZDhhOTNk
Y2NkMjRlNS4uNWFkMGE1OWU3MjVhNzI1MDdhNjcxZGQzZmY1ZDkyOGQxYjI2MzdiZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGNyZWF0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCk7CiAgICAgdm9pZCBkZWxl
dGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwogCi0gICAgdm9pZCBhc3NpZ25JbWFnZUJhY2tp
bmdUb0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBDb29yZGluYXRlZEltYWdlQmFja2lu
Z0lEKTsKKyAgICB2b2lkIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIoQ29vcmRpbmF0ZWRMYXll
cklELCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7
CiAgICAgdm9pZCByZW1vdmVSZWxlYXNlZEltYWdlQmFja2luZ3NJZk5lZWRlZCgpOwogICAgIHZv
aWQgZW5zdXJlUm9vdExheWVyKCk7CiAgICAgdm9pZCBjb21taXRQZW5kaW5nQmFja2luZ1N0b3Jl
T3BlcmF0aW9ucygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZhNTcwNWViNTU4YTY2NjJiOGQxYTk1MDM2MWQ2ZjM3YTFj
YzcwMjguLjRlOWJlNDdmMzAyNzNiODQ0NDZmN2ZiZjQzYmI3NmYzMTI1NzgzY2QgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMy0wMS0yNSAgVmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8c2wub3N0
YXBlbmtvQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dlYkdMXSBXZWJHTCBjb250ZW50
IGlzIG5vdCBwYWludGVkIGFmdGVyIHJlc2l6aW5nIHRoZSB2aWV3cG9ydC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjM1OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0IGNoZWNraW5nIHRo
YXQgY2FudmFzIHBhaW50aW5nIGlzIGNvcnJlY3QgaWYgbGF5ZXIgcGFyYW1ldGVycyB3ZXJlIGNo
YW5nZWQsCisgICAgICAgIGJ1dCB3ZWJnbCBjYW52YXMgZGlkbid0IGNoYW5nZS4KKworICAgICAg
ICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy11cGRhdGUtZXhwZWN0
ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3Np
dGUtbW9kZXMtdXBkYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXVwZGF0ZS5odG1sOiBBZGRlZC4KKwogMjAx
My0wMS0yNSAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJlZ3Jlc3Npb24ocjEzOTgzNik6IENyYXNoIGluIFdURjo6ZXF1YWxJZ25vcmluZ0Nhc2UKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1t
b2Rlcy11cGRhdGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
d2ViZ2wtY29tcG9zaXRlLW1vZGVzLXVwZGF0ZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGEx
NzA1Y2E0ODJlMTI2Zjk0NjFhOTRhNmY0MzBmOWE0OTg1MWUxYgpHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgNDYxMQp6Y21lSExZZ0NpPjhHbEsqTlh3OyZLeDByVTlMREghMVdRUnNMMnlFKE5FYS0x
Q3BpYSMwVDFBKmd7MEFoYTFvNFUKelhyLWM3MT42RURic2R7ZiRWTD9pbXFmRDtrJlUzLT97XlUp
aChqVG1rbkkxeTxXMWdCK2RsTm0mTiVzeV9uLUl3Cnpkb0k3e2Q0QTcxYFNKKW8oKkJLfFokSj1h
QU42NUdFQ2tgLWZnbGBuOHhIKjl2Y3RzKGVFRldIRjs1PnFrJG44Kgp6RFNqSFhGRFokZG9KMmBF
OXoraDxtLXMkOEZAK3JIcEYleE9PLVZ8b0NjWVAjPH5jNzFBblQ7KSRPeTspZjQqc3sKenlhcXV8
VXFuVXhAfkJYKDkofFBsSzExfUlNfWh+JG4xYmBBeytJMlo7SXs5MV5tKj5edkZBMG42UWJrYUlw
PnwpCnpAeGsxdyNeS3ppKGNCZ2JzQjMrR1B5I2BVLWZibDRZXmVlVlU5a1FDZD5CeDk9KH4+e2xL
alptc2lRclQ9VHZgTAp6REpZfH4tVk5aTUBVWkRxMyRvKktULXt6PT1IeWhEPCY5YDVwPyNmVW90
P3otS3w7e3BGaSo/Pmo8JF8/NCRzZ3YKeiZaKH4tKkRJJVdgbEBvWj91Y01hOG5CRk9ientuI3Z+
OWJePDx3eCNLJkctJiFLYUQlQ0VjZiNva2FLcypZPmhxCnpiKDZScEs3aGJQYnZKR0xTYWctV0B2
Pi1fbXZvN2psQDIzYDBfJm5sMXMzZHxhYVNTaG1+VHYrZ1lPZkJ6bUstVwp6ZkRnPmJ1JFB4Snth
bCREPm4pRV9TQn5wKGBTUTtYcXFnO0Q2fCZLRWRiXjkhd1RDbSlkXm4jRkRpd2M/QkV3ZE8Kek02
PWdOO0Q5Tk1jRGwyU0dqMGBMSll6PTclN2xOfjdKcChvNWBmJDFebWJkTCp9MFpqYzhrMUV6U00y
WnNkWGxxCno/b2NAY25gJXg+b3YyRWZwZS0zKjdyTjVoQmtNTEQ8ZndZXzloN2ZTQDBfTld6RWRY
ZUo4SDc4MWJNPylLbXpgMQp6Vll4VEctTkBkN3hvX0xyWEApeHZaSlMob0hCTm13I2xXRW4kTSRE
byEtbXxsJlk2PTZgUDs4Pzlsaj1KT1FTNkAKekRTYkhTTkhSeCFrRz5sKWc7czMzWT9ZTj9eWi0z
UnEpT09TUStWTSVjNGk9WjtXR0AyZT1tQyUhKkZVKTM8ZWclCnpFNjh5QXohT2F9aE9oQyNjJnl0
TWo2dmRxeEVOI2B3QDFNPG1EcGtXM2RXOypgQEojUigrZy1CLUJubDFHMDV8JAp6T0VKaXpYSyFQ
WDB+USFeZzZeaTtuOTFQXlJvTkk/eCFZcn53MklwVHUqZSZrNz59dVNfR1dTPkAoVkJ5I29hU2wK
elFnODBwVj4qbj5iOUJHfWItTWB8YT1iJUc3Oz50RkE3TEUyI21XbzJvWHtGS2gra3JqKHBjRD1F
PkBUZlN2MVY2CnpsMnheME5QcCpQfDE1YjNuY3ltSWcyI3NVWW0lbVBfeWpWdjMxQEFOSytyeXM3
NCgpZl5RVXxHdm17SmNgTWlFTwp6PzJ6T15ibHBtMmJLVyN3dCgjdEtlbGM0bjNlTl4+O0xQZUEx
YVc8SEJld2xwJnN2UyFDSCsqJSNGQHYyeSFsJjsKekkkdXV4QE9iTT5rd0N2QW4zSSM0ST8peUNQ
KDkyam9EQUdoQV5OeWZmfmNoISRZQDt2SH52NF9IemxwQDktcS15CnokUEtTblM5M3ZwV0JUV1U/
N35vUWVUVVlkKlVGbldVaVlZYHBDS1kobUUkTVBVRE5qbTgqWCg2dFpEIThRbkR6OQp6I1h6KWg1
d31wSXQqbElDMT1qWjw+Snh3ODMle15lQl9vZi0hVTdTJUM5ZmN3SUMqb2JwY2ErezheS28hUyt4
Q1UKeiFhcD1yU2QkbSsrPzY1IzIkV1cmUStnREBXTWlFYkJBV2NCJCVSYTFoTGdnSjwhUkwxYURK
TCpGWVpELU1ZPCUqCnolZXBRNFpRUTVlcnZaWWQrM241aHJyY1QhcEN7cSM4PjVLZDx2bj9ZJU1g
Tj9jKVoxfEE2NmQ9XlBZSnphJWw1TAp6bmBMbzdgfT5BVldGKklNS00mQCFQbkJzdUFpfGFSPGol
Mn5DNmxURk98PlVFKXt4X0FuXjImc2tAQERea3s0TmAKej9gcGBYO1YyLW47QUwmZzBDeGZHMFps
VV8lTzNQPV8+YndERU8tbGZgPmp8NEZ7YEt7PWo/fnktKnl3OG58KE9XCnpieEFgdShwdm42Wkx3
XktPTjVWdytlQVFNb2t7I1ZsWVFlekwqTTcpUTYmQCN0Um5YQVdUeExURGVUNENkI0p2WQp6dm4+
OH1he29RdnJkNj01YzI2OVBrPj1vS0FpO1YpVjdqZzBwKSkrRmxvVnJKe3Z7eGU+bXhAUCNNV31L
TkoxWDMKeiE9QkpFaDA8I18jcl5vU0tVTnZ4IVJuTEpfO3E1PHgzRzV0bFJBZSlYJmshPlhLUGFx
b3I9Q2VUcj99cU5IdSV1CnpzNXdmM2JAXm1TM2BQQHRzN2h5Mm1ANiFVenNMam9gSUI4aFQ7amtK
Rj98RUhrNG10cC1+bT1NbUVYKDNkVihCdQp6VUkjJUF2WjNXeUBWYWB0WGVVTig2NVQ8V14hRnpV
akg2I1AhO1g9PFV4ak4zY2tlWHlGK3paRyltP0ZiUzFoX0kKekpfZjdheWtoYWUyaVRjV1RGfk1u
dWk/ZTc5YHhnNzk4VDlIOEBYfkh5TXxsWDVOTytQNz0oZmBwP294I0h5Yyk3CnpDUiEwNWcya3op
Y2VEOGAtXilXZmZ0N31JMCsmNE8hISkkTSVKaT4pZ2lNZFBZdVVDcV48Q20tTUZ+TmI/YXRMfQp6
IXxFczNiMyU7IWBzViZuWC1MRCtAK0Q5flAkVGlrN3A4NilBT3kpSFRkbVJONyQ3dntwVTNLPyVW
a0BWeWVKV0UKemFVaSRXOW1HN2lge0I3UHhuXkJWdjRmV317c3VUUWRhJSVzTV44JGRwUEh0XyZC
ZHprY018NVduajBfdTM+aEJUCnpNTVckRmprQDZuaiFpS21qKVA5dHYoYDF3SE13eEtIeT40Q2df
cSV8MUVoJUZ7dUFtaUJJdyQ2bUVLV0szVm19aQp6Qm5lS2NjMWJQSno4YUxeQTtvdFpyIztZdGtK
dUtfVW9CbT85PTFyPj5WJk4rKnFWYT51X0A1bzl4bDFpZCZUU0wKUmxpJns7RDJoZ3BzNSFfIV9i
PkwkKk9tWVAKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy11cGRhdGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVz
LXVwZGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjNmMjU4ZjNlOTg3NDdhOTdhZWM0MTBk
NjM3ODYzMGY4YjMwMzEyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy11cGRhdGUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMyBAQAorVGhpcyB0ZXN0IGlzIG9ubHkgdXNlZnVsIGFzIGEgcGl4ZWwgdGVzdC4gWW91
IHNob3VsZCBzZWUgdHdvIHJvd3Mgd2l0aCA0IGNhbnZhc2VzIGluIGVhY2guIFRoZSB0b3Agcm93
IG9mIGNhbnZhc2VzIHNob3VsZCBoYXZlIGEgYmxhY2sgYmFja2dyb3VuZCwgdGhlIGJvdHRvbSBy
b3cgc2hvdWxkIGhhdmUgYSBkYXJrIGJsdWUgYmFja2dyb3VuZC4gRWFjaCBjYW52YXMgc2hvdWxk
IGhhdmUgYSBncmVlbiB0cmlhbmdsZSBpbiBpdC4gSWYgbXVsdGlzYW1wbGluZyBpcyBzdXBwb3J0
ZWQsIHRoZSBvZGQgY29sdW1ucyBzaG91bGQgaGF2ZSBzbW9vdGggZWRnZXMgaW5zdGVhZCBvZiBq
YWdnZWQgc3RhaXItc3RlcHBpbmcuIE90aGVyd2lzZSwgYWxsIGNhbnZhc2VzIHdpdGhpbiBhIHJv
dyBzaG91bGQgYmUgaWRlbnRpY2FsIHRvIGVhY2ggb3RoZXIuCisKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXVwZGF0ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVz
LXVwZGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkYzY2MTc5NmI0ZTdhODdmMmExMzkxNmYxNTg1NjI3
ZTA5N2JkNTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtdXBkYXRlLmh0bWwKQEAgLTAsMCArMSwxMzkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIGRvVXBkYXRlKCkK
KyAgICB7CisgICAgICAgICB2YXIgY2FudmFzZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnY2FudmFzJyk7CisgICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY2FudmFzZXMubGVu
Z3RoOyBpKyspIHsKKyAgICAgICAgICAgICB2YXIgY2FuID0gY2FudmFzZXNbaV07CisgICAgICAg
ICAgICAgY2FuLnN0eWxlLnRvcCA9IChpIDwgNCA/IDYwIDogMTcwKSArICJweCI7CisgICAgICAg
ICB9CisgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHdpbmRv
dy5zZXRUaW1lb3V0KCJ0ZXN0UnVubmVyLm5vdGlmeURvbmUoKSIsIDEwKTsKKyAgICAgICAgfQor
ICAgIH0KKyAgICBmdW5jdGlvbiBpbml0KCkKKyAgICB7CisgICAgICAgIHdpbmRvdy5zZXRUaW1l
b3V0KCJkb1VwZGF0ZSgpIiwgMTAwKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxib2R5IG9ubG9hZD0i
aW5pdCgpIj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKK30KKzwvc2NyaXB0PgorPHNwYW4gaWQ9ImRlc2NyaXB0aW9u
IiBzdHlsZT0iY29sb3I6IHdoaXRlIj4KK1RoaXMgdGVzdCBpcyBvbmx5IHVzZWZ1bCBhcyBhIHBp
eGVsIHRlc3QuIFlvdSBzaG91bGQgc2VlIHR3byByb3dzIHdpdGggNCBjYW52YXNlcyBpbiBlYWNo
LiBUaGUgdG9wIHJvdyBvZiBjYW52YXNlcyBzaG91bGQgaGF2ZSBhIGJsYWNrIGJhY2tncm91bmQs
IHRoZSBib3R0b20gcm93IHNob3VsZCBoYXZlIGEgZGFyayBibHVlIGJhY2tncm91bmQuCitFYWNo
IGNhbnZhcyBzaG91bGQgaGF2ZSBhIGdyZWVuIHRyaWFuZ2xlIGluIGl0LiBJZiBtdWx0aXNhbXBs
aW5nIGlzIHN1cHBvcnRlZCwgdGhlIG9kZCBjb2x1bW5zIHNob3VsZCBoYXZlIHNtb290aCBlZGdl
cyBpbnN0ZWFkIG9mIGphZ2dlZCBzdGFpci1zdGVwcGluZy4gT3RoZXJ3aXNlLCBhbGwgY2FudmFz
ZXMgd2l0aGluIGEgcm93IHNob3VsZCBiZSBpZGVudGljYWwgdG8gZWFjaCBvdGhlci4KKzwvc3Bh
bj4KKzxicj4KKzxzdHlsZT4KK2NhbnZhcyB7CisgICAgb3V0bGluZTogMXB4IHNvbGlkIGJsdWU7
Cit9Citib2R5IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrYmx1ZTsKK30KKzwvc3R5bGU+
Cis8c2NyaXB0IGlkPSIyZC1mcmFnbWVudC1zaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21l
bnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gdmVjNCB1X2NvbG9yOwor
Cit2b2lkIG1haW4oKSB7CisgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3I7Cit9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9IjJkLXZlcnRleC1zaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4K
K2F0dHJpYnV0ZSB2ZWMyIGFfcG9zaXRpb247CisKK3VuaWZvcm0gdmVjMiB1X3Jlc29sdXRpb247
CisKK3ZvaWQgbWFpbigpIHsKKyAgIC8vIGNvbnZlcnQgdGhlIHJlY3RhbmdsZSBmcm9tIHBpeGVs
cyB0byAwLjAgdG8gMS4wCisgICB2ZWMyIHplcm9Ub09uZSA9IGFfcG9zaXRpb24gLyB1X3Jlc29s
dXRpb247CisKKyAgIC8vIGNvbnZlcnQgZnJvbSAwLT4xIHRvIDAtPjIKKyAgIHZlYzIgemVyb1Rv
VHdvID0gemVyb1RvT25lICogMi4wOworCisgICAvLyBjb252ZXJ0IGZyb20gMC0+MiB0byAtMS0+
KzEgKGNsaXBzcGFjZSkKKyAgIHZlYzIgY2xpcFNwYWNlID0gemVyb1RvVHdvIC0gMS4wOworCisg
ICBnbF9Qb3NpdGlvbiA9IHZlYzQoY2xpcFNwYWNlICogdmVjMigxLCAtMSksIDAsIDEpOworfQor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKwordmFyIGN0eHMgPSBbXQorCitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFi
bGVkIiwgIjEiKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1
dGUiOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIpLnN0eWxlLnRv
cCA9ICItNTAwMHB4IjsgCit9CisKK2Z1bmN0aW9uIGFkZENhbnZhcyhpKSB7CisgICAgdmFyIGF0
dHJzID0geworICAgICAgICAnYWxwaGEnOiAoaSA+PSA0KSwKKyAgICAgICAgJ3ByZXNlcnZlRHJh
d2luZ0J1ZmZlcic6IChpICUgNCkgPj0gMiwKKyAgICAgICAgJ2FudGlhbGlhcyc6IChpICUgMikg
PT0gMQorICAgIH07CisgICAgdmFyIGNhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZh
cycpOworICAgIGNhbi53aWR0aCA9IGNhbi5oZWlnaHQgPSAxMDA7CisgICAgY2FuLnN0eWxlLnBv
c2l0aW9uID0gImFic29sdXRlIjsKKyAgICBjYW4uc3R5bGUubGVmdCA9IDEwICsgKGkgJSA0KSAq
IDEyMCArICJweCI7CisgICAgY2FuLnN0eWxlLnRvcCA9IChpIDwgNCA/IDQwIDogMTUwKSArICJw
eCI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjYW4pOworICAgIGlmIChpID09IDMp
CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnYnInKSk7CisgICAgY3R4c1tpXSA9IGNhbi5nZXRDb250ZXh0KCJleHBlcmltZW50YWwtd2Vi
Z2wiLCBhdHRycyk7CisgICAgc2V0dXAoY3R4c1tpXSk7CisgICAgZHJhdyhjdHhzW2ldKTsKK30K
KworZm9yICh2YXIgaT0wOyBpPDg7ICsraSkgeworICAgIGFkZENhbnZhcyhpKTsKK30KKworZnVu
Y3Rpb24gc2V0dXAoZ2wpIHsKKyAgICAvLyBzZXR1cCBhIEdMU0wgcHJvZ3JhbQorICAgIHZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICB2YXIgdmVydGV4U2hhZGVyID0gV2ViR0xUZXN0VXRp
bHMubG9hZFNoYWRlckZyb21TY3JpcHQoZ2wsICIyZC12ZXJ0ZXgtc2hhZGVyIik7CisgICAgdmFy
IGZyYWdtZW50U2hhZGVyID0gV2ViR0xUZXN0VXRpbHMubG9hZFNoYWRlckZyb21TY3JpcHQoZ2ws
ICIyZC1mcmFnbWVudC1zaGFkZXIiKTsKKyAgICB2YXIgcHJvZ3JhbSA9IGdsLmNyZWF0ZVByb2dy
YW0oKTsKKyAgICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdmVydGV4U2hhZGVyLCBnbC5WRVJU
RVhfU0hBREVSKTsKKyAgICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgZnJhZ21lbnRTaGFkZXIs
IGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CisgICAg
Z2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKworICAgIC8vIGxvb2sgdXAgd2hlcmUgdGhlIHZlcnRl
eCBkYXRhIG5lZWRzIHRvIGdvLgorICAgIGdsLm15UG9zaXRpb25Mb2NhdGlvbiA9IGdsLmdldEF0
dHJpYkxvY2F0aW9uKHByb2dyYW0sICJhX3Bvc2l0aW9uIik7CisKKyAgICAvLyBzZXQgdGhlIHJl
c29sdXRpb24KKyAgICB2YXIgcmVzb2x1dGlvbkxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0sICJ1X3Jlc29sdXRpb24iKTsKKyAgICBnbC51bmlmb3JtMmYocmVzb2x1dGlv
bkxvY2F0aW9uLCAxMDAsIDEwMCk7CisKKyAgICB2YXIgY29sb3JMb2NhdGlvbiA9IGdsLmdldFVu
aWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvciIpOworICAgIGdsLnVuaWZvcm00Zihjb2xv
ckxvY2F0aW9uLCAwLCAxLCAwLCAxKTsKK30KKworZnVuY3Rpb24gZHJhdyhnbCkgeworICAgIHZh
ciBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZ
X0JVRkZFUiwgYnVmZmVyKTsKKyAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3
IEZsb2F0MzJBcnJheShbCisgICAgICAgIDgwLCAyMCwKKyAgICAgICAgMTAsIDEwLAorICAgICAg
ICAxMCwgODBdKSwgZ2wuU1RBVElDX0RSQVcpOworCisgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmli
QXJyYXkoZ2wubXlQb3NpdGlvbkxvY2F0aW9uKTsKKyAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KGdsLm15UG9zaXRpb25Mb2NhdGlvbiwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKworICAg
IC8vIGRyYXcKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7Cit9Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>184853</attachid>
            <date>2013-01-25 21:33:08 -0800</date>
            <delta_ts>2013-01-25 21:33:08 -0800</delta_ts>
            <desc>webgl-composite-modes-update-expected.png</desc>
            <filename>webgl-composite-modes-update-expected.png</filename>
            <type>image/png</type>
            <size>4611</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAIAAAAVFBUnAAAAKXRFWHRjaGVja3N1bQAxYmI5ZWI3
ZmM4NjMxYTQ2YWY2NTBmOWM5ZmJlOWEyNW0i6b8AAAAGYktHRAD/AP8A/6C9p5MAABGDSURBVHic
7d3RbjRXgYXRdsgbT4aHmDCPDOYCEiHRcX7bX++uql5LXCCCJWfLOudzudt+u91+vQEA0Pnp2Z8A
AMDVCCwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCI
CSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwA
gJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjA
AgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCI
CSwAgJjAAgCICSwAgJjAAgCICSwAgJjAAgCICSwAgNjPH/7TX0afxXX87UsfZefPsvOGnTe+tjNw
aB8H1u12e1t8Fhfxj298rJ1/3Ps3PtbOP87OG9/ZGTguPyIEAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIj96W9y/9Dfb7e33/7D4/z+q57t/FB23rAz8AK+F1i/u/vHHpyeOTtv
2HnDzsB1RYF1l9Nzw84bdt6wM3AJjwysu5yeG3besPOGnYGzmQfWXU7PDTtv2HnDzsCBHSOw7nJ6
bth5w84bdgaO4cCBdZfTc8POG3besDMwd7bAusvpuWHnDTtv2Bl4pEsE1l1Ozw07b9h5w85A5LqB
dZfTc8POG3besDPweS8WWHf5vdIbdt6w84adgQ/5W4S/cUpu2HnDzht2Bv6AwLrdbk7JFTtv2HnD
zsAfE1hOyRU7b9h5w87Ah14+sJySG3besPOGnYE/89qB5ZTcsPOGnTfsDPyAV30XoSNyw84bdt6w
M/DDXvIJllNyw84bdt6wM/AZLxZY707JCTtv2HnDzsDnvVJgvb/Wv+7T2HnDzht2Br7kZU4Op+SG
nTfsvGFn4Kte4EXu//qLFk7JR7Pzhp037Ax8z9UDyzegG3besPOGnYFvu/Qp4pTcsPOGnTfsDBSu
e5A4JTfsvGHnDTsDkYueJU7JDTtv2HnDzkDnosfJRf+1DsfOG3besDPQueKJ4lcCbth5w84bdgZS
13oXoSNyw84bdt6wM/AAF3qC5ZTcsPOGnTfsDDzGVQLLKblh5w07b9gZeJhLBJZTcsPOG3besDPw
SOcPLKfkhp037LxhZ+DBTh5YTskNO2/YecPOwOOd9l2EjsgNO2/YecPOwMo5n2A5JTfsvGHnDTsD
QycMLKfkhp037LxhZ2DrbIHllNyw84adN+wMzJ0qsJySG3besPOGnYFnOE9gOSU37Lxh5w07A09y
hncROiI37Lxh5w07A091+CdYTskNO2/YecPOwLMdO7Cckht23rDzhp2BAzhwYDklN+y8YecNOwPH
cNTAckpu2HnDzht2Bg7jkIHllNyw84adN+wMHMnB3kXoiNyw84adN+wMHM+RnmA5JTfsvGHnDTsD
h3SYwHJKbth5w84bdgaO6hiB5ZTcsPOGnTfsDBzYAQLLKblh5w07b9gZOLZnB5ZTcsPOG3besDNw
eM97F6EjcsPOG3besDNwEk96guWU3LDzhp037AycxzMCyym5YecNO2/YGTiVeWA5JTfsvGHnDTsD
Z7MNLKfkhp037LxhZ+CEhoHllNyw84adN+wMnNPkXYSOyA07b9h5w87AmT3+CZZTcsPOG3besDNw
cg8OLKfkhp037LxhZ+D8HhlYTskNO2/YecPOwCU8LLCckht23rDzhp2Bq3hMYDklN+y8YecNOwMX
Ur+L0BG5YecNO2/YGbic9AmWU3LDzht23rAzcEVdYDklN+y8YecNOwMXFQWWU3LDzht23rAzcF1F
YDklN+y8YecNOwOX9u3A2v616NflNtqw84adgav7Xh/9Jfos+JjbaMPOG3YGXoAHUAAAMYEFABAT
WAAAMYEFABATWAAAMYEFABATWAAAMYEFABATWAAAMYEFABATWAAAMYEFABATWAAAMYEFABATWAAA
MYEFABATWAAAMYEFABATWAAAsZ8//Kfvt9s/Rp/IS7Pzp7x/4wPt/OPsvPHlnYFDe7vdfn325wAA
cCl+RAgAEBNYAAAxgQUAEBNYAAAxgQUAEBNYAAAxgQUAEPv4F43+4pfgfdL/f+mj7Pwpb7fb3770
gXb+FDtvfHln4NA+DqzbV4vhNf3PNz7Wzj/ul298rJ1/nJ03vrMzcFx+RAgAEBNYAAAxgQUAEBNY
AAAxgQUAEBNYAAAxgQUAEBNYAAAxgQUAEPvT3+T+ob//9fb2fnu73d7+73Z7iz4l/sv7//77v7z9
+tTP4+rsvGFn4AV8L7B+9/7XO/+j0zP3+830n+ycs/OGnYHrigLrrvunp2ddNbfUhp037AxcwiMD
6y7PujbcUht23rAzcDbzwLrL6bnhmeKGr+cNOwMHdozAuksNbHimuKEGNuwMHMOBA+suNbChbjfU
wIadgbmzBdZdTs8Ndbvh63nDdxHAI10isO5yem7YeUN1bfguAohcN7Duun96qoGaW2pDdW3YGfi8
Fwusu36vASfmQ/n93Rt23rAz8CF/i/A3TskNO2/YecPOwB8QWLfb7V8/JeTx3EYbdt6wM/DHBJbX
YK24jTbsvGFn4EMvH1jqasNttGHnDTsDf+a1X+TulNyw84adN+wM/IBXDSwPrjZcRRt23rAz8MNe
8keE6mrDbbRh5w07A5/xeoGlrjbcRht23rAz8EkvFljqasOvvdhw62/YGfi8V3oNllNyQ8Vu+Hre
sDPwJS/zBMspuaGuNnw9b9gZ+KoXeILlyt9wFW3YecPOwPdc/QmWutpwG23YecOLCIFvu/QTLHW1
4dbfsPOGnYHCdQPLKblh5w07b3h2BUQuGlhuow07b9h5w85A54qvwXJKbth5w84bnl0BqWs9wXIV
bdh5w84bdgYe4EJPsHwDumHnDbf+hp2Bx7jKEyyn5IY3Zm74et6wM/Awl3iC5ZTcUFcbvp437Aw8
0vkDyym5oa42fD1v2Bl4sJMHltcDbairDbf+hp2Bxzvta7Bc+Ruuog07b9gZWDnnEyx1teE22rDz
hp2BoRMGlrracBtt2HnDzsDW2QJLXW24jTbsvGFnYO5Ur8FySm7YecPOG3YGnuE8T7Cckht23rDz
hp2BJznDEyw/Ftyw84Yrf8POwFMd/gmWW3/Dzhtu/Q07A8927MBy62/YecOtv2Fn4AAO/CNCp+SG
utrw9bxhZ+AYjhpYTskNO2/YecPOwGEc8keE/sLghttow84bdgaO5GBPsByRG3besPOGnYHjOdIT
LKfkhp037LxhZ+CQDhNYTskNO2/YecPOwFEdI7Cckht23rDzhp2BAztAYHlJ+4adN9z6G3YGju3Z
L3J3Sm74ZVcbvp437Awc3pMC6/12+8mV/3h23ni/3X5y5T+enYHzeEZgOSU31NWGr+cNOwOnMn8N
llNyQ11t+HresDNwNtsnWP++9Xkwt9GGnTfsDJzQ8AmWZyobbqMNO2/YGTinyROs99vt5pR8PDtv
2HnDzsCZPT6wPLja8I3+hp037Ayc3IMDyym5YecNO2/YGTi/R74Gyym5YecNO2/YGbiEhwWWU3LD
zht23rAzcBWPCSy/jmHDbbRh5w07AxdSvwbLG3827Lxh5w07A5eTBpY3DG7YecMDlQ07A1fUBZZT
csPOG3besDNwUd1rsLzoasNttGHnDTsDFxUF1pufWE28uY0m7LxhZ+C6isBSVxtuow07b9gZuLRv
B5ZXW2+4jTbsvGFn4Oq+9yL3v3jd1YTbaMPOG3YGXsAj/1QOAMBLElgAADGBBQAQE1gAADGBBQAQ
E1gAADGBBQAQE1gAADGBBQAQE1gAADGBBQAQE1gAADGBBQAQE1gAADGBBQAQE1gAADGBBQAQE1gA
ADGBBQAQ+/nP/g+/LD4L7Dxi5w07A6/u7Xb79dmfAwDApfgRIQBATGABAMQEFgBATGABAMQEFgBA
TGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGAB
AMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQE
FgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBA
TGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGAB
AMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQE
FgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBA
TGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGAB
AMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQE
FgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBA
TGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGAB
AMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQE
FgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBA
TGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGAB
AMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQE
FgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBA
TGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGAB
AMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQE
FgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBA
TGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGAB
AMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQE
FgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBA
TGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGAB
AMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQE
FgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBA
TGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMQEFgBATGAB
AMQEFgBATGABAMQEFgBATGABAMQEFgBATGABAMT+CUqXiNWQIyjhAAAAAElFTkSuQmCC
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>184854</attachid>
            <date>2013-01-25 21:38:34 -0800</date>
            <delta_ts>2013-01-25 21:38:34 -0800</delta_ts>
            <desc>webgl-composite-modes-update-actual.png</desc>
            <filename>webgl-composite-modes-update-actual.png</filename>
            <type>image/png</type>
            <size>4402</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAIAAAAVFBUnAAAAKXRFWHRjaGVja3N1bQBlOTc4M2Qz
NTRhOTg0ZWVmNTVmMDUyZDg0MzY0YmVmNWpf20sAABDESURBVHic7d1NjtsGGkVRuZElp1fh7DmZ
dIweyPV79URS54wCxAaEB+TLBQtU/bjdft4AAOj859kfAADgagQWAEBMYAEAxAQWAEBMYAEAxAQW
AEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBM
YAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEA
xAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQW
AEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBMYAEAxAQWAEBM
YAEAxAQWAEDsjzf/7Z+jT3Edf33pb9n5s+y8YeeNr+0MHNrbgXW73X4sPsVF/P2Nv2vnj7Pzhp03
vrMzcFx+RAgAEBNYAAAxgQUAEBNYAAAxgQUAEBNYAAAxgQUAEBNYAAAxgQUAEHv3m9zf9OsriH1v
80PZecPOG3YGXsD3AuuXu7/swfXM2XnDzht2Bq4rCqy7XM8NO2/YecPOwCU8MrDucj037Lxh5w07
A2czD6y7XM8NO2/YecPOwIEdI7Ducj037Lxh5w07A8dw4MC6y/XcsPOGnTfsDMydLbDucj037Lxh
5w07A490icC6y/XcsPOGnTfsDESuG1h3uZ4bdt6w84adgc97scC6y/dKb9h5w84bdgbe5HcR/suV
3LDzhp037Az8hsC63W6u5IqdN+y8YWfg9wSWK7li5w07b9gZeNPLB5YruWHnDTtv2Bl4z2sHliu5
YecNO2/YGfiAV32L0IncsPOGnTfsDHzYSz7BciU37Lxh5w07A5/xeoHlSm7YecPOG3YGPunFAsuV
3LDzhp037Ax83isFliu5YecNO2/YGfiSlwksV3LDzht23rAz8FUv8BahE7lh5w07b9gZ+J6rP8Fy
JTfsvGHnDTsD33bpwHIlN+y8YecNOwOF6waWK7lh5w07b9gZiFw0sFzJDTtv2HnDzkDnioHlSm7Y
ecPOG3YGUtd6i9CJ3LDzhp037Aw8wIWeYLmSG3besPOGnYHHuEpguZIbdt6w84adgYe5RGC5kht2
3rDzhp2BRzp/YLmSG3besPOGnYEHO3lguZIbdt6w84adgcc77VuETuSGnTfsvGFnYOWcT7BcyQ07
b9h5w87A0AkDy5XcsPOGnTfsDGydLbBcyQ07b9h5w87A3KkCy5XcsPOGnTfsDDzDeQLLldyw84ad
N+wMPMkZ3iJ0IjfsvGHnDTsDT3X4J1iu5IadN+y8YWfg2Y4dWK7khp037LxhZ+AADhxYruSGnTfs
vGFn4BiOGliu5IadN+y8YWfgMA4ZWK7khp037LxhZ+BIDvYWoRO5YecNO2/YGTieIz3BciU37Lxh
5w07A4d0mMByJTfsvGHnDTsDR3WMwHIlN+y8YecNOwMHdoDAciU37Lxh5w07A8f27MByJTfsvGHn
DTsDh/e8twidyA07b9h5w87ASTzpCZYruWHnDTtv2Bk4j2cEliu5YecNO2/YGTiVeWC5kht23rDz
hp2Bs9kGliu5YecNO2/YGTihYWC5kht23rDzhp2Bc5q8RehEbth5w84bdgbO7PFPsFzJDTtv2HnD
zsDJPTiwXMkNO2/YecPOwPk9MrBcyQ07b9h5w87AJTwssFzJDTtv2HnDzsBVPCawXMkNO2/YecPO
wIXUbxE6kRt23rDzhp2By0mfYLmSG3besPOGnYEr6gLLldyw84adN+wMXFQUWK7khp037LxhZ+C6
isByJTfsvGHnDTsDl/btwHIlN+y8YecNOwNX973AciU37Lxh5w07Ay/g8b+LEADgxQgsAICYwAIA
iAksAICYwAIAiAksAICYwAIAiAksAICYwAIAiAksAICYwAIAiAksAICYwAIAiAksAICYwAIAiAks
AICYwAIAiAksAICYwAIAiP3x3h/4e/EpsPOInTfsDLy6H7fbz2d/BgCAS/EjQgCAmMACAIgJLACA
mMACAIgJLACAmMACAIgJLACA2NtfNPrn6FNcx19f+lt2/iw7b9h542s7A4f27je5+y//477z/xU7
f5ydN+y8oUfhmvyIEAAgJrAAAGICCwAgJrAAAGICCwAgJrAAAGICCwAgJrAAAGICCwAg9u43ub/p
7//+7x9+/Pz+R+G37Lxh5w07Ay/ge4H1y6+L+f9cz5ydN+y8YWfguqLAusv13LDzhp037AxcwiMD
6y7Xc8POG3besDNwNvPAusv13LDzhp037Awc2DEC6y7Xc8POG3besDNwDAcOrLtczw07b9h5w87A
3NkC6y7Xc8POG3besDPwSJcIrLtczw07b9h5w85A5LqBdZfruWHnDTtv2Bn4vBcLrLt8r/SGnTfs
vGFn4E1+F+G/XMkNO2/YecPOwG8IrNvt5kqu2HnDzht2Bn5PYLmSK3besPOGnYE3vXxguZIbdt6w
84adgfe8dmC5kht23rDzhp2BD3jVtwidyA07b9h5w87Ah73kEyxXcsPOG3besDPwGa8XWK7khp03
7LxhZ+CTXiywXMkNO2/YecPOwOe9UmC5kht23rDzhp2BL3mZwHIlN+y8YecNOwNf9QJvETqRG3be
sPOGnYHvufoTLFdyw84bdt6wM/Btlw4sV3LDzht23rAzULhuYLmSG3besPOGnYHIRQPLldyw84ad
N+wMdK4YWK7khp037LxhZyB1rbcIncgNO2/YecPOwANc6AmWK7lh5w07b9gZeIyrBJYruWHnDTtv
2Bl4mEsEliu5YecNO2/YGXik8weWK7lh5w07b9gZeLCTB5YruWHnDTtv2Bl4vNO+RehEbth5w84b
dgZWzvkEy5XcsPOGnTfsDAydMLBcyQ07b9h5w87A1tkCy5XcsPOGnTfsDMydKrBcyQ07b9h5w87A
M5wnsFzJDTtv2HnDzsCTnOEtQidyw84bdt6wM/BUh3+C5Upu2HnDzht2Bp7t2IHlSm7YecPOG3YG
DuDAgeVKbth5w84bdgaO4aiB5Upu2HnDzht2Bg7jkIHlSm7YecPOG3YGjuRgbxE6kRt23rDzhp2B
4znSEyxXcsPOG3besDNwSIcJLFdyw84bdt6wM3BUxwgsV3LDzht23rAzcGAHCCxXcsPOG3besDNw
bM8OLFdyw84bdt6wM3B4z3uL0IncsPOGnTfsDJzEk55guZIbdt6w84adgfN4RmC5kht23rDzhp2B
U5kHliu5YecNO2/YGTibbWC5kht23rDzhp2BExoGliu5YecNO2/YGTinyVuETuSGnTfsvGFn4Mwe
/wTLldyw84adN+wMnNyDA8uV3LDzhp037Ayc3yMDy5XcsPOGnTfsDFzCwwLLldyw84adN+wMXMVj
AsuV3LDzhp037AxcSP0WoRO5YecNO2/YGbic9AmWK7lh5w07b9gZuKIusFzJDTtv2HnDzsBFRYHl
Sm7YecPOG3YGrqsILFdyw84bdt6wM3Bp3w4sV3LDzht23rAzcHXfCyxXcsPOG3besDPwAh7/uwgB
AF6MwAIAiAksAICYwAIAiAksAICYwAIAiAksAICYwAIAiAksAICYwAIAiAksAICYwAIAiAksAICY
wAIAiAksAICYwAIAiAksAICYwAIAiAksAIDYH+/9gT8XnwI7j9h5w87Aq/txu/189mcAALgUPyIE
AIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACA
mMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMAC
AIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACA
mMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMAC
AIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACA
mMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMAC
AIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACA
mMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMAC
AIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACA
mMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMAC
AIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACA
mMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMAC
AIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACA
mMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMAC
AIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACA
mMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMAC
AIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJ
LACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACAmMACAIgJLACA2D/thiS23c41
UgAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184855</attachid>
            <date>2013-01-25 22:21:34 -0800</date>
            <delta_ts>2013-02-01 00:25:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130126010254.patch</filename>
            <type>text/plain</type>
            <size>12078</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjA5ZWVlYmI5ZGFjYjMx
OWJjM2U3OTdiMjY5NDBkNTdjMWJhYmY1NS4uMDQ5NTZmODQwYjFiN2QxNTE1NTcyMGM4MDU2ZWYy
M2E5ZmViYzQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTI1ICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBwYWdlIHNpemUgY2hhbmdlcyBhbmQgbGF5ZXIgcGFyYW1ldGVycyBnZXQgdXBk
YXRlZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZQorICAgICAgICBjbGVhcnMgbGF5
ZXIgYmFja2luZyBzdG9yZSBhbmQgZGV0YWNoZXMgY2FudmFzIHN1cmZhY2UgZnJvbSB0aGUgbGF5
ZXIuIElmIGxheWVyIHNpemUgaXMKKyAgICAgICAgbm90IGNoYW5nZWQgdGhlbiBjYW52YXMgcmVj
cmVhdGUgaXMgbm90IGludm9rZWQgYmVjYXVzZSBjYW52YXMgc2l6ZSBpcyBhbHNvIG5vdCBjaGFu
Z2VkIAorICAgICAgICBsZWF2aW5nIGNhbnZhcyBkZXRhY2hlZCBmcm9tIGxheWVyLCBidXQgc3Rp
bGwgcmVmZXJlbmNlZCBpbiBtX3N1cmZhY2VCYWNraW5nU3RvcmVzIG1hcC4KKyAgICAgICAgRG9u
J3QgYXNzaWduIGxheWVyIGJhY2tpbmcgc3RvcmUgdG8gbGF5ZXIgaW4gYXNzaWduSW1hZ2VCYWNr
aW5nVG9MYXllciBpZiB0aGVyZSBpcyBjYW52YXMKKyAgICAgICAgc3VyZmFjZSBhbHJlYWR5IGF0
dGFjaGVkIHRvIHRoZSBsYXllci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
UmVuZGVyZXI6OnNldExheWVyU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcik6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKwogMjAxMy0wMS0yNSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBTZW5kIHNhbmRib3gg
ZXh0ZW5zaW9ucyBmb3IgbG9jYWwgZmlsZXMgdG8gTmV0d29ya1Byb2Nlc3MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJl
bmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZVJlbmRlcmVyLmNwcAppbmRleCBkZmE0MDZkMDRkYWViYjc2Yzc2MDljM2YwNzVi
ZGIxZTljYzQ0YTkxLi44MTBmNjk3Y2E5ZmYxMGIxNDZiNWFhNGUyNDdkZDg0NDAxNTMwMjczIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCkBAIC0zMzksNyArMzM5LDcgQEAg
dm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZShDb29yZGluYXRlZExheWVySUQg
aWQsIGNvbnN0IENvb3JkaW5hdGVkTGEKICAgICBlbHNlCiAgICAgICAgIG1fZml4ZWRMYXllcnMu
cmVtb3ZlKGlkKTsKIAotICAgIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIobGF5ZXIsIGxheWVy
SW5mby5pbWFnZUlEKTsKKyAgICBhc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKGlkLCBsYXllciwg
bGF5ZXJJbmZvLmltYWdlSUQpOwogICAgIHByZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKGxheWVy
KTsKIAogICAgIC8vIE5ldmVyIG1ha2UgdGhlIHJvb3QgbGF5ZXIgY2xpcC4KQEAgLTU0NSw4ICs1
NDUsMTMgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3ZlSW1hZ2VCYWNraW5nKENvb3Jk
aW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZ2VJRCkKICAgICBtX3JlbGVhc2VkSW1hZ2VCYWNraW5n
cy5hcHBlbmQobV9pbWFnZUJhY2tpbmdzLnRha2UoaW1hZ2VJRCkpOwogfQogCi12b2lkIExheWVy
VHJlZVJlbmRlcmVyOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKEdyYXBoaWNzTGF5ZXIqIGxh
eWVyLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lEIGltYWdlSUQpCit2b2lkIExheWVyVHJlZVJl
bmRlcmVyOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCwg
R3JhcGhpY3NMYXllciogbGF5ZXIsIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZ2VJRCkK
IHsKKyNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKyAgICBpZiAobV9zdXJmYWNlQmFja2luZ1N0
b3Jlcy5jb250YWlucyhpZCkpCisgICAgICAgIHJldHVybjsKKyNlbmRpZgorCiAgICAgaWYgKGlt
YWdlSUQgPT0gSW52YWxpZENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpIHsKICAgICAgICAgbGF5
ZXItPnNldENvbnRlbnRzVG9NZWRpYSgwKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVu
ZGVyZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZVJlbmRlcmVyLmgKaW5kZXggYzFkNThmNDk5ZmU5MWMxNzRiMzZmMzQyMDk2ZDhhOTNk
Y2NkMjRlNS4uNWFkMGE1OWU3MjVhNzI1MDdhNjcxZGQzZmY1ZDkyOGQxYjI2MzdiZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGNyZWF0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCk7CiAgICAgdm9pZCBkZWxl
dGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwogCi0gICAgdm9pZCBhc3NpZ25JbWFnZUJhY2tp
bmdUb0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBDb29yZGluYXRlZEltYWdlQmFja2lu
Z0lEKTsKKyAgICB2b2lkIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIoQ29vcmRpbmF0ZWRMYXll
cklELCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7
CiAgICAgdm9pZCByZW1vdmVSZWxlYXNlZEltYWdlQmFja2luZ3NJZk5lZWRlZCgpOwogICAgIHZv
aWQgZW5zdXJlUm9vdExheWVyKCk7CiAgICAgdm9pZCBjb21taXRQZW5kaW5nQmFja2luZ1N0b3Jl
T3BlcmF0aW9ucygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZhNTcwNWViNTU4YTY2NjJiOGQxYTk1MDM2MWQ2ZjM3YTFj
YzcwMjguLjRlOWJlNDdmMzAyNzNiODQ0NDZmN2ZiZjQzYmI3NmYzMTI1NzgzY2QgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMy0wMS0yNSAgVmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8c2wub3N0
YXBlbmtvQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dlYkdMXSBXZWJHTCBjb250ZW50
IGlzIG5vdCBwYWludGVkIGFmdGVyIHJlc2l6aW5nIHRoZSB2aWV3cG9ydC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjM1OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0IGNoZWNraW5nIHRo
YXQgY2FudmFzIHBhaW50aW5nIGlzIGNvcnJlY3QgaWYgbGF5ZXIgcGFyYW1ldGVycyB3ZXJlIGNo
YW5nZWQsCisgICAgICAgIGJ1dCB3ZWJnbCBjYW52YXMgZGlkbid0IGNoYW5nZS4KKworICAgICAg
ICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy11cGRhdGUtZXhwZWN0
ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3Np
dGUtbW9kZXMtdXBkYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXVwZGF0ZS5odG1sOiBBZGRlZC4KKwogMjAx
My0wMS0yNSAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJlZ3Jlc3Npb24ocjEzOTgzNik6IENyYXNoIGluIFdURjo6ZXF1YWxJZ25vcmluZ0Nhc2UKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1t
b2Rlcy11cGRhdGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
d2ViZ2wtY29tcG9zaXRlLW1vZGVzLXVwZGF0ZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNk
MzkxMDRjZTczODRhODdkOTdiOWZlZGMyYTdiOTgzYzM4MjYyNgpHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgNDQwMgp6Y21lSExaQV9DXzZ1dVVPQjJZMT8yITIzaE5FfDM9TDVjLSZ0e3E9ZjlPNTlj
a3E8PlNRS3tOdTVkYFlRZis5P2IKekwkcEEyT1djQWhUfVVRe0IyXiRqQWtAcmx3Z1hCRGIlb0lp
cShWVn4/dE13P2R3JShnQTR8cnMtbHltN0lwO3EyCnpJblJDNXFKc3kqOWFwJW1Lbk9XVE1sZk8j
dmhxTlBsdDNuNy0+Z31eI3ZBK0MlMyZzT2ood0dTRWQ0ejlHKWZIKQp6cUVVfWkwfFN6U1gjdUlK
Q2p0WGNfeV9KaFA3OSMhM1B7MT0kOzk0aGdxJkk8OEsxPVFnIT15ZENBfklvJXI3SzIKenkmbEY3
PlZoamMjaFdATnZuTHNgK0cwfHglQHRjcypLKyV+eCUmUUc2KyorYVRCU1FlPlhYKU0oY2FJS21a
OEBGCno9fFdjO1dZU2xFQTlIcU4tbGRUWTx4SEpVbnlrSDF0OVJKJlMxK0kyKnFgZ1dyO1J4fmNj
VkY3VFV1d2hTe2R9RAp6aj49fWBHUlZsdUlSVCpee04qMjlXRT0xRzRaSW9rRFpHP25fKjl3SSh6
OEMoPUJVZ184WkI+Wik7Km88SGgoNFoKelNARWNtQzNtRH1ENm5UX1VMaVpodWdgQEI7a2BLMHQ8
dEN+VlUpa282R3EkRllGUl9xV1M8IUNQVXB+RnhlWjIzCnpJWWx0YTVVbyRSQWdObFBzbHAlVSVk
PnlNcVE8QyZ2Ukc+PiY0cEYtVUFIWntYME9UYGBwPHxvKlJhSVc8VFNPPgp6YGEyJjwzZjVBRiFq
PD07JU45ZDtnRSozPjEybWw8ZjlkLTNCMUBWYU1mOUdoPWUjVzJzaCtzVmUtKDhHLXppcGQKeiZx
eTFJc0Y8VmpTeCNofnpFeTdMOC1FVWVQOT4mfUFOQ3R4ZCo5aG9hPU5NfTN9aFkxOUZZKzwzUHg+
K0c9OzFICnpGe3slfD9xMk9SUChBa0xNYkshN3RlYDRNYT84Ul9kd21vQDB0b300QFpFVTsrMHdI
QllOelh1VHNmZUBqe3s+Wgp6PjZJe3NDQCpfJVhHTHVINm4wcWVKQ3BWTzFlZ2VFJCUzZlVSa2ZN
MyorTzlxY2lLQmFXVH5LNW1UVXdGUThvYXkKenVFWSU+ZX5LJFc1dEohRkQ2UHNmNmM4JWwreVI3
IWJCaDc4JkNDYT1lTSQkQXoka3I4dUkjWEFJV2xDI2p5TVdoCnpYJlNCfXZ1YkYhQSNIVV5hQXZn
byQkLSlHY2NzaT5oRDk8eHgoVWM9WERBSmpJMXs9UEFnPlQjZkRWVWowalN7agp6ajgoZ0RTYE5E
X3ZLa2NoYDNJMkNpZHpqeFlxJG5CVFJ4PStEQmpvdmtlXztAYE1NS1F3fj44T3t2ODwhNzF9TSoK
elZzMWpeS0FrPFdSY3Q4NE1fJF9Dezx2NDNtUz08VnFiRUd+ZVh5OUtIITxMP2NLOHNoSnUmZ15r
PDU4dCs7V0R9Cno9fmpaTipGbG5aZXh7KSgyR2JnUG8pOCFCe3FWdU52eFFFYFZ+Wkd9NnE1WjE3
eD9kK041KUxeV0EzQEx2LTlERAp6a0luWXdyX1NiMmNHWF49RnxwKGVYKXp+aGNtUTNBXn59PzFi
bzxObT0wUnVnR1FqOHQjU1JqVElAblU2OXJoXzwKemJVZFAqNDVFOEE0U2E2LXM2fXdvUVd5SjJq
WEFZJSUoSlE5cFgpTiVPaVcrfmBCQVVfPzxrU2tue3MwP04lKXcoCnpHTj5zQjIqZkRPMVpYQWk1
MiQlVGxnMWhObVRScEcmYDtTPkNgb05vRVhkPVJSUklLKUk3eHlFOWgxQztTeD1XIQp6aCNDaiQm
d3ctP095RHNiKEtAMksybHI+I3MxPDclM0A1TCsxYEg/ZlBCY1Y2Nz1YZF4jQU9na1VweFdoYERN
P0gKekhEUGZNbUh1R257IzFndz5hUDQ0Z3M0SnFmWGFrfSt4Ql9DeEJmVW0tZXV5PnNNMEhkaGZ+
eHRmSnoyYDFjKTs5CnpFa0dyakJ1TUJgQE5hLW5jN3k8Mkh0ZWB8R0M/bXAkcmhxaGF6SChzQyhq
MFZoX0pOYC1YUjl3WFcoRUNSUkcjKAp6X2ZDVjV2bTEyM2huP1VDUUZtYEwwWS0mPS0rPCM0NHRO
NUBkZSNDNlgwO3VJQ31Jd3tlWkJBdklRc2VyK1g0QVoKekNMbTJ6MUdvUDUwTmdydnpAOHYhb1Yz
WipOTTQ0SDdCOG1QO2h3MipBRGlRY3htMShycjM+I3pIU2YrZyZnRCN7CnpBeW1JUVlfcypeOFM3
I2heaXJOaHl6UTNBVHExTEUtPUNIZ18xe3ZJQjIwaHZxaElAYjA8bktaNVE9MFRWMkppNQpHVUgl
c25ScWw1SAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXVwZGF0ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMt
dXBkYXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42M2YyNThmM2U5ODc0N2E5N2FlYzQxMGQ2
Mzc4NjMwZjhiMzAzMTI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACitUaGlzIHRlc3QgaXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0LiBZb3Ug
c2hvdWxkIHNlZSB0d28gcm93cyB3aXRoIDQgY2FudmFzZXMgaW4gZWFjaC4gVGhlIHRvcCByb3cg
b2YgY2FudmFzZXMgc2hvdWxkIGhhdmUgYSBibGFjayBiYWNrZ3JvdW5kLCB0aGUgYm90dG9tIHJv
dyBzaG91bGQgaGF2ZSBhIGRhcmsgYmx1ZSBiYWNrZ3JvdW5kLiBFYWNoIGNhbnZhcyBzaG91bGQg
aGF2ZSBhIGdyZWVuIHRyaWFuZ2xlIGluIGl0LiBJZiBtdWx0aXNhbXBsaW5nIGlzIHN1cHBvcnRl
ZCwgdGhlIG9kZCBjb2x1bW5zIHNob3VsZCBoYXZlIHNtb290aCBlZGdlcyBpbnN0ZWFkIG9mIGph
Z2dlZCBzdGFpci1zdGVwcGluZy4gT3RoZXJ3aXNlLCBhbGwgY2FudmFzZXMgd2l0aGluIGEgcm93
IHNob3VsZCBiZSBpZGVudGljYWwgdG8gZWFjaCBvdGhlci4KKworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtdXBkYXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMt
dXBkYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2RjNjYxNzk2YjRlN2E4N2YyYTEzOTE2ZjE1ODU2Mjdl
MDk3YmQ1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy11cGRhdGUuaHRtbApAQCAtMCwwICsxLDEzOSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gZG9VcGRhdGUoKQor
ICAgIHsKKyAgICAgICAgIHZhciBjYW52YXNlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdjYW52YXMnKTsKKyAgICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCBjYW52YXNlcy5sZW5n
dGg7IGkrKykgeworICAgICAgICAgICAgIHZhciBjYW4gPSBjYW52YXNlc1tpXTsKKyAgICAgICAg
ICAgICBjYW4uc3R5bGUudG9wID0gKGkgPCA0ID8gNjAgOiAxNzApICsgInB4IjsKKyAgICAgICAg
IH0KKyAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgd2luZG93
LnNldFRpbWVvdXQoInRlc3RSdW5uZXIubm90aWZ5RG9uZSgpIiwgMTApOworICAgICAgICB9Cisg
ICAgfQorICAgIGZ1bmN0aW9uIGluaXQoKQorICAgIHsKKyAgICAgICAgd2luZG93LnNldFRpbWVv
dXQoImRvVXBkYXRlKCkiLCAxMDApOworICAgIH0KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJp
bml0KCkiPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3JpcHQ+Cis8c3BhbiBpZD0iZGVzY3JpcHRpb24i
IHN0eWxlPSJjb2xvcjogd2hpdGUiPgorVGhpcyB0ZXN0IGlzIG9ubHkgdXNlZnVsIGFzIGEgcGl4
ZWwgdGVzdC4gWW91IHNob3VsZCBzZWUgdHdvIHJvd3Mgd2l0aCA0IGNhbnZhc2VzIGluIGVhY2gu
IFRoZSB0b3Agcm93IG9mIGNhbnZhc2VzIHNob3VsZCBoYXZlIGEgYmxhY2sgYmFja2dyb3VuZCwg
dGhlIGJvdHRvbSByb3cgc2hvdWxkIGhhdmUgYSBkYXJrIGJsdWUgYmFja2dyb3VuZC4KK0VhY2gg
Y2FudmFzIHNob3VsZCBoYXZlIGEgZ3JlZW4gdHJpYW5nbGUgaW4gaXQuIElmIG11bHRpc2FtcGxp
bmcgaXMgc3VwcG9ydGVkLCB0aGUgb2RkIGNvbHVtbnMgc2hvdWxkIGhhdmUgc21vb3RoIGVkZ2Vz
IGluc3RlYWQgb2YgamFnZ2VkIHN0YWlyLXN0ZXBwaW5nLiBPdGhlcndpc2UsIGFsbCBjYW52YXNl
cyB3aXRoaW4gYSByb3cgc2hvdWxkIGJlIGlkZW50aWNhbCB0byBlYWNoIG90aGVyLgorPC9zcGFu
PgorPGJyPgorPHN0eWxlPgorY2FudmFzIHsKKyAgICBvdXRsaW5lOiAxcHggc29saWQgYmx1ZTsK
K30KK2JvZHkgeworICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtibHVlOworfQorPC9zdHlsZT4K
KzxzY3JpcHQgaWQ9IjJkLWZyYWdtZW50LXNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSB2ZWM0IHVfY29sb3I7CisK
K3ZvaWQgbWFpbigpIHsKKyAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcjsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iMmQtdmVydGV4LXNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgor
YXR0cmlidXRlIHZlYzIgYV9wb3NpdGlvbjsKKwordW5pZm9ybSB2ZWMyIHVfcmVzb2x1dGlvbjsK
Kwordm9pZCBtYWluKCkgeworICAgLy8gY29udmVydCB0aGUgcmVjdGFuZ2xlIGZyb20gcGl4ZWxz
IHRvIDAuMCB0byAxLjAKKyAgIHZlYzIgemVyb1RvT25lID0gYV9wb3NpdGlvbiAvIHVfcmVzb2x1
dGlvbjsKKworICAgLy8gY29udmVydCBmcm9tIDAtPjEgdG8gMC0+MgorICAgdmVjMiB6ZXJvVG9U
d28gPSB6ZXJvVG9PbmUgKiAyLjA7CisKKyAgIC8vIGNvbnZlcnQgZnJvbSAwLT4yIHRvIC0xLT4r
MSAoY2xpcHNwYWNlKQorICAgdmVjMiBjbGlwU3BhY2UgPSB6ZXJvVG9Ud28gLSAxLjA7CisKKyAg
IGdsX1Bvc2l0aW9uID0gdmVjNChjbGlwU3BhY2UgKiB2ZWMyKDEsIC0xKSwgMCwgMSk7Cit9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCit2YXIgY3R4cyA9IFtdCisKK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJs
ZWQiLCAiMSIpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKS5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0
ZSI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuc3R5bGUudG9w
ID0gIi01MDAwcHgiOyAKK30KKworZnVuY3Rpb24gYWRkQ2FudmFzKGkpIHsKKyAgICB2YXIgYXR0
cnMgPSB7CisgICAgICAgICdhbHBoYSc6IChpID49IDQpLAorICAgICAgICAncHJlc2VydmVEcmF3
aW5nQnVmZmVyJzogKGkgJSA0KSA+PSAyLAorICAgICAgICAnYW50aWFsaWFzJzogKGkgJSAyKSA9
PSAxCisgICAgfTsKKyAgICB2YXIgY2FuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFz
Jyk7CisgICAgY2FuLndpZHRoID0gY2FuLmhlaWdodCA9IDEwMDsKKyAgICBjYW4uc3R5bGUucG9z
aXRpb24gPSAiYWJzb2x1dGUiOworICAgIGNhbi5zdHlsZS5sZWZ0ID0gMTAgKyAoaSAlIDQpICog
MTIwICsgInB4IjsKKyAgICBjYW4uc3R5bGUudG9wID0gKGkgPCA0ID8gNDAgOiAxNTApICsgInB4
IjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNhbik7CisgICAgaWYgKGkgPT0gMykK
KyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdicicpKTsKKyAgICBjdHhzW2ldID0gY2FuLmdldENvbnRleHQoImV4cGVyaW1lbnRhbC13ZWJn
bCIsIGF0dHJzKTsKKyAgICBzZXR1cChjdHhzW2ldKTsKKyAgICBkcmF3KGN0eHNbaV0pOworfQor
Citmb3IgKHZhciBpPTA7IGk8ODsgKytpKSB7CisgICAgYWRkQ2FudmFzKGkpOworfQorCitmdW5j
dGlvbiBzZXR1cChnbCkgeworICAgIC8vIHNldHVwIGEgR0xTTCBwcm9ncmFtCisgICAgdmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOworICAgIHZhciB2ZXJ0ZXhTaGFkZXIgPSBXZWJHTFRlc3RVdGls
cy5sb2FkU2hhZGVyRnJvbVNjcmlwdChnbCwgIjJkLXZlcnRleC1zaGFkZXIiKTsKKyAgICB2YXIg
ZnJhZ21lbnRTaGFkZXIgPSBXZWJHTFRlc3RVdGlscy5sb2FkU2hhZGVyRnJvbVNjcmlwdChnbCwg
IjJkLWZyYWdtZW50LXNoYWRlciIpOworICAgIHZhciBwcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3Jh
bSgpOworICAgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCB2ZXJ0ZXhTaGFkZXIsIGdsLlZFUlRF
WF9TSEFERVIpOworICAgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBmcmFnbWVudFNoYWRlciwg
Z2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKKyAgICBn
bC51c2VQcm9ncmFtKHByb2dyYW0pOworCisgICAgLy8gbG9vayB1cCB3aGVyZSB0aGUgdmVydGV4
IGRhdGEgbmVlZHMgdG8gZ28uCisgICAgZ2wubXlQb3NpdGlvbkxvY2F0aW9uID0gZ2wuZ2V0QXR0
cmliTG9jYXRpb24ocHJvZ3JhbSwgImFfcG9zaXRpb24iKTsKKworICAgIC8vIHNldCB0aGUgcmVz
b2x1dGlvbgorICAgIHZhciByZXNvbHV0aW9uTG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRp
b24ocHJvZ3JhbSwgInVfcmVzb2x1dGlvbiIpOworICAgIGdsLnVuaWZvcm0yZihyZXNvbHV0aW9u
TG9jYXRpb24sIDEwMCwgMTAwKTsKKworICAgIHZhciBjb2xvckxvY2F0aW9uID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yIik7CisgICAgZ2wudW5pZm9ybTRmKGNvbG9y
TG9jYXRpb24sIDAsIDEsIDAsIDEpOworfQorCitmdW5jdGlvbiBkcmF3KGdsKSB7CisgICAgdmFy
IGJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCBidWZmZXIpOworICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcg
RmxvYXQzMkFycmF5KFsKKyAgICAgICAgODAsIDIwLAorICAgICAgICAxMCwgMTAsCisgICAgICAg
IDEwLCA4MF0pLCBnbC5TVEFUSUNfRFJBVyk7CisKKyAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJB
cnJheShnbC5teVBvc2l0aW9uTG9jYXRpb24pOworICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
Z2wubXlQb3NpdGlvbkxvY2F0aW9uLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgICAg
Ly8gZHJhdworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKK30KKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185966</attachid>
            <date>2013-02-01 00:25:22 -0800</date>
            <delta_ts>2013-02-01 10:23:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130201030643.patch</filename>
            <type>text/plain</type>
            <size>7727</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDUzN2RmOGY2NWE0ZGNl
ZTkxZjBlNWZlMjJkZGNkYzA5N2E2Y2E4NS4uNjA0ZjM2OTBlYTMwM2YzZWY1OWZiMTkzMGY1NjBl
MjIwMTM5ODRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTAxICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBwYWdlIHNpemUgY2hhbmdlcyBhbmQgbGF5ZXIgcGFyYW1ldGVycyBnZXQgdXBk
YXRlZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZQorICAgICAgICBjbGVhcnMgbGF5
ZXIgYmFja2luZyBzdG9yZSBhbmQgZGV0YWNoZXMgY2FudmFzIHN1cmZhY2UgZnJvbSB0aGUgbGF5
ZXIuIElmIGxheWVyIHNpemUgaXMKKyAgICAgICAgbm90IGNoYW5nZWQgdGhlbiBjYW52YXMgcmVj
cmVhdGUgaXMgbm90IGludm9rZWQgYmVjYXVzZSBjYW52YXMgc2l6ZSBpcyBhbHNvIG5vdCBjaGFu
Z2VkIAorICAgICAgICBsZWF2aW5nIGNhbnZhcyBkZXRhY2hlZCBmcm9tIGxheWVyLCBidXQgc3Rp
bGwgcmVmZXJlbmNlZCBpbiBtX3N1cmZhY2VCYWNraW5nU3RvcmVzIG1hcC4KKyAgICAgICAgRG9u
J3QgYXNzaWduIGxheWVyIGJhY2tpbmcgc3RvcmUgdG8gbGF5ZXIgaW4gYXNzaWduSW1hZ2VCYWNr
aW5nVG9MYXllciBpZiB0aGVyZSBpcyBjYW52YXMKKyAgICAgICAgc3VyZmFjZSBhbHJlYWR5IGF0
dGFjaGVkIHRvIHRoZSBsYXllci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
UmVuZGVyZXI6OnNldExheWVyU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcik6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKwogMjAxMy0wMS0zMSAgUmFm
YWVsIEJyYW5kYW8gIDxyYWZhZWwubG9ib0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFtRdF1b
V0syXSBBbm90aGVyIGF0dGVtcHQgdG8gZml4IGJ1aWxkIGFmdGVyIHJlY2VudCBXZWJLaXQyIGNo
YW5nZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAppbmRleCA5YTMxOGU0MmRl
MTg1MThkMDkwOTdhNmU1Yjk0ZWQ3ZTgzNTE4NTI3Li45MzE2NzY1NjliMmU2ZjFlZWY0M2Y0NjBl
YmE0ZjA1ZWJjOTBjNjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCkBA
IC0zNDYsNyArMzQ2LDcgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZShD
b29yZGluYXRlZExheWVySUQgaWQsIGNvbnN0IENvb3JkaW5hdGVkTGEKICAgICBlbHNlCiAgICAg
ICAgIG1fZml4ZWRMYXllcnMucmVtb3ZlKGlkKTsKIAotICAgIGFzc2lnbkltYWdlQmFja2luZ1Rv
TGF5ZXIobGF5ZXIsIGxheWVySW5mby5pbWFnZUlEKTsKKyAgICBhc3NpZ25JbWFnZUJhY2tpbmdU
b0xheWVyKGlkLCBsYXllciwgbGF5ZXJJbmZvLmltYWdlSUQpOwogICAgIHByZXBhcmVDb250ZW50
QmFja2luZ1N0b3JlKGxheWVyKTsKIAogICAgIC8vIE5ldmVyIG1ha2UgdGhlIHJvb3QgbGF5ZXIg
Y2xpcC4KQEAgLTUyOCw4ICs1MjgsMTMgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cmVtb3Zl
SW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZ2VJRCkKICAgICBtX3Jl
bGVhc2VkSW1hZ2VCYWNraW5ncy5hcHBlbmQobV9pbWFnZUJhY2tpbmdzLnRha2UoaW1hZ2VJRCkp
OwogfQogCi12b2lkIExheWVyVHJlZVJlbmRlcmVyOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVy
KEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lEIGltYWdlSUQp
Cit2b2lkIExheWVyVHJlZVJlbmRlcmVyOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKENvb3Jk
aW5hdGVkTGF5ZXJJRCBpZCwgR3JhcGhpY3NMYXllciogbGF5ZXIsIENvb3JkaW5hdGVkSW1hZ2VC
YWNraW5nSUQgaW1hZ2VJRCkKIHsKKyNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKyAgICBpZiAo
bV9zdXJmYWNlQmFja2luZ1N0b3Jlcy5jb250YWlucyhpZCkpCisgICAgICAgIHJldHVybjsKKyNl
bmRpZgorCiAgICAgaWYgKGltYWdlSUQgPT0gSW52YWxpZENvb3JkaW5hdGVkSW1hZ2VCYWNraW5n
SUQpIHsKICAgICAgICAgbGF5ZXItPnNldENvbnRlbnRzVG9NZWRpYSgwKTsKICAgICAgICAgcmV0
dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKaW5kZXggOWZkMGRlOWI3ZmNiMmFh
OTY1ODA1ZDhiZjMwOGY4Mzc0NzgzODI5YS4uYWRiOTliYjMzYmFhY2NkMzI3YzQ5MzAxMDMyNjA5
MzVkYWViNDNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCkBAIC0xNjAsNyAr
MTYwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJ
RCk7CiAgICAgdm9pZCBkZWxldGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwogCi0gICAgdm9p
ZCBhc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBDb29y
ZGluYXRlZEltYWdlQmFja2luZ0lEKTsKKyAgICB2b2lkIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5
ZXIoQ29vcmRpbmF0ZWRMYXllcklELCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0
ZWRJbWFnZUJhY2tpbmdJRCk7CiAgICAgdm9pZCByZW1vdmVSZWxlYXNlZEltYWdlQmFja2luZ3NJ
Zk5lZWRlZCgpOwogICAgIHZvaWQgZW5zdXJlUm9vdExheWVyKCk7CiAgICAgdm9pZCBjb21taXRQ
ZW5kaW5nQmFja2luZ1N0b3JlT3BlcmF0aW9ucygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ0MWZhMzgzMDdhOTAyYjBi
MGFhNmNhMTE1Mzk2MTZhZTRkYmFkY2UuLjQyNWU2MGZkMzkyZTRhZmNlYzg5MzQyNGU4ZTIxMzE1
YzFjMzc1MzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMi0wMSAgVmlhdGNoZXNsYXYg
T3N0YXBlbmtvICA8c2wub3N0YXBlbmtvQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dl
YkdMXSBXZWJHTCBjb250ZW50IGlzIG5vdCBwYWludGVkIGFmdGVyIHJlc2l6aW5nIHRoZSB2aWV3
cG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
NjM1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCB0ZXN0IGNoZWNraW5nIHRoYXQgY2FudmFzIHBhaW50aW5nIGlzIGNvcnJlY3QgaWYgbGF5ZXIg
cGFyYW1ldGVycyB3ZXJlIGNoYW5nZWQsCisgICAgICAgIGJ1dCB3ZWJnbCBjYW52YXMgZGlkbid0
IGNoYW5nZS4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0
ZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmds
LWxheWVyLXVwZGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMS0zMSAgSGFq
aW1lIE1vcnJpdGEgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgW0Nocm9taXVtXSBV
bnJldmlld2VkLCBtYXJraW5nIGEgZmFpbGluZyB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRlLWV4cGVjdGVkLnBuZyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS1leHBlY3RlZC5w
bmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjBmOWVjMTU3OTg3MjJmMGFlODMyOGJiODI4ODdmZTBiM2NhNDAxYwpH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjkwMAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7
K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG4xQU0KenFyXmxAT0pnRz0lTV4xezNx
dVFZIXtsVjY8UnRVN0I7I1p3cXZYI3spP298YFQrY2pSOTc4SlJ5dUluejx6eSh9CnphTH5uTylB
a0cyXzR5MFYmM0E4ISpxWTFheUl3QSh1VFkrV3AreFV+OTBObXdJVEpVN2c0elpLaE5LYjdENjYm
SAp6dDl2VSt6Q1U+Vm91QkxQUlE0OF52cHcpbD11SkxqVEFoPjdfeFI3XyEqbEo7e3VpYipMPnYt
VldOYDNGVX1RTUwKekF+d254WUp1P1BTQyE1MmpjTlZ5PTY1OS16OE4waFFENG9AKDZJSzA1KGA1
SXJ3JjhJaX5+JWdqTHw/Q08kbnA5Cm5VXkV3dT03UH4mRmxja1o0ZEdxYV8pWiUmdmFBNiVsTm1m
K3thbl5MQntUczV1NEBSRwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjNhZGZhNmY3YjNjYTMwNjNkNDgxODA0ODNiNzViZmQwYTk3
YmQ5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dl
YmdsLWxheWVyLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitUaGlzIHRlc3Qg
aXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0LiBZb3Ugc2hvdWxkIHNlZSByb3cgb2YgMyAo
cmVkLCBncmVlbiBhbmQgYmx1ZSkgY2FudmFzZXMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTUx
MzMxM2M0OTM4YzhjNTkxMTZkMzBmM2E4OTVlZThlMjI0MjA3NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS5odG1sCkBA
IC0wLDAgKzEsNzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c2NyaXB0PgorICAgIGZ1
bmN0aW9uIGRvVXBkYXRlKCkKKyAgICB7CisgICAgICAgICB2YXIgY2FudmFzZXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnY2FudmFzJyk7CisgICAgICAgICBmb3IodmFyIGkgPSAw
OyBpIDwgY2FudmFzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICB2YXIgY2FuID0gY2Fu
dmFzZXNbaV07CisgICAgICAgICAgICAgY2FuLnN0eWxlLnRvcCA9ICI2MHB4IjsKKyAgICAgICAg
IH0KKyAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgd2luZG93
LnNldFRpbWVvdXQoInRlc3RSdW5uZXIubm90aWZ5RG9uZSgpIiwgMTApOworICAgICAgICB9Cisg
ICAgfQorICAgIGZ1bmN0aW9uIGluaXQoKQorICAgIHsKKyAgICAgICAgd2luZG93LnNldFRpbWVv
dXQoImRvVXBkYXRlKCkiLCAxMDApOworICAgIH0KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJp
bml0KCkiPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3JpcHQ+Cis8c3BhbiBpZD0iZGVzY3JpcHRpb24i
IHN0eWxlPSJjb2xvcjogd2hpdGUiPgorVGhpcyB0ZXN0IGlzIG9ubHkgdXNlZnVsIGFzIGEgcGl4
ZWwgdGVzdC4gWW91IHNob3VsZCBzZWUgcm93IG9mIDMgKHJlZCwgZ3JlZW4gYW5kIGJsdWUpIGNh
bnZhc2VzLgorPC9zcGFuPgorPGJyPgorPHN0eWxlPgorY2FudmFzIHsKKyAgICBvdXRsaW5lOiAx
cHggc29saWQgYmx1ZTsKK30KK2JvZHkgeworICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtibHVl
OworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CisKK3ZhciBjdHhzID0gW107CisKK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRX
ZWJHTEVuYWJsZWQiLCAiMSIpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKS5zdHlsZS5wb3NpdGlvbiA9
ICJhYnNvbHV0ZSI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIiku
c3R5bGUudG9wID0gIi01MDAwcHgiOyAKK30KKworZnVuY3Rpb24gYWRkQ2FudmFzKGkpIHsKKyAg
ICB2YXIgY2FuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CisgICAgY2FuLndp
ZHRoID0gY2FuLmhlaWdodCA9IDEwMDsKKyAgICBjYW4uc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1
dGUiOworICAgIGNhbi5zdHlsZS5sZWZ0ID0gMTAgKyBpICogMTIwICsgInB4IjsKKyAgICBjYW4u
c3R5bGUudG9wID0gIjQwcHgiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2FuKTsK
KyAgICBjdHhzW2ldID0gY2FuLmdldENvbnRleHQoImV4cGVyaW1lbnRhbC13ZWJnbCIpOworICAg
IGRyYXcoY3R4c1tpXSwgaSA9PSAwLCBpID09IDEsIGkgPT0gMiwgMSk7Cit9CisKK2ZvciAodmFy
IGk9MDsgaTwzOyArK2kpIHsKKyAgICBhZGRDYW52YXMoaSk7Cit9CisKK2Z1bmN0aW9uIGRyYXco
Z2wsIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKSB7CisgICAgZ2wuY2xlYXJDb2xvcihyZWQsIGdy
ZWVuLCBibHVlLCBhbHBoYSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7Cit9
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186075</attachid>
            <date>2013-02-01 10:23:10 -0800</date>
            <delta_ts>2013-02-11 14:48:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130201130432.patch</filename>
            <type>text/plain</type>
            <size>7916</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU4ZWZiOGMyYjcyNDZi
ZDM3NTM1MzRjYWVhNzUwY2JkM2VjZGQ1Yy4uZTcyMWYyNGJiZjZiZTUxNzBhOWI5NWFhZGM0Njgx
NjAzNmZmNjM3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTAxICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBwYWdlIHNpemUgY2hhbmdlcyBhbmQgbGF5ZXIgcGFyYW1ldGVycyBnZXQgdXBk
YXRlZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZQorICAgICAgICBjbGVhcnMgbGF5
ZXIgYmFja2luZyBzdG9yZSBhbmQgZGV0YWNoZXMgY2FudmFzIHN1cmZhY2UgZnJvbSB0aGUgbGF5
ZXIuIElmIGxheWVyIHNpemUgaXMKKyAgICAgICAgbm90IGNoYW5nZWQgdGhlbiBjYW52YXMgcmVj
cmVhdGUgaXMgbm90IGludm9rZWQgYmVjYXVzZSBjYW52YXMgc2l6ZSBpcyBhbHNvIG5vdCBjaGFu
Z2VkCisgICAgICAgIGxlYXZpbmcgY2FudmFzIGRldGFjaGVkIGZyb20gbGF5ZXIsIGJ1dCBzdGls
bCByZWZlcmVuY2VkIGluIG1fc3VyZmFjZUJhY2tpbmdTdG9yZXMgbWFwLgorICAgICAgICBEb24n
dCBhc3NpZ24gbGF5ZXIgYmFja2luZyBzdG9yZSB0byBsYXllciBpbiBhc3NpZ25JbWFnZUJhY2tp
bmdUb0xheWVyIGlmIHRoZXJlIGlzIGNhbnZhcworICAgICAgICBzdXJmYWNlIGFscmVhZHkgYXR0
YWNoZWQgdG8gdGhlIGxheWVyLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL3dlYmdsL3dl
YmdsLWxheWVyLXVwZGF0ZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0TGF5ZXJTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmFzc2lnbkltYWdlQmFja2luZ1Rv
TGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaDoKKwogMjAxMy0wMi0wMSAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZWxheCBn
b3RvIGZpbGUgbWF0Y2hpbmcgYWdhaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCmluZGV4IGQyMTVmYjM2MTNiOTA3YjZiMWQ5
ZjVlODkxMTlkYmIyNjQ0ZjQ1OTQuLmVlNzA1OTRlNTZjMGNkMWM2YzQ5YjQ4OTBjZGY2YTY1NGY2
ZGEzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU2NlbmUuY3BwCkBAIC0zNDcsNyArMzQ3LDcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmU6OnNldExheWVyU3RhdGUoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBjb25zdCBDb29y
ZGkKICAgICBlbHNlCiAgICAgICAgIG1fZml4ZWRMYXllcnMucmVtb3ZlKGlkKTsKIAotICAgIGFz
c2lnbkltYWdlQmFja2luZ1RvTGF5ZXIobGF5ZXIsIGxheWVySW5mby5pbWFnZUlEKTsKKyAgICBh
c3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKGlkLCBsYXllciwgbGF5ZXJJbmZvLmltYWdlSUQpOwog
ICAgIHByZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKGxheWVyKTsKIAogICAgIC8vIE5ldmVyIG1h
a2UgdGhlIHJvb3QgbGF5ZXIgY2xpcC4KQEAgLTUyOSw4ICs1MjksMTMgQEAgdm9pZCBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OnJlbW92ZUltYWdlQmFja2luZyhDb29yZGluYXRlZEltYWdlQmFj
a2luZ0lEIGltYWcKICAgICBtX3JlbGVhc2VkSW1hZ2VCYWNraW5ncy5hcHBlbmQobV9pbWFnZUJh
Y2tpbmdzLnRha2UoaW1hZ2VJRCkpOwogfQogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZTo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihHcmFwaGljc0xheWVyKiBsYXllciwgQ29vcmRp
bmF0ZWRJbWFnZUJhY2tpbmdJRCBpbWFnZUlEKQordm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU6OmFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBHcmFw
aGljc0xheWVyKiBsYXllciwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCBpbWFnZUlEKQogewor
I2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQorICAgIGlmIChtX3N1cmZhY2VCYWNraW5nU3RvcmVz
LmNvbnRhaW5zKGlkKSkKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCisKICAgICBpZiAoaW1hZ2VJ
RCA9PSBJbnZhbGlkQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCkgewogICAgICAgICBsYXllci0+
c2V0Q29udGVudHNUb01lZGlhKDApOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKaW5kZXggY2ZhYjE2NjJk
MWFjNWM0MjNmZDUwMTBiMDFjZDdlNDA2MzY5MzM4My4uMTZmY2MxMjI4NmJkNTgxMmZkOWNjMDJh
YmI4YjEyM2M3M2FjOGE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUuaApAQCAtMTYwLDcgKzE2MCw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBjcmVhdGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwogICAgIHZvaWQgZGVsZXRlTGF5
ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKIAotICAgIHZvaWQgYXNzaWduSW1hZ2VCYWNraW5nVG9M
YXllcihHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7CisgICAgdm9p
ZCBhc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCwgR3JhcGhpY3NM
YXllciosIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAgIHZvaWQgcmVtb3ZlUmVsZWFz
ZWRJbWFnZUJhY2tpbmdzSWZOZWVkZWQoKTsKICAgICB2b2lkIGVuc3VyZVJvb3RMYXllcigpOwog
ICAgIHZvaWQgY29tbWl0UGVuZGluZ0JhY2tpbmdTdG9yZU9wZXJhdGlvbnMoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBl
YzY5Nzg5MDVlYjE3YWRjOGYyMDE3NDgzODg4YWU0ZmYzNGM3MjZjLi5jZGUxOTIwOWUyYzgxYTY3
MzM1M2QzOTU4N2RkM2Y1YjJkYWE2ZGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDIt
MDEgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHNsLm9zdGFwZW5rb0BzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXZWJHTF0gV2ViR0wgY29udGVudCBpcyBub3QgcGFpbnRlZCBhZnRlciBy
ZXNpemluZyB0aGUgdmlld3BvcnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDYzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgdGVzdCBjaGVja2luZyB0aGF0IGNhbnZhcyBwYWludGluZyBpcyBj
b3JyZWN0IGlmIGxheWVyIHBhcmFtZXRlcnMgd2VyZSBjaGFuZ2VkLAorICAgICAgICBidXQgd2Vi
Z2wgY2FudmFzIGRpZG4ndCBjaGFuZ2UuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93
ZWJnbC1sYXllci11cGRhdGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy93ZWJnbC93ZWJnbC1sYXllci11cGRhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1sYXllci11cGRhdGUuaHRtbDogQWRkZWQuCisK
IDIwMTMtMDItMDEgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogcmVsYXggZ290byBmaWxlIG1hdGNoaW5nIGFnYWluLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRl
LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVy
LXVwZGF0ZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjBmOWVjMTU3OTg3MjJmMGFlODMyOGJi
ODI4ODdmZTBiM2NhNDAxYwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjkwMAp6Y21lQVNATj8o
b2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG4xQU0K
enFyXmxAT0pnRz0lTV4xezNxdVFZIXtsVjY8UnRVN0I7I1p3cXZYI3spP298YFQrY2pSOTc4SlJ5
dUluejx6eSh9CnphTH5uTylBa0cyXzR5MFYmM0E4ISpxWTFheUl3QSh1VFkrV3AreFV+OTBObXdJ
VEpVN2c0elpLaE5LYjdENjYmSAp6dDl2VSt6Q1U+Vm91QkxQUlE0OF52cHcpbD11SkxqVEFoPjdf
eFI3XyEqbEo7e3VpYipMPnYtVldOYDNGVX1RTUwKekF+d254WUp1P1BTQyE1MmpjTlZ5PTY1OS16
OE4waFFENG9AKDZJSzA1KGA1SXJ3JjhJaX5+JWdqTHw/Q08kbnA5Cm5VXkV3dT03UH4mRmxja1o0
ZEdxYV8pWiUmdmFBNiVsTm1mK3thbl5MQntUczV1NEBSRwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXIt
dXBkYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmds
LWxheWVyLXVwZGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjNhZGZhNmY3YjNjYTMwNjNk
NDgxODA0ODNiNzViZmQwYTk3YmQ5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyIEBACitUaGlzIHRlc3QgaXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0LiBZb3Ugc2hv
dWxkIHNlZSByb3cgb2YgMyAocmVkLCBncmVlbiBhbmQgYmx1ZSkgY2FudmFzZXMuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTUxMzMxM2M0OTM4YzhjNTkxMTZkMzBmM2E4OTVlZThlMjI0MjA3Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxh
eWVyLXVwZGF0ZS5odG1sCkBAIC0wLDAgKzEsNzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIGRvVXBkYXRlKCkKKyAgICB7CisgICAgICAgICB2YXIg
Y2FudmFzZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnY2FudmFzJyk7CisgICAg
ICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY2FudmFzZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAg
ICAgICB2YXIgY2FuID0gY2FudmFzZXNbaV07CisgICAgICAgICAgICAgY2FuLnN0eWxlLnRvcCA9
ICI2MHB4IjsKKyAgICAgICAgIH0KKyAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoInRlc3RSdW5uZXIubm90aWZ5RG9uZSgpIiwg
MTApOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uIGluaXQoKQorICAgIHsKKyAgICAg
ICAgd2luZG93LnNldFRpbWVvdXQoImRvVXBkYXRlKCkiLCAxMDApOworICAgIH0KKzwvc2NyaXB0
PgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3JpcHQ+Cis8c3Bh
biBpZD0iZGVzY3JpcHRpb24iIHN0eWxlPSJjb2xvcjogd2hpdGUiPgorVGhpcyB0ZXN0IGlzIG9u
bHkgdXNlZnVsIGFzIGEgcGl4ZWwgdGVzdC4gWW91IHNob3VsZCBzZWUgcm93IG9mIDMgKHJlZCwg
Z3JlZW4gYW5kIGJsdWUpIGNhbnZhc2VzLgorPC9zcGFuPgorPGJyPgorPHN0eWxlPgorY2FudmFz
IHsKKyAgICBvdXRsaW5lOiAxcHggc29saWQgYmx1ZTsKK30KK2JvZHkgeworICAgIGJhY2tncm91
bmQtY29sb3I6IGRhcmtibHVlOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CisKK3ZhciBjdHhzID0g
W107CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOworICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24i
KS5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImRlc2NyaXB0aW9uIikuc3R5bGUudG9wID0gIi01MDAwcHgiOyAKK30KKworZnVuY3Rpb24g
YWRkQ2FudmFzKGkpIHsKKyAgICB2YXIgY2FuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2Fu
dmFzJyk7CisgICAgY2FuLndpZHRoID0gY2FuLmhlaWdodCA9IDEwMDsKKyAgICBjYW4uc3R5bGUu
cG9zaXRpb24gPSAiYWJzb2x1dGUiOworICAgIGNhbi5zdHlsZS5sZWZ0ID0gMTAgKyBpICogMTIw
ICsgInB4IjsKKyAgICBjYW4uc3R5bGUudG9wID0gIjQwcHgiOworICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoY2FuKTsKKyAgICBjdHhzW2ldID0gY2FuLmdldENvbnRleHQoImV4cGVyaW1l
bnRhbC13ZWJnbCIpOworICAgIGRyYXcoY3R4c1tpXSwgaSA9PSAwLCBpID09IDEsIGkgPT0gMiwg
MSk7Cit9CisKK2ZvciAodmFyIGk9MDsgaTwzOyArK2kpIHsKKyAgICBhZGRDYW52YXMoaSk7Cit9
CisKK2Z1bmN0aW9uIGRyYXcoZ2wsIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKSB7CisgICAgZ2wu
Y2xlYXJDb2xvcihyZWQsIGdyZWVuLCBibHVlLCBhbHBoYSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09M
T1JfQlVGRkVSX0JJVCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187684</attachid>
            <date>2013-02-11 14:48:55 -0800</date>
            <delta_ts>2013-02-11 15:41:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130211174525.patch</filename>
            <type>text/plain</type>
            <size>8129</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWUxNDEzMjk2Y2Y4MmEx
YWU1ODIzZjc4ZDNiNjQ4ZTdiMzBjNjBiZi4uYjZmODU1YTZhYzEyMWU5MTM1MjU1ZDNiZDllZjk1
NGY4ZmMzMzMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTExICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDYzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXaGVuIHBhZ2Ugc2l6ZSBjaGFuZ2VzIGFuZCBsYXllciBwYXJhbWV0ZXJzIGdldCB1cGRh
dGVkIExheWVyVHJlZVJlbmRlcmVyOjpzZXRMYXllclN0YXRlCisgICAgICAgIGNsZWFycyB0aGUg
bGF5ZXIgYmFja2luZyBzdG9yZSBhbmQgZGV0YWNoZXMgdGhlIGNhbnZhcyBzdXJmYWNlIGZyb20g
dGhlIGxheWVyLiBJZiB0aGUgbGF5ZXIKKyAgICAgICAgc2l6ZSBpcyBub3QgY2hhbmdlZCB0aGVu
IHRoZSBjYW52YXMgaXMgbm90IHJlY3JlYXRlZC4gVGhpcyBsZWF2ZXMgdGhlIGNhbnZhcyBkZXRh
Y2hlZCBmcm9tCisgICAgICAgIHRoZSBsYXllciwgYnV0IHN0aWxsIHJlZmVyZW5jZWQgZnJvbSBt
X3N1cmZhY2VCYWNraW5nU3RvcmVzLgorICAgICAgICBEb24ndCBhc3NpZ24gbGF5ZXIgYmFja2lu
ZyBzdG9yZSB0byBsYXllciBpbiBhc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyIGlmIHRoZXJlIGlz
IGEgY2FudmFzCisgICAgICAgIHN1cmZhY2UgYWxyZWFkeSBhdHRhY2hlZCB0byB0aGUgbGF5ZXIu
CisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRlLmh0
bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lOjpzZXRMYXllclN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZTo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZS5oOgorCiAyMDEzLTAyLTA2ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlbW92ZSBpc1NuaXBwZXQgZmllbGQgZnJv
bSBGaWxlRGVzY3JpcHRvciBhbmQgVUlTb3VyY2VDb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAppbmRleCBkMjE1ZmIzNjEz
YjkwN2I2YjFkOWY1ZTg5MTE5ZGJiMjY0NGY0NTk0Li5lZTcwNTk0ZTU2YzBjZDFjNmM0OWI0ODkw
Y2RmNmE2NTRmNmRhMzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcApAQCAtMzQ3LDcgKzM0Nyw3IEBAIHZvaWQgQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRMYXllclN0YXRlKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCwg
Y29uc3QgQ29vcmRpCiAgICAgZWxzZQogICAgICAgICBtX2ZpeGVkTGF5ZXJzLnJlbW92ZShpZCk7
CiAKLSAgICBhc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKGxheWVyLCBsYXllckluZm8uaW1hZ2VJ
RCk7CisgICAgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihpZCwgbGF5ZXIsIGxheWVySW5mby5p
bWFnZUlEKTsKICAgICBwcmVwYXJlQ29udGVudEJhY2tpbmdTdG9yZShsYXllcik7CiAKICAgICAv
LyBOZXZlciBtYWtlIHRoZSByb290IGxheWVyIGNsaXAuCkBAIC01MjksOCArNTI5LDEzIEBAIHZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpyZW1vdmVJbWFnZUJhY2tpbmcoQ29vcmRpbmF0
ZWRJbWFnZUJhY2tpbmdJRCBpbWFnCiAgICAgbV9yZWxlYXNlZEltYWdlQmFja2luZ3MuYXBwZW5k
KG1faW1hZ2VCYWNraW5ncy50YWtlKGltYWdlSUQpKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZEdy
YXBoaWNzU2NlbmU6OmFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIoR3JhcGhpY3NMYXllciogbGF5
ZXIsIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1hZ2VJRCkKK3ZvaWQgQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJ
RCBpZCwgR3JhcGhpY3NMYXllciogbGF5ZXIsIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQgaW1h
Z2VJRCkKIHsKKyNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKyAgICBpZiAobV9zdXJmYWNlQmFj
a2luZ1N0b3Jlcy5jb250YWlucyhpZCkpCisgICAgICAgIHJldHVybjsKKyNlbmRpZgorCiAgICAg
aWYgKGltYWdlSUQgPT0gSW52YWxpZENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpIHsKICAgICAg
ICAgbGF5ZXItPnNldENvbnRlbnRzVG9NZWRpYSgwKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCmluZGV4
IGNmYWIxNjYyZDFhYzVjNDIzZmQ1MDEwYjAxY2Q3ZTQwNjM2OTMzODMuLjE2ZmNjMTIyODZiZDU4
MTJmZDljYzAyYWJiOGIxMjNjNzNhYzhhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2Nl
bmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKQEAgLTE2MCw3ICsxNjAsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgY3JlYXRlTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKICAgICB2b2lk
IGRlbGV0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCk7CiAKLSAgICB2b2lkIGFzc2lnbkltYWdl
QmFja2luZ1RvTGF5ZXIoR3JhcGhpY3NMYXllciosIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQp
OworICAgIHZvaWQgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihDb29yZGluYXRlZExheWVySUQs
IEdyYXBoaWNzTGF5ZXIqLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lEKTsKICAgICB2b2lkIHJl
bW92ZVJlbGVhc2VkSW1hZ2VCYWNraW5nc0lmTmVlZGVkKCk7CiAgICAgdm9pZCBlbnN1cmVSb290
TGF5ZXIoKTsKICAgICB2b2lkIGNvbW1pdFBlbmRpbmdCYWNraW5nU3RvcmVPcGVyYXRpb25zKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNWQ1YTAzZmI4MTg3OTZkNTQwODgzNmI0M2FkYmI0ZjI2NTUzNWIwZS4uYjZlZTNh
NGMwN2I4MmI2YTYyNGRiN2E3Yzc5NTZkNDg3YWQ4NDA2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDEzLTAyLTExICBWaWF0Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3Vu
Zy5jb20+CisKKyAgICAgICAgW0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50
ZWQgYWZ0ZXIgcmVzaXppbmcgdGhlIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCBjaGVja2luZyB0aGF0IGNhbnZhcyBwYWlu
dGluZyBpcyBjb3JyZWN0IGlmIGxheWVyIHBhcmFtZXRlcnMgd2VyZSBjaGFuZ2VkLAorICAgICAg
ICBidXQgd2ViZ2wgY2FudmFzIGRpZG4ndCBjaGFuZ2UuCisKKyAgICAgICAgKiBmYXN0L2NhbnZh
cy93ZWJnbC93ZWJnbC1sYXllci11cGRhdGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1sYXllci11cGRhdGUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1sYXllci11cGRhdGUuaHRtbDog
QWRkZWQuCisKIDIwMTMtMDItMDYgIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFRlc3QgZXhwZWN0YXRpb25zIHVwZGF0ZSBmb3Ig
U2tpYSBjaGFuZ2UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93
ZWJnbC1sYXllci11cGRhdGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTJkYzEw
YTNjOWMxMzJmM2VkNjIxYzBiZDNjNjljNjUyNmZkZGI2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCAyODg4CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdz
JGxIYG9rPG19P29UbjVXegp6cWNsPyFPRWNxQ0JjcWc1Z0plcm5nRzk2QjZ5cm9vUXd5V0M2dzg+
Nnp4eD4meE5kcDZJRUdacmQzKkM5PWl2WXoKeilgUmFLQi1JcEt0fX5RZkklbXMrMTVFYHBHOVNG
JHVeQE1DRihibztOPyY7Zmg3YjhIVmhqI0czNSpPIU1rcGdrCnp7KzRaOSs1RmVXd0cwZGUqRnpI
NFg3NjNUTyNiPWFidVdiKDhzc1lrbk1RMkw0RTxFR1pSQCR0eVU5c2tGNHxwWQp6WEo5Q1E+JTY7
Jms+TipsVG5odChWSXdQcGZOO2JwVj5BIyhRXklJMjd8akt2eG5NTEc0QmxNdW81e3dIXkwwPGsK
Uz1LeF5TbjhETjQmdDt1Y0xLNlUpVGl8WDAKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1sYXllci11
cGRhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4YmU5NjJjNzYyZWM5NzVjYjllNTgyZmFj
YzNhN2E0OTg4YzhhMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC93ZWJnbC1sYXllci11cGRhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAor
VGhpcyB0ZXN0IGlzIG9ubHkgdXNlZnVsIGFzIGEgcGl4ZWwgdGVzdC4gWW91IHNob3VsZCBzZWUg
cmVkIGNhbnZhcyBvZiBzaXplIDEwMHgxMDAuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjA3MDY1
MzJjMmMyNGE5NDc4ZGRhMzczMWM5ZmRmMzdjM2E0Y2EyZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS5odG1sCkBAIC0w
LDAgKzEsODAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c2NyaXB0PgorICAgIGZ1bmN0
aW9uIGRvVXBkYXRlKCkKKyAgICB7CisgICAgICAgIHZhciBjYW52YXNlcyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdjYW52YXMnKTsKKyAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8
IGNhbnZhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2YXIgY2FuID0gY2FudmFzZXNb
aV07CisgICAgICAgICAgICBjYW4uc3R5bGUudG9wID0gIjYwcHgiOworICAgICAgICB9CisgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5kaXNw
bGF5KCk7CisgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgidGVzdFJ1bm5lci5ub3RpZnlE
b25lKCkiLCAwKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIGluaXQoKQorICAg
IHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBkb1VwZGF0
ZSgpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gRGVsYXkgY2FudmFzIGxheWVy
IHVwZGF0ZSBpZiB0ZXN0IHJ1bnMgd2l0aG91dCB0ZXN0UnVubmVyIHRvIAorICAgICAgICAgICAg
Ly8gYWxsb3cgZmlyc3QgbGF5ZXIgdXBkYXRlIHRvIGJlIHByb2Nlc3NlZCBvbiBVSSBzaWRlLgor
ICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoImRvVXBkYXRlKCkiLCAxMDApOworICAgICAg
ICB9CisgICAgfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Cit9Cis8L3NjcmlwdD4KKzxzcGFuIGlkPSJkZXNjcmlwdGlvbiIgc3R5bGU9ImNvbG9yOiB3aGl0
ZSI+CitUaGlzIHRlc3QgaXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0LiBZb3Ugc2hvdWxk
IHNlZSByZWQgY2FudmFzIG9mIHNpemUgMTAweDEwMC4KKzwvc3Bhbj4KKzxicj4KKzxzdHlsZT4K
K2NhbnZhcyB7CisgICAgb3V0bGluZTogMXB4IHNvbGlkIGJsdWU7Cit9Citib2R5IHsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBkYXJrYmx1ZTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorCitpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1
ZSk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuc3R5bGUucG9z
aXRpb24gPSAiYWJzb2x1dGUiOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlw
dGlvbiIpLnN0eWxlLnRvcCA9ICItNTAwMHB4IjsgCit9CisKK3ZhciBjdHg7CitmdW5jdGlvbiBh
ZGRDYW52YXMoKSB7CisgICAgdmFyIGNhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZh
cycpOworICAgIGNhbi53aWR0aCA9IGNhbi5oZWlnaHQgPSAxMDA7CisgICAgY2FuLnN0eWxlLnBv
c2l0aW9uID0gImFic29sdXRlIjsKKyAgICBjYW4uc3R5bGUubGVmdCA9ICI0MHB4IjsKKyAgICBj
YW4uc3R5bGUudG9wID0gIjQwcHgiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2Fu
KTsKKyAgICBjdHggPSBjYW4uZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIik7CisgICAg
ZHJhdyhjdHgsIDEsIDAsIDAsIDEpOworfQorCitmdW5jdGlvbiBkcmF3KGdsLCByZWQsIGdyZWVu
LCBibHVlLCBhbHBoYSkgeworICAgIGdsLmNsZWFyQ29sb3IocmVkLCBncmVlbiwgYmx1ZSwgYWxw
aGEpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworfQorCithZGRDYW52YXMo
KTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kaXNwbGF5KCk7
Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187702</attachid>
            <date>2013-02-11 15:41:35 -0800</date>
            <delta_ts>2013-02-11 23:26:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106358-20130211183805.patch</filename>
            <type>text/plain</type>
            <size>7787</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWUxNDEzMjk2Y2Y4MmEx
YWU1ODIzZjc4ZDNiNjQ4ZTdiMzBjNjBiZi4uYTBiYWY1OTIwN2ExMjE0OTQ3ZjVkNjRkNDNhNjc5
YjEzN2UwYWRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTExICBWaWF0
Y2hlc2xhdiBPc3RhcGVua28gIDxzbC5vc3RhcGVua29Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bV2ViR0xdIFdlYkdMIGNvbnRlbnQgaXMgbm90IHBhaW50ZWQgYWZ0ZXIgcmVzaXppbmcg
dGhlIHZpZXdwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBwYWdlIHNpemUgY2hhbmdlcyBhbmQgbGF5ZXIgcGFyYW1ldGVycyBnZXQgdXBk
YXRlZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0TGF5ZXJTdGF0ZQorICAgICAgICBjbGVhcnMgdGhl
IGxheWVyIGJhY2tpbmcgc3RvcmUgYW5kIGRldGFjaGVzIHRoZSBjYW52YXMgc3VyZmFjZSBmcm9t
IHRoZSBsYXllci4gSWYgdGhlIGxheWVyCisgICAgICAgIHNpemUgaXMgbm90IGNoYW5nZWQgdGhl
biB0aGUgY2FudmFzIGlzIG5vdCByZWNyZWF0ZWQuIFRoaXMgbGVhdmVzIHRoZSBjYW52YXMgZGV0
YWNoZWQgZnJvbQorICAgICAgICB0aGUgbGF5ZXIsIGJ1dCBzdGlsbCByZWZlcmVuY2VkIGZyb20g
bV9zdXJmYWNlQmFja2luZ1N0b3Jlcy4KKyAgICAgICAgRG9uJ3QgYXNzaWduIGxheWVyIGJhY2tp
bmcgc3RvcmUgdG8gbGF5ZXIgaW4gYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllciBpZiB0aGVyZSBp
cyBhIGNhbnZhcworICAgICAgICBzdXJmYWNlIGFscmVhZHkgYXR0YWNoZWQgdG8gdGhlIGxheWVy
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS5o
dG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTo6c2V0TGF5ZXJTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OmFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
U2NlbmUuaDoKKwogMjAxMy0wMi0wNiAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW1vdmUgaXNTbmlwcGV0IGZpZWxkIGZy
b20gRmlsZURlc2NyaXB0b3IgYW5kIFVJU291cmNlQ29kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU2NlbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKaW5kZXggZDIxNWZiMzYx
M2I5MDdiNmIxZDlmNWU4OTExOWRiYjI2NDRmNDU5NC4uZWU3MDU5NGU1NmMwY2QxYzZjNDliNDg5
MGNkZjZhNjU0ZjZkYTM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKQEAgLTM0Nyw3ICszNDcsNyBAQCB2b2lkIENvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0TGF5ZXJTdGF0ZShDb29yZGluYXRlZExheWVySUQgaWQs
IGNvbnN0IENvb3JkaQogICAgIGVsc2UKICAgICAgICAgbV9maXhlZExheWVycy5yZW1vdmUoaWQp
OwogCi0gICAgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihsYXllciwgbGF5ZXJJbmZvLmltYWdl
SUQpOworICAgIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIoaWQsIGxheWVyLCBsYXllckluZm8u
aW1hZ2VJRCk7CiAgICAgcHJlcGFyZUNvbnRlbnRCYWNraW5nU3RvcmUobGF5ZXIpOwogCiAgICAg
Ly8gTmV2ZXIgbWFrZSB0aGUgcm9vdCBsYXllciBjbGlwLgpAQCAtNTI5LDggKzUyOSwxMyBAQCB2
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cmVtb3ZlSW1hZ2VCYWNraW5nKENvb3JkaW5h
dGVkSW1hZ2VCYWNraW5nSUQgaW1hZwogICAgIG1fcmVsZWFzZWRJbWFnZUJhY2tpbmdzLmFwcGVu
ZChtX2ltYWdlQmFja2luZ3MudGFrZShpbWFnZUlEKSk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lOjphc3NpZ25JbWFnZUJhY2tpbmdUb0xheWVyKEdyYXBoaWNzTGF5ZXIqIGxh
eWVyLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lEIGltYWdlSUQpCit2b2lkIENvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTo6YXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihDb29yZGluYXRlZExheWVy
SUQgaWQsIEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lEIGlt
YWdlSUQpCiB7CisjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCisgICAgaWYgKG1fc3VyZmFjZUJh
Y2tpbmdTdG9yZXMuY29udGFpbnMoaWQpKQorICAgICAgICByZXR1cm47CisjZW5kaWYKKwogICAg
IGlmIChpbWFnZUlEID09IEludmFsaWRDb29yZGluYXRlZEltYWdlQmFja2luZ0lEKSB7CiAgICAg
ICAgIGxheWVyLT5zZXRDb250ZW50c1RvTWVkaWEoMCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAppbmRl
eCBjZmFiMTY2MmQxYWM1YzQyM2ZkNTAxMGIwMWNkN2U0MDYzNjkzMzgzLi4xNmZjYzEyMjg2YmQ1
ODEyZmQ5Y2MwMmFiYjhiMTIzYzczYWM4YTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCkBAIC0xNjAsNyArMTYwLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGNyZWF0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCk7CiAgICAgdm9p
ZCBkZWxldGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwogCi0gICAgdm9pZCBhc3NpZ25JbWFn
ZUJhY2tpbmdUb0xheWVyKEdyYXBoaWNzTGF5ZXIqLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lE
KTsKKyAgICB2b2lkIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklE
LCBHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7CiAgICAgdm9pZCBy
ZW1vdmVSZWxlYXNlZEltYWdlQmFja2luZ3NJZk5lZWRlZCgpOwogICAgIHZvaWQgZW5zdXJlUm9v
dExheWVyKCk7CiAgICAgdm9pZCBjb21taXRQZW5kaW5nQmFja2luZ1N0b3JlT3BlcmF0aW9ucygp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDVkNWEwM2ZiODE4Nzk2ZDU0MDg4MzZiNDNhZGJiNGYyNjU1MzViMGUuLjQyZmJk
NjhjNzMwYmNiMTJhZTQ4Yzg2ZWY3MzhlMmUzY2E0YTJlNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxMy0wMi0xMSAgVmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8c2wub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dlYkdMXSBXZWJHTCBjb250ZW50IGlzIG5vdCBwYWlu
dGVkIGFmdGVyIHJlc2l6aW5nIHRoZSB2aWV3cG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjM1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0IGNoZWNraW5nIHRoYXQgY2FudmFzIHBh
aW50aW5nIGlzIGNvcnJlY3QgaWYgbGF5ZXIgcGFyYW1ldGVycyB3ZXJlIGNoYW5nZWQsCisgICAg
ICAgIGJ1dCB3ZWJnbCBjYW52YXMgZGlkbid0IGNoYW5nZS4KKworICAgICAgICAqIGZhc3QvY2Fu
dmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS5odG1s
OiBBZGRlZC4KKwogMjAxMy0wMi0wNiAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVGVzdCBleHBlY3RhdGlvbnMgdXBkYXRlIGZv
ciBTa2lhIGNoYW5nZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L3dlYmdsLWxheWVyLXVwZGF0ZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC93ZWJnbC1sYXllci11cGRhdGUtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1MmRj
MTBhM2M5YzEzMmYzZWQ2MjFjMGJkM2M2OWM2NTI2ZmRkYjYKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDI4ODgKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVA
V3MkbEhgb2s8bX0/b1RuNVd6CnpxY2w/IU9FY3FDQmNxZzVnSmVybmdHOTZCNnlyb29Rd3lXQzZ3
OD42enh4PiZ4TmRwNklFR1pyZDMqQzk9aXZZegp6KWBSYUtCLUlwS3R9flFmSSVtcysxNUVgcEc5
U0YkdV5ATUNGKGJvO04/JjtmaDdiOEhWaGojRzM1Kk8hTWtwZ2sKensrNFo5KzVGZVd3RzBkZSpG
ekg0WDc2M1RPI2I9YWJ1V2IoOHNzWWtuTVEyTDRFPEVHWlJAJHR5VTlza0Y0fHBZCnpYSjlDUT4l
Njsmaz5OKmxUbmh0KFZJd1BwZk47YnBWPkEjKFFeSUkyN3xqS3Z4bk1MRzRCbE11bzV7d0heTDA8
awpTPUt4XlNuOERONCZ0O3VjTEs2VSlUaXxYMAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWxheWVy
LXVwZGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjhiZTk2MmM3NjJlYzk3NWNiOWU1ODJm
YWNjM2E3YTQ5ODhjOGEwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3dlYmdsLWxheWVyLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBA
CitUaGlzIHRlc3QgaXMgb25seSB1c2VmdWwgYXMgYSBwaXhlbCB0ZXN0LiBZb3Ugc2hvdWxkIHNl
ZSByZWQgY2FudmFzIG9mIHNpemUgMTAweDEwMC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1sYXllci11cGRhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Y2Fl
Y2E5MGJiZjcxOWJmNjIyYmM5NTg3NzRiYjlkYTcxOGY3NDkwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtbGF5ZXItdXBkYXRlLmh0bWwKQEAg
LTAsMCArMSw2NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxzY3JpcHQ+CisgICAgZnVu
Y3Rpb24gZG9VcGRhdGUoKQorICAgIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoJ2NhbnZhcycpWzBdLnN0eWxlLnRvcCA9ICI2MHB4IjsKKworICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOworICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBpbml0KCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgIGRvVXBkYXRlKCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgLy8g
RGVsYXkgY2FudmFzIGxheWVyIHVwZGF0ZSBpZiB0ZXN0IHJ1bnMgd2l0aG91dCB0ZXN0UnVubmVy
IHRvCisgICAgICAgICAgICAvLyBhbGxvdyBmaXJzdCBsYXllciB1cGRhdGUgdG8gYmUgcHJvY2Vz
c2VkIG9uIFVJIHNpZGUuCisgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChkb1VwZGF0ZSwg
MTAwKTsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJpbml0KCki
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKzwvc2NyaXB0PgorPHNwYW4gaWQ9ImRlc2NyaXB0aW9uIiBzdHlsZT0iY29s
b3I6IHdoaXRlIj4KK1RoaXMgdGVzdCBpcyBvbmx5IHVzZWZ1bCBhcyBhIHBpeGVsIHRlc3QuIFlv
dSBzaG91bGQgc2VlIHJlZCBjYW52YXMgb2Ygc2l6ZSAxMDB4MTAwLgorPC9zcGFuPgorPGJyPgor
PHN0eWxlPgorY2FudmFzIHsKKyAgICBvdXRsaW5lOiAxcHggc29saWQgYmx1ZTsKK30KK2JvZHkg
eworICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtibHVlOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+
CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOworICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCh0cnVlKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKS5z
dHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImRlc2NyaXB0aW9uIikuc3R5bGUudG9wID0gIi01MDAwcHgiOyAKK30KKwordmFyIGNhbiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworY2FuLndpZHRoID0gY2FuLmhlaWdodCA9
IDEwMDsKK2Nhbi5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CitjYW4uc3R5bGUubGVmdCA9
ICI0MHB4IjsKK2Nhbi5zdHlsZS50b3AgPSAiNDBweCI7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGNhbik7Cit2YXIgY3R4ID0gY2FuLmdldENvbnRleHQoImV4cGVyaW1lbnRhbC13ZWJnbCIp
OworY3R4LmNsZWFyQ29sb3IoMSwgMCwgMCwgMSk7CitjdHguY2xlYXIoY3R4LkNPTE9SX0JVRkZF
Ul9CSVQpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kaXNwbGF5
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>