<?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>208501</bug_id>
          
          <creation_ts>2020-03-02 23:44:56 -0800</creation_ts>
          <short_desc>Background images should be taken into account in the visually non-empty heuristic</short_desc>
          <delta_ts>2020-04-13 15:14:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>208500</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Noam Rosenthal">noam</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>nham</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1624968</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-02 23:44:56 -0800</bug_when>
    <thetext>Currently, we block the initial render on our &quot;visually non-empty&quot; heuristic. This heuristic depends on images and other things, but currently doesn&apos;t take background images into account.

See https://w3c.github.io/paint-timing/#first-contentful-paint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625016</commentid>
    <comment_count>1</comment_count>
      <attachid>392267</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-03 05:54:20 -0800</bug_when>
    <thetext>Created attachment 392267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625018</commentid>
    <comment_count>2</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-03 05:56:34 -0800</bug_when>
    <thetext>I didn&apos;t see any tests that cover the visually-non-empty heuristic. Maybe FCP behind a flag would also help us test these?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625025</commentid>
    <comment_count>3</comment_count>
      <attachid>392268</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-03 06:26:19 -0800</bug_when>
    <thetext>Created attachment 392268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625033</commentid>
    <comment_count>4</comment_count>
      <attachid>392268</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 06:55:58 -0800</bug_when>
    <thetext>Comment on attachment 392268
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:1717
&gt; +    incrementVisuallyNonEmptyPixelCountIfNeeded(flooredIntSize(size()));

While this indeed increments the VNE pixel count, we don&apos;t really act on it until after the next tree building/layout (e.g this would only trigger a repaint on a fixed sized block level box). This line also implies we&apos;ve got computed geometry which is not necessarily the case and also rather irrelevant for border images.

&gt; Source/WebCore/rendering/RenderElement.h:277
&gt; +    void incrementVisuallyNonEmptyPixelCountIfNeeded(const IntSize&amp;);

Any reason why this pixel counting logic ended up in the RenderElenent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625034</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 06:57:08 -0800</bug_when>
    <thetext>This makes me wonder if we should rethink the way we collect information on VNE pixels in general and come up with a better model.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625056</commentid>
    <comment_count>6</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-03 08:15:26 -0800</bug_when>
    <thetext>(In reply to zalan from comment #4)
&gt; Comment on attachment 392268 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=392268&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBox.cpp:1717
&gt; &gt; +    incrementVisuallyNonEmptyPixelCountIfNeeded(flooredIntSize(size()));
&gt; 
&gt; While this indeed increments the VNE pixel count, we don&apos;t really act on it
&gt; until after the next tree building/layout (e.g this would only trigger a
&gt; repaint on a fixed sized block level box). This line also implies we&apos;ve got
&gt; computed geometry which is not necessarily the case and also rather
&gt; irrelevant for border images.
OK, maybe an additional line is missing telling FrameView it might need to report paint milestones 

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderElement.h:277
&gt; &gt; +    void incrementVisuallyNonEmptyPixelCountIfNeeded(const IntSize&amp;);
&gt; 
&gt; Any reason why this pixel counting logic ended up in the RenderElenent?
Because RenderElement.h seemed like the place where we put this kinds of flags, and it&apos;s common for RenderImage/RenderBox, but it could be in RenderBox just the same (as long as the flag memory is in RenderElement).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625058</commentid>
    <comment_count>7</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-03 08:21:24 -0800</bug_when>
    <thetext>(In reply to zalan from comment #5)
&gt; This makes me wonder if we should rethink the way we collect information on
&gt; VNE pixels in general and come up with a better model.

Yes I was thinking the same... I think the pixel model is bound to have a lot of bugs/quirks/inaccuracies. For example in the current model image pixels are computed according to the source image, but there could be 32x32 images that are CSS-shrunk to 1x1 or vice-versa.

Would be happy to chat about this on Slack/IRC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625106</commentid>
    <comment_count>8</comment_count>
      <attachid>392289</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-03 10:15:28 -0800</bug_when>
    <thetext>Created attachment 392289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625361</commentid>
    <comment_count>9</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-03 18:37:36 -0800</bug_when>
    <thetext>I am not sure if you&apos;ve followed the VNE first-paint work on trunk. It has changed a lot recently.
The idea is very simple though:
We try to delay layout and paint until after certain amount of content (mixture of character count/pixel amount) is available.

1. These values are mostly collected through the render tree building phase in response to style changes (ignore replaced content for now)
2. We don&apos;t run layout unless it is forced (JS or other means), but the general idea is that we should be able tell whether the content is VNE without computing geometry information.
Since we don&apos;t run layout/fake paint to verify if the produced content is VNE, the VNE layout (and the subsequent meaningful paint (incorrect name, really)) milestones could be fired on a VE content. The plan is to recover from this incorrect state through frequent, subsequent paints.
3. The meaningful paint milestone is dispatched as the result of the VNE _layout_ (unless something somewhere somehow forces paint on VE content)

Something along these lines:
- content keeps coming in
- renderer tree gains new nodes through style resolve
- meet the threshold
- unfreeze the layer tree
- schedule layer flush
- initiate VNE layout
- fire VNE layout milestone
- paint to layers
- fire meaningful paint milestone

I&apos;ve got 2 observations:
-It seems that our logic is considerable different from what https://w3c.github.io/paint-timing/#first-contentful-paint has and while our threshold value has changed over time, it will probably never be like &quot;any text&quot;. It also means that the first paint won&apos;t happen until after the VNE threshold is met (and in case of highly different thresholds it could result in a very late timestamp for FCP). I guess I should have read the emails on webkit-dev first, I am sure you&apos;ve already worked this out.

-The current code is very much in flux. It is also a very old and neglected. Not a great combination. I was planning to hook up SVG and other replaced content this/next week and make sure we trigger VNE check for example on incoming image data.
In the long run, I think this feature needs some serious refactoring. I have some ideas e.g move the logic from the c&apos;tors to the RenderTreeBuilder, but it needs some more thinking. I am not sure when I will get to it though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625446</commentid>
    <comment_count>10</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-04 00:48:56 -0800</bug_when>
    <thetext>Got it. In terms of style images - I suggest then to go with the size of the image as the pixel indicator. I will revise the patch for this.

In terms of VNE vs. FCP: I think we should thrive for &quot;closer as possible&quot;, and have FCP conform to the spec/WPT, leaving room both in the spec, WPT and implementation for delaying paint on heuristics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625484</commentid>
    <comment_count>11</comment_count>
      <attachid>392403</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-04 06:14:41 -0800</bug_when>
    <thetext>Created attachment 392403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625636</commentid>
    <comment_count>12</comment_count>
      <attachid>392403</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-04 11:13:18 -0800</bug_when>
    <thetext>Comment on attachment 392403
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:1722
&gt; +        return static_cast&lt;FloatSize&gt;(size());

This assumes that layout is up-to-date, of which there is no guarantee here.

We need to be really careful about when it&apos;s valid to query renderer geometry (and thus to do VNE accounting).

&gt; Source/WebCore/rendering/RenderBox.cpp:1725
&gt; +    incrementVisuallyNonEmptyPixelCountIfNeeded(flooredIntSize(imageSize()));

What if imageChanged is called multiple times for the same image? Or for multiple background images on the same renderer? Or for both border-image and background-image on the same renderer?

&gt; Source/WebCore/rendering/RenderElement.h:356
&gt; +    unsigned m_didIncrementVisuallyNonEmptyPixelCount : 1;

I would call this m_didContributeToVisuallyNonEmpty or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625645</commentid>
    <comment_count>13</comment_count>
      <attachid>392403</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-04 11:25:58 -0800</bug_when>
    <thetext>Comment on attachment 392403
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:1722
&gt;&gt; +        return static_cast&lt;FloatSize&gt;(size());
&gt; 
&gt; This assumes that layout is up-to-date, of which there is no guarantee here.
&gt; 
&gt; We need to be really careful about when it&apos;s valid to query renderer geometry (and thus to do VNE accounting).

Gotcha. I will send an empty size in this case.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:1725
&gt;&gt; +    incrementVisuallyNonEmptyPixelCountIfNeeded(flooredIntSize(imageSize()));
&gt; 
&gt; What if imageChanged is called multiple times for the same image? Or for multiple background images on the same renderer? Or for both border-image and background-image on the same renderer?

Only the first one will contribute to the VNE heuristic (didIncrementVisuallyNonEmptyPixelCount will return true). They&apos;re most likely to affect the same pixels.
It&apos;s true that we can&apos;t tell their actual pixel contribution because layout has not been performed yet - but this is a general problem with VNE and is also true for regular RenderImages (their content is maybe X pixels, but CSS might make them much larger/smaller).

&gt;&gt; Source/WebCore/rendering/RenderElement.h:356
&gt;&gt; +    unsigned m_didIncrementVisuallyNonEmptyPixelCount : 1;
&gt; 
&gt; I would call this m_didContributeToVisuallyNonEmpty or something.

It was just moved from a different place (RenderImage.h), but sure :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625658</commentid>
    <comment_count>14</comment_count>
      <attachid>392403</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-04 11:37:26 -0800</bug_when>
    <thetext>Comment on attachment 392403
Patch

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

&gt; Source/WebCore/page/FrameView.h:948
&gt; +    if (m_visuallyNonEmptyPixelCount &gt; visualPixelThreshold &amp;&amp; !needsLayout())
&gt; +        fireLayoutRelatedMilestonesIfNeeded();

Firing a layout milestone without actually running layout looks really hackish (I know we do it at load complete as a last resort, but that&apos;s not the pattern we should follow).
The issue here is that the current architecture can&apos;t deal with paint only changes. I am not sure if trying to hack it like this is the right direction, but other may disagree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625665</commentid>
    <comment_count>15</comment_count>
      <attachid>392403</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-04 11:40:34 -0800</bug_when>
    <thetext>Comment on attachment 392403
Patch

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

&gt;&gt; Source/WebCore/page/FrameView.h:948
&gt;&gt; +        fireLayoutRelatedMilestonesIfNeeded();
&gt; 
&gt; Firing a layout milestone without actually running layout looks really hackish (I know we do it at load complete as a last resort, but that&apos;s not the pattern we should follow).
&gt; The issue here is that the current architecture can&apos;t deal with paint only changes. I am not sure if trying to hack it like this is the right direction, but other may disagree.

Yea, I don&apos;t think this is ideal. It&apos;s also an option not to fire here at all - at least at the next layout there will be enough pixels to count as VNE.
Open to suggestions!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625669</commentid>
    <comment_count>16</comment_count>
      <attachid>392451</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-04 11:44:04 -0800</bug_when>
    <thetext>Created attachment 392451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625672</commentid>
    <comment_count>17</comment_count>
      <attachid>392403</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-04 11:46:26 -0800</bug_when>
    <thetext>Comment on attachment 392403
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:1718
&gt; +        if (style().borderImage().image() &amp;&amp; style().borderImage().image()-&gt;data() == image)
&gt; +            return style().borderImage().image()-&gt;imageSize(this, style().effectiveZoom());
&gt; +        if (style().maskBoxImage().image() &amp;&amp; style().maskBoxImage().image()-&gt;data() == image)
&gt; +            return style().maskBoxImage().image()-&gt;imageSize(this, style().effectiveZoom());
&gt; +        auto&amp; layers = style().backgroundLayers();
&gt; +        for (auto* layer = &amp;layers; layer; layer = layer-&gt;next()) {
&gt; +            if (layer-&gt;image() &amp;&amp; layer-&gt;image()-&gt;data() == image)

This stuff is also wrong for tiled background images and border-image. For a tiled 2x2 background image, you want to report the size of the background area, not 4px, right? The spec needs to clarify this too (please file an issue).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625673</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-04 11:48:04 -0800</bug_when>
    <thetext>(In reply to zalan from comment #14)
&gt; Comment on attachment 392403 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=392403&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.h:948
&gt; &gt; +    if (m_visuallyNonEmptyPixelCount &gt; visualPixelThreshold &amp;&amp; !needsLayout())
&gt; &gt; +        fireLayoutRelatedMilestonesIfNeeded();
&gt; 
&gt; Firing a layout milestone without actually running layout looks really
&gt; hackish (I know we do it at load complete as a last resort, but that&apos;s not
&gt; the pattern we should follow).
&gt; The issue here is that the current architecture can&apos;t deal with paint only
&gt; changes. I am not sure if trying to hack it like this is the right
&gt; direction, but other may disagree.

I think we should also fire milestones at some well-known time, directly from the runloop (on a timer or something). Otherwise clients may call back into WebKit and trigger weird re-entrancy issues).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625678</commentid>
    <comment_count>19</comment_count>
      <attachid>392403</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-04 11:54:33 -0800</bug_when>
    <thetext>Comment on attachment 392403
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:1718
&gt;&gt; +            if (layer-&gt;image() &amp;&amp; layer-&gt;image()-&gt;data() == image)
&gt; 
&gt; This stuff is also wrong for tiled background images and border-image. For a tiled 2x2 background image, you want to report the size of the background area, not 4px, right? The spec needs to clarify this too (please file an issue).

The paint API spec doesn&apos;t care about number of pixels..
As far as VNE in WebKit, I actually think it&apos;s debatable - is a background tile of 2x2 in a 100x100 DIV considered 4px of content or 10000px of content.
I personally believe that pixel count heuristics are bound to be buggy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625679</commentid>
    <comment_count>20</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-04 11:54:38 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=392403&amp;action=review

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:1718
&gt;&gt; +            if (layer-&gt;image() &amp;&amp; layer-&gt;image()-&gt;data() == image)
&gt; 
&gt; This stuff is also wrong for tiled background images and border-image. For a tiled 2x2 background image, you want to report the size of the background area, not 4px, right? The spec needs to clarify this too (please file an issue).

The paint API spec doesn&apos;t care about number of pixels..
As far as VNE in WebKit, I actually think it&apos;s debatable - is a background tile of 2x2 in a 100x100 DIV considered 4px of content or 10000px of content.
I personally believe that pixel count heuristics are bound to be buggy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625744</commentid>
    <comment_count>21</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-03-04 13:34:26 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #18)

&gt; I think we should also fire milestones at some well-known time, directly
&gt; from the runloop (on a timer or something). Otherwise clients may call back
&gt; into WebKit and trigger weird re-entrancy issues).

This is also true for when we fire this from load-progress, am I right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636434</commentid>
    <comment_count>22</comment_count>
      <attachid>395151</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-01 02:38:16 -0700</bug_when>
    <thetext>Created attachment 395151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636597</commentid>
    <comment_count>23</comment_count>
      <attachid>395151</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-01 12:04:46 -0700</bug_when>
    <thetext>Comment on attachment 395151
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:1715
&gt; +            // Since at this point we don&apos;t know the layout size of the box, use the background image size for the pixel-count heuristic.
&gt; +            incrementVisuallyNonEmptyPixelCountIfNeeded(flooredIntSize(layer-&gt;image()-&gt;imageSize(this, style().effectiveZoom())));

This seems pretty bizarre. What if I have a 2x2px tiled image covering a large area?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636601</commentid>
    <comment_count>24</comment_count>
      <attachid>395151</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-01 12:08:35 -0700</bug_when>
    <thetext>Comment on attachment 395151
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:1715
&gt;&gt; +            incrementVisuallyNonEmptyPixelCountIfNeeded(flooredIntSize(layer-&gt;image()-&gt;imageSize(this, style().effectiveZoom())));
&gt; 
&gt; This seems pretty bizarre. What if I have a 2x2px tiled image covering a large area?

Right. I pointed it out in the changelog and in the above comment. At this point we simply don&apos;t know what area this image covers! This is consistent with RenderImage - the image intrinsic size is used for the pixel rather than the layout size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636613</commentid>
    <comment_count>25</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-01 12:57:48 -0700</bug_when>
    <thetext>(In reply to Noam Rosenthal from comment #24)
&gt; Comment on attachment 395151 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=395151&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderBox.cpp:1715
&gt; &gt;&gt; +            incrementVisuallyNonEmptyPixelCountIfNeeded(flooredIntSize(layer-&gt;image()-&gt;imageSize(this, style().effectiveZoom())));
&gt; &gt; 
&gt; &gt; This seems pretty bizarre. What if I have a 2x2px tiled image covering a large area?
&gt; 
&gt; Right. I pointed it out in the changelog and in the above comment. At this
&gt; point we simply don&apos;t know what area this image covers! This is consistent
&gt; with RenderImage - the image intrinsic size is used for the pixel rather
&gt; than the layout size.

Does the spec say anything about this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636615</commentid>
    <comment_count>26</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-01 12:59:54 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #25)
&gt; (In reply to Noam Rosenthal from comment #24)
&gt; &gt; Comment on attachment 395151 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=395151&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/rendering/RenderBox.cpp:1715
&gt; &gt; &gt;&gt; +            incrementVisuallyNonEmptyPixelCountIfNeeded(flooredIntSize(layer-&gt;image()-&gt;imageSize(this, style().effectiveZoom())));
&gt; &gt; &gt; 
&gt; &gt; &gt; This seems pretty bizarre. What if I have a 2x2px tiled image covering a large area?
&gt; &gt; 
&gt; &gt; Right. I pointed it out in the changelog and in the above comment. At this
&gt; &gt; point we simply don&apos;t know what area this image covers! This is consistent
&gt; &gt; with RenderImage - the image intrinsic size is used for the pixel rather
&gt; &gt; than the layout size.
&gt; 
&gt; Does the spec say anything about this?

The spec doesn&apos;t care about number of pixels... The pixel count is purely a WebKit VNE heuristic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641031</commentid>
    <comment_count>27</comment_count>
      <attachid>395151</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-04-13 12:24:24 -0700</bug_when>
    <thetext>Comment on attachment 395151
Patch

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

&gt; Source/WebCore/page/FrameView.h:960
&gt; +    if (m_visuallyNonEmptyPixelCount &gt; visualPixelThreshold &amp;&amp; !needsLayout() &amp;&amp; !layoutContext().isInLayout())
&gt; +        checkAndDispatchDidReachVisuallyNonEmptyState();

I am not sure if it&apos;s the right place for this. It&apos;d be great if we could do something similar to what we do with the style/content mutations (RenderTreeBuilder::reportVisuallyNonEmptyContent gets called when we are done with all the style/content mutations and ready to check for the first paint threshold.

&gt; Source/WebCore/rendering/RenderBox.cpp:1753
&gt; +void RenderBox::incrementVisuallyNonEmptyPixelCountIfNeeded(const IntSize&amp; size)
&gt; +{
&gt; +    if (didMarkVisuallyNonEmptyPixels())
&gt; +        return;
&gt; +
&gt; +    view().frameView().incrementVisuallyNonEmptyPixelCount(size);
&gt; +    setDidMarkVisuallyNonEmptyPixels();
&gt; +}

In the long run, we should have some kind of first paint class where we could track all these reportings and not pollute RenderBox with first paint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641064</commentid>
    <comment_count>28</comment_count>
      <attachid>395151</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-13 13:15:31 -0700</bug_when>
    <thetext>Comment on attachment 395151
Patch

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

&gt;&gt; Source/WebCore/page/FrameView.h:960
&gt;&gt; +        checkAndDispatchDidReachVisuallyNonEmptyState();
&gt; 
&gt; I am not sure if it&apos;s the right place for this. It&apos;d be great if we could do something similar to what we do with the style/content mutations (RenderTreeBuilder::reportVisuallyNonEmptyContent gets called when we are done with all the style/content mutations and ready to check for the first paint threshold.

Maybe for now avoid doing this at all and let VNE take place in the next layout? it will be consistent with how RenderImage works today - it can also report the threshold in a network callback code path and VNE will be reported only by the next layout/progress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641068</commentid>
    <comment_count>29</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-13 13:22:07 -0700</bug_when>
    <thetext>(In reply to Noam Rosenthal from comment #28)
&gt; Comment on attachment 395151 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=395151&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/page/FrameView.h:960
&gt; &gt;&gt; +        checkAndDispatchDidReachVisuallyNonEmptyState();
&gt; &gt; 
&gt; &gt; I am not sure if it&apos;s the right place for this. It&apos;d be great if we could do something similar to what we do with the style/content mutations (RenderTreeBuilder::reportVisuallyNonEmptyContent gets called when we are done with all the style/content mutations and ready to check for the first paint threshold.
&gt; 
&gt; Maybe for now avoid doing this at all and let VNE take place in the next
&gt; layout? it will be consistent with how RenderImage works today - it can also
Yeah we could do that. (but eventually we have to find a way to explicitly trigger the VNE check because optional layouts are now suspended on visually empty content)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641070</commentid>
    <comment_count>30</comment_count>
      <attachid>395151</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-04-13 13:23:59 -0700</bug_when>
    <thetext>Comment on attachment 395151
Patch

^^^ as discussed above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641075</commentid>
    <comment_count>31</comment_count>
      <attachid>396325</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-13 13:34:52 -0700</bug_when>
    <thetext>Created attachment 396325
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641085</commentid>
    <comment_count>32</comment_count>
      <attachid>396325</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-13 13:46:33 -0700</bug_when>
    <thetext>Comment on attachment 396325
Patch for landing

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

&gt; Source/WebCore/rendering/RenderBox.cpp:1712
&gt; +    auto&amp; layers = style().backgroundLayers();
&gt; +    for (auto* layer = &amp;layers; layer; layer = layer-&gt;next()) {
&gt; +        if (layer-&gt;image() &amp;&amp; layer-&gt;image()-&gt;data() == image) {
&gt; +            // Since at this point we don&apos;t know the layout size of the box, use the background image size for the pixel-count heuristic.
&gt; +            incrementVisuallyNonEmptyPixelCountIfNeeded(flooredIntSize(layer-&gt;image()-&gt;imageSize(this, style().effectiveZoom())));
&gt; +            break;
&gt; +        }
&gt; +    }

This would be much nicer using a helper that find the image in the background fill layers (if we don&apos;t already have such a thing) and returns true if found.

&gt; Source/WebCore/rendering/RenderElement.h:189
&gt; +    bool didMarkVisuallyNonEmptyPixels() const { return m_didMarkVisuallyNonEmptyPixels; }
&gt; +    void setDidMarkVisuallyNonEmptyPixels() { m_didMarkVisuallyNonEmptyPixels = true; }

The &apos;mark&apos; here is a bit vague. Maybe didContributeTo? Once set, does this stick forever for this renderer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641094</commentid>
    <comment_count>33</comment_count>
      <attachid>396325</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-13 13:58:27 -0700</bug_when>
    <thetext>Comment on attachment 396325
Patch for landing

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

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:1712
&gt;&gt; +    }
&gt; 
&gt; This would be much nicer using a helper that find the image in the background fill layers (if we don&apos;t already have such a thing) and returns true if found.

Sure. No current helper, will add one.

&gt;&gt; Source/WebCore/rendering/RenderElement.h:189
&gt;&gt; +    void setDidMarkVisuallyNonEmptyPixels() { m_didMarkVisuallyNonEmptyPixels = true; }
&gt; 
&gt; The &apos;mark&apos; here is a bit vague. Maybe didContributeTo? Once set, does this stick forever for this renderer?

Yes, it sticks forever... same as it did so far for RenderImage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641104</commentid>
    <comment_count>34</comment_count>
      <attachid>396331</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-13 14:21:05 -0700</bug_when>
    <thetext>Created attachment 396331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641108</commentid>
    <comment_count>35</comment_count>
      <attachid>396331</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-13 14:28:02 -0700</bug_when>
    <thetext>Comment on attachment 396331
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:1727
&gt; +
&gt; +    

Extra blank line.

&gt; Source/WebCore/rendering/RenderBox.cpp:1734
&gt; +
&gt; +

Extra blank line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641121</commentid>
    <comment_count>36</comment_count>
      <attachid>396334</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-04-13 14:44:52 -0700</bug_when>
    <thetext>Created attachment 396334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641132</commentid>
    <comment_count>37</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-13 15:13:11 -0700</bug_when>
    <thetext>Committed r260045: &lt;https://trac.webkit.org/changeset/260045&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396334.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641133</commentid>
    <comment_count>38</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-13 15:14:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/61740814&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392267</attachid>
            <date>2020-03-03 05:54:20 -0800</date>
            <delta_ts>2020-03-03 06:26:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208501-20200303155418.patch</filename>
            <type>text/plain</type>
            <size>6372</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBlNmFhMmQzMDliZTYz
NTBiYzJjNGFlZGI1NjhjODliMzJmMWMwZi4uMDY1OGI2NmVhZjhhZjRkMDllZWMwOGMzNDYzY2Yz
ZWY3ODBmNjEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAzLTAzICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbZmlyc3QgcGFpbnRdIEJh
Y2tncm91bmQgaW1hZ2VzIHNob3VsZCBmaWd1cmUgaW50byB2aXN1YWxseSBub24gZW1wdHkgaGV1
cmlzdGljCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDg1MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIG1ha2VzIHRoZSB2aXN1YWxseSBub24tZW1wdHkgaGV1cmlzdGljIHRyZWF0IHN0eWxlIGlt
YWdlcyAoYmFja2dyb3VuZC9tYXNrL2JvcmRlcikgdGhlIHNhbWUKKyAgICAgICAgYXMgaXQgdHJl
YXRzIHJlZ3VsYXIgaW1hZ2VzLiBUaGlzIGlzIGluIGxpbmUgd2l0aCBmaXJzdCBjb250ZW50ZnVs
IHBhaW50IHNwZWMgaW4gcGFpbnQgdGltaW5nOgorICAgICAgICBodHRwczovL3czYy5naXRodWIu
aW8vcGFpbnQtdGltaW5nLy4gCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aW1hZ2VDaGFuZ2VkKToKKyAgICAgICAgICAg
ICAgICBDYWxsIGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQgZm9y
IGJhY2tncm91bmQvbWFzay9ib3JkZXIgaW1hZ2VzCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpSZW5kZXJF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmluY3JlbWVudFZpc3Vh
bGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJFbGVtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudElmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
aDoKKyAgICAgICAgICAgICAgICBNb3ZlZCBpbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudElmTmVlZGVkIGZyb20gUmVuZGVySW1hZ2UgdG8gUmVuZGVyRWxlbWVudAorCiAyMDIwLTAz
LTAyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ0NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAppbmRleCAwNjk3Mjg3MjQ0ZGFlOGU3Nzg0NmQ3NTE3MDc4ZGZjNDYyMDY5
YTZmLi4wMjA5MjZkNjJhYzg2MzNhMjM3MjE2OWI1NTM5MWUyMGZiYzkxZDRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMTcxNCw2ICsxNzE0LDggQEAgdm9pZCBS
ZW5kZXJCb3g6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIgaW1hZ2UsIGNvbnN0IEludFJl
Y3QqKQogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaW5jcmVtZW50VmlzdWFsbHlOb25F
bXB0eVBpeGVsQ291bnRJZk5lZWRlZChmbG9vcmVkSW50U2l6ZShzaXplKCkpKTsKKwogICAgIFNo
YXBlVmFsdWUqIHNoYXBlT3V0c2lkZVZhbHVlID0gc3R5bGUoKS5zaGFwZU91dHNpZGUoKTsKICAg
ICBpZiAoIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNJblJlbmRlclRyZWVM
YXlvdXQoKSAmJiBpc0Zsb2F0aW5nKCkgJiYgc2hhcGVPdXRzaWRlVmFsdWUgJiYgc2hhcGVPdXRz
aWRlVmFsdWUtPmltYWdlKCkgJiYgc2hhcGVPdXRzaWRlVmFsdWUtPmltYWdlKCktPmRhdGEoKSA9
PSBpbWFnZSkgewogICAgICAgICBTaGFwZU91dHNpZGVJbmZvOjplbnN1cmVJbmZvKCp0aGlzKS5t
YXJrU2hhcGVBc0RpcnR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHAKaW5kZXggZjk4YmY2ZTk1ZDYzNzZmOTA1Nzk1Mzc1ZTI2MGNlMGVjNjc5NGI0MC4uZTU4
ZDExNzAxZGE2N2QzN2E0MWZjMzVlZTE5MjQzN2JiMjYyYTk2YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTE2LDYgKzExNiw3IEBAIGlubGluZSBS
ZW5kZXJFbGVtZW50OjpSZW5kZXJFbGVtZW50KENvbnRhaW5lck5vZGUmIGVsZW1lbnRPckRvY3Vt
ZW50LCBSZW5kZXJTdHlsCiAgICAgLCBtX3JlbmRlckJsb2NrRmxvd0hhc01hcmt1cFRydW5jYXRp
b24oZmFsc2UpCiAgICAgLCBtX3JlbmRlckJsb2NrRmxvd0xpbmVMYXlvdXRQYXRoKFJlbmRlckJs
b2NrRmxvdzo6VW5kZXRlcm1pbmVkUGF0aCkKICAgICAsIG1faXNSZWdpc3RlcmVkRm9yVmlzaWJs
ZUluVmlld3BvcnRDYWxsYmFjayhmYWxzZSkKKyAgICAsIG1fZGlkSW5jcmVtZW50VmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnQoZmFsc2UpCiAgICAgLCBtX3Zpc2libGVJblZpZXdwb3J0U3RhdGUo
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFZpc2libGVJblZpZXdwb3J0U3RhdGU6OlVua25vd24pKQog
ICAgICwgbV9maXJzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX2xhc3RDaGlsZChudWxscHRyKQpA
QCAtODA2LDYgKzgwNywxNSBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnN0eWxlV2lsbENoYW5nZShT
dHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUmIG5ldwogICAgICAgICB2aWV3
KCkuZnJhbWVWaWV3KCkudXBkYXRlRXh0ZW5kQmFja2dyb3VuZElmTmVjZXNzYXJ5KCk7CiB9CiAK
K3ZvaWQgUmVuZGVyRWxlbWVudDo6aW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJ
Zk5lZWRlZChjb25zdCBJbnRTaXplJiBzaXplKQoreworICAgIGlmIChtX2RpZEluY3JlbWVudFZp
c3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KQorICAgICAgICByZXR1cm47CisKKyAgICB2aWV3KCku
ZnJhbWVWaWV3KCkuaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQoc2l6ZSk7Cisg
ICAgbV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA9IHRydWU7Cit9CisK
ICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHN0YXRpYyBib29sIGFyZU5vbklkZW50aWNhbEN1
cnNvckxpc3RzRXF1YWwoY29uc3QgUmVuZGVyU3R5bGUqIGEsIGNvbnN0IFJlbmRlclN0eWxlKiBi
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggNTcyYTVh
NDM3ZTY5ZTIwZTUyMTY0NDg3ZmI2ZmJjYTM3YmY3MTBlZC4uZTM0MDA0ZjMwMjVlZGRhNzRjODI1
ODk2NmNlODk5NWFiMzViZGMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5oCkBAIC0yNzQsNiArMjc0LDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgcmVuZGVyQmxv
Y2tIYXNNYXJnaW5CZWZvcmVRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyQmxvY2tIYXNN
YXJnaW5CZWZvcmVRdWlyazsgfQogICAgIGJvb2wgcmVuZGVyQmxvY2tIYXNNYXJnaW5BZnRlclF1
aXJrKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJCbG9ja0hhc01hcmdpbkFmdGVyUXVpcms7IH0K
ICAgICBib29sIHJlbmRlckJsb2NrU2hvdWxkRm9yY2VSZWxheW91dENoaWxkcmVuKCkgY29uc3Qg
eyByZXR1cm4gbV9yZW5kZXJCbG9ja1Nob3VsZEZvcmNlUmVsYXlvdXRDaGlsZHJlbjsgfQorICAg
IHZvaWQgaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChjb25zdCBJ
bnRTaXplJik7CiAKICAgICB2b2lkIHNldFJlbmRlckJsb2NrRmxvd0xpbmVMYXlvdXRQYXRoKHVu
c2lnbmVkIHUpIHsgbV9yZW5kZXJCbG9ja0Zsb3dMaW5lTGF5b3V0UGF0aCA9IHU7IH0KICAgICB2
b2lkIHNldFJlbmRlckJsb2NrRmxvd0hhc01hcmt1cFRydW5jYXRpb24oYm9vbCBiKSB7IG1fcmVu
ZGVyQmxvY2tGbG93SGFzTWFya3VwVHJ1bmNhdGlvbiA9IGI7IH0KQEAgLTM1MCw2ICszNTEsOCBA
QCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faXNSZWdpc3RlcmVkRm9yVmlzaWJsZUluVmlld3Bv
cnRDYWxsYmFjayA6IDE7CiAgICAgdW5zaWduZWQgbV92aXNpYmxlSW5WaWV3cG9ydFN0YXRlIDog
MjsKIAorICAgIHVuc2lnbmVkIG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291
bnQgOiAxOworCiAgICAgUmVuZGVyT2JqZWN0KiBtX2ZpcnN0Q2hpbGQ7CiAgICAgUmVuZGVyT2Jq
ZWN0KiBtX2xhc3RDaGlsZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHAKaW5kZXggYzgzMjU1OWM2YjNkYWQxYjYyOTFjMTY5NDYxOWMyODBkNTI1YWFkYS4uZWU5Mjk1
MDhjNDE5ODgwMTBmNDU1MjM0YTkxZDMyNTk3MGIxZjE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC05MDIsMTMgKzkwMiw0IEBAIFJlbmRlckJveCogUmVu
ZGVySW1hZ2U6OmVtYmVkZGVkQ29udGVudEJveCgpIGNvbnN0CiAgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKLXZvaWQgUmVuZGVySW1hZ2U6OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENv
dW50SWZOZWVkZWQoY29uc3QgSW50U2l6ZSYgc2l6ZSkKLXsKLSAgICBpZiAobV9kaWRJbmNyZW1l
bnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdmll
dygpLmZyYW1lVmlldygpLmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KHNpemUp
OwotICAgIG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQgPSB0cnVlOwot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5oCmluZGV4IDFkZDY2NWM5M2Q4YjQ0YzdjMjU1ZDcxZGE1N2Q4MmEzMzhhNjAyOTcuLjJi
NjFmYWUxMGI2ZTkyZDI4OTAxYTg4NzRhYTFlMDNkM2FhMDQ1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5oCkBAIC0xMDIsOCArMTAyLDYgQEAgcHJvdGVjdGVkOgogICAg
ICAgICBpbWFnZUNoYW5nZWQoaW1hZ2VSZXNvdXJjZSgpLmltYWdlUHRyKCkpOwogICAgIH0KIAot
ICAgIHZvaWQgaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChjb25z
dCBJbnRTaXplJik7Ci0KIHByaXZhdGU6CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJJbWFnZSI7IH0KIApAQCAtMTQ3LDcgKzE0NSw2
IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fYWx0VGV4dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UmVuZGVySW1hZ2VSZXNvdXJjZT4gbV9pbWFnZVJlc291cmNlOwogICAgIGJvb2wgbV9uZWVkc1Rv
U2V0U2l6ZUZvckFsdFRleHQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9kaWRJbmNyZW1lbnRWaXN1
YWxseU5vbkVtcHR5UGl4ZWxDb3VudCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzR2VuZXJhdGVk
Q29udGVudCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1NoYWRvd0NvbnRyb2xzIHsgZmFsc2Ug
fTsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbyB7IDEgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392268</attachid>
            <date>2020-03-03 06:26:19 -0800</date>
            <delta_ts>2020-03-03 10:15:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208501-20200303162617.patch</filename>
            <type>text/plain</type>
            <size>6352</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBlNmFhMmQzMDliZTYz
NTBiYzJjNGFlZGI1NjhjODliMzJmMWMwZi4uMDY1OGI2NmVhZjhhZjRkMDllZWMwOGMzNDYzY2Yz
ZWY3ODBmNjEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAzLTAzICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbZmlyc3QgcGFpbnRdIEJh
Y2tncm91bmQgaW1hZ2VzIHNob3VsZCBmaWd1cmUgaW50byB2aXN1YWxseSBub24gZW1wdHkgaGV1
cmlzdGljCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDg1MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIG1ha2VzIHRoZSB2aXN1YWxseSBub24tZW1wdHkgaGV1cmlzdGljIHRyZWF0IHN0eWxlIGlt
YWdlcyAoYmFja2dyb3VuZC9tYXNrL2JvcmRlcikgdGhlIHNhbWUKKyAgICAgICAgYXMgaXQgdHJl
YXRzIHJlZ3VsYXIgaW1hZ2VzLiBUaGlzIGlzIGluIGxpbmUgd2l0aCBmaXJzdCBjb250ZW50ZnVs
IHBhaW50IHNwZWMgaW4gcGFpbnQgdGltaW5nOgorICAgICAgICBodHRwczovL3czYy5naXRodWIu
aW8vcGFpbnQtdGltaW5nLy4gCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aW1hZ2VDaGFuZ2VkKToKKyAgICAgICAgICAg
ICAgICBDYWxsIGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQgZm9y
IGJhY2tncm91bmQvbWFzay9ib3JkZXIgaW1hZ2VzCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpSZW5kZXJF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmluY3JlbWVudFZpc3Vh
bGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJFbGVtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudElmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
aDoKKyAgICAgICAgICAgICAgICBNb3ZlZCBpbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudElmTmVlZGVkIGZyb20gUmVuZGVySW1hZ2UgdG8gUmVuZGVyRWxlbWVudAorCiAyMDIwLTAz
LTAyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ0NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAppbmRleCAwNjk3Mjg3MjQ0ZGFlOGU3Nzg0NmQ3NTE3MDc4ZGZjNDYyMDY5
YTZmLi4wMjA5MjZkNjJhYzg2MzNhMjM3MjE2OWI1NTM5MWUyMGZiYzkxZDRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMTcxNCw2ICsxNzE0LDggQEAgdm9pZCBS
ZW5kZXJCb3g6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIgaW1hZ2UsIGNvbnN0IEludFJl
Y3QqKQogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaW5jcmVtZW50VmlzdWFsbHlOb25F
bXB0eVBpeGVsQ291bnRJZk5lZWRlZChmbG9vcmVkSW50U2l6ZShzaXplKCkpKTsKKwogICAgIFNo
YXBlVmFsdWUqIHNoYXBlT3V0c2lkZVZhbHVlID0gc3R5bGUoKS5zaGFwZU91dHNpZGUoKTsKICAg
ICBpZiAoIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNJblJlbmRlclRyZWVM
YXlvdXQoKSAmJiBpc0Zsb2F0aW5nKCkgJiYgc2hhcGVPdXRzaWRlVmFsdWUgJiYgc2hhcGVPdXRz
aWRlVmFsdWUtPmltYWdlKCkgJiYgc2hhcGVPdXRzaWRlVmFsdWUtPmltYWdlKCktPmRhdGEoKSA9
PSBpbWFnZSkgewogICAgICAgICBTaGFwZU91dHNpZGVJbmZvOjplbnN1cmVJbmZvKCp0aGlzKS5t
YXJrU2hhcGVBc0RpcnR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHAKaW5kZXggZjk4YmY2ZTk1ZDYzNzZmOTA1Nzk1Mzc1ZTI2MGNlMGVjNjc5NGI0MC4uNGM2
NmVlMDAyYjJhZjA2YjQ3OWI2YjIzNjllOTMwZDA3Y2NmZDdjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTE3LDYgKzExNyw3IEBAIGlubGluZSBS
ZW5kZXJFbGVtZW50OjpSZW5kZXJFbGVtZW50KENvbnRhaW5lck5vZGUmIGVsZW1lbnRPckRvY3Vt
ZW50LCBSZW5kZXJTdHlsCiAgICAgLCBtX3JlbmRlckJsb2NrRmxvd0xpbmVMYXlvdXRQYXRoKFJl
bmRlckJsb2NrRmxvdzo6VW5kZXRlcm1pbmVkUGF0aCkKICAgICAsIG1faXNSZWdpc3RlcmVkRm9y
VmlzaWJsZUluVmlld3BvcnRDYWxsYmFjayhmYWxzZSkKICAgICAsIG1fdmlzaWJsZUluVmlld3Bv
cnRTdGF0ZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oVmlzaWJsZUluVmlld3BvcnRTdGF0ZTo6VW5r
bm93bikpCisgICAgLCBtX2RpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KGZh
bHNlKQogICAgICwgbV9maXJzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX2xhc3RDaGlsZChudWxs
cHRyKQogICAgICwgbV9zdHlsZShXVEZNb3ZlKHN0eWxlKSkKQEAgLTgwNiw2ICs4MDcsMTUgQEAg
dm9pZCBSZW5kZXJFbGVtZW50OjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYs
IGNvbnN0IFJlbmRlclN0eWxlJiBuZXcKICAgICAgICAgdmlldygpLmZyYW1lVmlldygpLnVwZGF0
ZUV4dGVuZEJhY2tncm91bmRJZk5lY2Vzc2FyeSgpOwogfQogCit2b2lkIFJlbmRlckVsZW1lbnQ6
OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3QgSW50U2l6
ZSYgc2l6ZSkKK3sKKyAgICBpZiAobV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgdmlldygpLmZyYW1lVmlldygpLmluY3JlbWVu
dFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KHNpemUpOworICAgIG1fZGlkSW5jcmVtZW50Vmlz
dWFsbHlOb25FbXB0eVBpeGVsQ291bnQgPSB0cnVlOworfQorCiAjaWYgIVBMQVRGT1JNKElPU19G
QU1JTFkpCiBzdGF0aWMgYm9vbCBhcmVOb25JZGVudGljYWxDdXJzb3JMaXN0c0VxdWFsKGNvbnN0
IFJlbmRlclN0eWxlKiBhLCBjb25zdCBSZW5kZXJTdHlsZSogYikKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDU3MmE1YTQzN2U2OWUyMGU1MjE2NDQ4N2Zi
NmZiY2EzN2JmNzEwZWQuLmUzNDAwNGYzMDI1ZWRkYTc0YzgyNTg5NjZjZTg5OTVhYjM1YmRjMjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMjc0LDYgKzI3
NCw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIHJlbmRlckJsb2NrSGFzTWFyZ2luQmVmb3JlUXVp
cmsoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlckJsb2NrSGFzTWFyZ2luQmVmb3JlUXVpcms7IH0K
ICAgICBib29sIHJlbmRlckJsb2NrSGFzTWFyZ2luQWZ0ZXJRdWlyaygpIGNvbnN0IHsgcmV0dXJu
IG1fcmVuZGVyQmxvY2tIYXNNYXJnaW5BZnRlclF1aXJrOyB9CiAgICAgYm9vbCByZW5kZXJCbG9j
a1Nob3VsZEZvcmNlUmVsYXlvdXRDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyQmxv
Y2tTaG91bGRGb3JjZVJlbGF5b3V0Q2hpbGRyZW47IH0KKyAgICB2b2lkIGluY3JlbWVudFZpc3Vh
bGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3QgSW50U2l6ZSYpOwogCiAgICAgdm9p
ZCBzZXRSZW5kZXJCbG9ja0Zsb3dMaW5lTGF5b3V0UGF0aCh1bnNpZ25lZCB1KSB7IG1fcmVuZGVy
QmxvY2tGbG93TGluZUxheW91dFBhdGggPSB1OyB9CiAgICAgdm9pZCBzZXRSZW5kZXJCbG9ja0Zs
b3dIYXNNYXJrdXBUcnVuY2F0aW9uKGJvb2wgYikgeyBtX3JlbmRlckJsb2NrRmxvd0hhc01hcmt1
cFRydW5jYXRpb24gPSBiOyB9CkBAIC0zNTAsNiArMzUxLDggQEAgcHJpdmF0ZToKICAgICB1bnNp
Z25lZCBtX2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2FsbGJhY2sgOiAxOwogICAg
IHVuc2lnbmVkIG1fdmlzaWJsZUluVmlld3BvcnRTdGF0ZSA6IDI7CiAKKyAgICB1bnNpZ25lZCBt
X2RpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50IDogMTsKKwogICAgIFJlbmRl
ck9iamVjdCogbV9maXJzdENoaWxkOwogICAgIFJlbmRlck9iamVjdCogbV9sYXN0Q2hpbGQ7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IGM4MzI1NTljNmIz
ZGFkMWI2MjkxYzE2OTQ2MTljMjgwZDUyNWFhZGEuLmVlOTI5NTA4YzQxOTg4MDEwZjQ1NTIzNGE5
MWQzMjU5NzBiMWYxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cApAQCAtOTAyLDEzICs5MDIsNCBAQCBSZW5kZXJCb3gqIFJlbmRlckltYWdlOjplbWJlZGRlZENv
bnRlbnRCb3goKSBjb25zdAogICAgIHJldHVybiBudWxscHRyOwogfQogCi12b2lkIFJlbmRlcklt
YWdlOjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKGNvbnN0IElu
dFNpemUmIHNpemUpCi17Ci0gICAgaWYgKG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBp
eGVsQ291bnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5pbmNy
ZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChzaXplKTsKLSAgICBtX2RpZEluY3JlbWVu
dFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50ID0gdHJ1ZTsKLX0KLQogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAppbmRleCAxZGQ2NjVj
OTNkOGI0NGM3YzI1NWQ3MWRhNTdkODJhMzM4YTYwMjk3Li4yYjYxZmFlMTBiNmU5MmQyODkwMWE4
ODc0YWExZTAzZDNhYTA0NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
aApAQCAtMTAyLDggKzEwMiw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgaW1hZ2VDaGFuZ2VkKGlt
YWdlUmVzb3VyY2UoKS5pbWFnZVB0cigpKTsKICAgICB9CiAKLSAgICB2b2lkIGluY3JlbWVudFZp
c3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3QgSW50U2l6ZSYpOwotCiBwcml2
YXRlOgogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAiUmVuZGVySW1hZ2UiOyB9CiAKQEAgLTE0Nyw3ICsxNDUsNiBAQCBwcml2YXRlOgogICAgIFN0
cmluZyBtX2FsdFRleHQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckltYWdlUmVzb3VyY2U+
IG1faW1hZ2VSZXNvdXJjZTsKICAgICBib29sIG1fbmVlZHNUb1NldFNpemVGb3JBbHRUZXh0IHsg
ZmFsc2UgfTsKLSAgICBib29sIG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291
bnQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0dlbmVyYXRlZENvbnRlbnQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9oYXNTaGFkb3dDb250cm9scyB7IGZhbHNlIH07CiAgICAgZmxvYXQgbV9pbWFn
ZURldmljZVBpeGVsUmF0aW8geyAxIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392289</attachid>
            <date>2020-03-03 10:15:28 -0800</date>
            <delta_ts>2020-03-04 06:14:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208501-20200303201527.patch</filename>
            <type>text/plain</type>
            <size>7564</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBlNmFhMmQzMDliZTYz
NTBiYzJjNGFlZGI1NjhjODliMzJmMWMwZi4uYjczYmJjMTAyNzBjYWFhMTQ3MWZmZTJhZThmZjNh
OTQ0MWRkMmZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAzLTAzICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBbZmlyc3QgcGFpbnRdIEJh
Y2tncm91bmQgaW1hZ2VzIHNob3VsZCBmaWd1cmUgaW50byB2aXN1YWxseSBub24gZW1wdHkgaGV1
cmlzdGljCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDg1MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIG1ha2VzIHRoZSB2aXN1YWxseSBub24tZW1wdHkgaGV1cmlzdGljIHRyZWF0IHN0eWxlIGlt
YWdlcyAoYmFja2dyb3VuZC9tYXNrL2JvcmRlcikgdGhlIHNhbWUKKyAgICAgICAgYXMgaXQgdHJl
YXRzIHJlZ3VsYXIgaW1hZ2VzLiBUaGlzIGlzIGluIGxpbmUgd2l0aCBmaXJzdCBjb250ZW50ZnVs
IHBhaW50IHNwZWMgaW4gcGFpbnQgdGltaW5nOgorICAgICAgICBodHRwczovL3czYy5naXRodWIu
aW8vcGFpbnQtdGltaW5nLy4gCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aW1hZ2VDaGFuZ2VkKToKKyAgICAgICAgICAg
ICAgICBDYWxsIGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQgZm9y
IGJhY2tncm91bmQvbWFzay9ib3JkZXIgaW1hZ2VzCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpSZW5kZXJF
bGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckVsZW1lbnQ6OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50
SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6
OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQpOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAgICAgICAgICAgICAgIE1vdmVk
IGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQgZnJvbSBSZW5kZXJJ
bWFnZSB0byBSZW5kZXJFbGVtZW50CisKIDIwMjAtMDMtMDIgIFJvYiBCdWlzICA8cmJ1aXNAaWdh
bGlhLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NDQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCAyYzUwY2JmZTMyMDJjMzZhN2U0
YjQxYzM1ZTkwOGFkNzA1ODFmMzMyLi5mMDRkNDVkYmM5ZjdkNTMyNTc2OTk2YjZhODgyODA3OGNk
ODViMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTk0NCw2ICs5NDQsOCBAQCBpbmxp
bmUgdm9pZCBGcmFtZVZpZXc6OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KGNv
bnN0IEludFNpemUmIHNpemUpCiAgICAgaWYgKG1fdmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQg
PiB2aXN1YWxQaXhlbFRocmVzaG9sZCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fdmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnQgKz0gc2l6ZS53aWR0aCgpICogc2l6ZS5oZWlnaHQoKTsKKyAgICBp
ZiAobV92aXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA+IHZpc3VhbFBpeGVsVGhyZXNob2xkICYm
ICFuZWVkc0xheW91dCgpKQorICAgICAgICBmaXJlTGF5b3V0UmVsYXRlZE1pbGVzdG9uZXNJZk5l
ZWRlZCgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCmluZGV4IDA2OTcyODcyNDRkYWU4ZTc3ODQ2ZDc1MTcwNzhkZmM0NjIw
NjlhNmYuLmE3YjQzMDBmYzJmNzIwNTMyZGJkMzUyZGU5MTJmNWMwZmI0NzhlMDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0xNzA4LDYgKzE3MDgsOSBAQCB2b2lk
IFJlbmRlckJveDo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciBpbWFnZSwgY29uc3QgSW50
UmVjdCopCiAgICAgaWYgKCFwYXJlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCisKKyAgICBpbmNy
ZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKGZsb29yZWRJbnRTaXplKHNp
emUoKSkpOworCiAgICAgaWYgKChzdHlsZSgpLmJvcmRlckltYWdlKCkuaW1hZ2UoKSAmJiBzdHls
ZSgpLmJvcmRlckltYWdlKCkuaW1hZ2UoKS0+ZGF0YSgpID09IGltYWdlKSB8fAogICAgICAgICAo
c3R5bGUoKS5tYXNrQm94SW1hZ2UoKS5pbWFnZSgpICYmIHN0eWxlKCkubWFza0JveEltYWdlKCku
aW1hZ2UoKS0+ZGF0YSgpID09IGltYWdlKSkgewogICAgICAgICByZXBhaW50KCk7CkBAIC0xNzMz
LDYgKzE3MzYsMTYgQEAgdm9pZCBSZW5kZXJCb3g6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQ
dHIgaW1hZ2UsIGNvbnN0IEludFJlY3QqKQogICAgICAgICBsYXllcigpLT5jb250ZW50Q2hhbmdl
ZChCYWNrZ3JvdW5kSW1hZ2VDaGFuZ2VkKTsKIH0KIAorCit2b2lkIFJlbmRlckJveDo6aW5jcmVt
ZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChjb25zdCBJbnRTaXplJiBzaXpl
KQoreworICAgIGlmIChkaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICB2aWV3KCkuZnJhbWVWaWV3KCkuaW5jcmVtZW50VmlzdWFs
bHlOb25FbXB0eVBpeGVsQ291bnQoc2l6ZSk7CisgICAgc2V0RGlkSW5jcmVtZW50VmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnQoKTsKK30KKwogYm9vbCBSZW5kZXJCb3g6OnJlcGFpbnRMYXllclJl
Y3RzRm9ySW1hZ2UoV3JhcHBlZEltYWdlUHRyIGltYWdlLCBjb25zdCBGaWxsTGF5ZXImIGxheWVy
cywgYm9vbCBkcmF3aW5nQmFja2dyb3VuZCkKIHsKICAgICBMYXlvdXRSZWN0IHJlbmRlcmVyUmVj
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBjNjZlYTVlNzczYjk1NjJh
MzFlMTUzNmRkNDg4YWEzODdkNDFjYmJjLi40ZjM4ZDQ2ZWM5OWM0YjgyNjFmYjc3OTE3YzdiZmQw
Y2Y2MGU0ZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC02OTAsNiAr
NjkwLDggQEAgcHJvdGVjdGVkOgogCiAgICAgYm9vbCBza2lwQ29udGFpbmluZ0Jsb2NrRm9yUGVy
Y2VudEhlaWdodENhbGN1bGF0aW9uKGNvbnN0IFJlbmRlckJveCYgY29udGFpbmluZ0Jsb2NrLCBi
b29sIGlzUGVycGVuZGljdWxhcldyaXRpbmdNb2RlKSBjb25zdDsKIAorICAgIHZvaWQgaW5jcmVt
ZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChjb25zdCBJbnRTaXplJik7CisK
IHByaXZhdGU6CiAgICAgYm9vbCByZXBsYWNlZE1pbk1heExvZ2ljYWxIZWlnaHRDb21wdXRlc0Fz
Tm9uZShTaXplVHlwZSkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcAppbmRleCBmOThiZjZlOTVkNjM3NmY5MDU3OTUzNzVlMjYwY2UwZWM2Nzk0YjQw
Li5kNGFhNjhiNmM5OTNiNWM0ZjkxZDViODY0M2UyYzVlY2ViN2YzYmVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0xMTcsNiArMTE3LDcgQEAgaW5s
aW5lIFJlbmRlckVsZW1lbnQ6OlJlbmRlckVsZW1lbnQoQ29udGFpbmVyTm9kZSYgZWxlbWVudE9y
RG9jdW1lbnQsIFJlbmRlclN0eWwKICAgICAsIG1fcmVuZGVyQmxvY2tGbG93TGluZUxheW91dFBh
dGgoUmVuZGVyQmxvY2tGbG93OjpVbmRldGVybWluZWRQYXRoKQogICAgICwgbV9pc1JlZ2lzdGVy
ZWRGb3JWaXNpYmxlSW5WaWV3cG9ydENhbGxiYWNrKGZhbHNlKQogICAgICwgbV92aXNpYmxlSW5W
aWV3cG9ydFN0YXRlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihWaXNpYmxlSW5WaWV3cG9ydFN0YXRl
OjpVbmtub3duKSkKKyAgICAsIG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291
bnQoZmFsc2UpCiAgICAgLCBtX2ZpcnN0Q2hpbGQobnVsbHB0cikKICAgICAsIG1fbGFzdENoaWxk
KG51bGxwdHIpCiAgICAgLCBtX3N0eWxlKFdURk1vdmUoc3R5bGUpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggNTcyYTVhNDM3ZTY5ZTIwZTUyMTY0NDg3ZmI2
ZmJjYTM3YmY3MTBlZC4uNjExMTdkZDYxNDBjYWQ4ZmI2MzY0MmIzYWIyNTIxOTRlZjJiMjhlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0xODQsNiArMTg0
LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmlzaWJsZUluVmlld3BvcnRTdGF0ZShWaXNpYmxl
SW5WaWV3cG9ydFN0YXRlKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaWJsZUluVmlld3BvcnRTdGF0
ZUNoYW5nZWQoKTsKIAorICAgIGJvb2wgZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnQoKSBjb25zdCB7IHJldHVybiBtX2RpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhl
bENvdW50OyB9CisgICAgdm9pZCBzZXREaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudCgpIHsgbV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA9IHRydWU7
IH0KKwogICAgIGJvb2wgcmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKGNv
bnN0IEludFJlY3QmIHZpc2libGVSZWN0LCBDYWNoZWRJbWFnZSYpOwogICAgIGJvb2wgaGFzUGF1
c2VkSW1hZ2VBbmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQYXVzZWRJbWFnZUFuaW1h
dGlvbnM7IH0KICAgICB2b2lkIHNldEhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyhib29sIGIpIHsg
bV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMgPSBiOyB9CkBAIC0zNTAsNiArMzUzLDggQEAgcHJp
dmF0ZToKICAgICB1bnNpZ25lZCBtX2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2Fs
bGJhY2sgOiAxOwogICAgIHVuc2lnbmVkIG1fdmlzaWJsZUluVmlld3BvcnRTdGF0ZSA6IDI7CiAK
KyAgICB1bnNpZ25lZCBtX2RpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50IDog
MTsKKwogICAgIFJlbmRlck9iamVjdCogbV9maXJzdENoaWxkOwogICAgIFJlbmRlck9iamVjdCog
bV9sYXN0Q2hpbGQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmlu
ZGV4IGM4MzI1NTljNmIzZGFkMWI2MjkxYzE2OTQ2MTljMjgwZDUyNWFhZGEuLmVlOTI5NTA4YzQx
OTg4MDEwZjQ1NTIzNGE5MWQzMjU5NzBiMWYxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcApAQCAtOTAyLDEzICs5MDIsNCBAQCBSZW5kZXJCb3gqIFJlbmRlcklt
YWdlOjplbWJlZGRlZENvbnRlbnRCb3goKSBjb25zdAogICAgIHJldHVybiBudWxscHRyOwogfQog
Ci12b2lkIFJlbmRlckltYWdlOjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElm
TmVlZGVkKGNvbnN0IEludFNpemUmIHNpemUpCi17Ci0gICAgaWYgKG1fZGlkSW5jcmVtZW50Vmlz
dWFsbHlOb25FbXB0eVBpeGVsQ291bnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIHZpZXcoKS5m
cmFtZVZpZXcoKS5pbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChzaXplKTsKLSAg
ICBtX2RpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50ID0gdHJ1ZTsKLX0KLQog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
aAppbmRleCAxZGQ2NjVjOTNkOGI0NGM3YzI1NWQ3MWRhNTdkODJhMzM4YTYwMjk3Li4yYjYxZmFl
MTBiNmU5MmQyODkwMWE4ODc0YWExZTAzZDNhYTA0NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuaApAQCAtMTAyLDggKzEwMiw2IEBAIHByb3RlY3RlZDoKICAgICAgICAg
aW1hZ2VDaGFuZ2VkKGltYWdlUmVzb3VyY2UoKS5pbWFnZVB0cigpKTsKICAgICB9CiAKLSAgICB2
b2lkIGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3QgSW50
U2l6ZSYpOwotCiBwcml2YXRlOgogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiAiUmVuZGVySW1hZ2UiOyB9CiAKQEAgLTE0Nyw3ICsxNDUsNiBAQCBw
cml2YXRlOgogICAgIFN0cmluZyBtX2FsdFRleHQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRl
ckltYWdlUmVzb3VyY2U+IG1faW1hZ2VSZXNvdXJjZTsKICAgICBib29sIG1fbmVlZHNUb1NldFNp
emVGb3JBbHRUZXh0IHsgZmFsc2UgfTsKLSAgICBib29sIG1fZGlkSW5jcmVtZW50VmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0dlbmVyYXRlZENvbnRl
bnQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNTaGFkb3dDb250cm9scyB7IGZhbHNlIH07CiAg
ICAgZmxvYXQgbV9pbWFnZURldmljZVBpeGVsUmF0aW8geyAxIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392403</attachid>
            <date>2020-03-04 06:14:41 -0800</date>
            <delta_ts>2020-03-04 11:43:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208501-20200304161439.patch</filename>
            <type>text/plain</type>
            <size>8312</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBlNmFhMmQzMDliZTYz
NTBiYzJjNGFlZGI1NjhjODliMzJmMWMwZi4uOTdmMjBiZDA4ZTcxZDgxY2ExYTFiZDZmMWYzZDk0
ZDg4OGFmYzgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAzLTAzICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBCYWNrZ3JvdW5kIGltYWdl
cyBzaG91bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3RpYworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTAxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtYWtlcyB0aGUg
dmlzdWFsbHkgbm9uLWVtcHR5IGhldXJpc3RpYyB0cmVhdCBzdHlsZSBpbWFnZXMgKGJhY2tncm91
bmQvbWFzay9ib3JkZXIpIHRoZSBzYW1lCisgICAgICAgIGFzIGl0IHRyZWF0cyByZWd1bGFyIGlt
YWdlcy4gVGhpcyBpcyBpbiBsaW5lIHdpdGggZmlyc3QgY29udGVudGZ1bCBwYWludCBzcGVjIGlu
IHBhaW50IHRpbWluZzoKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWlu
Zy8uIAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3g6OmltYWdlQ2hhbmdlZCk6CisgICAgICAgICAgICAgICAgQ2FsbCBpbmNy
ZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkIGZvciBiYWNrZ3JvdW5kL21h
c2svYm9yZGVyIGltYWdlcworCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bGVtZW50OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppbmNyZW1lbnRWaXN1
YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuaDoKKyAgICAgICAgICAgICAgICBNb3ZlZCBpbmNyZW1lbnRWaXN1
YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkIGZyb20gUmVuZGVySW1hZ2UgdG8gUmVuZGVy
RWxlbWVudAorCiAyMDIwLTAzLTAyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ0NwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggMmM1MGNiZmUzMjAyYzM2YTdlNGI0MWMzNWU5MDhhZDcw
NTgxZjMzMi4uZjA0ZDQ1ZGJjOWY3ZDUzMjU3Njk5NmI2YTg4MjgwNzhjZDg1YjA0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC05NDQsNiArOTQ0LDggQEAgaW5saW5lIHZvaWQgRnJhbWVW
aWV3OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChjb25zdCBJbnRTaXplJiBz
aXplKQogICAgIGlmIChtX3Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50ID4gdmlzdWFsUGl4ZWxU
aHJlc2hvbGQpCiAgICAgICAgIHJldHVybjsKICAgICBtX3Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENv
dW50ICs9IHNpemUud2lkdGgoKSAqIHNpemUuaGVpZ2h0KCk7CisgICAgaWYgKG1fdmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnQgPiB2aXN1YWxQaXhlbFRocmVzaG9sZCAmJiAhbmVlZHNMYXlvdXQo
KSkKKyAgICAgICAgZmlyZUxheW91dFJlbGF0ZWRNaWxlc3RvbmVzSWZOZWVkZWQoKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAppbmRleCAwNjk3Mjg3MjQ0ZGFlOGU3Nzg0NmQ3NTE3MDc4ZGZjNDYyMDY5YTZmLi5lODNjYmQz
ZDliNjEwMTgyNDZiOGJjMDg1NTZmZWQ0YTQ4M2YxZGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcApAQCAtMTcwOCw2ICsxNzA4LDIyIEBAIHZvaWQgUmVuZGVyQm94Ojpp
bWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRyIGltYWdlLCBjb25zdCBJbnRSZWN0KikKICAgICBp
ZiAoIXBhcmVudCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBhdXRvIGltYWdlU2l6ZSA9IFsm
XSAoKSB7CisgICAgICAgIGlmIChzdHlsZSgpLmJvcmRlckltYWdlKCkuaW1hZ2UoKSAmJiBzdHls
ZSgpLmJvcmRlckltYWdlKCkuaW1hZ2UoKS0+ZGF0YSgpID09IGltYWdlKQorICAgICAgICAgICAg
cmV0dXJuIHN0eWxlKCkuYm9yZGVySW1hZ2UoKS5pbWFnZSgpLT5pbWFnZVNpemUodGhpcywgc3R5
bGUoKS5lZmZlY3RpdmVab29tKCkpOworICAgICAgICBpZiAoc3R5bGUoKS5tYXNrQm94SW1hZ2Uo
KS5pbWFnZSgpICYmIHN0eWxlKCkubWFza0JveEltYWdlKCkuaW1hZ2UoKS0+ZGF0YSgpID09IGlt
YWdlKQorICAgICAgICAgICAgcmV0dXJuIHN0eWxlKCkubWFza0JveEltYWdlKCkuaW1hZ2UoKS0+
aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKTsKKyAgICAgICAgYXV0byYg
bGF5ZXJzID0gc3R5bGUoKS5iYWNrZ3JvdW5kTGF5ZXJzKCk7CisgICAgICAgIGZvciAoYXV0byog
bGF5ZXIgPSAmbGF5ZXJzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+bmV4dCgpKSB7CisgICAgICAg
ICAgICBpZiAobGF5ZXItPmltYWdlKCkgJiYgbGF5ZXItPmltYWdlKCktPmRhdGEoKSA9PSBpbWFn
ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbGF5ZXItPmltYWdlKCktPmltYWdlU2l6ZSh0aGlz
LCBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxGbG9hdFNpemU+KHNpemUoKSk7CisgICAgfTsKKworICAgIGlu
Y3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoZmxvb3JlZEludFNpemUo
aW1hZ2VTaXplKCkpKTsKKwogICAgIGlmICgoc3R5bGUoKS5ib3JkZXJJbWFnZSgpLmltYWdlKCkg
JiYgc3R5bGUoKS5ib3JkZXJJbWFnZSgpLmltYWdlKCktPmRhdGEoKSA9PSBpbWFnZSkgfHwKICAg
ICAgICAgKHN0eWxlKCkubWFza0JveEltYWdlKCkuaW1hZ2UoKSAmJiBzdHlsZSgpLm1hc2tCb3hJ
bWFnZSgpLmltYWdlKCktPmRhdGEoKSA9PSBpbWFnZSkpIHsKICAgICAgICAgcmVwYWludCgpOwpA
QCAtMTczMyw2ICsxNzQ5LDE2IEBAIHZvaWQgUmVuZGVyQm94OjppbWFnZUNoYW5nZWQoV3JhcHBl
ZEltYWdlUHRyIGltYWdlLCBjb25zdCBJbnRSZWN0KikKICAgICAgICAgbGF5ZXIoKS0+Y29udGVu
dENoYW5nZWQoQmFja2dyb3VuZEltYWdlQ2hhbmdlZCk7CiB9CiAKKwordm9pZCBSZW5kZXJCb3g6
OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3QgSW50U2l6
ZSYgc2l6ZSkKK3sKKyAgICBpZiAoZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291
bnQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdmlldygpLmZyYW1lVmlldygpLmluY3JlbWVu
dFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KHNpemUpOworICAgIHNldERpZEluY3JlbWVudFZp
c3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KCk7Cit9CisKIGJvb2wgUmVuZGVyQm94OjpyZXBhaW50
TGF5ZXJSZWN0c0ZvckltYWdlKFdyYXBwZWRJbWFnZVB0ciBpbWFnZSwgY29uc3QgRmlsbExheWVy
JiBsYXllcnMsIGJvb2wgZHJhd2luZ0JhY2tncm91bmQpCiB7CiAgICAgTGF5b3V0UmVjdCByZW5k
ZXJlclJlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggYzY2ZWE1ZTc3
M2I5NTYyYTMxZTE1MzZkZDQ4OGFhMzg3ZDQxY2JiYy4uNGYzOGQ0NmVjOTljNGI4MjYxZmI3Nzkx
N2M3YmZkMGNmNjBlNGQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAt
NjkwLDYgKzY5MCw4IEBAIHByb3RlY3RlZDoKIAogICAgIGJvb2wgc2tpcENvbnRhaW5pbmdCbG9j
a0ZvclBlcmNlbnRIZWlnaHRDYWxjdWxhdGlvbihjb25zdCBSZW5kZXJCb3gmIGNvbnRhaW5pbmdC
bG9jaywgYm9vbCBpc1BlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSkgY29uc3Q7CiAKKyAgICB2b2lk
IGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3QgSW50U2l6
ZSYpOworCiBwcml2YXRlOgogICAgIGJvb2wgcmVwbGFjZWRNaW5NYXhMb2dpY2FsSGVpZ2h0Q29t
cHV0ZXNBc05vbmUoU2l6ZVR5cGUpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5jcHAKaW5kZXggZjk4YmY2ZTk1ZDYzNzZmOTA1Nzk1Mzc1ZTI2MGNlMGVj
Njc5NGI0MC4uZDRhYTY4YjZjOTkzYjVjNGY5MWQ1Yjg2NDNlMmM1ZWNlYjdmM2JlZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTE3LDYgKzExNyw3
IEBAIGlubGluZSBSZW5kZXJFbGVtZW50OjpSZW5kZXJFbGVtZW50KENvbnRhaW5lck5vZGUmIGVs
ZW1lbnRPckRvY3VtZW50LCBSZW5kZXJTdHlsCiAgICAgLCBtX3JlbmRlckJsb2NrRmxvd0xpbmVM
YXlvdXRQYXRoKFJlbmRlckJsb2NrRmxvdzo6VW5kZXRlcm1pbmVkUGF0aCkKICAgICAsIG1faXNS
ZWdpc3RlcmVkRm9yVmlzaWJsZUluVmlld3BvcnRDYWxsYmFjayhmYWxzZSkKICAgICAsIG1fdmlz
aWJsZUluVmlld3BvcnRTdGF0ZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oVmlzaWJsZUluVmlld3Bv
cnRTdGF0ZTo6VW5rbm93bikpCisgICAgLCBtX2RpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQ
aXhlbENvdW50KGZhbHNlKQogICAgICwgbV9maXJzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX2xh
c3RDaGlsZChudWxscHRyKQogICAgICwgbV9zdHlsZShXVEZNb3ZlKHN0eWxlKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDU3MmE1YTQzN2U2OWUyMGU1MjE2
NDQ4N2ZiNmZiY2EzN2JmNzEwZWQuLjYxMTE3ZGQ2MTQwY2FkOGZiNjM2NDJiM2FiMjUyMTk0ZWYy
YjI4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMTg0
LDYgKzE4NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZpc2libGVJblZpZXdwb3J0U3RhdGUo
VmlzaWJsZUluVmlld3BvcnRTdGF0ZSk7CiAgICAgdmlydHVhbCB2b2lkIHZpc2libGVJblZpZXdw
b3J0U3RhdGVDaGFuZ2VkKCk7CiAKKyAgICBib29sIGRpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1w
dHlQaXhlbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVt
cHR5UGl4ZWxDb3VudDsgfQorICAgIHZvaWQgc2V0RGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0
eVBpeGVsQ291bnQoKSB7IG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQg
PSB0cnVlOyB9CisKICAgICBib29sIHJlcGFpbnRGb3JQYXVzZWRJbWFnZUFuaW1hdGlvbnNJZk5l
ZWRlZChjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCwgQ2FjaGVkSW1hZ2UmKTsKICAgICBib29s
IGhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUGF1c2VkSW1h
Z2VBbmltYXRpb25zOyB9CiAgICAgdm9pZCBzZXRIYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMoYm9v
bCBiKSB7IG1faGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zID0gYjsgfQpAQCAtMzUwLDYgKzM1Myw4
IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pc1JlZ2lzdGVyZWRGb3JWaXNpYmxlSW5WaWV3
cG9ydENhbGxiYWNrIDogMTsKICAgICB1bnNpZ25lZCBtX3Zpc2libGVJblZpZXdwb3J0U3RhdGUg
OiAyOwogCisgICAgdW5zaWduZWQgbV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudCA6IDE7CisKICAgICBSZW5kZXJPYmplY3QqIG1fZmlyc3RDaGlsZDsKICAgICBSZW5kZXJP
YmplY3QqIG1fbGFzdENoaWxkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
LmNwcAppbmRleCBjODMyNTU5YzZiM2RhZDFiNjI5MWMxNjk0NjE5YzI4MGQ1MjVhYWRhLi5lZTky
OTUwOGM0MTk4ODAxMGY0NTUyMzRhOTFkMzI1OTcwYjFmMTcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTkwMiwxMyArOTAyLDQgQEAgUmVuZGVyQm94KiBS
ZW5kZXJJbWFnZTo6ZW1iZWRkZWRDb250ZW50Qm94KCkgY29uc3QKICAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIAotdm9pZCBSZW5kZXJJbWFnZTo6aW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnRJZk5lZWRlZChjb25zdCBJbnRTaXplJiBzaXplKQotewotICAgIGlmIChtX2RpZEluY3Jl
bWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICB2
aWV3KCkuZnJhbWVWaWV3KCkuaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQoc2l6
ZSk7Ci0gICAgbV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA9IHRydWU7
Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmgKaW5kZXggMWRkNjY1YzkzZDhiNDRjN2MyNTVkNzFkYTU3ZDgyYTMzOGE2MDI5Ny4u
MmI2MWZhZTEwYjZlOTJkMjg5MDFhODg3NGFhMWUwM2QzYWEwNDVhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmgKQEAgLTEwMiw4ICsxMDIsNiBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIGltYWdlQ2hhbmdlZChpbWFnZVJlc291cmNlKCkuaW1hZ2VQdHIoKSk7CiAgICAgfQog
Ci0gICAgdm9pZCBpbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKGNv
bnN0IEludFNpemUmKTsKLQogcHJpdmF0ZToKICAgICBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlckltYWdlIjsgfQogCkBAIC0xNDcsNyArMTQ1
LDYgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9hbHRUZXh0OwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZW5kZXJJbWFnZVJlc291cmNlPiBtX2ltYWdlUmVzb3VyY2U7CiAgICAgYm9vbCBtX25lZWRz
VG9TZXRTaXplRm9yQWx0VGV4dCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2RpZEluY3JlbWVudFZp
c3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNHZW5lcmF0
ZWRDb250ZW50IHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzU2hhZG93Q29udHJvbHMgeyBmYWxz
ZSB9OwogICAgIGZsb2F0IG1faW1hZ2VEZXZpY2VQaXhlbFJhdGlvIHsgMSB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392451</attachid>
            <date>2020-03-04 11:44:04 -0800</date>
            <delta_ts>2020-04-01 02:38:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208501-20200304214402.patch</filename>
            <type>text/plain</type>
            <size>8287</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBlNmFhMmQzMDliZTYz
NTBiYzJjNGFlZGI1NjhjODliMzJmMWMwZi4uOTdmMjBiZDA4ZTcxZDgxY2ExYTFiZDZmMWYzZDk0
ZDg4OGFmYzgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAzLTAzICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBCYWNrZ3JvdW5kIGltYWdl
cyBzaG91bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3RpYworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTAxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtYWtlcyB0aGUg
dmlzdWFsbHkgbm9uLWVtcHR5IGhldXJpc3RpYyB0cmVhdCBzdHlsZSBpbWFnZXMgKGJhY2tncm91
bmQvbWFzay9ib3JkZXIpIHRoZSBzYW1lCisgICAgICAgIGFzIGl0IHRyZWF0cyByZWd1bGFyIGlt
YWdlcy4gVGhpcyBpcyBpbiBsaW5lIHdpdGggZmlyc3QgY29udGVudGZ1bCBwYWludCBzcGVjIGlu
IHBhaW50IHRpbWluZzoKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BhaW50LXRpbWlu
Zy8uIAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3g6OmltYWdlQ2hhbmdlZCk6CisgICAgICAgICAgICAgICAgQ2FsbCBpbmNy
ZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkIGZvciBiYWNrZ3JvdW5kL21h
c2svYm9yZGVyIGltYWdlcworCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bGVtZW50OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppbmNyZW1lbnRWaXN1
YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuaDoKKyAgICAgICAgICAgICAgICBNb3ZlZCBpbmNyZW1lbnRWaXN1
YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkIGZyb20gUmVuZGVySW1hZ2UgdG8gUmVuZGVy
RWxlbWVudAorCiAyMDIwLTAzLTAyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQ0NwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggMmM1MGNiZmUzMjAyYzM2YTdlNGI0MWMzNWU5MDhhZDcw
NTgxZjMzMi4uZjA0ZDQ1ZGJjOWY3ZDUzMjU3Njk5NmI2YTg4MjgwNzhjZDg1YjA0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC05NDQsNiArOTQ0LDggQEAgaW5saW5lIHZvaWQgRnJhbWVW
aWV3OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChjb25zdCBJbnRTaXplJiBz
aXplKQogICAgIGlmIChtX3Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50ID4gdmlzdWFsUGl4ZWxU
aHJlc2hvbGQpCiAgICAgICAgIHJldHVybjsKICAgICBtX3Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENv
dW50ICs9IHNpemUud2lkdGgoKSAqIHNpemUuaGVpZ2h0KCk7CisgICAgaWYgKG1fdmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnQgPiB2aXN1YWxQaXhlbFRocmVzaG9sZCAmJiAhbmVlZHNMYXlvdXQo
KSkKKyAgICAgICAgZmlyZUxheW91dFJlbGF0ZWRNaWxlc3RvbmVzSWZOZWVkZWQoKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAppbmRleCAwNjk3Mjg3MjQ0ZGFlOGU3Nzg0NmQ3NTE3MDc4ZGZjNDYyMDY5YTZmLi4yMDQ1NWIx
YjhkODQxZDU3ZjAyMGFkYmVmYzg0MGZmMmVlMTQ1MTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcApAQCAtMTcwOCw2ICsxNzA4LDI0IEBAIHZvaWQgUmVuZGVyQm94Ojpp
bWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRyIGltYWdlLCBjb25zdCBJbnRSZWN0KikKICAgICBp
ZiAoIXBhcmVudCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBhdXRvIGltYWdlU2l6ZSA9IFsm
XSAoKSB7CisgICAgICAgIGlmIChzdHlsZSgpLmJvcmRlckltYWdlKCkuaW1hZ2UoKSAmJiBzdHls
ZSgpLmJvcmRlckltYWdlKCkuaW1hZ2UoKS0+ZGF0YSgpID09IGltYWdlKQorICAgICAgICAgICAg
cmV0dXJuIHN0eWxlKCkuYm9yZGVySW1hZ2UoKS5pbWFnZSgpLT5pbWFnZVNpemUodGhpcywgc3R5
bGUoKS5lZmZlY3RpdmVab29tKCkpOworICAgICAgICBpZiAoc3R5bGUoKS5tYXNrQm94SW1hZ2Uo
KS5pbWFnZSgpICYmIHN0eWxlKCkubWFza0JveEltYWdlKCkuaW1hZ2UoKS0+ZGF0YSgpID09IGlt
YWdlKQorICAgICAgICAgICAgcmV0dXJuIHN0eWxlKCkubWFza0JveEltYWdlKCkuaW1hZ2UoKS0+
aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKTsKKyAgICAgICAgYXV0byYg
bGF5ZXJzID0gc3R5bGUoKS5iYWNrZ3JvdW5kTGF5ZXJzKCk7CisgICAgICAgIGZvciAoYXV0byog
bGF5ZXIgPSAmbGF5ZXJzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+bmV4dCgpKSB7CisgICAgICAg
ICAgICBpZiAobGF5ZXItPmltYWdlKCkgJiYgbGF5ZXItPmltYWdlKCktPmRhdGEoKSA9PSBpbWFn
ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbGF5ZXItPmltYWdlKCktPmltYWdlU2l6ZSh0aGlz
LCBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAg
IHJldHVybiBGbG9hdFNpemUoKTsKKyAgICB9OworCisgICAgY29uc3QgYXV0byBzaXplID0gaW1h
Z2VTaXplKCk7CisgICAgaWYgKCFzaXplLmlzRW1wdHkoKSkKKyAgICAgICAgaW5jcmVtZW50Vmlz
dWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChmbG9vcmVkSW50U2l6ZShpbWFnZVNpemUo
KSkpOworCiAgICAgaWYgKChzdHlsZSgpLmJvcmRlckltYWdlKCkuaW1hZ2UoKSAmJiBzdHlsZSgp
LmJvcmRlckltYWdlKCkuaW1hZ2UoKS0+ZGF0YSgpID09IGltYWdlKSB8fAogICAgICAgICAoc3R5
bGUoKS5tYXNrQm94SW1hZ2UoKS5pbWFnZSgpICYmIHN0eWxlKCkubWFza0JveEltYWdlKCkuaW1h
Z2UoKS0+ZGF0YSgpID09IGltYWdlKSkgewogICAgICAgICByZXBhaW50KCk7CkBAIC0xNzMzLDYg
KzE3NTEsMTYgQEAgdm9pZCBSZW5kZXJCb3g6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIg
aW1hZ2UsIGNvbnN0IEludFJlY3QqKQogICAgICAgICBsYXllcigpLT5jb250ZW50Q2hhbmdlZChC
YWNrZ3JvdW5kSW1hZ2VDaGFuZ2VkKTsKIH0KIAorCit2b2lkIFJlbmRlckJveDo6aW5jcmVtZW50
VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChjb25zdCBJbnRTaXplJiBzaXplKQor
eworICAgIGlmIChkaWRNYXJrVmlzdWFsbHlOb25FbXB0eVBpeGVscygpKQorICAgICAgICByZXR1
cm47CisKKyAgICB2aWV3KCkuZnJhbWVWaWV3KCkuaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBp
eGVsQ291bnQoc2l6ZSk7CisgICAgc2V0RGlkTWFya1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbHMoKTsK
K30KKwogYm9vbCBSZW5kZXJCb3g6OnJlcGFpbnRMYXllclJlY3RzRm9ySW1hZ2UoV3JhcHBlZElt
YWdlUHRyIGltYWdlLCBjb25zdCBGaWxsTGF5ZXImIGxheWVycywgYm9vbCBkcmF3aW5nQmFja2dy
b3VuZCkKIHsKICAgICBMYXlvdXRSZWN0IHJlbmRlcmVyUmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guaAppbmRleCBjNjZlYTVlNzczYjk1NjJhMzFlMTUzNmRkNDg4YWEzODdkNDFj
YmJjLi40ZjM4ZDQ2ZWM5OWM0YjgyNjFmYjc3OTE3YzdiZmQwY2Y2MGU0ZDkwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC02OTAsNiArNjkwLDggQEAgcHJvdGVjdGVkOgog
CiAgICAgYm9vbCBza2lwQ29udGFpbmluZ0Jsb2NrRm9yUGVyY2VudEhlaWdodENhbGN1bGF0aW9u
KGNvbnN0IFJlbmRlckJveCYgY29udGFpbmluZ0Jsb2NrLCBib29sIGlzUGVycGVuZGljdWxhcldy
aXRpbmdNb2RlKSBjb25zdDsKIAorICAgIHZvaWQgaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBp
eGVsQ291bnRJZk5lZWRlZChjb25zdCBJbnRTaXplJik7CisKIHByaXZhdGU6CiAgICAgYm9vbCBy
ZXBsYWNlZE1pbk1heExvZ2ljYWxIZWlnaHRDb21wdXRlc0FzTm9uZShTaXplVHlwZSkgY29uc3Q7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCBmOThi
ZjZlOTVkNjM3NmY5MDU3OTUzNzVlMjYwY2UwZWM2Nzk0YjQwLi5iYzc1N2M4OGY1OGZmMDczMWU1
OWVkODI1ZmJiMzI2Y2RiODJkZmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCkBAIC0xMTcsNiArMTE3LDcgQEAgaW5saW5lIFJlbmRlckVsZW1lbnQ6OlJl
bmRlckVsZW1lbnQoQ29udGFpbmVyTm9kZSYgZWxlbWVudE9yRG9jdW1lbnQsIFJlbmRlclN0eWwK
ICAgICAsIG1fcmVuZGVyQmxvY2tGbG93TGluZUxheW91dFBhdGgoUmVuZGVyQmxvY2tGbG93OjpV
bmRldGVybWluZWRQYXRoKQogICAgICwgbV9pc1JlZ2lzdGVyZWRGb3JWaXNpYmxlSW5WaWV3cG9y
dENhbGxiYWNrKGZhbHNlKQogICAgICwgbV92aXNpYmxlSW5WaWV3cG9ydFN0YXRlKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpVbmtub3duKSkKKyAgICAsIG1f
ZGlkTWFya1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbHMoZmFsc2UpCiAgICAgLCBtX2ZpcnN0Q2hpbGQo
bnVsbHB0cikKICAgICAsIG1fbGFzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX3N0eWxlKFdURk1v
dmUoc3R5bGUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXgg
NTcyYTVhNDM3ZTY5ZTIwZTUyMTY0NDg3ZmI2ZmJjYTM3YmY3MTBlZC4uOGY5NTgzM2NiM2MyOGI3
MDQ4YzllMGZjY2I2MGQxM2IxZDEwZDNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5oCkBAIC0xODQsNiArMTg0LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Vmlz
aWJsZUluVmlld3BvcnRTdGF0ZShWaXNpYmxlSW5WaWV3cG9ydFN0YXRlKTsKICAgICB2aXJ0dWFs
IHZvaWQgdmlzaWJsZUluVmlld3BvcnRTdGF0ZUNoYW5nZWQoKTsKIAorICAgIGJvb2wgZGlkTWFy
a1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbHMoKSBjb25zdCB7IHJldHVybiBtX2RpZE1hcmtWaXN1YWxs
eU5vbkVtcHR5UGl4ZWxzOyB9CisgICAgdm9pZCBzZXREaWRNYXJrVmlzdWFsbHlOb25FbXB0eVBp
eGVscygpIHsgbV9kaWRNYXJrVmlzdWFsbHlOb25FbXB0eVBpeGVscyA9IHRydWU7IH0KKwogICAg
IGJvb2wgcmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKGNvbnN0IEludFJl
Y3QmIHZpc2libGVSZWN0LCBDYWNoZWRJbWFnZSYpOwogICAgIGJvb2wgaGFzUGF1c2VkSW1hZ2VB
bmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnM7IH0K
ICAgICB2b2lkIHNldEhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyhib29sIGIpIHsgbV9oYXNQYXVz
ZWRJbWFnZUFuaW1hdGlvbnMgPSBiOyB9CkBAIC0zNTAsNiArMzUzLDggQEAgcHJpdmF0ZToKICAg
ICB1bnNpZ25lZCBtX2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2FsbGJhY2sgOiAx
OwogICAgIHVuc2lnbmVkIG1fdmlzaWJsZUluVmlld3BvcnRTdGF0ZSA6IDI7CiAKKyAgICB1bnNp
Z25lZCBtX2RpZE1hcmtWaXN1YWxseU5vbkVtcHR5UGl4ZWxzIDogMTsKKwogICAgIFJlbmRlck9i
amVjdCogbV9maXJzdENoaWxkOwogICAgIFJlbmRlck9iamVjdCogbV9sYXN0Q2hpbGQ7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IGM4MzI1NTljNmIzZGFk
MWI2MjkxYzE2OTQ2MTljMjgwZDUyNWFhZGEuLmVlOTI5NTA4YzQxOTg4MDEwZjQ1NTIzNGE5MWQz
MjU5NzBiMWYxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApA
QCAtOTAyLDEzICs5MDIsNCBAQCBSZW5kZXJCb3gqIFJlbmRlckltYWdlOjplbWJlZGRlZENvbnRl
bnRCb3goKSBjb25zdAogICAgIHJldHVybiBudWxscHRyOwogfQogCi12b2lkIFJlbmRlckltYWdl
OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKGNvbnN0IEludFNp
emUmIHNpemUpCi17Ci0gICAgaWYgKG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5pbmNyZW1l
bnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChzaXplKTsKLSAgICBtX2RpZEluY3JlbWVudFZp
c3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50ID0gdHJ1ZTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAppbmRleCAxZGQ2NjVjOTNk
OGI0NGM3YzI1NWQ3MWRhNTdkODJhMzM4YTYwMjk3Li4yYjYxZmFlMTBiNmU5MmQyODkwMWE4ODc0
YWExZTAzZDNhYTA0NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaApA
QCAtMTAyLDggKzEwMiw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgaW1hZ2VDaGFuZ2VkKGltYWdl
UmVzb3VyY2UoKS5pbWFnZVB0cigpKTsKICAgICB9CiAKLSAgICB2b2lkIGluY3JlbWVudFZpc3Vh
bGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3QgSW50U2l6ZSYpOwotCiBwcml2YXRl
OgogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAi
UmVuZGVySW1hZ2UiOyB9CiAKQEAgLTE0Nyw3ICsxNDUsNiBAQCBwcml2YXRlOgogICAgIFN0cmlu
ZyBtX2FsdFRleHQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlckltYWdlUmVzb3VyY2U+IG1f
aW1hZ2VSZXNvdXJjZTsKICAgICBib29sIG1fbmVlZHNUb1NldFNpemVGb3JBbHRUZXh0IHsgZmFs
c2UgfTsKLSAgICBib29sIG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0dlbmVyYXRlZENvbnRlbnQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9oYXNTaGFkb3dDb250cm9scyB7IGZhbHNlIH07CiAgICAgZmxvYXQgbV9pbWFnZURl
dmljZVBpeGVsUmF0aW8geyAxIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395151</attachid>
            <date>2020-04-01 02:38:16 -0700</date>
            <delta_ts>2020-04-13 13:34:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208501-20200401123815.patch</filename>
            <type>text/plain</type>
            <size>7852</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1OTMzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA0LTAxICBOb2FtIFJv
c2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBCYWNrZ3JvdW5kIGltYWdlcyBz
aG91bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3RpYworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtYWtlcyB0aGUgdmlz
dWFsbHkgbm9uLWVtcHR5IGhldXJpc3RpYyB0cmVhdCBiYWNrZ3JvdW5kIGltYWdlcyB0aGUgc2Ft
ZQorICAgICAgICBhcyBpdCB0cmVhdHMgcmVndWxhciBpbWFnZXMuIFRoaXMgaXMgaW4gbGluZSB3
aXRoIGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgc3BlYyBpbiBwYWludCB0aW1pbmc6CisgICAgICAg
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvLgorCisgICAgICAgIE5vdGUgdGhh
dCB0aGUgcGl4ZWwgY291bnQgaXMgY29tcHV0ZWQgYmFzZWQgb24gdGhlIGltYWdlIHNpemUgcmF0
aGVyIHRoYW4gdGhlIGJveCBzaXplLCBhcyB0aGUgYm94IHNpemUgbWlnaHQgbm90IGJlIGtub3du
IGF0IHRoaXMgdGltZS4KKyAgICAgICAgVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBwaXhlbCBy
ZXBvcnRpbmcgZG9uZSBmb3IgUmVuZGVySW1hZ2UuCisgICAgICAgIAorICAgICAgICBCb3JkZXIt
aW1hZ2VzIGFuZCBtYXNrcyBhcmUgZXhjbHVkZWQsIGFzIHBlciB0aGUgc3BlYy4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
OjppbWFnZUNoYW5nZWQpOgorICAgICAgICAgICAgICAgIENhbGwgaW5jcmVtZW50VmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZCBmb3IgYmFja2dyb3VuZCBpbWFnZXMKKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OlJlbmRlckVsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aW5jcmVtZW50VmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZTo6aW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5l
ZWRlZCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmg6CisgICAg
ICAgICAgICAgICAgTW92ZWQgaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5l
ZWRlZCBmcm9tIFJlbmRlckltYWdlIHRvIFJlbmRlckVsZW1lbnQKKworICAgICAgICAqIHBhZ2Uv
RnJhbWVWaWV3Lmg6CisgICAgICAgICAgICAgICAgVHJpZ2dlciBWTkUgY2hlY2sgaWYgcGl4ZWwg
dGhyZXNob3VsZCBpcyByZWFjaGVkIGZyb20gb3V0c2lkZSB0aGUgbGF5b3V0LgorCiAyMDIwLTAz
LTMxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1h
a2UgRnJhbWVWaWV3IGFuZCBGcmFtZSBUZXh0U3RyZWFtLWxvZ2dhYmxlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmgJKHJldmlzaW9uIDI1OTMzNykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTk1Niw2ICs5NTYsOCBAQCBpbmxpbmUgdm9p
ZCBGcmFtZVZpZXc6OmluY3JlbWVudFZpc3VhbGx5CiAgICAgaWYgKG1fdmlzdWFsbHlOb25FbXB0
eVBpeGVsQ291bnQgPiB2aXN1YWxQaXhlbFRocmVzaG9sZCkKICAgICAgICAgcmV0dXJuOwogICAg
IG1fdmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQgKz0gc2l6ZS53aWR0aCgpICogc2l6ZS5oZWln
aHQoKTsKKyAgICBpZiAobV92aXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA+IHZpc3VhbFBpeGVs
VGhyZXNob2xkICYmICFuZWVkc0xheW91dCgpICYmICFsYXlvdXRDb250ZXh0KCkuaXNJbkxheW91
dCgpKQorICAgICAgICBjaGVja0FuZERpc3BhdGNoRGlkUmVhY2hWaXN1YWxseU5vbkVtcHR5U3Rh
dGUoKTsKIH0KIAogV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYs
IGNvbnN0IEZyYW1lVmlldyYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAJKHJldmlzaW9uIDI1OTMzNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzA4LDYgKzE3MDgsMTUgQEAgdm9pZCBSZW5k
ZXJCb3g6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZwogICAgIGlmICghcGFyZW50KCkpCiAgICAg
ICAgIHJldHVybjsKIAorICAgIGF1dG8mIGxheWVycyA9IHN0eWxlKCkuYmFja2dyb3VuZExheWVy
cygpOworICAgIGZvciAoYXV0byogbGF5ZXIgPSAmbGF5ZXJzOyBsYXllcjsgbGF5ZXIgPSBsYXll
ci0+bmV4dCgpKSB7CisgICAgICAgIGlmIChsYXllci0+aW1hZ2UoKSAmJiBsYXllci0+aW1hZ2Uo
KS0+ZGF0YSgpID09IGltYWdlKSB7CisgICAgICAgICAgICAvLyBTaW5jZSBhdCB0aGlzIHBvaW50
IHdlIGRvbid0IGtub3cgdGhlIGxheW91dCBzaXplIG9mIHRoZSBib3gsIHVzZSB0aGUgYmFja2dy
b3VuZCBpbWFnZSBzaXplIGZvciB0aGUgcGl4ZWwtY291bnQgaGV1cmlzdGljLgorICAgICAgICAg
ICAgaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChmbG9vcmVkSW50
U2l6ZShsYXllci0+aW1hZ2UoKS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9v
bSgpKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgICAgIAog
ICAgIGlmICgoc3R5bGUoKS5ib3JkZXJJbWFnZSgpLmltYWdlKCkgJiYgc3R5bGUoKS5ib3JkZXJJ
bWFnZSgpLmltYWdlKCktPmRhdGEoKSA9PSBpbWFnZSkgfHwKICAgICAgICAgKHN0eWxlKCkubWFz
a0JveEltYWdlKCkuaW1hZ2UoKSAmJiBzdHlsZSgpLm1hc2tCb3hJbWFnZSgpLmltYWdlKCktPmRh
dGEoKSA9PSBpbWFnZSkpIHsKICAgICAgICAgcmVwYWludCgpOwpAQCAtMTczMyw2ICsxNzQyLDE2
IEBAIHZvaWQgUmVuZGVyQm94OjppbWFnZUNoYW5nZWQoV3JhcHBlZEltYWcKICAgICAgICAgbGF5
ZXIoKS0+Y29udGVudENoYW5nZWQoQmFja2dyb3VuZEltYWdlQ2hhbmdlZCk7CiB9CiAKKwordm9p
ZCBSZW5kZXJCb3g6OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQo
Y29uc3QgSW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBpZiAoZGlkTWFya1Zpc3VhbGx5Tm9uRW1wdHlQ
aXhlbHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdmlldygpLmZyYW1lVmlldygpLmluY3Jl
bWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KHNpemUpOworICAgIHNldERpZE1hcmtWaXN1
YWxseU5vbkVtcHR5UGl4ZWxzKCk7Cit9CisKIGJvb2wgUmVuZGVyQm94OjpyZXBhaW50TGF5ZXJS
ZWN0c0ZvckltYWdlKFdyYXBwZWRJbWFnZVB0ciBpbWFnZSwgY29uc3QgRmlsbExheWVyJiBsYXll
cnMsIGJvb2wgZHJhd2luZ0JhY2tncm91bmQpCiB7CiAgICAgTGF5b3V0UmVjdCByZW5kZXJlclJl
Y3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiAyNTkz
MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY5MCw2ICs2OTAsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICBib29sIHNraXBDb250YWlu
aW5nQmxvY2tGb3JQZXJjZW50SGVpZ2h0Q2FsY3VsYXRpb24oY29uc3QgUmVuZGVyQm94JiBjb250
YWluaW5nQmxvY2ssIGJvb2wgaXNQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUpIGNvbnN0OwogCisg
ICAgdm9pZCBpbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKGNvbnN0
IEludFNpemUmKTsKKwogcHJpdmF0ZToKICAgICBib29sIHJlcGxhY2VkTWluTWF4TG9naWNhbEhl
aWdodENvbXB1dGVzQXNOb25lKFNpemVUeXBlKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMjU5MzM3KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTcsNiArMTE3LDcgQEAgaW5saW5lIFJlbmRlckVsZW1lbnQ6OlJlbmRlckVsZW1lbnQoQ29u
dAogICAgICwgbV9yZW5kZXJCbG9ja0Zsb3dMaW5lTGF5b3V0UGF0aChSZW5kZXJCbG9ja0Zsb3c6
OlVuZGV0ZXJtaW5lZFBhdGgpCiAgICAgLCBtX2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdw
b3J0Q2FsbGJhY2soZmFsc2UpCiAgICAgLCBtX3Zpc2libGVJblZpZXdwb3J0U3RhdGUoc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KFZpc2libGVJblZpZXdwb3J0U3RhdGU6OlVua25vd24pKQorICAgICwg
bV9kaWRNYXJrVmlzdWFsbHlOb25FbXB0eVBpeGVscyhmYWxzZSkKICAgICAsIG1fZmlyc3RDaGls
ZChudWxscHRyKQogICAgICwgbV9sYXN0Q2hpbGQobnVsbHB0cikKICAgICAsIG1fc3R5bGUoV1RG
TW92ZShzdHlsZSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmgJKHJldmlzaW9uIDI1OTMzNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE4NCw2ICsxODQsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRWaXNpYmxlSW5WaWV3cG9ydFN0YXRlKFZpc2libGVJblZpZXdwb3J0U3RhdGUpOwog
ICAgIHZpcnR1YWwgdm9pZCB2aXNpYmxlSW5WaWV3cG9ydFN0YXRlQ2hhbmdlZCgpOwogCisgICAg
Ym9vbCBkaWRNYXJrVmlzdWFsbHlOb25FbXB0eVBpeGVscygpIGNvbnN0IHsgcmV0dXJuIG1fZGlk
TWFya1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbHM7IH0KKyAgICB2b2lkIHNldERpZE1hcmtWaXN1YWxs
eU5vbkVtcHR5UGl4ZWxzKCkgeyBtX2RpZE1hcmtWaXN1YWxseU5vbkVtcHR5UGl4ZWxzID0gdHJ1
ZTsgfQorCiAgICAgYm9vbCByZXBhaW50Rm9yUGF1c2VkSW1hZ2VBbmltYXRpb25zSWZOZWVkZWQo
Y29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QsIENhY2hlZEltYWdlJik7CiAgICAgYm9vbCBoYXNQ
YXVzZWRJbWFnZUFuaW1hdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2hhc1BhdXNlZEltYWdlQW5p
bWF0aW9uczsgfQogICAgIHZvaWQgc2V0SGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zKGJvb2wgYikg
eyBtX2hhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyA9IGI7IH0KQEAgLTM1MCw2ICszNTMsOCBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1faXNSZWdpc3RlcmVkRm9yVmlzaWJsZUluVmlld3BvcnRD
YWxsYmFjayA6IDE7CiAgICAgdW5zaWduZWQgbV92aXNpYmxlSW5WaWV3cG9ydFN0YXRlIDogMjsK
IAorICAgIHVuc2lnbmVkIG1fZGlkTWFya1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbHMgOiAxOworCiAg
ICAgUmVuZGVyT2JqZWN0KiBtX2ZpcnN0Q2hpbGQ7CiAgICAgUmVuZGVyT2JqZWN0KiBtX2xhc3RD
aGlsZDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShy
ZXZpc2lvbiAyNTkzMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDcsMTMgKzkwNyw0IEBAIFJlbmRlckJveCogUmVuZGVy
SW1hZ2U6OmVtYmVkZGVkQ29udGVudEIKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotdm9pZCBS
ZW5kZXJJbWFnZTo6aW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChj
b25zdCBJbnRTaXplJiBzaXplKQotewotICAgIGlmIChtX2RpZEluY3JlbWVudFZpc3VhbGx5Tm9u
RW1wdHlQaXhlbENvdW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICB2aWV3KCkuZnJhbWVWaWV3
KCkuaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQoc2l6ZSk7Ci0gICAgbV9kaWRJ
bmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA9IHRydWU7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5o
CShyZXZpc2lvbiAyNTkzMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1h
Z2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDggKzEwMiw2IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgaW1hZ2VDaGFuZ2VkKGltYWdlUmVzb3VyY2UoKS5pbWFnZVB0cigpKTsKICAgICB9CiAKLSAg
ICB2b2lkIGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3Qg
SW50U2l6ZSYpOwotCiBwcml2YXRlOgogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVySW1hZ2UiOyB9CiAKQEAgLTE0Nyw3ICsxNDUsNiBA
QCBwcml2YXRlOgogICAgIFN0cmluZyBtX2FsdFRleHQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJl
bmRlckltYWdlUmVzb3VyY2U+IG1faW1hZ2VSZXNvdXJjZTsKICAgICBib29sIG1fbmVlZHNUb1Nl
dFNpemVGb3JBbHRUZXh0IHsgZmFsc2UgfTsKLSAgICBib29sIG1fZGlkSW5jcmVtZW50VmlzdWFs
bHlOb25FbXB0eVBpeGVsQ291bnQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0dlbmVyYXRlZENv
bnRlbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNTaGFkb3dDb250cm9scyB7IGZhbHNlIH07
CiAgICAgZmxvYXQgbV9pbWFnZURldmljZVBpeGVsUmF0aW8geyAxIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396325</attachid>
            <date>2020-04-13 13:34:52 -0700</date>
            <delta_ts>2020-04-13 14:21:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-208501-20200413233451.patch</filename>
            <type>text/plain</type>
            <size>7061</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDAzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA0LTEzICBOb2FtIFJv
c2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBCYWNrZ3JvdW5kIGltYWdlcyBz
aG91bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3RpYworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgWmFsYW4gQnVqdGFzLgorCisgICAgICAgIFRoaXMgbWFrZXMgdGhlIHZpc3Vh
bGx5IG5vbi1lbXB0eSBoZXVyaXN0aWMgdHJlYXQgYmFja2dyb3VuZCBpbWFnZXMgdGhlIHNhbWUK
KyAgICAgICAgYXMgaXQgdHJlYXRzIHJlZ3VsYXIgaW1hZ2VzLiBUaGlzIGlzIGluIGxpbmUgd2l0
aCBmaXJzdCBjb250ZW50ZnVsIHBhaW50IHNwZWMgaW4gcGFpbnQgdGltaW5nOgorICAgICAgICBo
dHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGltaW5nLy4KKworICAgICAgICBOb3RlIHRoYXQg
dGhlIHBpeGVsIGNvdW50IGlzIGNvbXB1dGVkIGJhc2VkIG9uIHRoZSBpbWFnZSBzaXplIHJhdGhl
ciB0aGFuIHRoZSBib3ggc2l6ZSwgYXMgdGhlIGJveCBzaXplIG1pZ2h0IG5vdCBiZSBrbm93biBh
dCB0aGlzIHRpbWUuCisgICAgICAgIFRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgcGl4ZWwgcmVw
b3J0aW5nIGRvbmUgZm9yIFJlbmRlckltYWdlLgorICAgICAgICAKKyAgICAgICAgQm9yZGVyLWlt
YWdlcyBhbmQgbWFza3MgYXJlIGV4Y2x1ZGVkLCBhcyBwZXIgdGhlIHNwZWMuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
aW1hZ2VDaGFuZ2VkKToKKyAgICAgICAgICAgICAgICBDYWxsIGluY3JlbWVudFZpc3VhbGx5Tm9u
RW1wdHlQaXhlbENvdW50SWZOZWVkZWQgZm9yIGJhY2tncm91bmQgaW1hZ2VzCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bGVtZW50OjpSZW5kZXJFbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmluY3JlbWVudFZpc3VhbGx5Tm9u
RW1wdHlQaXhlbENvdW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3gu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVySW1hZ2U6OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVk
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAgICAg
ICAgICAgICAgIE1vdmVkIGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVk
ZWQgZnJvbSBSZW5kZXJJbWFnZSB0byBSZW5kZXJFbGVtZW50CisKIDIwMjAtMDQtMTMgIFBlciBB
cm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFJlbW92ZSB1
bnVzZWQgVVRUeXBlIHN3aXp6bGVyIGNvZGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCShyZXZpc2lvbiAyNjAwMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcwMiw2ICsxNzAyLDE1IEBAIHZv
aWQgUmVuZGVyQm94OjppbWFnZUNoYW5nZWQoV3JhcHBlZEltYWcKICAgICBpZiAoIXBhcmVudCgp
KQogICAgICAgICByZXR1cm47CiAKKyAgICBhdXRvJiBsYXllcnMgPSBzdHlsZSgpLmJhY2tncm91
bmRMYXllcnMoKTsKKyAgICBmb3IgKGF1dG8qIGxheWVyID0gJmxheWVyczsgbGF5ZXI7IGxheWVy
ID0gbGF5ZXItPm5leHQoKSkgeworICAgICAgICBpZiAobGF5ZXItPmltYWdlKCkgJiYgbGF5ZXIt
PmltYWdlKCktPmRhdGEoKSA9PSBpbWFnZSkgeworICAgICAgICAgICAgLy8gU2luY2UgYXQgdGhp
cyBwb2ludCB3ZSBkb24ndCBrbm93IHRoZSBsYXlvdXQgc2l6ZSBvZiB0aGUgYm94LCB1c2UgdGhl
IGJhY2tncm91bmQgaW1hZ2Ugc2l6ZSBmb3IgdGhlIHBpeGVsLWNvdW50IGhldXJpc3RpYy4KKyAg
ICAgICAgICAgIGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoZmxv
b3JlZEludFNpemUobGF5ZXItPmltYWdlKCktPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLmVmZmVj
dGl2ZVpvb20oKSkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAg
ICAgICAKICAgICBpZiAoKHN0eWxlKCkuYm9yZGVySW1hZ2UoKS5pbWFnZSgpICYmIHN0eWxlKCku
Ym9yZGVySW1hZ2UoKS5pbWFnZSgpLT5kYXRhKCkgPT0gaW1hZ2UpIHx8CiAgICAgICAgIChzdHls
ZSgpLm1hc2tCb3hJbWFnZSgpLmltYWdlKCkgJiYgc3R5bGUoKS5tYXNrQm94SW1hZ2UoKS5pbWFn
ZSgpLT5kYXRhKCkgPT0gaW1hZ2UpKSB7CiAgICAgICAgIHJlcGFpbnQoKTsKQEAgLTE3MjcsNiAr
MTczNiwxNiBAQCB2b2lkIFJlbmRlckJveDo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnCiAgICAg
ICAgIGxheWVyKCktPmNvbnRlbnRDaGFuZ2VkKEJhY2tncm91bmRJbWFnZUNoYW5nZWQpOwogfQog
CisKK3ZvaWQgUmVuZGVyQm94OjppbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElm
TmVlZGVkKGNvbnN0IEludFNpemUmIHNpemUpCit7CisgICAgaWYgKGRpZE1hcmtWaXN1YWxseU5v
bkVtcHR5UGl4ZWxzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHZpZXcoKS5mcmFtZVZpZXco
KS5pbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChzaXplKTsKKyAgICBzZXREaWRN
YXJrVmlzdWFsbHlOb25FbXB0eVBpeGVscygpOworfQorCiBib29sIFJlbmRlckJveDo6cmVwYWlu
dExheWVyUmVjdHNGb3JJbWFnZShXcmFwcGVkSW1hZ2VQdHIgaW1hZ2UsIGNvbnN0IEZpbGxMYXll
ciYgbGF5ZXJzLCBib29sIGRyYXdpbmdCYWNrZ3JvdW5kKQogewogICAgIExheW91dFJlY3QgcmVu
ZGVyZXJSZWN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkocmV2aXNp
b24gMjYwMDM1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02OTAsNiArNjkwLDggQEAgcHJvdGVjdGVkOgogCiAgICAgYm9vbCBza2lw
Q29udGFpbmluZ0Jsb2NrRm9yUGVyY2VudEhlaWdodENhbGN1bGF0aW9uKGNvbnN0IFJlbmRlckJv
eCYgY29udGFpbmluZ0Jsb2NrLCBib29sIGlzUGVycGVuZGljdWxhcldyaXRpbmdNb2RlKSBjb25z
dDsKIAorICAgIHZvaWQgaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRl
ZChjb25zdCBJbnRTaXplJik7CisKIHByaXZhdGU6CiAgICAgYm9vbCByZXBsYWNlZE1pbk1heExv
Z2ljYWxIZWlnaHRDb21wdXRlc0FzTm9uZShTaXplVHlwZSkgY29uc3Q7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2MDAzNSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTE4LDYgKzExOCw3IEBAIGlubGluZSBSZW5kZXJFbGVtZW50OjpSZW5kZXJFbGVt
ZW50KENvbnQKICAgICAsIG1fcmVuZGVyQmxvY2tGbG93TGluZUxheW91dFBhdGgoUmVuZGVyQmxv
Y2tGbG93OjpVbmRldGVybWluZWRQYXRoKQogICAgICwgbV9pc1JlZ2lzdGVyZWRGb3JWaXNpYmxl
SW5WaWV3cG9ydENhbGxiYWNrKGZhbHNlKQogICAgICwgbV92aXNpYmxlSW5WaWV3cG9ydFN0YXRl
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpVbmtub3duKSkK
KyAgICAsIG1fZGlkTWFya1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbHMoZmFsc2UpCiAgICAgLCBtX2Zp
cnN0Q2hpbGQobnVsbHB0cikKICAgICAsIG1fbGFzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX3N0
eWxlKFdURk1vdmUoc3R5bGUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oCShyZXZpc2lvbiAyNjAwMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODUsNiArMTg1LDkgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0VmlzaWJsZUluVmlld3BvcnRTdGF0ZShWaXNpYmxlSW5WaWV3cG9ydFN0
YXRlKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaWJsZUluVmlld3BvcnRTdGF0ZUNoYW5nZWQoKTsK
IAorICAgIGJvb2wgZGlkTWFya1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbHMoKSBjb25zdCB7IHJldHVy
biBtX2RpZE1hcmtWaXN1YWxseU5vbkVtcHR5UGl4ZWxzOyB9CisgICAgdm9pZCBzZXREaWRNYXJr
VmlzdWFsbHlOb25FbXB0eVBpeGVscygpIHsgbV9kaWRNYXJrVmlzdWFsbHlOb25FbXB0eVBpeGVs
cyA9IHRydWU7IH0KKwogICAgIGJvb2wgcmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lm
TmVlZGVkKGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0LCBDYWNoZWRJbWFnZSYpOwogICAgIGJv
b2wgaGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQYXVzZWRJ
bWFnZUFuaW1hdGlvbnM7IH0KICAgICB2b2lkIHNldEhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyhi
b29sIGIpIHsgbV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMgPSBiOyB9CkBAIC0zNTMsNiArMzU2
LDggQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZp
ZXdwb3J0Q2FsbGJhY2sgOiAxOwogICAgIHVuc2lnbmVkIG1fdmlzaWJsZUluVmlld3BvcnRTdGF0
ZSA6IDI7CiAKKyAgICB1bnNpZ25lZCBtX2RpZE1hcmtWaXN1YWxseU5vbkVtcHR5UGl4ZWxzIDog
MTsKKwogICAgIFJlbmRlck9iamVjdCogbV9maXJzdENoaWxkOwogICAgIFJlbmRlck9iamVjdCog
bV9sYXN0Q2hpbGQ7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
LmNwcAkocmV2aXNpb24gMjYwMDM1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTA5LDEzICs5MDksNCBAQCBSZW5kZXJCb3gq
IFJlbmRlckltYWdlOjplbWJlZGRlZENvbnRlbnRCCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAK
LXZvaWQgUmVuZGVySW1hZ2U6OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZO
ZWVkZWQoY29uc3QgSW50U2l6ZSYgc2l6ZSkKLXsKLSAgICBpZiAobV9kaWRJbmNyZW1lbnRWaXN1
YWxseU5vbkVtcHR5UGl4ZWxDb3VudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdmlldygpLmZy
YW1lVmlldygpLmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KHNpemUpOwotICAg
IG1fZGlkSW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQgPSB0cnVlOwotfQotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuaAkocmV2aXNpb24gMjYwMDM1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw4ICsxMDIsNiBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgIGltYWdlQ2hhbmdlZChpbWFnZVJlc291cmNlKCkuaW1hZ2VQdHIoKSk7CiAgICAg
fQogCi0gICAgdm9pZCBpbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVk
KGNvbnN0IEludFNpemUmKTsKLQogcHJpdmF0ZToKICAgICBjb25zdCBjaGFyKiByZW5kZXJOYW1l
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlckltYWdlIjsgfQogCkBAIC0xNDcsNyAr
MTQ1LDYgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9hbHRUZXh0OwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxSZW5kZXJJbWFnZVJlc291cmNlPiBtX2ltYWdlUmVzb3VyY2U7CiAgICAgYm9vbCBtX25l
ZWRzVG9TZXRTaXplRm9yQWx0VGV4dCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2RpZEluY3JlbWVu
dFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNHZW5l
cmF0ZWRDb250ZW50IHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzU2hhZG93Q29udHJvbHMgeyBm
YWxzZSB9OwogICAgIGZsb2F0IG1faW1hZ2VEZXZpY2VQaXhlbFJhdGlvIHsgMSB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396331</attachid>
            <date>2020-04-13 14:21:05 -0700</date>
            <delta_ts>2020-04-13 14:35:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208501-20200414002103.patch</filename>
            <type>text/plain</type>
            <size>7556</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDAzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA0LTEzICBOb2FtIFJv
c2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBCYWNrZ3JvdW5kIGltYWdlcyBz
aG91bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3RpYworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTm9ib2R5IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtYWtlcyB0aGUgdmlz
dWFsbHkgbm9uLWVtcHR5IGhldXJpc3RpYyB0cmVhdCBiYWNrZ3JvdW5kIGltYWdlcyB0aGUgc2Ft
ZQorICAgICAgICBhcyBpdCB0cmVhdHMgcmVndWxhciBpbWFnZXMuIFRoaXMgaXMgaW4gbGluZSB3
aXRoIGZpcnN0IGNvbnRlbnRmdWwgcGFpbnQgc3BlYyBpbiBwYWludCB0aW1pbmc6CisgICAgICAg
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYWludC10aW1pbmcvLgorCisgICAgICAgIE5vdGUgdGhh
dCB0aGUgcGl4ZWwgY291bnQgaXMgY29tcHV0ZWQgYmFzZWQgb24gdGhlIGltYWdlIHNpemUgcmF0
aGVyIHRoYW4gdGhlIGJveCBzaXplLCBhcyB0aGUgYm94IHNpemUgbWlnaHQgbm90IGJlIGtub3du
IGF0IHRoaXMgdGltZS4KKyAgICAgICAgVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBwaXhlbCBy
ZXBvcnRpbmcgZG9uZSBmb3IgUmVuZGVySW1hZ2UuCisgICAgICAgIAorICAgICAgICBCb3JkZXIt
aW1hZ2VzIGFuZCBtYXNrcyBhcmUgZXhjbHVkZWQsIGFzIHBlciB0aGUgc3BlYy4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
OjppbWFnZUNoYW5nZWQpOgorICAgICAgICAgICAgICAgIENhbGwgaW5jcmVtZW50VmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZCBmb3IgYmFja2dyb3VuZCBpbWFnZXMKKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OlJlbmRlckVsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aW5jcmVtZW50VmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZTo6aW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5l
ZWRlZCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmg6CisgICAg
ICAgICAgICAgICAgTW92ZWQgaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5l
ZWRlZCBmcm9tIFJlbmRlckltYWdlIHRvIFJlbmRlckVsZW1lbnQKKwogMjAyMC0wNC0xMyAgUGVy
IEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gUmVtb3Zl
IHVudXNlZCBVVFR5cGUgc3dpenpsZXIgY29kZQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDI2MDAzNSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjg4LDEzICsxNjg4LDEzIEBA
IHZvaWQgUmVuZGVyQm94OjpwYWludEZpbGxMYXllcihjb25zdCBQYWkKICAgICBwYWludEZpbGxM
YXllckV4dGVuZGVkKHBhaW50SW5mbywgYywgZmlsbExheWVyLCByZWN0LCBibGVlZEF2b2lkYW5j
ZSwgbnVsbHB0ciwgTGF5b3V0U2l6ZSgpLCBvcCwgYmFja2dyb3VuZE9iamVjdCwgYmFzZUJnQ29s
b3JVc2FnZSk7CiB9CiAKLXN0YXRpYyBib29sIGxheWVyc1VzZUltYWdlKFdyYXBwZWRJbWFnZVB0
ciBpbWFnZSwgY29uc3QgRmlsbExheWVyJiBsYXllcnMpCitzdGF0aWMgU3R5bGVJbWFnZSogZmlu
ZExheWVyVXNlZEltYWdlKFdyYXBwZWRJbWFnZVB0ciBpbWFnZSwgY29uc3QgRmlsbExheWVyJiBs
YXllcnMpCiB7CiAgICAgZm9yIChhdXRvKiBsYXllciA9ICZsYXllcnM7IGxheWVyOyBsYXllciA9
IGxheWVyLT5uZXh0KCkpIHsKICAgICAgICAgaWYgKGxheWVyLT5pbWFnZSgpICYmIGltYWdlID09
IGxheWVyLT5pbWFnZSgpLT5kYXRhKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgICAgIHJldHVybiBsYXllci0+aW1hZ2UoKTsKICAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwor
ICAgIHJldHVybiBudWxscHRyOwogfQogCiB2b2lkIFJlbmRlckJveDo6aW1hZ2VDaGFuZ2VkKFdy
YXBwZWRJbWFnZVB0ciBpbWFnZSwgY29uc3QgSW50UmVjdCopCkBAIC0xNzIxLDEwICsxNzIxLDI0
IEBAIHZvaWQgUmVuZGVyQm94OjppbWFnZUNoYW5nZWQoV3JhcHBlZEltYWcKICAgICBpZiAoIWlz
Q29tcG9zaXRlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobGF5ZXIoKS0+aGFzQ29t
cG9zaXRlZE1hc2soKSAmJiBsYXllcnNVc2VJbWFnZShpbWFnZSwgc3R5bGUoKS5tYXNrTGF5ZXJz
KCkpKQorICAgIGlmIChsYXllcigpLT5oYXNDb21wb3NpdGVkTWFzaygpICYmIGZpbmRMYXllclVz
ZWRJbWFnZShpbWFnZSwgc3R5bGUoKS5tYXNrTGF5ZXJzKCkpKQogICAgICAgICBsYXllcigpLT5j
b250ZW50Q2hhbmdlZChNYXNrSW1hZ2VDaGFuZ2VkKTsKLSAgICBpZiAobGF5ZXJzVXNlSW1hZ2Uo
aW1hZ2UsIHN0eWxlKCkuYmFja2dyb3VuZExheWVycygpKSkKKworICAgIAorICAgIGlmIChhdXRv
KiBzdHlsZUltYWdlID0gZmluZExheWVyVXNlZEltYWdlKGltYWdlLCBzdHlsZSgpLmJhY2tncm91
bmRMYXllcnMoKSkpIHsKICAgICAgICAgbGF5ZXIoKS0+Y29udGVudENoYW5nZWQoQmFja2dyb3Vu
ZEltYWdlQ2hhbmdlZCk7CisgICAgICAgIGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENv
dW50SWZOZWVkZWQoZmxvb3JlZEludFNpemUoc3R5bGVJbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0
eWxlKCkuZWZmZWN0aXZlWm9vbSgpKSkpOworICAgIH0KK30KKworCit2b2lkIFJlbmRlckJveDo6
aW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChjb25zdCBJbnRTaXpl
JiBzaXplKQoreworICAgIGlmIChkaWRDb250aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENv
dW50KCkpCisgICAgICAgIHJldHVybjsKKworICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5pbmNyZW1l
bnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChzaXplKTsKKyAgICBzZXREaWRDb250aWJ1dGVU
b1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KCk7CiB9CiAKIGJvb2wgUmVuZGVyQm94OjpyZXBh
aW50TGF5ZXJSZWN0c0ZvckltYWdlKFdyYXBwZWRJbWFnZVB0ciBpbWFnZSwgY29uc3QgRmlsbExh
eWVyJiBsYXllcnMsIGJvb2wgZHJhd2luZ0JhY2tncm91bmQpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiAyNjAwMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTY5MCw2ICs2OTAsOCBAQCBw
cm90ZWN0ZWQ6CiAKICAgICBib29sIHNraXBDb250YWluaW5nQmxvY2tGb3JQZXJjZW50SGVpZ2h0
Q2FsY3VsYXRpb24oY29uc3QgUmVuZGVyQm94JiBjb250YWluaW5nQmxvY2ssIGJvb2wgaXNQZXJw
ZW5kaWN1bGFyV3JpdGluZ01vZGUpIGNvbnN0OwogCisgICAgdm9pZCBpbmNyZW1lbnRWaXN1YWxs
eU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKGNvbnN0IEludFNpemUmKTsKKwogcHJpdmF0ZToK
ICAgICBib29sIHJlcGxhY2VkTWluTWF4TG9naWNhbEhlaWdodENvbXB1dGVzQXNOb25lKFNpemVU
eXBlKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcAkocmV2aXNpb24gMjYwMDM1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsNiArMTE4LDcgQEAgaW5saW5l
IFJlbmRlckVsZW1lbnQ6OlJlbmRlckVsZW1lbnQoQ29udAogICAgICwgbV9yZW5kZXJCbG9ja0Zs
b3dMaW5lTGF5b3V0UGF0aChSZW5kZXJCbG9ja0Zsb3c6OlVuZGV0ZXJtaW5lZFBhdGgpCiAgICAg
LCBtX2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2FsbGJhY2soZmFsc2UpCiAgICAg
LCBtX3Zpc2libGVJblZpZXdwb3J0U3RhdGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFZpc2libGVJ
blZpZXdwb3J0U3RhdGU6OlVua25vd24pKQorICAgICwgbV9kaWRDb250cmlidXRlVG9WaXN1YWxs
eU5vbkVtcHR5UGl4ZWxDb3VudChmYWxzZSkKICAgICAsIG1fZmlyc3RDaGlsZChudWxscHRyKQog
ICAgICwgbV9sYXN0Q2hpbGQobnVsbHB0cikKICAgICAsIG1fc3R5bGUoV1RGTW92ZShzdHlsZSkp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlzaW9u
IDI2MDAzNSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTE4NSw2ICsxODUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWaXNp
YmxlSW5WaWV3cG9ydFN0YXRlKFZpc2libGVJblZpZXdwb3J0U3RhdGUpOwogICAgIHZpcnR1YWwg
dm9pZCB2aXNpYmxlSW5WaWV3cG9ydFN0YXRlQ2hhbmdlZCgpOwogCisgICAgYm9vbCBkaWRDb250
aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9kaWRD
b250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudDsgfQorICAgIHZvaWQgc2V0RGlk
Q29udGlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCgpIHsgbV9kaWRDb250cmlidXRl
VG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA9IHRydWU7IH0KKwogICAgIGJvb2wgcmVwYWlu
dEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKGNvbnN0IEludFJlY3QmIHZpc2libGVS
ZWN0LCBDYWNoZWRJbWFnZSYpOwogICAgIGJvb2wgaGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zKCkg
Y29uc3QgeyByZXR1cm4gbV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnM7IH0KICAgICB2b2lkIHNl
dEhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyhib29sIGIpIHsgbV9oYXNQYXVzZWRJbWFnZUFuaW1h
dGlvbnMgPSBiOyB9CkBAIC0zNTMsNiArMzU2LDggQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBt
X2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2FsbGJhY2sgOiAxOwogICAgIHVuc2ln
bmVkIG1fdmlzaWJsZUluVmlld3BvcnRTdGF0ZSA6IDI7CiAKKyAgICB1bnNpZ25lZCBtX2RpZENv
bnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50IDogMTsKKwogICAgIFJlbmRlck9i
amVjdCogbV9maXJzdENoaWxkOwogICAgIFJlbmRlck9iamVjdCogbV9sYXN0Q2hpbGQ7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMjYw
MDM1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTA5LDEzICs5MDksNCBAQCBSZW5kZXJCb3gqIFJlbmRlckltYWdlOjplbWJl
ZGRlZENvbnRlbnRCCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXZvaWQgUmVuZGVySW1hZ2U6
OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3QgSW50U2l6
ZSYgc2l6ZSkKLXsKLSAgICBpZiAobV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdmlldygpLmZyYW1lVmlldygpLmluY3JlbWVu
dFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KHNpemUpOwotICAgIG1fZGlkSW5jcmVtZW50Vmlz
dWFsbHlOb25FbXB0eVBpeGVsQ291bnQgPSB0cnVlOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAkocmV2aXNpb24g
MjYwMDM1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEwMiw4ICsxMDIsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGltYWdlQ2hh
bmdlZChpbWFnZVJlc291cmNlKCkuaW1hZ2VQdHIoKSk7CiAgICAgfQogCi0gICAgdm9pZCBpbmNy
ZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKGNvbnN0IEludFNpemUmKTsK
LQogcHJpdmF0ZToKICAgICBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gIlJlbmRlckltYWdlIjsgfQogCkBAIC0xNDcsNyArMTQ1LDYgQEAgcHJpdmF0ZToK
ICAgICBTdHJpbmcgbV9hbHRUZXh0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJJbWFnZVJl
c291cmNlPiBtX2ltYWdlUmVzb3VyY2U7CiAgICAgYm9vbCBtX25lZWRzVG9TZXRTaXplRm9yQWx0
VGV4dCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2RpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQ
aXhlbENvdW50IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNHZW5lcmF0ZWRDb250ZW50IHsgZmFs
c2UgfTsKICAgICBib29sIG1faGFzU2hhZG93Q29udHJvbHMgeyBmYWxzZSB9OwogICAgIGZsb2F0
IG1faW1hZ2VEZXZpY2VQaXhlbFJhdGlvIHsgMSB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396334</attachid>
            <date>2020-04-13 14:44:52 -0700</date>
            <delta_ts>2020-04-13 15:13:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208501-20200414004450.patch</filename>
            <type>text/plain</type>
            <size>7550</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDAzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA0LTEzICBOb2FtIFJv
c2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBCYWNrZ3JvdW5kIGltYWdlcyBz
aG91bGQgZmlndXJlIGludG8gdmlzdWFsbHkgbm9uIGVtcHR5IGhldXJpc3RpYworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRoaXMgbWFrZXMgdGhlIHZpc3Vh
bGx5IG5vbi1lbXB0eSBoZXVyaXN0aWMgdHJlYXQgYmFja2dyb3VuZCBpbWFnZXMgdGhlIHNhbWUK
KyAgICAgICAgYXMgaXQgdHJlYXRzIHJlZ3VsYXIgaW1hZ2VzLiBUaGlzIGlzIGluIGxpbmUgd2l0
aCBmaXJzdCBjb250ZW50ZnVsIHBhaW50IHNwZWMgaW4gcGFpbnQgdGltaW5nOgorICAgICAgICBo
dHRwczovL3czYy5naXRodWIuaW8vcGFpbnQtdGltaW5nLy4KKworICAgICAgICBOb3RlIHRoYXQg
dGhlIHBpeGVsIGNvdW50IGlzIGNvbXB1dGVkIGJhc2VkIG9uIHRoZSBpbWFnZSBzaXplIHJhdGhl
ciB0aGFuIHRoZSBib3ggc2l6ZSwgYXMgdGhlIGJveCBzaXplIG1pZ2h0IG5vdCBiZSBrbm93biBh
dCB0aGlzIHRpbWUuCisgICAgICAgIFRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgcGl4ZWwgcmVw
b3J0aW5nIGRvbmUgZm9yIFJlbmRlckltYWdlLgorICAgICAgICAKKyAgICAgICAgQm9yZGVyLWlt
YWdlcyBhbmQgbWFza3MgYXJlIGV4Y2x1ZGVkLCBhcyBwZXIgdGhlIHNwZWMuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
aW1hZ2VDaGFuZ2VkKToKKyAgICAgICAgICAgICAgICBDYWxsIGluY3JlbWVudFZpc3VhbGx5Tm9u
RW1wdHlQaXhlbENvdW50SWZOZWVkZWQgZm9yIGJhY2tncm91bmQgaW1hZ2VzCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bGVtZW50OjpSZW5kZXJFbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmluY3JlbWVudFZpc3VhbGx5Tm9u
RW1wdHlQaXhlbENvdW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3gu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVySW1hZ2U6OmluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVk
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAgICAg
ICAgICAgICAgIE1vdmVkIGluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVk
ZWQgZnJvbSBSZW5kZXJJbWFnZSB0byBSZW5kZXJFbGVtZW50CisKIDIwMjAtMDQtMTMgIFBlciBB
cm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFJlbW92ZSB1
bnVzZWQgVVRUeXBlIHN3aXp6bGVyIGNvZGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCShyZXZpc2lvbiAyNjAwMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY4OCwxMyArMTY4OCwxMyBAQCB2
b2lkIFJlbmRlckJveDo6cGFpbnRGaWxsTGF5ZXIoY29uc3QgUGFpCiAgICAgcGFpbnRGaWxsTGF5
ZXJFeHRlbmRlZChwYWludEluZm8sIGMsIGZpbGxMYXllciwgcmVjdCwgYmxlZWRBdm9pZGFuY2Us
IG51bGxwdHIsIExheW91dFNpemUoKSwgb3AsIGJhY2tncm91bmRPYmplY3QsIGJhc2VCZ0NvbG9y
VXNhZ2UpOwogfQogCi1zdGF0aWMgYm9vbCBsYXllcnNVc2VJbWFnZShXcmFwcGVkSW1hZ2VQdHIg
aW1hZ2UsIGNvbnN0IEZpbGxMYXllciYgbGF5ZXJzKQorc3RhdGljIFN0eWxlSW1hZ2UqIGZpbmRM
YXllclVzZWRJbWFnZShXcmFwcGVkSW1hZ2VQdHIgaW1hZ2UsIGNvbnN0IEZpbGxMYXllciYgbGF5
ZXJzKQogewogICAgIGZvciAoYXV0byogbGF5ZXIgPSAmbGF5ZXJzOyBsYXllcjsgbGF5ZXIgPSBs
YXllci0+bmV4dCgpKSB7CiAgICAgICAgIGlmIChsYXllci0+aW1hZ2UoKSAmJiBpbWFnZSA9PSBs
YXllci0+aW1hZ2UoKS0+ZGF0YSgpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
ICAgICByZXR1cm4gbGF5ZXItPmltYWdlKCk7CiAgICAgfQotICAgIHJldHVybiBmYWxzZTsKKyAg
ICByZXR1cm4gbnVsbHB0cjsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmltYWdlQ2hhbmdlZChXcmFw
cGVkSW1hZ2VQdHIgaW1hZ2UsIGNvbnN0IEludFJlY3QqKQpAQCAtMTcyMSwxMCArMTcyMSwyMiBA
QCB2b2lkIFJlbmRlckJveDo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnCiAgICAgaWYgKCFpc0Nv
bXBvc2l0ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGxheWVyKCktPmhhc0NvbXBv
c2l0ZWRNYXNrKCkgJiYgbGF5ZXJzVXNlSW1hZ2UoaW1hZ2UsIHN0eWxlKCkubWFza0xheWVycygp
KSkKKyAgICBpZiAobGF5ZXIoKS0+aGFzQ29tcG9zaXRlZE1hc2soKSAmJiBmaW5kTGF5ZXJVc2Vk
SW1hZ2UoaW1hZ2UsIHN0eWxlKCkubWFza0xheWVycygpKSkKICAgICAgICAgbGF5ZXIoKS0+Y29u
dGVudENoYW5nZWQoTWFza0ltYWdlQ2hhbmdlZCk7Ci0gICAgaWYgKGxheWVyc1VzZUltYWdlKGlt
YWdlLCBzdHlsZSgpLmJhY2tncm91bmRMYXllcnMoKSkpCisgICAgCisgICAgaWYgKGF1dG8qIHN0
eWxlSW1hZ2UgPSBmaW5kTGF5ZXJVc2VkSW1hZ2UoaW1hZ2UsIHN0eWxlKCkuYmFja2dyb3VuZExh
eWVycygpKSkgewogICAgICAgICBsYXllcigpLT5jb250ZW50Q2hhbmdlZChCYWNrZ3JvdW5kSW1h
Z2VDaGFuZ2VkKTsKKyAgICAgICAgaW5jcmVtZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJ
Zk5lZWRlZChmbG9vcmVkSW50U2l6ZShzdHlsZUltYWdlLT5pbWFnZVNpemUodGhpcywgc3R5bGUo
KS5lZmZlY3RpdmVab29tKCkpKSk7CisgICAgfQorfQorCit2b2lkIFJlbmRlckJveDo6aW5jcmVt
ZW50VmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnRJZk5lZWRlZChjb25zdCBJbnRTaXplJiBzaXpl
KQoreworICAgIGlmIChkaWRDb250aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KCkp
CisgICAgICAgIHJldHVybjsKKworICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5pbmNyZW1lbnRWaXN1
YWxseU5vbkVtcHR5UGl4ZWxDb3VudChzaXplKTsKKyAgICBzZXREaWRDb250aWJ1dGVUb1Zpc3Vh
bGx5Tm9uRW1wdHlQaXhlbENvdW50KCk7CiB9CiAKIGJvb2wgUmVuZGVyQm94OjpyZXBhaW50TGF5
ZXJSZWN0c0ZvckltYWdlKFdyYXBwZWRJbWFnZVB0ciBpbWFnZSwgY29uc3QgRmlsbExheWVyJiBs
YXllcnMsIGJvb2wgZHJhd2luZ0JhY2tncm91bmQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oCShyZXZpc2lvbiAyNjAwMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTY5MCw2ICs2OTAsOCBAQCBwcm90ZWN0
ZWQ6CiAKICAgICBib29sIHNraXBDb250YWluaW5nQmxvY2tGb3JQZXJjZW50SGVpZ2h0Q2FsY3Vs
YXRpb24oY29uc3QgUmVuZGVyQm94JiBjb250YWluaW5nQmxvY2ssIGJvb2wgaXNQZXJwZW5kaWN1
bGFyV3JpdGluZ01vZGUpIGNvbnN0OwogCisgICAgdm9pZCBpbmNyZW1lbnRWaXN1YWxseU5vbkVt
cHR5UGl4ZWxDb3VudElmTmVlZGVkKGNvbnN0IEludFNpemUmKTsKKwogcHJpdmF0ZToKICAgICBi
b29sIHJlcGxhY2VkTWluTWF4TG9naWNhbEhlaWdodENvbXB1dGVzQXNOb25lKFNpemVUeXBlKSBj
b25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNw
cAkocmV2aXNpb24gMjYwMDM1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsNiArMTE4LDcgQEAgaW5saW5lIFJlbmRl
ckVsZW1lbnQ6OlJlbmRlckVsZW1lbnQoQ29udAogICAgICwgbV9yZW5kZXJCbG9ja0Zsb3dMaW5l
TGF5b3V0UGF0aChSZW5kZXJCbG9ja0Zsb3c6OlVuZGV0ZXJtaW5lZFBhdGgpCiAgICAgLCBtX2lz
UmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2FsbGJhY2soZmFsc2UpCiAgICAgLCBtX3Zp
c2libGVJblZpZXdwb3J0U3RhdGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFZpc2libGVJblZpZXdw
b3J0U3RhdGU6OlVua25vd24pKQorICAgICwgbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVt
cHR5UGl4ZWxDb3VudChmYWxzZSkKICAgICAsIG1fZmlyc3RDaGlsZChudWxscHRyKQogICAgICwg
bV9sYXN0Q2hpbGQobnVsbHB0cikKICAgICAsIG1fc3R5bGUoV1RGTW92ZShzdHlsZSkpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlzaW9uIDI2MDAz
NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE4NSw2ICsxODUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWaXNpYmxlSW5W
aWV3cG9ydFN0YXRlKFZpc2libGVJblZpZXdwb3J0U3RhdGUpOwogICAgIHZpcnR1YWwgdm9pZCB2
aXNpYmxlSW5WaWV3cG9ydFN0YXRlQ2hhbmdlZCgpOwogCisgICAgYm9vbCBkaWRDb250aWJ1dGVU
b1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9kaWRDb250cmli
dXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudDsgfQorICAgIHZvaWQgc2V0RGlkQ29udGli
dXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCgpIHsgbV9kaWRDb250cmlidXRlVG9WaXN1
YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA9IHRydWU7IH0KKwogICAgIGJvb2wgcmVwYWludEZvclBh
dXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0LCBD
YWNoZWRJbWFnZSYpOwogICAgIGJvb2wgaGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zKCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnM7IH0KICAgICB2b2lkIHNldEhhc1Bh
dXNlZEltYWdlQW5pbWF0aW9ucyhib29sIGIpIHsgbV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMg
PSBiOyB9CkBAIC0zNTMsNiArMzU2LDggQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2lzUmVn
aXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2FsbGJhY2sgOiAxOwogICAgIHVuc2lnbmVkIG1f
dmlzaWJsZUluVmlld3BvcnRTdGF0ZSA6IDI7CiAKKyAgICB1bnNpZ25lZCBtX2RpZENvbnRyaWJ1
dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50IDogMTsKKwogICAgIFJlbmRlck9iamVjdCog
bV9maXJzdENoaWxkOwogICAgIFJlbmRlck9iamVjdCogbV9sYXN0Q2hpbGQ7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMjYwMDM1KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtOTA5LDEzICs5MDksNCBAQCBSZW5kZXJCb3gqIFJlbmRlckltYWdlOjplbWJlZGRlZENv
bnRlbnRCCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXZvaWQgUmVuZGVySW1hZ2U6OmluY3Jl
bWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50SWZOZWVkZWQoY29uc3QgSW50U2l6ZSYgc2l6
ZSkKLXsKLSAgICBpZiAobV9kaWRJbmNyZW1lbnRWaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgdmlldygpLmZyYW1lVmlldygpLmluY3JlbWVudFZpc3Vh
bGx5Tm9uRW1wdHlQaXhlbENvdW50KHNpemUpOwotICAgIG1fZGlkSW5jcmVtZW50VmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnQgPSB0cnVlOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAkocmV2aXNpb24gMjYwMDM1
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEwMiw4ICsxMDIsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGltYWdlQ2hhbmdlZChp
bWFnZVJlc291cmNlKCkuaW1hZ2VQdHIoKSk7CiAgICAgfQogCi0gICAgdm9pZCBpbmNyZW1lbnRW
aXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudElmTmVlZGVkKGNvbnN0IEludFNpemUmKTsKLQogcHJp
dmF0ZToKICAgICBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gIlJlbmRlckltYWdlIjsgfQogCkBAIC0xNDcsNyArMTQ1LDYgQEAgcHJpdmF0ZToKICAgICBT
dHJpbmcgbV9hbHRUZXh0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJJbWFnZVJlc291cmNl
PiBtX2ltYWdlUmVzb3VyY2U7CiAgICAgYm9vbCBtX25lZWRzVG9TZXRTaXplRm9yQWx0VGV4dCB7
IGZhbHNlIH07Ci0gICAgYm9vbCBtX2RpZEluY3JlbWVudFZpc3VhbGx5Tm9uRW1wdHlQaXhlbENv
dW50IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNHZW5lcmF0ZWRDb250ZW50IHsgZmFsc2UgfTsK
ICAgICBib29sIG1faGFzU2hhZG93Q29udHJvbHMgeyBmYWxzZSB9OwogICAgIGZsb2F0IG1faW1h
Z2VEZXZpY2VQaXhlbFJhdGlvIHsgMSB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>