<?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>221294</bug_id>
          
          <creation_ts>2021-02-02 13:40:13 -0800</creation_ts>
          <short_desc>conic-gradient with stops starting after 1turn is blank</short_desc>
          <delta_ts>2021-03-25 13:46:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>Safari 14</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Nguyen (:ntim)">ntim</reporter>
          <assigned_to name="Tim Nguyen (:ntim)">ntim</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gsnedders</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1724875</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-02-02 13:40:13 -0800</bug_when>
    <thetext>Testcase URL:

data:text/html,&lt;div style=&quot;width: 200px;height: 200px; background: conic-gradient(red 1.1turn, orange 1.2turn);&quot;/&gt;


Associated WPT: https://searchfox.org/mozilla-central/source/testing/web-platform/tests/css/css-images/normalization-conic-2.html


I think Chrome and Firefox behavior of rendering the first stop color is reasonable since it&apos;s consistent with how linear or radial gradients are handled (in all browsers):

data:text/html,&lt;div style=&quot;width: 200px;height: 200px; background: linear-gradient(red 300px, orange 310px);&quot;/&gt;

data:text/html,&lt;div style=&quot;width: 200px;height: 200px; background: radial-gradient(red 300px, orange 310px);&quot;/&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727212</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-09 13:41:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/74157218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742240</commentid>
    <comment_count>2</comment_count>
      <attachid>423887</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-22 08:39:50 -0700</bug_when>
    <thetext>Created attachment 423887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742353</commentid>
    <comment_count>3</comment_count>
      <attachid>423887</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-22 12:05:43 -0700</bug_when>
    <thetext>Comment on attachment 423887
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Tests: web-platform-tests/css/css-images/normalization-conic-2.html

Please add a description here of the bug and what you changed to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742412</commentid>
    <comment_count>4</comment_count>
      <attachid>423887</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-03-22 13:12:21 -0700</bug_when>
    <thetext>Comment on attachment 423887
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        Tests: web-platform-tests/css/css-images/normalization-conic-2.html
&gt; 
&gt; Please add a description here of the bug and what you changed to fix it.

The test is currently marked failing in LayoutTests/TestExpectations. The patch should remove that line so the test runs.

&gt; Source/WebCore/css/CSSGradientValue.cpp:243
&gt; +        while (firstZeroOrGreaterIndex &lt; numStops &amp;&amp; * stops[firstZeroOrGreaterIndex].offset &lt; 0) {

WebKit coding style is &apos;*stops&apos; without a space. See https://webkit.org/code-style-guidelines/ for more.

&gt; Source/WebCore/css/CSSGradientValue.cpp:245
&gt; +            firstZeroOrGreaterIndex++;
&gt;          }

&quot;One-line control clauses should not use braces unless comments are included or a single statement spans multiple lines&quot;

&gt; Source/WebCore/css/CSSGradientValue.cpp:271
&gt; +        while (lastOneOrLessIndex &gt; 0 &amp;&amp; *stops[lastOneOrLessIndex].offset &gt; 1) {
&gt; +            lastOneOrLessIndex--;
&gt;          }

same here

&gt; Source/WebCore/css/CSSGradientValue.cpp:290
&gt; -                    stops[i].offset = 1;
&gt; +                    *stops[i].offset = 1;

I suppose this saves a branch if we know stop Optionals are already initialized. Not sure if that is meaningful, at least it should be done consistently in other offset assignments in this function too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742427</commentid>
    <comment_count>5</comment_count>
      <attachid>423928</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-22 13:26:46 -0700</bug_when>
    <thetext>Created attachment 423928
Patch v2

There were some unintended changes in the previous patch, undid them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742439</commentid>
    <comment_count>6</comment_count>
      <attachid>423931</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-22 13:33:29 -0700</bug_when>
    <thetext>Created attachment 423931
Patch v2.1

I submitted the wrong patch earlier, sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742451</commentid>
    <comment_count>7</comment_count>
      <attachid>423931</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-03-22 13:50:01 -0700</bug_when>
    <thetext>Comment on attachment 423931
Patch v2.1

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

&gt; LayoutTests/TestExpectations:-4467
&gt; -webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/normalization-conic-2.html [ ImageOnlyFailure ]

You should re-run prepare-ChangeLog to update LayoutTests/ChangeLog too.

&gt; Source/WebCore/ChangeLog:9
&gt; +        1. Notably fixes the case where all stops have an offset above 1.

You should explain what the bug was and what you changed to fix it.

&gt; Source/WebCore/ChangeLog:10
&gt; +        2. Remove trailing whitespace from CSSGradientValue.cpp

No need to mention this sort of things.

&gt; Source/WebCore/ChangeLog:11
&gt; +        3. Adjust test expectations.

This is for LayoutTests/ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742496</commentid>
    <comment_count>8</comment_count>
      <attachid>423943</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-22 15:04:02 -0700</bug_when>
    <thetext>Created attachment 423943
Patch v2.2

Adjusted changelogs according to feedback, thanks Antti!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742694</commentid>
    <comment_count>9</comment_count>
      <attachid>423943</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-23 00:24:37 -0700</bug_when>
    <thetext>Comment on attachment 423943
Patch v2.2

I keep forgetting to use `-a` before amending patches (I&apos;m used to working with mercurial which does that automatically), sorry.

I&apos;ll upload the updated patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742725</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-23 02:11:02 -0700</bug_when>
    <thetext>&gt; I keep forgetting to use `-a` before amending patches (I&apos;m used to working
&gt; with mercurial which does that automatically), sorry.

Tools/Scripts/webkit-patch upload without &apos;-g&apos; also works and will take uncommitted changes to generate the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742739</commentid>
    <comment_count>11</comment_count>
      <attachid>424006</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-23 03:27:23 -0700</bug_when>
    <thetext>Created attachment 424006
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742743</commentid>
    <comment_count>12</comment_count>
      <attachid>424006</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-23 03:43:21 -0700</bug_when>
    <thetext>Comment on attachment 424006
Patch v3

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

&gt; LayoutTests/ChangeLog:7
&gt; +        Reviewed by Antti Koivisto.

It should probably be still Reviewed by nobody (OOPS) since Antti did not yet r+ed the patch from what I see.
Once the patch is r+ed, the commit queue will update the changelogs automatically.
Or, if you need to reupload a patch, you might need to do it yourself.

&gt; LayoutTests/ChangeLog:9
&gt; +        * imported/w3c/web-platform-tests/css/css-images/normalization-conic-2.html: Passed.

s/imported/w3c/web-platform-tests/css/css-images/normalization-conic-2.html: Passed./TestExpectations: enabled imported/w3c/web-platform-tests/css/css-images/normalization-conic-2.html.

&gt; Source/WebCore/css/CSSGradientValue.cpp:243
&gt; +        while (firstZeroOrGreaterIndex &lt; (numStops - 1) &amp;&amp; *stops[firstZeroOrGreaterIndex].offset &lt; 0)

Is it safe to do (numStops - 1) in case numStops = 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742748</commentid>
    <comment_count>13</comment_count>
      <attachid>424009</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-23 03:52:56 -0700</bug_when>
    <thetext>Created attachment 424009
Patch v3.1

Address webkit-style issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742763</commentid>
    <comment_count>14</comment_count>
      <attachid>424009</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-23 05:33:15 -0700</bug_when>
    <thetext>Comment on attachment 424009
Patch v3.1

Will address Youenn&apos;s feedback (thanks!), and look at the repeating-conic-gradient failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742791</commentid>
    <comment_count>15</comment_count>
      <attachid>424018</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-23 07:59:55 -0700</bug_when>
    <thetext>Created attachment 424018
Patch v4

This should hopefully fix all the issues. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742795</commentid>
    <comment_count>16</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-23 08:04:51 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #12)
&gt; &gt; Source/WebCore/css/CSSGradientValue.cpp:243
&gt; &gt; +        while (firstZeroOrGreaterIndex &lt; (numStops - 1) &amp;&amp; *stops[firstZeroOrGreaterIndex].offset &lt; 0)
&gt; 
&gt; Is it safe to do (numStops - 1) in case numStops = 0?

conic-gradient() with 0 stops is illegal CSS syntax, so I think that would probably be sanitized earlier.

In any case, there seems to be an assert here catching this: https://webkit-search.igalia.com/webkit/rev/49548842a98b68dfe318ce29f901962b1318e593/Source/WebCore/css/CSSGradientValue.cpp#386</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742849</commentid>
    <comment_count>17</comment_count>
      <attachid>424018</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-23 09:32:25 -0700</bug_when>
    <thetext>Comment on attachment 424018
Patch v4

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

This patch does fix the bug, but I think it makes the code more confusing, so not thrilled with it the way it is.

&gt; Source/WebCore/css/CSSGradientValue.cpp:240
&gt;          auto numStops = stops.size();

I think this code might be easier to read if we defined a lastStopIndex local variable containing numStops - 1.

&gt; Source/WebCore/css/CSSGradientValue.cpp:244
&gt; +        size_t firstZeroOrGreaterIndex = 0;
&gt; +        while (firstZeroOrGreaterIndex &lt; (numStops - 1) &amp;&amp; *stops[firstZeroOrGreaterIndex].offset &lt; 0)
&gt; +            firstZeroOrGreaterIndex++;

This is not an improvement.

I find this while loop harder to read than the for loop we had before. The old one was a straightforward &quot;look through all the stops&quot; idiomatic loop, so we only had to read the body of the loop. The new loop is less idiomatic and thus harder to read, for me at least.

The old loop would set firstZeroOrGreaterIndex past the end of the set of stops if there was no stop &gt;= 0. But the new code instead points at the last stop, so the index does not point to a zero-or-greater index. The old logic is better and more straightforward than the new. The new logic instead relies a case where firstZeroOrGreaterIndex points to an index which contains a negative number stop value.

If we think that &quot;numStops&quot; is a confusing sentinel value, we could use Optional&lt;size_t&gt; instead to clarify the logic. I think that would be a better direction than what this patch does.

&gt; Source/WebCore/css/CSSGradientValue.cpp:263
&gt;                  // All stops are below 0; just clamp them.
&gt; -                for (size_t i = 0; i &lt; firstZeroOrGreaterIndex; ++i)
&gt; +                for (size_t i = 0; i &lt;= firstZeroOrGreaterIndex; ++i)
&gt;                      stops[i].offset = 0;

If the comment here was correct, then the loop should go through all the stops, and use numStops, not firstZeroOrGreaterIndex, as the loop limit.

If the comment is not correct, then the comment should be rewritten to be correct.

&gt; Source/WebCore/css/CSSGradientValue.cpp:269
&gt; +        size_t lastOneOrLessIndex = numStops - 1;
&gt; +        while (lastOneOrLessIndex &gt; 0 &amp;&amp; *stops[lastOneOrLessIndex].offset &gt; 1)
&gt; +            lastOneOrLessIndex--;

This has the same problem as the change above. The loop is harder to read, but also lastOneOrLessIndex can be left set to 0 both in the case where it&apos;s one or less, and in the case where it&apos;s not. Changing the loop makes the variable name wrong. I’m not sure this is a good change.

As above, if we think that &quot;numStops&quot; is a confusing sentinel value, we could use Optional&lt;size_t&gt; instead to clarify the logic. I think that would be a better direction than what this patch does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742909</commentid>
    <comment_count>18</comment_count>
      <attachid>424018</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-03-23 11:00:38 -0700</bug_when>
    <thetext>Comment on attachment 424018
Patch v4

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

&gt; LayoutTests/ChangeLog:1
&gt; +2021-03-22  Tim Nguyen  &lt;ntim.bugs@gmail.com&gt;

Please switch to your apple.com e-mail address.

&gt; Source/WebCore/ChangeLog:1
&gt; +2021-03-22  Tim Nguyen  &lt;ntim.bugs@gmail.com&gt;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743747</commentid>
    <comment_count>19</comment_count>
      <attachid>424238</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-25 06:35:06 -0700</bug_when>
    <thetext>Created attachment 424238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743757</commentid>
    <comment_count>20</comment_count>
      <attachid>424238</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-03-25 06:49:47 -0700</bug_when>
    <thetext>Comment on attachment 424238
Patch

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

Much better!

&gt; Source/WebCore/css/CSSGradientValue.cpp:250
&gt; +        if (firstZeroOrGreaterIndex != WTF::nullopt) {

you can just do

if (firstZeroOrGreaterIndex) {

&gt; Source/WebCore/css/CSSGradientValue.cpp:251
&gt; +            size_t index = firstZeroOrGreaterIndex.value();

you could do

auto index = *firstZeroOrGreaterIndex;

&gt; Source/WebCore/css/CSSGradientValue.cpp:254
&gt; +                float prevOffset = *stops[index - 1].offset;

We usually use full words &apos;previousOffset&apos; (I know the existing code used prevOffset but there is no need to stick to it).

&gt; Source/WebCore/css/CSSGradientValue.cpp:281
&gt; +        if (lastOneOrLessIndex != WTF::nullopt) {

Here too

&gt; Source/WebCore/css/CSSGradientValue.cpp:282
&gt; +            size_t index = lastOneOrLessIndex.value();

Here too

&gt; Source/WebCore/css/CSSGradientValue.cpp:285
&gt; +                float prevOffset = *stops[index].offset;

Here too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743758</commentid>
    <comment_count>21</comment_count>
      <attachid>424240</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-25 06:57:12 -0700</bug_when>
    <thetext>Created attachment 424240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743786</commentid>
    <comment_count>22</comment_count>
      <attachid>424248</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-25 09:07:33 -0700</bug_when>
    <thetext>Created attachment 424248
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743787</commentid>
    <comment_count>23</comment_count>
      <attachid>424249</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-25 09:10:11 -0700</bug_when>
    <thetext>Created attachment 424249
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743788</commentid>
    <comment_count>24</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-03-25 09:13:38 -0700</bug_when>
    <thetext>Looks like you&apos;ll also need to skip the tests on windows (by adding them to LayoutTests/platform/win/TestExpectations). I think the feature is not enabled there (it is behind ENABLE(CSS_CONIC_GRADIENTS) flag).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743790</commentid>
    <comment_count>25</comment_count>
      <attachid>424251</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-25 09:16:39 -0700</bug_when>
    <thetext>Created attachment 424251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743832</commentid>
    <comment_count>26</comment_count>
      <attachid>424251</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-25 11:07:15 -0700</bug_when>
    <thetext>Comment on attachment 424251
Patch

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

This looks OK. Still have some suggestions. Also, I am setting review+ but please only land if all tests pass.

&gt; Source/WebCore/css/CSSGradientValue.cpp:240
&gt; +        size_t lastStopIndex = stops.size() - 1;

I had meant to suggest that we would have *both* numStops and lastStopIndex, not that we would drop numStops. It’s idiomatic to have &quot;&lt; size&quot; or &quot;&lt; numStops&quot; and replacing them all with &quot;&lt;= lastStopIndex&quot; is not an improvement.

&gt; Source/WebCore/css/CSSGradientValue.cpp:269
&gt; +            for (size_t i = 0; i &lt;= lastStopIndex; ++i)
&gt; +                stops[i].offset = 0;

This is a loop through the entire vector. Should use a modern range-based for loop, which is more obviously correct than other types of loops:

    for (auto&amp; stop : stops)
        stop.offset = 0;

&gt; Source/WebCore/css/CSSGradientValue.cpp:282
&gt; +            if (index &lt;= lastStopIndex - 1) {

&quot;&lt; lastStopIndex&quot; makes more sense than &quot;&lt;= lastStopIndex - 1&quot; to me, bit it could just be personal preference.

&gt; Source/WebCore/css/CSSGradientValue.cpp:299
&gt; +            for (size_t i = 0; i &lt;= lastStopIndex; ++i)
&gt; +                stops[i].offset = 1;

Same:

    for (auto&amp; stop : stops)
        stop.offset = 1;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743866</commentid>
    <comment_count>27</comment_count>
      <attachid>424268</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-25 12:33:41 -0700</bug_when>
    <thetext>Created attachment 424268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743869</commentid>
    <comment_count>28</comment_count>
      <attachid>424270</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-03-25 12:41:56 -0700</bug_when>
    <thetext>Created attachment 424270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743870</commentid>
    <comment_count>29</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-25 12:43:10 -0700</bug_when>
    <thetext>tim_nguyen2@apple.com does not have committer permissions according to https://raw.githubusercontent.com/WebKit/WebKit/main/Tools/Scripts/webkitpy/common/config/contributors.json.

Rejecting attachment 424270 from commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743905</commentid>
    <comment_count>30</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-25 13:46:13 -0700</bug_when>
    <thetext>Committed r275055: &lt;https://commits.webkit.org/r275055&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424270.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423887</attachid>
            <date>2021-03-22 08:39:50 -0700</date>
            <delta_ts>2021-03-22 13:26:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221294.diff</filename>
            <type>text/plain</type>
            <size>3630</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhZDkyMjY5OTgxZDcuLjVhYWM4MGFhMTdjOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDIxLTAzLTIyICBUaW0gTmd1eWVuICA8bnRpbS5idWdzQGdtYWlsLmNv
bT4KKworICAgICAgICBGaXggJiBzaW1wbGlmeSBDb25pY0dyYWRpZW50QWRhcHRlcjo6bm9ybWFs
aXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzQxNTcyMTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGVzdHM6IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9u
LWNvbmljLTIuaHRtbAorCisgICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29uaWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5k
cG9pbnRzT3V0c2lkZVJhbmdlKToKKwogMjAyMS0wMy0xOSAgRGVhbiBKYWNrc29uICA8ZGlub0Bh
cHBsZS5jb20+CiAKICAgICAgICAgTGluayBhZ2FpbnN0IHRoZSBBTkdMRSBTaGFyZWQgTGlicmFy
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCmluZGV4IGYyZjFkMGE1Y2Iz
Ny4uYzg2MGI5MDc2MWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGll
bnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3Bw
CkBAIC0yMzgsMTcgKzIzOCwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3JtYWxpemVTdG9wc0Fu
ZEVuZHBvaW50c091dHNpZGVSYW5nZShWZWN0b3I8R3JhZGllbnRTdG9wPiYgc3RvcHMpCiAgICAg
ewogICAgICAgICBhdXRvIG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOwotICAgICAgICAKLSAgICAg
ICAgc2l6ZV90IGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID0gbnVtU3RvcHM7Ci0gICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtU3RvcHM7ICsraSkgewotICAgICAgICAgICAgaWYgKCpz
dG9wc1tpXS5vZmZzZXQgPj0gMCkgewotICAgICAgICAgICAgICAgIGZpcnN0WmVyb09yR3JlYXRl
ckluZGV4ID0gaTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KKworICAg
ICAgICBzaXplX3QgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPSAwOworICAgICAgICB3aGlsZSAo
Zmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPCBudW1TdG9wcyAmJiAqIHN0b3BzW2ZpcnN0WmVyb09y
R3JlYXRlckluZGV4XS5vZmZzZXQgPCAwKSB7CisgICAgICAgICAgICBmaXJzdFplcm9PckdyZWF0
ZXJJbmRleCsrOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlcklu
ZGV4ID4gMCkgewotICAgICAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4IDwgbnVt
U3RvcHMgJiYgKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7Cisg
ICAgICAgICAgICBpZiAoKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAw
KSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgcHJldk9mZnNldCA9ICpzdG9wc1tmaXJzdFplcm9P
ckdyZWF0ZXJJbmRleCAtIDFdLm9mZnNldDsKICAgICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zm
c2V0ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQ7CiAgICAgICAgICAg
ICAgICAgCkBAIC0yNjgsMjMgKzI2NSwyMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIAotICAgICAgICBzaXplX3QgbGFzdE9uZU9yTGVzc0luZGV4ID0gbnVtU3RvcHM7Ci0g
ICAgICAgIGZvciAoaW50IGkgPSBudW1TdG9wcyAtIDE7IGkgPj0gMDsgLS1pKSB7Ci0gICAgICAg
ICAgICBpZiAoKnN0b3BzW2ldLm9mZnNldCA8PSAxKSB7Ci0gICAgICAgICAgICAgICAgbGFzdE9u
ZU9yTGVzc0luZGV4ID0gaTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0K
KyAgICAgICAgc2l6ZV90IGxhc3RPbmVPckxlc3NJbmRleCA9IG51bVN0b3BzIC0gMTsKKyAgICAg
ICAgd2hpbGUgKGxhc3RPbmVPckxlc3NJbmRleCA+IDAgJiYgKnN0b3BzW2xhc3RPbmVPckxlc3NJ
bmRleF0ub2Zmc2V0ID4gMSkgeworICAgICAgICAgICAgbGFzdE9uZU9yTGVzc0luZGV4LS07CiAg
ICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51
bVN0b3BzIC0gMSkgewotICAgICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0
b3BzICYmICpzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLm9mZnNldCA8IDEpIHsKKyAgICAgICAg
ICAgIGlmICgqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5vZmZzZXQgPCAxKSB7CiAgICAgICAg
ICAgICAgICAgZmxvYXQgcHJldk9mZnNldCA9ICpzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLm9m
ZnNldDsKICAgICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2xhc3RPbmVP
ckxlc3NJbmRleCArIDFdLm9mZnNldDsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAg
ICAgIGZsb2F0IGludGVyU3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZPZmZzZXQpIC8gKG5leHRP
ZmZzZXQgLSBwcmV2T2Zmc2V0KTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogd2hlbiB3ZSBp
bnRlcnBvbGF0ZSBncmFkaWVudHMgdXNpbmcgcHJlbXVsdGlwbGllZCBjb2xvcnMsIHRoaXMgc2hv
dWxkIGRvIHByZW11bHRpcGxpY2F0aW9uLgogICAgICAgICAgICAgICAgIENvbG9yIGJsZW5kZWRD
b2xvciA9IGJsZW5kKHN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0uY29sb3IsIHN0b3BzW2xhc3RP
bmVPckxlc3NJbmRleCArIDFdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0aW9uKTsKLSAgICAgICAg
ICAgICAgICAKKwogICAgICAgICAgICAgICAgIC8vIENsYW1wIHRoZSBwb3NpdGlvbnMgdG8gMSBh
bmQgc2V0IHRoZSBjb2xvci4KICAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gbGFzdE9u
ZU9yTGVzc0luZGV4ICsgMTsgaSA8IG51bVN0b3BzOyArK2kpIHsKICAgICAgICAgICAgICAgICAg
ICAgc3RvcHNbaV0ub2Zmc2V0ID0gMTsKQEAgLTI5Myw3ICsyODcsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIEFsbCBzdG9wcyBhcmUgYWJvdmUg
MTsganVzdCBjbGFtcCB0aGVtLgogICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSBsYXN0
T25lT3JMZXNzSW5kZXg7IGkgPCBudW1TdG9wczsgKytpKQotICAgICAgICAgICAgICAgICAgICBz
dG9wc1tpXS5vZmZzZXQgPSAxOworICAgICAgICAgICAgICAgICAgICAqc3RvcHNbaV0ub2Zmc2V0
ID0gMTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0K
</data>
<flag name="review"
          id="443411"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423928</attachid>
            <date>2021-03-22 13:26:46 -0700</date>
            <delta_ts>2021-03-22 13:33:29 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-221294.diff</filename>
            <type>text/plain</type>
            <size>4667</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">Y29tbWl0IGY0NmQzODRmODRkNDgwMmUxZjlmNjcxODc1OTYyZmE0OGYxNTYxMjIKQXV0aG9yOiBU
aW0gTmd1eWVuIDxudGltLmJ1Z3NAZ21haWwuY29tPgpEYXRlOiAgIE1vbiBNYXIgMjIgMTc6MDI6
NTMgMjAyMSArMDEwMAoKICAgIEZpeCBlZGdlIGNhc2Ugb2Ygbm9ybWFsaXppbmcgY29uaWMtZ3Jh
ZGllbnQgY29sb3Igc3RvcHMKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5NDQyNmRjODkxNzguLmEy
ZGE3MzQwYzExMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NDY0LDcgKzQ0NjQsNiBAQCB3ZWJr
aXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1p
bWFnZXMvaW1hZ2UtcmVzb2x1dAogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL2ltYWdlLXJlc29sdXRpb24vaW1hZ2UtcmVz
b2x1dGlvbi0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1
NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL2luZmluaXRl
LXJhZGlhbC1ncmFkaWVudC1yZWZjcmFzaC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJr
aXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1p
bWFnZXMvbXVsdGlwbGUtcG9zaXRpb24tY29sb3Itc3RvcC1jb25pYy0yLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tbGluZWFyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLXJhZGlhbC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvb3V0LW9mLXJhbmdlLWNvbG9yLXN0b3AtY29uaWMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFkOTIyNjk5ODFkNy4uNWFh
YzgwYWExN2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDMtMjIgIFRpbSBO
Z3V5ZW4gIDxudGltLmJ1Z3NAZ21haWwuY29tPgorCisgICAgICAgIEZpeCAmIHNpbXBsaWZ5IENv
bmljR3JhZGllbnRBZGFwdGVyOjpub3JtYWxpemVTdG9wc0FuZEVuZHBvaW50c091dHNpZGVSYW5n
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tY29uaWMtMi5odG1sCisKKyAgICAgICAgKiBjc3Mv
Q1NTR3JhZGllbnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb25pY0dyYWRpZW50QWRh
cHRlcjo6bm9ybWFsaXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2UpOgorCiAyMDIxLTAz
LTE5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBMaW5rIGFnYWlu
c3QgdGhlIEFOR0xFIFNoYXJlZCBMaWJyYXJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRW
YWx1ZS5jcHAKaW5kZXggZjJmMWQwYTVjYjM3Li44ZjAxMDhjNWRiYmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKQEAgLTIzOCwxNyArMjM4LDE0IEBAIHB1YmxpYzoK
ICAgICB2b2lkIG5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdlKFZlY3RvcjxH
cmFkaWVudFN0b3A+JiBzdG9wcykKICAgICB7CiAgICAgICAgIGF1dG8gbnVtU3RvcHMgPSBzdG9w
cy5zaXplKCk7Ci0gICAgICAgIAotICAgICAgICBzaXplX3QgZmlyc3RaZXJvT3JHcmVhdGVySW5k
ZXggPSBudW1TdG9wczsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1TdG9wczsg
KytpKSB7Ci0gICAgICAgICAgICBpZiAoKnN0b3BzW2ldLm9mZnNldCA+PSAwKSB7Ci0gICAgICAg
ICAgICAgICAgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPSBpOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQorCisgICAgICAgIHNpemVfdCBmaXJzdFplcm9PckdyZWF0ZXJJ
bmRleCA9IDA7CisgICAgICAgIHdoaWxlIChmaXJzdFplcm9PckdyZWF0ZXJJbmRleCA8IG51bVN0
b3BzICYmICogc3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5kZXhdLm9mZnNldCA8IDApIHsKKyAg
ICAgICAgICAgIGZpcnN0WmVyb09yR3JlYXRlckluZGV4Kys7CiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAoZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPiAwKSB7Ci0gICAgICAgICAgICBpZiAoZmly
c3RaZXJvT3JHcmVhdGVySW5kZXggPCBudW1TdG9wcyAmJiAqc3RvcHNbZmlyc3RaZXJvT3JHcmVh
dGVySW5kZXhdLm9mZnNldCA+IDApIHsKKyAgICAgICAgICAgIGlmICgqc3RvcHNbZmlyc3RaZXJv
T3JHcmVhdGVySW5kZXhdLm9mZnNldCA+IDApIHsKICAgICAgICAgICAgICAgICBmbG9hdCBwcmV2
T2Zmc2V0ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4IC0gMV0ub2Zmc2V0OwogICAg
ICAgICAgICAgICAgIGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVy
SW5kZXhdLm9mZnNldDsKICAgICAgICAgICAgICAgICAKQEAgLTI2OCwyMyArMjY1LDIwIEBAIHB1
YmxpYzoKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIHNpemVfdCBsYXN0T25l
T3JMZXNzSW5kZXggPSBudW1TdG9wczsKLSAgICAgICAgZm9yIChpbnQgaSA9IG51bVN0b3BzIC0g
MTsgaSA+PSAwOyAtLWkpIHsKLSAgICAgICAgICAgIGlmICgqc3RvcHNbaV0ub2Zmc2V0IDw9IDEp
IHsKLSAgICAgICAgICAgICAgICBsYXN0T25lT3JMZXNzSW5kZXggPSBpOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgfQorICAgICAgICBzaXplX3QgbGFzdE9uZU9yTGVzc0lu
ZGV4ID0gbnVtU3RvcHMgLSAxOworICAgICAgICB3aGlsZSAobGFzdE9uZU9yTGVzc0luZGV4ID4g
MCAmJiAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5vZmZzZXQgPiAxKSB7CisgICAgICAgICAg
ICBsYXN0T25lT3JMZXNzSW5kZXgtLTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBp
ZiAobGFzdE9uZU9yTGVzc0luZGV4IDwgbnVtU3RvcHMgLSAxKSB7Ci0gICAgICAgICAgICBpZiAo
bGFzdE9uZU9yTGVzc0luZGV4IDwgbnVtU3RvcHMgJiYgKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRl
eF0ub2Zmc2V0IDwgMSkgeworICAgICAgICAgICAgaWYgKCpzdG9wc1tsYXN0T25lT3JMZXNzSW5k
ZXhdLm9mZnNldCA8IDEpIHsKICAgICAgICAgICAgICAgICBmbG9hdCBwcmV2T2Zmc2V0ID0gKnN0
b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0OwogICAgICAgICAgICAgICAgIGZsb2F0IG5l
eHRPZmZzZXQgPSAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsgMV0ub2Zmc2V0OwotICAgICAg
ICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgZmxvYXQgaW50ZXJTdG9wUHJvcG9ydGlvbiA9
ICgxIC0gcHJldk9mZnNldCkgLyAobmV4dE9mZnNldCAtIHByZXZPZmZzZXQpOwogICAgICAgICAg
ICAgICAgIC8vIEZJWE1FOiB3aGVuIHdlIGludGVycG9sYXRlIGdyYWRpZW50cyB1c2luZyBwcmVt
dWx0aXBsaWVkIGNvbG9ycywgdGhpcyBzaG91bGQgZG8gcHJlbXVsdGlwbGljYXRpb24uCiAgICAg
ICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQoc3RvcHNbbGFzdE9uZU9yTGVz
c0luZGV4XS5jb2xvciwgc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsgMV0uY29sb3IsIGludGVy
U3RvcFByb3BvcnRpb24pOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgLy8g
Q2xhbXAgdGhlIHBvc2l0aW9ucyB0byAxIGFuZCBzZXQgdGhlIGNvbG9yLgogICAgICAgICAgICAg
ICAgIGZvciAoc2l6ZV90IGkgPSBsYXN0T25lT3JMZXNzSW5kZXggKyAxOyBpIDwgbnVtU3RvcHM7
ICsraSkgewogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423931</attachid>
            <date>2021-03-22 13:33:29 -0700</date>
            <delta_ts>2021-03-22 15:04:16 -0700</delta_ts>
            <desc>Patch v2.1</desc>
            <filename>bug-221294.diff</filename>
            <type>text/plain</type>
            <size>4822</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">Y29tbWl0IDI1MjI1YjVkZjA3ZmViYzZkZDM3YWI2YjM0NDJlMWVmZDM4MWJhNTIKQXV0aG9yOiBU
aW0gTmd1eWVuIDxudGltLmJ1Z3NAZ21haWwuY29tPgpEYXRlOiAgIE1vbiBNYXIgMjIgMTc6MDI6
NTMgMjAyMSArMDEwMAoKICAgIEZpeCBlZGdlIGNhc2Ugb2Ygbm9ybWFsaXppbmcgY29uaWMtZ3Jh
ZGllbnQgY29sb3Igc3RvcHMKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5NDQyNmRjODkxNzguLmEy
ZGE3MzQwYzExMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NDY0LDcgKzQ0NjQsNiBAQCB3ZWJr
aXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1p
bWFnZXMvaW1hZ2UtcmVzb2x1dAogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL2ltYWdlLXJlc29sdXRpb24vaW1hZ2UtcmVz
b2x1dGlvbi0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1
NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL2luZmluaXRl
LXJhZGlhbC1ncmFkaWVudC1yZWZjcmFzaC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJr
aXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1p
bWFnZXMvbXVsdGlwbGUtcG9zaXRpb24tY29sb3Itc3RvcC1jb25pYy0yLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tbGluZWFyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLXJhZGlhbC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvb3V0LW9mLXJhbmdlLWNvbG9yLXN0b3AtY29uaWMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFkOTIyNjk5ODFkNy4uMWIz
MTA1OTQ4MTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDMtMjIgIFRpbSBO
Z3V5ZW4gIDxudGltLmJ1Z3NAZ21haWwuY29tPgorCisgICAgICAgIEZpeCBlZGdlIGNhc2Ugb2Yg
bm9ybWFsaXppbmcgY29uaWMtZ3JhZGllbnQgY29sb3Igc3RvcHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNzQxNTcyMTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgMS4gTm90YWJseSBmaXhlcyB0aGUgY2FzZSB3aGVyZSBhbGwgc3RvcHMgaGF2ZSBh
biBvZmZzZXQgYWJvdmUgMS4KKyAgICAgICAgMi4gUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2Ug
ZnJvbSBDU1NHcmFkaWVudFZhbHVlLmNwcAorICAgICAgICAzLiBBZGp1c3QgdGVzdCBleHBlY3Rh
dGlvbnMuCisKKyAgICAgICAgVGVzdHM6IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdl
cy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisgICAgICAgICogY3NzL0NTU0dyYWRpZW50
VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29uaWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1h
bGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdlKToKKwogMjAyMS0wMy0xOSAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgTGluayBhZ2FpbnN0IHRoZSBBTkdM
RSBTaGFyZWQgTGlicmFyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRp
ZW50VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCmlu
ZGV4IGYyZjFkMGE1Y2IzNy4uNzgyMTcyNzc0MWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCkBAIC0yMzgsMTcgKzIzOCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBu
b3JtYWxpemVTdG9wc0FuZEVuZHBvaW50c091dHNpZGVSYW5nZShWZWN0b3I8R3JhZGllbnRTdG9w
PiYgc3RvcHMpCiAgICAgewogICAgICAgICBhdXRvIG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOwot
ICAgICAgICAKLSAgICAgICAgc2l6ZV90IGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID0gbnVtU3Rv
cHM7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtU3RvcHM7ICsraSkgewotICAg
ICAgICAgICAgaWYgKCpzdG9wc1tpXS5vZmZzZXQgPj0gMCkgewotICAgICAgICAgICAgICAgIGZp
cnN0WmVyb09yR3JlYXRlckluZGV4ID0gaTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQorCisgICAgICAgIHNpemVfdCBmaXJzdFplcm9PckdyZWF0ZXJJ
bmRleCA9IDA7CisgICAgICAgIHdoaWxlIChmaXJzdFplcm9PckdyZWF0ZXJJbmRleCA8IG51bVN0
b3BzICYmICpzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleF0ub2Zmc2V0IDwgMCkKKyAgICAg
ICAgICAgIGZpcnN0WmVyb09yR3JlYXRlckluZGV4Kys7CiAKICAgICAgICAgaWYgKGZpcnN0WmVy
b09yR3JlYXRlckluZGV4ID4gMCkgewotICAgICAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRl
ckluZGV4IDwgbnVtU3RvcHMgJiYgKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZz
ZXQgPiAwKSB7CisgICAgICAgICAgICBpZiAoKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4
XS5vZmZzZXQgPiAwKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgcHJldk9mZnNldCA9ICpzdG9w
c1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleCAtIDFdLm9mZnNldDsKICAgICAgICAgICAgICAgICBm
bG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQ7
CiAgICAgICAgICAgICAgICAgCkBAIC0yNjgsMjMgKzI2NCwxOSBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBzaXplX3QgbGFzdE9uZU9yTGVzc0luZGV4ID0g
bnVtU3RvcHM7Ci0gICAgICAgIGZvciAoaW50IGkgPSBudW1TdG9wcyAtIDE7IGkgPj0gMDsgLS1p
KSB7Ci0gICAgICAgICAgICBpZiAoKnN0b3BzW2ldLm9mZnNldCA8PSAxKSB7Ci0gICAgICAgICAg
ICAgICAgbGFzdE9uZU9yTGVzc0luZGV4ID0gaTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAKKyAgICAgICAgc2l6ZV90IGxhc3RPbmVP
ckxlc3NJbmRleCA9IG51bVN0b3BzIC0gMTsKKyAgICAgICAgd2hpbGUgKGxhc3RPbmVPckxlc3NJ
bmRleCA+IDAgJiYgKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0ID4gMSkKKyAgICAg
ICAgICAgIGxhc3RPbmVPckxlc3NJbmRleC0tOworCiAgICAgICAgIGlmIChsYXN0T25lT3JMZXNz
SW5kZXggPCBudW1TdG9wcyAtIDEpIHsKLSAgICAgICAgICAgIGlmIChsYXN0T25lT3JMZXNzSW5k
ZXggPCBudW1TdG9wcyAmJiAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5vZmZzZXQgPCAxKSB7
CisgICAgICAgICAgICBpZiAoKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0IDwgMSkg
ewogICAgICAgICAgICAgICAgIGZsb2F0IHByZXZPZmZzZXQgPSAqc3RvcHNbbGFzdE9uZU9yTGVz
c0luZGV4XS5vZmZzZXQ7CiAgICAgICAgICAgICAgICAgZmxvYXQgbmV4dE9mZnNldCA9ICpzdG9w
c1tsYXN0T25lT3JMZXNzSW5kZXggKyAxXS5vZmZzZXQ7Ci0gICAgICAgICAgICAgICAgCisKICAg
ICAgICAgICAgICAgICBmbG9hdCBpbnRlclN0b3BQcm9wb3J0aW9uID0gKDEgLSBwcmV2T2Zmc2V0
KSAvIChuZXh0T2Zmc2V0IC0gcHJldk9mZnNldCk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IHdoZW4gd2UgaW50ZXJwb2xhdGUgZ3JhZGllbnRzIHVzaW5nIHByZW11bHRpcGxpZWQgY29sb3Jz
LCB0aGlzIHNob3VsZCBkbyBwcmVtdWx0aXBsaWNhdGlvbi4KICAgICAgICAgICAgICAgICBDb2xv
ciBibGVuZGVkQ29sb3IgPSBibGVuZChzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLmNvbG9yLCBz
dG9wc1tsYXN0T25lT3JMZXNzSW5kZXggKyAxXS5jb2xvciwgaW50ZXJTdG9wUHJvcG9ydGlvbik7
Ci0gICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICAvLyBDbGFtcCB0aGUgcG9zaXRp
b25zIHRvIDEgYW5kIHNldCB0aGUgY29sb3IuCiAgICAgICAgICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IGxhc3RPbmVPckxlc3NJbmRleCArIDE7IGkgPCBudW1TdG9wczsgKytpKSB7CiAgICAgICAg
ICAgICAgICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IDE7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423943</attachid>
            <date>2021-03-22 15:04:02 -0700</date>
            <delta_ts>2021-03-23 00:24:37 -0700</delta_ts>
            <desc>Patch v2.2</desc>
            <filename>bug-221294.diff</filename>
            <type>text/plain</type>
            <size>4822</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">Y29tbWl0IGE0NDRlNjU0YTgyYWFlYTAxOWM1NmVkYjBiYzFkYzQ4YzI5YjE5ODEKQXV0aG9yOiBU
aW0gTmd1eWVuIDxudGltLmJ1Z3NAZ21haWwuY29tPgpEYXRlOiAgIE1vbiBNYXIgMjIgMjM6MDE6
MjMgMjAyMSArMDEwMAoKICAgIEZpeCBlZGdlIGNhc2Ugb2Ygbm9ybWFsaXppbmcgY29uaWMtZ3Jh
ZGllbnQgY29sb3Igc3RvcHMKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5NDQyNmRjODkxNzguLmEy
ZGE3MzQwYzExMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NDY0LDcgKzQ0NjQsNiBAQCB3ZWJr
aXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1p
bWFnZXMvaW1hZ2UtcmVzb2x1dAogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL2ltYWdlLXJlc29sdXRpb24vaW1hZ2UtcmVz
b2x1dGlvbi0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1
NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL2luZmluaXRl
LXJhZGlhbC1ncmFkaWVudC1yZWZjcmFzaC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJr
aXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1p
bWFnZXMvbXVsdGlwbGUtcG9zaXRpb24tY29sb3Itc3RvcC1jb25pYy0yLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tbGluZWFyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLXJhZGlhbC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvb3V0LW9mLXJhbmdlLWNvbG9yLXN0b3AtY29uaWMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFkOTIyNjk5ODFkNy4uMWIz
MTA1OTQ4MTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDMtMjIgIFRpbSBO
Z3V5ZW4gIDxudGltLmJ1Z3NAZ21haWwuY29tPgorCisgICAgICAgIEZpeCBlZGdlIGNhc2Ugb2Yg
bm9ybWFsaXppbmcgY29uaWMtZ3JhZGllbnQgY29sb3Igc3RvcHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNzQxNTcyMTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgMS4gTm90YWJseSBmaXhlcyB0aGUgY2FzZSB3aGVyZSBhbGwgc3RvcHMgaGF2ZSBh
biBvZmZzZXQgYWJvdmUgMS4KKyAgICAgICAgMi4gUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2Ug
ZnJvbSBDU1NHcmFkaWVudFZhbHVlLmNwcAorICAgICAgICAzLiBBZGp1c3QgdGVzdCBleHBlY3Rh
dGlvbnMuCisKKyAgICAgICAgVGVzdHM6IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdl
cy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisgICAgICAgICogY3NzL0NTU0dyYWRpZW50
VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29uaWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1h
bGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdlKToKKwogMjAyMS0wMy0xOSAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgTGluayBhZ2FpbnN0IHRoZSBBTkdM
RSBTaGFyZWQgTGlicmFyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRp
ZW50VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCmlu
ZGV4IGYyZjFkMGE1Y2IzNy4uNzgyMTcyNzc0MWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCkBAIC0yMzgsMTcgKzIzOCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBu
b3JtYWxpemVTdG9wc0FuZEVuZHBvaW50c091dHNpZGVSYW5nZShWZWN0b3I8R3JhZGllbnRTdG9w
PiYgc3RvcHMpCiAgICAgewogICAgICAgICBhdXRvIG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOwot
ICAgICAgICAKLSAgICAgICAgc2l6ZV90IGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID0gbnVtU3Rv
cHM7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtU3RvcHM7ICsraSkgewotICAg
ICAgICAgICAgaWYgKCpzdG9wc1tpXS5vZmZzZXQgPj0gMCkgewotICAgICAgICAgICAgICAgIGZp
cnN0WmVyb09yR3JlYXRlckluZGV4ID0gaTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQorCisgICAgICAgIHNpemVfdCBmaXJzdFplcm9PckdyZWF0ZXJJ
bmRleCA9IDA7CisgICAgICAgIHdoaWxlIChmaXJzdFplcm9PckdyZWF0ZXJJbmRleCA8IG51bVN0
b3BzICYmICpzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleF0ub2Zmc2V0IDwgMCkKKyAgICAg
ICAgICAgIGZpcnN0WmVyb09yR3JlYXRlckluZGV4Kys7CiAKICAgICAgICAgaWYgKGZpcnN0WmVy
b09yR3JlYXRlckluZGV4ID4gMCkgewotICAgICAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRl
ckluZGV4IDwgbnVtU3RvcHMgJiYgKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZz
ZXQgPiAwKSB7CisgICAgICAgICAgICBpZiAoKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4
XS5vZmZzZXQgPiAwKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgcHJldk9mZnNldCA9ICpzdG9w
c1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleCAtIDFdLm9mZnNldDsKICAgICAgICAgICAgICAgICBm
bG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQ7
CiAgICAgICAgICAgICAgICAgCkBAIC0yNjgsMjMgKzI2NCwxOSBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBzaXplX3QgbGFzdE9uZU9yTGVzc0luZGV4ID0g
bnVtU3RvcHM7Ci0gICAgICAgIGZvciAoaW50IGkgPSBudW1TdG9wcyAtIDE7IGkgPj0gMDsgLS1p
KSB7Ci0gICAgICAgICAgICBpZiAoKnN0b3BzW2ldLm9mZnNldCA8PSAxKSB7Ci0gICAgICAgICAg
ICAgICAgbGFzdE9uZU9yTGVzc0luZGV4ID0gaTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAKKyAgICAgICAgc2l6ZV90IGxhc3RPbmVP
ckxlc3NJbmRleCA9IG51bVN0b3BzIC0gMTsKKyAgICAgICAgd2hpbGUgKGxhc3RPbmVPckxlc3NJ
bmRleCA+IDAgJiYgKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0ID4gMSkKKyAgICAg
ICAgICAgIGxhc3RPbmVPckxlc3NJbmRleC0tOworCiAgICAgICAgIGlmIChsYXN0T25lT3JMZXNz
SW5kZXggPCBudW1TdG9wcyAtIDEpIHsKLSAgICAgICAgICAgIGlmIChsYXN0T25lT3JMZXNzSW5k
ZXggPCBudW1TdG9wcyAmJiAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5vZmZzZXQgPCAxKSB7
CisgICAgICAgICAgICBpZiAoKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0IDwgMSkg
ewogICAgICAgICAgICAgICAgIGZsb2F0IHByZXZPZmZzZXQgPSAqc3RvcHNbbGFzdE9uZU9yTGVz
c0luZGV4XS5vZmZzZXQ7CiAgICAgICAgICAgICAgICAgZmxvYXQgbmV4dE9mZnNldCA9ICpzdG9w
c1tsYXN0T25lT3JMZXNzSW5kZXggKyAxXS5vZmZzZXQ7Ci0gICAgICAgICAgICAgICAgCisKICAg
ICAgICAgICAgICAgICBmbG9hdCBpbnRlclN0b3BQcm9wb3J0aW9uID0gKDEgLSBwcmV2T2Zmc2V0
KSAvIChuZXh0T2Zmc2V0IC0gcHJldk9mZnNldCk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IHdoZW4gd2UgaW50ZXJwb2xhdGUgZ3JhZGllbnRzIHVzaW5nIHByZW11bHRpcGxpZWQgY29sb3Jz
LCB0aGlzIHNob3VsZCBkbyBwcmVtdWx0aXBsaWNhdGlvbi4KICAgICAgICAgICAgICAgICBDb2xv
ciBibGVuZGVkQ29sb3IgPSBibGVuZChzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLmNvbG9yLCBz
dG9wc1tsYXN0T25lT3JMZXNzSW5kZXggKyAxXS5jb2xvciwgaW50ZXJTdG9wUHJvcG9ydGlvbik7
Ci0gICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICAvLyBDbGFtcCB0aGUgcG9zaXRp
b25zIHRvIDEgYW5kIHNldCB0aGUgY29sb3IuCiAgICAgICAgICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IGxhc3RPbmVPckxlc3NJbmRleCArIDE7IGkgPCBudW1TdG9wczsgKytpKSB7CiAgICAgICAg
ICAgICAgICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IDE7Cg==
</data>
<flag name="commit-queue"
          id="443488"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424006</attachid>
            <date>2021-03-23 03:27:23 -0700</date>
            <delta_ts>2021-03-23 03:52:56 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-221294.diff</filename>
            <type>text/plain</type>
            <size>6945</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">Y29tbWl0IDkwMjA4MmI5YWU1YWRkNDg1NDdmOTE4YzVhNDFlZjk3MDE4ODJhYzcKQXV0aG9yOiBU
aW0gTmd1eWVuIDxudGltLmJ1Z3NAZ21haWwuY29tPgpEYXRlOiAgIE1vbiBNYXIgMjIgMjM6MDE6
MjMgMjAyMSArMDEwMAoKICAgIEZpeCBlZGdlIGNhc2VzIG9mIG5vcm1hbGl6aW5nIGNvbmljLWdy
YWRpZW50IGNvbG9yIHN0b3BzCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU2N2JhNDgzNjBhZC4uMzEzM2I1ZjZjZWJmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDMtMjIgIFRpbSBOZ3V5ZW4gIDxudGltLmJ1Z3NA
Z21haWwuY29tPgorCisgICAgICAgIEVuYWJsZSBub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbCBX
UFQgbm93IHRoYXQgdW5kZXJseWluZyBidWcgaXMgZml4ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzQxNTcyMTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAg
ICAgICAgKiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25v
cm1hbGl6YXRpb24tY29uaWMtMi5odG1sOiBQYXNzZWQuCisKIDIwMjEtMDMtMTkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXN5bmMgd2ViYXVkaW8gd2ViLXBs
YXRmb3JtLXRlc3RzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDk0NDI2ZGM4
OTE3OC4uYTJkYTczNDBjMTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ0NjQsNyArNDQ2NCw2
IEBAIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWltYWdlcy9pbWFnZS1yZXNvbHV0CiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvaW1hZ2UtcmVzb2x1dGlvbi9p
bWFnZS1yZXNvbHV0aW9uLTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMv
aW5maW5pdGUtcmFkaWFsLWdyYWRpZW50LXJlZmNyYXNoLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWltYWdlcy9tdWx0aXBsZS1wb3NpdGlvbi1jb2xvci1zdG9wLWNvbmljLTIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tY29uaWMtMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9ybWFsaXphdGlvbi1saW5lYXIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tcmFkaWFsLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9vdXQtb2YtcmFuZ2UtY29sb3Itc3Rv
cC1jb25pYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQ5MjI2OTk4
MWQ3Li4zOTIyZTQyNGY2MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAyMS0wMy0y
MiAgVGltIE5ndXllbiAgPG50aW0uYnVnc0BnbWFpbC5jb20+CisKKyAgICAgICAgRml4IGVkZ2Ug
Y2FzZXMgaW4gbm9ybWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVudCBjb2xvciBzdG9wcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0
aSBLb2l2aXN0by4KKworICAgICAgICBgbGFzdE9uZU9yTGVzc0luZGV4YCBoYWQgYW4gb2ZmLWJ5
LW9uZSBlcnJvciwgc28gaXQgZGlkIG5vdCBnbyB0aHJvdWdoCisgICAgICAgIHRoZSBsYXN0IHN0
b3Agbm9ybWFsaXphdGlvbiBicmFuY2gsIHdoaWNoIGhhbmRsZXMgY2xhbXBpbmcgYWxsIHRoZSBz
dG9wCisgICAgICAgIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBhYm92ZSAxLiBUaGlzIHBhdGNo
IGZpeGVzIGl0LgorCisgICAgICAgIFRoZSBicmFuY2ggdGhhdCBoYW5kbGVzIHN0b3Agb2Zmc2V0
cyBhbGwgdW5kZXIgMCBoYXMgYWxzbyBiZWVuIGZpeGVkIHdpdGgKKyAgICAgICAgdGhpcyBwYXRj
aCB0byBwcmV2ZW50IGludHJvZHVjaW5nIGEgcmVncmVzc2lvbi4gVGhlICJhbGwgYWJvdmUgMSIg
YnJhbmNoCisgICAgICAgIHdhcyB1cGRhdGVkIGZvciBjb25zaXN0ZW5jeS4KKworICAgICAgICBB
bHNvIHNpbXBsaWZpZWQgdGhlIGBmaXJzdFplcm9PckdyZWF0ZXJJbmRleGAvYGxhc3RPbmVPckxl
c3NJbmRleGAgbG9naWMKKyAgICAgICAgdG8gdXNlIGEgd2hpbGUgbG9vcCBpbnN0ZWFkIG9mIGEg
Zm9yIGxvb3AuCisKKyAgICAgICAgVGVzdHM6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tY29uaWMuaHRtbAorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAor
CisgICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29uaWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJh
bmdlKToKKwogMjAyMS0wMy0xOSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAg
ICAgICAgTGluayBhZ2FpbnN0IHRoZSBBTkdMRSBTaGFyZWQgTGlicmFyeQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCmluZGV4IGYyZjFkMGE1Y2IzNy4uMzhiZmY0NmQyN2Vi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC0yMzgsMTcgKzIz
OCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3JtYWxpemVTdG9wc0FuZEVuZHBvaW50c091dHNp
ZGVSYW5nZShWZWN0b3I8R3JhZGllbnRTdG9wPiYgc3RvcHMpCiAgICAgewogICAgICAgICBhdXRv
IG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOwotICAgICAgICAKLSAgICAgICAgc2l6ZV90IGZpcnN0
WmVyb09yR3JlYXRlckluZGV4ID0gbnVtU3RvcHM7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbnVtU3RvcHM7ICsraSkgewotICAgICAgICAgICAgaWYgKCpzdG9wc1tpXS5vZmZzZXQg
Pj0gMCkgewotICAgICAgICAgICAgICAgIGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID0gaTsKLSAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorCisgICAgICAg
IHNpemVfdCBmaXJzdFplcm9PckdyZWF0ZXJJbmRleCA9IDA7CisgICAgICAgIHdoaWxlIChmaXJz
dFplcm9PckdyZWF0ZXJJbmRleCA8IChudW1TdG9wcyAtIDEpICYmICpzdG9wc1tmaXJzdFplcm9P
ckdyZWF0ZXJJbmRleF0ub2Zmc2V0IDwgMCkKKyAgICAgICAgICAgIGZpcnN0WmVyb09yR3JlYXRl
ckluZGV4Kys7CiAKICAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID4gMCkgewot
ICAgICAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4IDwgbnVtU3RvcHMgJiYgKnN0
b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7CisgICAgICAgICAgICBp
ZiAoKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7CiAgICAgICAg
ICAgICAgICAgZmxvYXQgcHJldk9mZnNldCA9ICpzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRl
eCAtIDFdLm9mZnNldDsKICAgICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3Bz
W2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQ7CiAgICAgICAgICAgICAgICAgCkBAIC0y
NjIsMzggKzI1OCwzOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgIHN0b3BzW2ldLmNv
bG9yID0gYmxlbmRlZENvbG9yOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgLy8gQWxsIHN0b3BzIGFyZSBiZWxvdyAwOyBqdXN0IGNsYW1w
IHRoZW0uCi0gICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXJzdFplcm9P
ckdyZWF0ZXJJbmRleDsgKytpKQorICAgICAgICAgICAgICAgIC8vIEFsbCBzdG9wcyBhcmUgYmVs
b3cgMDsgZmlsbCB3aXRoIGxhc3QgY29sb3IKKyAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG51bVN0b3BzOyArK2kpIHsKICAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0u
b2Zmc2V0ID0gMDsKKyAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0uY29sb3IgPSBzdG9wc1tu
dW1TdG9wcyAtIDFdLmNvbG9yOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogCi0gICAgICAgIHNpemVfdCBsYXN0T25lT3JMZXNzSW5kZXggPSBudW1TdG9wczsK
LSAgICAgICAgZm9yIChpbnQgaSA9IG51bVN0b3BzIC0gMTsgaSA+PSAwOyAtLWkpIHsKLSAgICAg
ICAgICAgIGlmICgqc3RvcHNbaV0ub2Zmc2V0IDw9IDEpIHsKLSAgICAgICAgICAgICAgICBsYXN0
T25lT3JMZXNzSW5kZXggPSBpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgICAgIAorICAgICAgICBzaXplX3QgbGFzdE9uZU9yTGVzc0luZGV4
ID0gbnVtU3RvcHMgLSAxOworICAgICAgICB3aGlsZSAobGFzdE9uZU9yTGVzc0luZGV4ID4gMCAm
JiAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5vZmZzZXQgPiAxKQorICAgICAgICAgICAgbGFz
dE9uZU9yTGVzc0luZGV4LS07CisKICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51
bVN0b3BzIC0gMSkgewotICAgICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0
b3BzICYmICpzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLm9mZnNldCA8IDEpIHsKKyAgICAgICAg
ICAgIGlmICgqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5vZmZzZXQgPCAxKSB7CiAgICAgICAg
ICAgICAgICAgZmxvYXQgcHJldk9mZnNldCA9ICpzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLm9m
ZnNldDsKICAgICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2xhc3RPbmVP
ckxlc3NJbmRleCArIDFdLm9mZnNldDsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAg
ICAgIGZsb2F0IGludGVyU3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZPZmZzZXQpIC8gKG5leHRP
ZmZzZXQgLSBwcmV2T2Zmc2V0KTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogd2hlbiB3ZSBp
bnRlcnBvbGF0ZSBncmFkaWVudHMgdXNpbmcgcHJlbXVsdGlwbGllZCBjb2xvcnMsIHRoaXMgc2hv
dWxkIGRvIHByZW11bHRpcGxpY2F0aW9uLgogICAgICAgICAgICAgICAgIENvbG9yIGJsZW5kZWRD
b2xvciA9IGJsZW5kKHN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0uY29sb3IsIHN0b3BzW2xhc3RP
bmVPckxlc3NJbmRleCArIDFdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0aW9uKTsKLSAgICAgICAg
ICAgICAgICAKKwogICAgICAgICAgICAgICAgIC8vIENsYW1wIHRoZSBwb3NpdGlvbnMgdG8gMSBh
bmQgc2V0IHRoZSBjb2xvci4KICAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gbGFzdE9u
ZU9yTGVzc0luZGV4ICsgMTsgaSA8IG51bVN0b3BzOyArK2kpIHsKICAgICAgICAgICAgICAgICAg
ICAgc3RvcHNbaV0ub2Zmc2V0ID0gMTsKICAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0uY29s
b3IgPSBibGVuZGVkQ29sb3I7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAvLyBBbGwgc3RvcHMgYXJlIGFib3ZlIDE7IGp1c3QgY2xhbXAg
dGhlbS4KLSAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gbGFzdE9uZU9yTGVzc0luZGV4
OyBpIDwgbnVtU3RvcHM7ICsraSkKLSAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0
ID0gMTsKKyAgICAgICAgICAgICAgICAvLyBBbGwgc3RvcHMgYXJlIGFib3ZlIDE7IGZpbGwgd2l0
aCBmaXJzdCBjb2xvcgorICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVt
U3RvcHM7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAwOwor
ICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5jb2xvciA9IHN0b3BzWzBdLmNvbG9yOworICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424009</attachid>
            <date>2021-03-23 03:52:56 -0700</date>
            <delta_ts>2021-03-23 07:59:55 -0700</delta_ts>
            <desc>Patch v3.1</desc>
            <filename>bug-221294.diff</filename>
            <type>text/plain</type>
            <size>6863</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">Y29tbWl0IGExNGJkYjI4YjM1ZGMxMzdjMjE2MWViN2M0YTNiYmUzMmE4YWMyYTkKQXV0aG9yOiBU
aW0gTmd1eWVuIDxudGltLmJ1Z3NAZ21haWwuY29tPgpEYXRlOiAgIE1vbiBNYXIgMjIgMjM6MDE6
MjMgMjAyMSArMDEwMAoKICAgIEZpeCBlZGdlIGNhc2VzIG9mIG5vcm1hbGl6aW5nIGNvbmljLWdy
YWRpZW50IGNvbG9yIHN0b3BzCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU2N2JhNDgzNjBhZC4uMzEzM2I1ZjZjZWJmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDMtMjIgIFRpbSBOZ3V5ZW4gIDxudGltLmJ1Z3NA
Z21haWwuY29tPgorCisgICAgICAgIEVuYWJsZSBub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbCBX
UFQgbm93IHRoYXQgdW5kZXJseWluZyBidWcgaXMgZml4ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzQxNTcyMTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAg
ICAgICAgKiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25v
cm1hbGl6YXRpb24tY29uaWMtMi5odG1sOiBQYXNzZWQuCisKIDIwMjEtMDMtMTkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXN5bmMgd2ViYXVkaW8gd2ViLXBs
YXRmb3JtLXRlc3RzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDk0NDI2ZGM4
OTE3OC4uYTJkYTczNDBjMTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ0NjQsNyArNDQ2NCw2
IEBAIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWltYWdlcy9pbWFnZS1yZXNvbHV0CiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvaW1hZ2UtcmVzb2x1dGlvbi9p
bWFnZS1yZXNvbHV0aW9uLTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMv
aW5maW5pdGUtcmFkaWFsLWdyYWRpZW50LXJlZmNyYXNoLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWltYWdlcy9tdWx0aXBsZS1wb3NpdGlvbi1jb2xvci1zdG9wLWNvbmljLTIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tY29uaWMtMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9ybWFsaXphdGlvbi1saW5lYXIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tcmFkaWFsLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9vdXQtb2YtcmFuZ2UtY29sb3Itc3Rv
cC1jb25pYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQ5MjI2OTk4
MWQ3Li42YWIwY2FmOWU3MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wMy0y
MiAgVGltIE5ndXllbiAgPG50aW0uYnVnc0BnbWFpbC5jb20+CisKKyAgICAgICAgRml4IGVkZ2Ug
Y2FzZXMgaW4gbm9ybWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVudCBjb2xvciBzdG9wcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0
aSBLb2l2aXN0by4KKworICAgICAgICBgbGFzdE9uZU9yTGVzc0luZGV4YCBoYWQgYW4gb2ZmLWJ5
LW9uZSBlcnJvciwgc28gaXQgZGlkIG5vdCBnbyB0aHJvdWdoCisgICAgICAgIHRoZSBsYXN0IHN0
b3Agbm9ybWFsaXphdGlvbiBicmFuY2gsIHdoaWNoIGhhbmRsZXMgY2xhbXBpbmcgYWxsIHRoZSBz
dG9wCisgICAgICAgIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBhYm92ZSAxLiBUaGlzIHBhdGNo
IGZpeGVzIGl0LgorCisgICAgICAgIFRoZSBicmFuY2ggdGhhdCBoYW5kbGVzIHN0b3Agb2Zmc2V0
cyBhbGwgdW5kZXIgMCBoYXMgYWxzbyBiZWVuIGZpeGVkIHdpdGgKKyAgICAgICAgdGhpcyBwYXRj
aCB0byBwcmV2ZW50IGludHJvZHVjaW5nIGEgcmVncmVzc2lvbi4gVGhlICJhbGwgYWJvdmUgMSIg
YnJhbmNoCisgICAgICAgIHdhcyB1cGRhdGVkIGZvciBjb25zaXN0ZW5jeS4KKworICAgICAgICBB
bHNvIHNpbXBsaWZpZWQgdGhlIGBmaXJzdFplcm9PckdyZWF0ZXJJbmRleGAvYGxhc3RPbmVPckxl
c3NJbmRleGAgbG9naWMKKyAgICAgICAgdG8gdXNlIGEgd2hpbGUgbG9vcCBpbnN0ZWFkIG9mIGEg
Zm9yIGxvb3AuCisKKyAgICAgICAgVGVzdDogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1h
Z2VzL25vcm1hbGl6YXRpb24tY29uaWMtMi5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTR3JhZGll
bnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb25pY0dyYWRpZW50QWRhcHRlcjo6bm9y
bWFsaXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2UpOgorCiAyMDIxLTAzLTE5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBMaW5rIGFnYWluc3QgdGhlIEFO
R0xFIFNoYXJlZCBMaWJyYXJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
ZGllbnRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAK
aW5kZXggZjJmMWQwYTVjYjM3Li4zOGJmZjQ2ZDI3ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
R3JhZGllbnRWYWx1ZS5jcHAKQEAgLTIzOCwxNyArMjM4LDEzIEBAIHB1YmxpYzoKICAgICB2b2lk
IG5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdlKFZlY3RvcjxHcmFkaWVudFN0
b3A+JiBzdG9wcykKICAgICB7CiAgICAgICAgIGF1dG8gbnVtU3RvcHMgPSBzdG9wcy5zaXplKCk7
Ci0gICAgICAgIAotICAgICAgICBzaXplX3QgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPSBudW1T
dG9wczsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1TdG9wczsgKytpKSB7Ci0g
ICAgICAgICAgICBpZiAoKnN0b3BzW2ldLm9mZnNldCA+PSAwKSB7Ci0gICAgICAgICAgICAgICAg
Zmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPSBpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgfQotICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90IGZpcnN0WmVyb09yR3JlYXRl
ckluZGV4ID0gMDsKKyAgICAgICAgd2hpbGUgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4IDwgKG51
bVN0b3BzIC0gMSkgJiYgKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQgPCAw
KQorICAgICAgICAgICAgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXgrKzsKIAogICAgICAgICBpZiAo
Zmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPiAwKSB7Ci0gICAgICAgICAgICBpZiAoZmlyc3RaZXJv
T3JHcmVhdGVySW5kZXggPCBudW1TdG9wcyAmJiAqc3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5k
ZXhdLm9mZnNldCA+IDApIHsKKyAgICAgICAgICAgIGlmICgqc3RvcHNbZmlyc3RaZXJvT3JHcmVh
dGVySW5kZXhdLm9mZnNldCA+IDApIHsKICAgICAgICAgICAgICAgICBmbG9hdCBwcmV2T2Zmc2V0
ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4IC0gMV0ub2Zmc2V0OwogICAgICAgICAg
ICAgICAgIGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5kZXhd
Lm9mZnNldDsKICAgICAgICAgICAgICAgICAKQEAgLTI2MiwzOCArMjU4LDM4IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0uY29sb3IgPSBibGVuZGVkQ29sb3I7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBB
bGwgc3RvcHMgYXJlIGJlbG93IDA7IGp1c3QgY2xhbXAgdGhlbS4KLSAgICAgICAgICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGZpcnN0WmVyb09yR3JlYXRlckluZGV4OyArK2kpCisgICAg
ICAgICAgICAgICAgLy8gQWxsIHN0b3BzIGFyZSBiZWxvdyAwOyBmaWxsIHdpdGggbGFzdCBjb2xv
cgorICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtU3RvcHM7ICsraSkg
ewogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAwOworICAgICAgICAgICAg
ICAgICAgICBzdG9wc1tpXS5jb2xvciA9IHN0b3BzW251bVN0b3BzIC0gMV0uY29sb3I7CisgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgc2l6ZV90
IGxhc3RPbmVPckxlc3NJbmRleCA9IG51bVN0b3BzOwotICAgICAgICBmb3IgKGludCBpID0gbnVt
U3RvcHMgLSAxOyBpID49IDA7IC0taSkgewotICAgICAgICAgICAgaWYgKCpzdG9wc1tpXS5vZmZz
ZXQgPD0gMSkgewotICAgICAgICAgICAgICAgIGxhc3RPbmVPckxlc3NJbmRleCA9IGk7Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgCisg
ICAgICAgIHNpemVfdCBsYXN0T25lT3JMZXNzSW5kZXggPSBudW1TdG9wcyAtIDE7CisgICAgICAg
IHdoaWxlIChsYXN0T25lT3JMZXNzSW5kZXggPiAwICYmICpzdG9wc1tsYXN0T25lT3JMZXNzSW5k
ZXhdLm9mZnNldCA+IDEpCisgICAgICAgICAgICBsYXN0T25lT3JMZXNzSW5kZXgtLTsKKwogICAg
ICAgICBpZiAobGFzdE9uZU9yTGVzc0luZGV4IDwgbnVtU3RvcHMgLSAxKSB7Ci0gICAgICAgICAg
ICBpZiAobGFzdE9uZU9yTGVzc0luZGV4IDwgbnVtU3RvcHMgJiYgKnN0b3BzW2xhc3RPbmVPckxl
c3NJbmRleF0ub2Zmc2V0IDwgMSkgeworICAgICAgICAgICAgaWYgKCpzdG9wc1tsYXN0T25lT3JM
ZXNzSW5kZXhdLm9mZnNldCA8IDEpIHsKICAgICAgICAgICAgICAgICBmbG9hdCBwcmV2T2Zmc2V0
ID0gKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0OwogICAgICAgICAgICAgICAgIGZs
b2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsgMV0ub2Zmc2V0Owot
ICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgZmxvYXQgaW50ZXJTdG9wUHJvcG9y
dGlvbiA9ICgxIC0gcHJldk9mZnNldCkgLyAobmV4dE9mZnNldCAtIHByZXZPZmZzZXQpOwogICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiB3aGVuIHdlIGludGVycG9sYXRlIGdyYWRpZW50cyB1c2lu
ZyBwcmVtdWx0aXBsaWVkIGNvbG9ycywgdGhpcyBzaG91bGQgZG8gcHJlbXVsdGlwbGljYXRpb24u
CiAgICAgICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQoc3RvcHNbbGFzdE9u
ZU9yTGVzc0luZGV4XS5jb2xvciwgc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsgMV0uY29sb3Is
IGludGVyU3RvcFByb3BvcnRpb24pOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAg
ICAgLy8gQ2xhbXAgdGhlIHBvc2l0aW9ucyB0byAxIGFuZCBzZXQgdGhlIGNvbG9yLgogICAgICAg
ICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSBsYXN0T25lT3JMZXNzSW5kZXggKyAxOyBpIDwgbnVt
U3RvcHM7ICsraSkgewogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAxOwog
ICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5jb2xvciA9IGJsZW5kZWRDb2xvcjsKICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIEFs
bCBzdG9wcyBhcmUgYWJvdmUgMTsganVzdCBjbGFtcCB0aGVtLgotICAgICAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSBsYXN0T25lT3JMZXNzSW5kZXg7IGkgPCBudW1TdG9wczsgKytpKQotICAg
ICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAxOworICAgICAgICAgICAgICAgIC8v
IEFsbCBzdG9wcyBhcmUgYWJvdmUgMTsgZmlsbCB3aXRoIGZpcnN0IGNvbG9yCisgICAgICAgICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1TdG9wczsgKytpKSB7CisgICAgICAgICAg
ICAgICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IDA7CisgICAgICAgICAgICAgICAgICAgIHN0b3Bz
W2ldLmNvbG9yID0gc3RvcHNbMF0uY29sb3I7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgfQo=
</data>
<flag name="commit-queue"
          id="443546"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424018</attachid>
            <date>2021-03-23 07:59:55 -0700</date>
            <delta_ts>2021-03-25 06:35:01 -0700</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-221294.diff</filename>
            <type>text/plain</type>
            <size>6150</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">Y29tbWl0IDBjODZlOTAyMzYwYzRiZWY5ODYwMjg5YzRhYzNhZTY0NGRiZWZkNjEKQXV0aG9yOiBU
aW0gTmd1eWVuIDxudGltLmJ1Z3NAZ21haWwuY29tPgpEYXRlOiAgIE1vbiBNYXIgMjIgMjM6MDE6
MjMgMjAyMSArMDEwMAoKICAgIEZpeCBlZGdlIGNhc2VzIG9mIG5vcm1hbGl6aW5nIGNvbmljLWdy
YWRpZW50IGNvbG9yIHN0b3BzCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU2N2JhNDgzNjBhZC4uMzRhNzBlNGFhYWQ2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDMtMjIgIFRpbSBOZ3V5ZW4gIDxudGltLmJ1Z3NA
Z21haWwuY29tPgorCisgICAgICAgIEVuYWJsZSBub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbCBX
UFQgbm93IHRoYXQgdW5kZXJseWluZyBidWcgaXMgZml4ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzQxNTcyMTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBlbmFibGVkIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9ybWFsaXphdGlvbi1jb25pYy0yLmh0bWwuCisKIDIw
MjEtMDMtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXN5
bmMgd2ViYXVkaW8gd2ViLXBsYXRmb3JtLXRlc3RzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDk0NDI2ZGM4OTE3OC4uYTJkYTczNDBjMTEyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTQ0NjQsNyArNDQ2NCw2IEBAIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9pbWFnZS1yZXNvbHV0CiB3ZWJraXQub3Jn
L2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMv
aW1hZ2UtcmVzb2x1dGlvbi9pbWFnZS1yZXNvbHV0aW9uLTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1pbWFnZXMvaW5maW5pdGUtcmFkaWFsLWdyYWRpZW50LXJlZmNyYXNoLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9tdWx0aXBsZS1wb3NpdGlvbi1jb2xvci1z
dG9wLWNvbmljLTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIxNDQ1
NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6
YXRpb24tY29uaWMtMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0
NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9ybWFs
aXphdGlvbi1saW5lYXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIx
NDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1h
bGl6YXRpb24tcmFkaWFsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8y
MTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9vdXQt
b2YtcmFuZ2UtY29sb3Itc3RvcC1jb25pYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggYWQ5MjI2OTk4MWQ3Li4zYmFmYjExZDgwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAyMS0wMy0yMiAgVGltIE5ndXllbiAgPG50aW0uYnVnc0BnbWFpbC5jb20+CisK
KyAgICAgICAgRml4IGVkZ2UgY2FzZXMgaW4gbm9ybWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVu
dCBjb2xvciBzdG9wcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NDE1NzIxOD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBgbGFzdE9uZU9yTGVzc0lu
ZGV4YCBoYWQgYW4gb2ZmLWJ5LW9uZSBlcnJvciwgc28gaXQgZGlkIG5vdCBnbyB0aHJvdWdoCisg
ICAgICAgIHRoZSBsYXN0IHN0b3Agbm9ybWFsaXphdGlvbiBicmFuY2gsIHdoaWNoIGhhbmRsZXMg
Y2xhbXBpbmcgYWxsIHRoZSBzdG9wCisgICAgICAgIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBh
Ym92ZSAxLiBUaGlzIHBhdGNoIGZpeGVzIGl0LgorCisgICAgICAgIFRoZSBicmFuY2ggdGhhdCBj
bGFtcHMgc3RvcCBvZmZzZXRzIGFsbCB1bmRlciAwIGhhcyBhbHNvIGJlZW4gZml4ZWQgd2l0aAor
ICAgICAgICB0aGlzIHBhdGNoIHRvIGJlIGluY2x1c2l2ZSBvZiBgZmlyc3RaZXJvT3JHcmVhdGVy
SW5kZXhgLCB0byBwcmV2ZW50IGEKKyAgICAgICAgcmVncmVzc2lvbiBpbiB0aGF0IGNhc2UuCisK
KyAgICAgICAgQWxzbyBzaW1wbGlmaWVkIHRoZSBgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXhgL2Bs
YXN0T25lT3JMZXNzSW5kZXhgIGxvZ2ljCisgICAgICAgIHRvIHVzZSBhIHdoaWxlIGxvb3AgaW5z
dGVhZCBvZiBhIGZvciBsb29wLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisgICAgICAgICogY3Nz
L0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29uaWNHcmFkaWVudEFk
YXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdlKToKKwogMjAyMS0w
My0xOSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgTGluayBhZ2Fp
bnN0IHRoZSBBTkdMRSBTaGFyZWQgTGlicmFyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50
VmFsdWUuY3BwCmluZGV4IGYyZjFkMGE1Y2IzNy4uNmY4ZGNkZTllMTAwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC0yMzgsMTcgKzIzOCwxMyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBub3JtYWxpemVTdG9wc0FuZEVuZHBvaW50c091dHNpZGVSYW5nZShWZWN0b3I8
R3JhZGllbnRTdG9wPiYgc3RvcHMpCiAgICAgewogICAgICAgICBhdXRvIG51bVN0b3BzID0gc3Rv
cHMuc2l6ZSgpOwotICAgICAgICAKLSAgICAgICAgc2l6ZV90IGZpcnN0WmVyb09yR3JlYXRlcklu
ZGV4ID0gbnVtU3RvcHM7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtU3RvcHM7
ICsraSkgewotICAgICAgICAgICAgaWYgKCpzdG9wc1tpXS5vZmZzZXQgPj0gMCkgewotICAgICAg
ICAgICAgICAgIGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID0gaTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorCisgICAgICAgIHNpemVfdCBmaXJzdFpl
cm9PckdyZWF0ZXJJbmRleCA9IDA7CisgICAgICAgIHdoaWxlIChmaXJzdFplcm9PckdyZWF0ZXJJ
bmRleCA8IChudW1TdG9wcyAtIDEpICYmICpzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleF0u
b2Zmc2V0IDwgMCkKKyAgICAgICAgICAgIGZpcnN0WmVyb09yR3JlYXRlckluZGV4Kys7CiAKICAg
ICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID4gMCkgewotICAgICAgICAgICAgaWYg
KGZpcnN0WmVyb09yR3JlYXRlckluZGV4IDwgbnVtU3RvcHMgJiYgKnN0b3BzW2ZpcnN0WmVyb09y
R3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7CisgICAgICAgICAgICBpZiAoKnN0b3BzW2ZpcnN0
WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQg
cHJldk9mZnNldCA9ICpzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleCAtIDFdLm9mZnNldDsK
ICAgICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3Jl
YXRlckluZGV4XS5vZmZzZXQ7CiAgICAgICAgICAgICAgICAgCkBAIC0yNjMsMjggKzI1OSwyNCBA
QCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICAvLyBBbGwgc3RvcHMgYXJlIGJlbG93IDA7IGp1c3QgY2xhbXAgdGhlbS4KLSAg
ICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZpcnN0WmVyb09yR3JlYXRlcklu
ZGV4OyArK2kpCisgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPD0gZmlyc3Ra
ZXJvT3JHcmVhdGVySW5kZXg7ICsraSkKICAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zm
c2V0ID0gMDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIHNpemVfdCBsYXN0
T25lT3JMZXNzSW5kZXggPSBudW1TdG9wczsKLSAgICAgICAgZm9yIChpbnQgaSA9IG51bVN0b3Bz
IC0gMTsgaSA+PSAwOyAtLWkpIHsKLSAgICAgICAgICAgIGlmICgqc3RvcHNbaV0ub2Zmc2V0IDw9
IDEpIHsKLSAgICAgICAgICAgICAgICBsYXN0T25lT3JMZXNzSW5kZXggPSBpOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIAorICAgICAg
ICBzaXplX3QgbGFzdE9uZU9yTGVzc0luZGV4ID0gbnVtU3RvcHMgLSAxOworICAgICAgICB3aGls
ZSAobGFzdE9uZU9yTGVzc0luZGV4ID4gMCAmJiAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5v
ZmZzZXQgPiAxKQorICAgICAgICAgICAgbGFzdE9uZU9yTGVzc0luZGV4LS07CisKICAgICAgICAg
aWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzIC0gMSkgewotICAgICAgICAgICAgaWYg
KGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzICYmICpzdG9wc1tsYXN0T25lT3JMZXNzSW5k
ZXhdLm9mZnNldCA8IDEpIHsKKyAgICAgICAgICAgIGlmICgqc3RvcHNbbGFzdE9uZU9yTGVzc0lu
ZGV4XS5vZmZzZXQgPCAxKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgcHJldk9mZnNldCA9ICpz
dG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLm9mZnNldDsKICAgICAgICAgICAgICAgICBmbG9hdCBu
ZXh0T2Zmc2V0ID0gKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleCArIDFdLm9mZnNldDsKLSAgICAg
ICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgIGZsb2F0IGludGVyU3RvcFByb3BvcnRpb24g
PSAoMSAtIHByZXZPZmZzZXQpIC8gKG5leHRPZmZzZXQgLSBwcmV2T2Zmc2V0KTsKICAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogd2hlbiB3ZSBpbnRlcnBvbGF0ZSBncmFkaWVudHMgdXNpbmcgcHJl
bXVsdGlwbGllZCBjb2xvcnMsIHRoaXMgc2hvdWxkIGRvIHByZW11bHRpcGxpY2F0aW9uLgogICAg
ICAgICAgICAgICAgIENvbG9yIGJsZW5kZWRDb2xvciA9IGJsZW5kKHN0b3BzW2xhc3RPbmVPckxl
c3NJbmRleF0uY29sb3IsIHN0b3BzW2xhc3RPbmVPckxlc3NJbmRleCArIDFdLmNvbG9yLCBpbnRl
clN0b3BQcm9wb3J0aW9uKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgIC8v
IENsYW1wIHRoZSBwb3NpdGlvbnMgdG8gMSBhbmQgc2V0IHRoZSBjb2xvci4KICAgICAgICAgICAg
ICAgICBmb3IgKHNpemVfdCBpID0gbGFzdE9uZU9yTGVzc0luZGV4ICsgMTsgaSA8IG51bVN0b3Bz
OyArK2kpIHsKICAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424238</attachid>
            <date>2021-03-25 06:35:06 -0700</date>
            <delta_ts>2021-03-25 06:57:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221294-20210325143503.patch</filename>
            <type>text/plain</type>
            <size>9019</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI1NDRjNmM3NjMxMTk0
YTZlMzJlMDc5ZDk2ZWQ3NjAyOTkxOGZjMi4uNjdjMjMyM2I3YjdiNGIxOTFhZDNhMzM1YTI4OTNk
NTRjMTJjYThjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTI1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGVkZ2UgY2FzZXMgaW4gbm9y
bWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVudCBjb2xvciBzdG9wcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBgbGFzdE9uZU9yTGVzc0luZGV4YCBoYWQgYW4gb2ZmLWJ5LW9uZSBlcnJvciwg
c28gaXQgZGlkIG5vdCBnbyB0aHJvdWdoIHRoZQorICAgICAgICBicmFuY2ggaGFuZGxpbmcgY2xh
bXBpbmcgYWxsIHRoZSBzdG9wIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBhYm92ZSAxLgorCisg
ICAgICAgIEFsc28gbWFkZSBgbm9ybWFsaXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2Vg
IGxvZ2ljIGVhc2llciB0byBmb2xsb3cgdXNpbmcKKyAgICAgICAgYE9wdGlvbmFsPHNpemVfdD5g
IGluc3RlYWQgb2YgcGxhY2Vob2xkZXIgdmFsdWVzLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisg
ICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
aWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdl
KToKKwogMjAyMS0wMy0yMyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gWDExIGJ1aWxkIGZpeGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
ZGllbnRWYWx1ZS5jcHAKaW5kZXggZjJmMWQwYTVjYjM3MWRkZmExZGY0NDhhNWMyNzJhZWVmNDI1
ZDU0Ni4uM2IxZTBlYWQxZjRlYmFhNWRiMGI1ZmYxM2M4MmUyMWU4NTA4NjlhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcApAQCAtMjM3LDY0ICsyMzcsNjggQEAgcHVi
bGljOgogCiAgICAgdm9pZCBub3JtYWxpemVTdG9wc0FuZEVuZHBvaW50c091dHNpZGVSYW5nZShW
ZWN0b3I8R3JhZGllbnRTdG9wPiYgc3RvcHMpCiAgICAgewotICAgICAgICBhdXRvIG51bVN0b3Bz
ID0gc3RvcHMuc2l6ZSgpOwotICAgICAgICAKLSAgICAgICAgc2l6ZV90IGZpcnN0WmVyb09yR3Jl
YXRlckluZGV4ID0gbnVtU3RvcHM7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVt
U3RvcHM7ICsraSkgeworICAgICAgICBzaXplX3QgbGFzdFN0b3BJbmRleCA9IHN0b3BzLnNpemUo
KSAtIDE7CisKKyAgICAgICAgT3B0aW9uYWw8c2l6ZV90PiBmaXJzdFplcm9PckdyZWF0ZXJJbmRl
eDsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKSB7
CiAgICAgICAgICAgICBpZiAoKnN0b3BzW2ldLm9mZnNldCA+PSAwKSB7CiAgICAgICAgICAgICAg
ICAgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPSBpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRl
ckluZGV4ID4gMCkgewotICAgICAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4IDwg
bnVtU3RvcHMgJiYgKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7
Ci0gICAgICAgICAgICAgICAgZmxvYXQgcHJldk9mZnNldCA9ICpzdG9wc1tmaXJzdFplcm9Pckdy
ZWF0ZXJJbmRleCAtIDFdLm9mZnNldDsKLSAgICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0
ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4XS5vZmZzZXQ7Ci0gICAgICAgICAgICAg
ICAgCisgICAgICAgIGlmIChmaXJzdFplcm9PckdyZWF0ZXJJbmRleCAhPSBXVEY6Om51bGxvcHQp
IHsKKyAgICAgICAgICAgIHNpemVfdCBpbmRleCA9IGZpcnN0WmVyb09yR3JlYXRlckluZGV4LnZh
bHVlKCk7CisKKyAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHsKKyAgICAgICAgICAgICAgICBm
bG9hdCBwcmV2T2Zmc2V0ID0gKnN0b3BzW2luZGV4IC0gMV0ub2Zmc2V0OworICAgICAgICAgICAg
ICAgIGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbaW5kZXhdLm9mZnNldDsKKwogICAgICAgICAg
ICAgICAgIGZsb2F0IGludGVyU3RvcFByb3BvcnRpb24gPSAtcHJldk9mZnNldCAvIChuZXh0T2Zm
c2V0IC0gcHJldk9mZnNldCk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdoZW4gd2UgaW50
ZXJwb2xhdGUgZ3JhZGllbnRzIHVzaW5nIHByZW11bHRpcGxpZWQgY29sb3JzLCB0aGlzIHNob3Vs
ZCBkbyBwcmVtdWx0aXBsaWNhdGlvbi4KLSAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVkQ29s
b3IgPSBibGVuZChzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleCAtIDFdLmNvbG9yLCBzdG9w
c1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleF0uY29sb3IsIGludGVyU3RvcFByb3BvcnRpb24pOwot
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIENvbG9yIGJsZW5kZWRDb2xvciA9IGJs
ZW5kKHN0b3BzW2luZGV4IC0gMV0uY29sb3IsIHN0b3BzW2luZGV4XS5jb2xvciwgaW50ZXJTdG9w
UHJvcG9ydGlvbik7CisKICAgICAgICAgICAgICAgICAvLyBDbGFtcCB0aGUgcG9zaXRpb25zIHRv
IDAgYW5kIHNldCB0aGUgY29sb3IuCi0gICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBmaXJzdFplcm9PckdyZWF0ZXJJbmRleDsgKytpKSB7CisgICAgICAgICAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBpbmRleDsgKytpKSB7CiAgICAgICAgICAgICAgICAgICAgIHN0
b3BzW2ldLm9mZnNldCA9IDA7CiAgICAgICAgICAgICAgICAgICAgIHN0b3BzW2ldLmNvbG9yID0g
YmxlbmRlZENvbG9yOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgLy8gQWxsIHN0b3BzIGFyZSBiZWxvdyAwOyBqdXN0IGNsYW1wIHRoZW0u
Ci0gICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXJzdFplcm9PckdyZWF0
ZXJJbmRleDsgKytpKQotICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAwOwog
ICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gQWxsIHN0b3Ag
b2Zmc2V0cyBiZWxvdyAwLCBjbGFtcCB0aGVtLgorICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKQorICAgICAgICAgICAgICAgIHN0b3BzW2ldLm9m
ZnNldCA9IDA7CiAgICAgICAgIH0KIAotICAgICAgICBzaXplX3QgbGFzdE9uZU9yTGVzc0luZGV4
ID0gbnVtU3RvcHM7Ci0gICAgICAgIGZvciAoaW50IGkgPSBudW1TdG9wcyAtIDE7IGkgPj0gMDsg
LS1pKSB7CisgICAgICAgIE9wdGlvbmFsPHNpemVfdD4gbGFzdE9uZU9yTGVzc0luZGV4OworICAg
ICAgICBmb3IgKGludCBpID0gbGFzdFN0b3BJbmRleDsgaSA+PSAwOyAtLWkpIHsKICAgICAgICAg
ICAgIGlmICgqc3RvcHNbaV0ub2Zmc2V0IDw9IDEpIHsKICAgICAgICAgICAgICAgICBsYXN0T25l
T3JMZXNzSW5kZXggPSBpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQog
ICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAobGFzdE9uZU9yTGVzc0luZGV4IDwgbnVt
U3RvcHMgLSAxKSB7Ci0gICAgICAgICAgICBpZiAobGFzdE9uZU9yTGVzc0luZGV4IDwgbnVtU3Rv
cHMgJiYgKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0IDwgMSkgewotICAgICAgICAg
ICAgICAgIGZsb2F0IHByZXZPZmZzZXQgPSAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5vZmZz
ZXQ7Ci0gICAgICAgICAgICAgICAgZmxvYXQgbmV4dE9mZnNldCA9ICpzdG9wc1tsYXN0T25lT3JM
ZXNzSW5kZXggKyAxXS5vZmZzZXQ7Ci0gICAgICAgICAgICAgICAgCisKKyAgICAgICAgaWYgKGxh
c3RPbmVPckxlc3NJbmRleCAhPSBXVEY6Om51bGxvcHQpIHsKKyAgICAgICAgICAgIHNpemVfdCBp
bmRleCA9IGxhc3RPbmVPckxlc3NJbmRleC52YWx1ZSgpOworCisgICAgICAgICAgICBpZiAoaW5k
ZXggPD0gbGFzdFN0b3BJbmRleCAtIDEpIHsKKyAgICAgICAgICAgICAgICBmbG9hdCBwcmV2T2Zm
c2V0ID0gKnN0b3BzW2luZGV4XS5vZmZzZXQ7CisgICAgICAgICAgICAgICAgZmxvYXQgbmV4dE9m
ZnNldCA9ICpzdG9wc1tpbmRleCArIDFdLm9mZnNldDsKKwogICAgICAgICAgICAgICAgIGZsb2F0
IGludGVyU3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZPZmZzZXQpIC8gKG5leHRPZmZzZXQgLSBw
cmV2T2Zmc2V0KTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogd2hlbiB3ZSBpbnRlcnBvbGF0
ZSBncmFkaWVudHMgdXNpbmcgcHJlbXVsdGlwbGllZCBjb2xvcnMsIHRoaXMgc2hvdWxkIGRvIHBy
ZW11bHRpcGxpY2F0aW9uLgotICAgICAgICAgICAgICAgIENvbG9yIGJsZW5kZWRDb2xvciA9IGJs
ZW5kKHN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0uY29sb3IsIHN0b3BzW2xhc3RPbmVPckxlc3NJ
bmRleCArIDFdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0aW9uKTsKLSAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVkQ29sb3IgPSBibGVuZChzdG9wc1tpbmRleF0u
Y29sb3IsIHN0b3BzW2luZGV4ICsgMV0uY29sb3IsIGludGVyU3RvcFByb3BvcnRpb24pOworCiAg
ICAgICAgICAgICAgICAgLy8gQ2xhbXAgdGhlIHBvc2l0aW9ucyB0byAxIGFuZCBzZXQgdGhlIGNv
bG9yLgotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSBsYXN0T25lT3JMZXNzSW5kZXgg
KyAxOyBpIDwgbnVtU3RvcHM7ICsraSkgeworICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSBpbmRleCArIDE7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKSB7CiAgICAgICAgICAgICAgICAg
ICAgIHN0b3BzW2ldLm9mZnNldCA9IDE7CiAgICAgICAgICAgICAgICAgICAgIHN0b3BzW2ldLmNv
bG9yID0gYmxlbmRlZENvbG9yOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgLy8gQWxsIHN0b3BzIGFyZSBhYm92ZSAxOyBqdXN0IGNsYW1w
IHRoZW0uCi0gICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IGxhc3RPbmVPckxlc3NJbmRl
eDsgaSA8IG51bVN0b3BzOyArK2kpCi0gICAgICAgICAgICAgICAgICAgIHN0b3BzW2ldLm9mZnNl
dCA9IDE7CiAgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBB
bGwgc3RvcCBvZmZzZXRzIGFib3ZlIDEsIGNsYW1wIHRoZW0uCisgICAgICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8PSBsYXN0U3RvcEluZGV4OyArK2kpCisgICAgICAgICAgICAgICAgc3Rv
cHNbaV0ub2Zmc2V0ID0gMTsKICAgICAgICAgfQogICAgIH0KIH07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjQxZWVhNjdj
MWNhNGFjM2E0NjBiYjk5MjVjNzUwNTI0NGE0MjllNS4uNWRkOTZmNDRjYTM5YjFlZDc2OWZjMmJi
MTYzNmRlZDM5ZGIxZWE3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAzLTI1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIG5vcm1hbGl6YXRpb24t
Y29uaWMtMi5odG1sIFdQVCBub3cgdGhhdCB1bmRlcmx5aW5nIGJ1ZyBpcyBmaXhlZC4KKyAgICAg
ICAgQWxzbyB0dXJuZWQgb24gc29tZSBjb25pYyBncmFkaWVudCB0ZXN0cyB0aGF0IHdlcmUgYWxy
ZWFkeSBwYXNzaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NDE1NzIxOD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlv
bnM6IGVuYWJsZWQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdl
cy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbC4KKwogMjAyMS0wMy0yMyAgTGF1cm8gTW91cmEg
IDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gR2FyZGVuaW5nIGh0dHAvdGVz
dHMvaW1hZ2VzL21wNC1wYXJ0aWFsLWxvYWQuaHRtbCBmbGFreSBjcmFzaGVzIGFmdGVyIHIyNzQz
NTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDQxMGNmMzZhYmM5MzEwOTJmYWIwNzM5OTE1NjdkOWU2
MjFmOGFjODUuLjc5NWI3NzQ0YTRhODMxNGY3ZjQ2YjMzYzlmN2FlOGIzYWNjOTQ1OWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMzAxMCwxOCArMzAxMCw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250
ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvdGhlLWlmcmFtZS1lbGVtZW50L2lmcmFtZV9zYW5kYm94X3BvcHVwc19lc2Nh
cGluZy0yLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZyYW1lLWVsZW1lbnQvaWZyYW1lX3Nh
bmRib3hfcG9wdXBzX25vbmVzY2FwaW5nLTIuaHRtbCBbIFNraXAgXQogCi1odHRwL3dwdC9jc3Mv
Y3NzLWltYWdlcy00L2NvbmljLWdyYWRpZW50LXBhcnNpbmcuaHRtbCBbIFNraXAgXQotZmFzdC9n
cmFkaWVudHMvY29uaWMtcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2Nv
bmljLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLW9mZi1jZW50ZXIuaHRtbCBb
IFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29uaWMtY2VudGVyLW91dHNpZGUtYm94Lmh0bWwgWyBT
a2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWV4dGVuZGVkLXN0b3BzLmh0bWwgWyBTa2lwIF0K
LWZhc3QvZ3JhZGllbnRzL2NvbmljLWZyb20tYW5nbGUuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFk
aWVudHMvY29uaWMtcmVwZWF0aW5nLWxhc3Qtc3RvcC5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRp
ZW50cy9jb25pYy1ncmFkaWVudC1hbHBoYS5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9j
b25pYy1ncmFkaWVudC1leHRlbmRlZC1zdG9wcy5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50
cy9jb25pYy1ncmFkaWVudC5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy10d28t
aGludHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWltYWdlcy9tdWx0aXBsZS1wb3NpdGlvbi1jb2xvci1zdG9wLWNvbmljLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzE4Nzc3MyBodHRwL3Rlc3RzL3dlYkFQSVN0
YXRpc3RpY3MgWyBTa2lwIF0KQEAgLTQ0NDksNyArNDQzNyw2IEBAIHdlYmtpdC5vcmcvYi8yMTQ0
NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9pbWFnZS1y
ZXNvbHV0CiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1pbWFnZXMvaW1hZ2UtcmVzb2x1dGlvbi9pbWFnZS1yZXNvbHV0aW9uLTAxMC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvaW5maW5pdGUtcmFkaWFsLWdyYWRp
ZW50LXJlZmNyYXNoLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0
NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9tdWx0aXBs
ZS1wb3NpdGlvbi1jb2xvci1zdG9wLWNvbmljLTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tY29uaWMtMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1pbWFnZXMvbm9ybWFsaXphdGlvbi1saW5lYXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tcmFkaWFsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWltYWdlcy9vdXQtb2YtcmFuZ2UtY29sb3Itc3RvcC1jb25pYy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424240</attachid>
            <date>2021-03-25 06:57:12 -0700</date>
            <delta_ts>2021-03-25 09:07:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221294-20210325145709.patch</filename>
            <type>text/plain</type>
            <size>9171</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEzOWYxZDBkYjBkNWM1
YzgwZDg3Mjc3YmQ5NzUyMWY2OWNkMjBkZS4uZjAzNDk1NTg2NTRkNzBhZTdiMmMzNmNiMDBjYzZh
YmEwZDgxZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTI1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGVkZ2UgY2FzZXMgaW4gbm9y
bWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVudCBjb2xvciBzdG9wcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBgbGFzdE9uZU9yTGVzc0luZGV4YCBoYWQgYW4gb2ZmLWJ5LW9uZSBlcnJvciwg
c28gaXQgZGlkIG5vdCBnbyB0aHJvdWdoIHRoZQorICAgICAgICBicmFuY2ggaGFuZGxpbmcgY2xh
bXBpbmcgYWxsIHRoZSBzdG9wIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBhYm92ZSAxLgorCisg
ICAgICAgIEFsc28gbWFkZSBgbm9ybWFsaXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2Vg
IGxvZ2ljIGVhc2llciB0byBmb2xsb3cgdXNpbmcKKyAgICAgICAgYE9wdGlvbmFsPHNpemVfdD5g
IGluc3RlYWQgb2YgcGxhY2Vob2xkZXIgdmFsdWVzLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisg
ICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
aWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdl
KToKKwogMjAyMS0wMy0yNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBJbXByb3ZlIGludGVycG9sYXRpb24gb2YgdGhlIHNoYXBlLW91dHNpZGUgQ1NTIHBy
b3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggZjJmMWQw
YTVjYjM3MWRkZmExZGY0NDhhNWMyNzJhZWVmNDI1ZDU0Ni4uZmNmYjAzZDFmMmExZWU1NDJiYTdj
MGE4NGFjMzI3MDMxNTQ4NzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcApAQCAtMjM3LDY0ICsyMzcsNjYgQEAgcHVibGljOgogCiAgICAgdm9pZCBub3JtYWxpemVT
dG9wc0FuZEVuZHBvaW50c091dHNpZGVSYW5nZShWZWN0b3I8R3JhZGllbnRTdG9wPiYgc3RvcHMp
CiAgICAgewotICAgICAgICBhdXRvIG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOwotICAgICAgICAK
LSAgICAgICAgc2l6ZV90IGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID0gbnVtU3RvcHM7Ci0gICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtU3RvcHM7ICsraSkgeworICAgICAgICBzaXpl
X3QgbGFzdFN0b3BJbmRleCA9IHN0b3BzLnNpemUoKSAtIDE7CisKKyAgICAgICAgT3B0aW9uYWw8
c2l6ZV90PiBmaXJzdFplcm9PckdyZWF0ZXJJbmRleDsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKSB7CiAgICAgICAgICAgICBpZiAoKnN0b3BzW2ld
Lm9mZnNldCA+PSAwKSB7CiAgICAgICAgICAgICAgICAgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXgg
PSBpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID4gMCkgewotICAgICAgICAgICAg
aWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4IDwgbnVtU3RvcHMgJiYgKnN0b3BzW2ZpcnN0WmVy
b09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgcHJl
dk9mZnNldCA9ICpzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleCAtIDFdLm9mZnNldDsKLSAg
ICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRl
ckluZGV4XS5vZmZzZXQ7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZmxvYXQg
aW50ZXJTdG9wUHJvcG9ydGlvbiA9IC1wcmV2T2Zmc2V0IC8gKG5leHRPZmZzZXQgLSBwcmV2T2Zm
c2V0KTsKKyAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4KSB7CisgICAgICAgICAg
ICBzaXplX3QgaW5kZXggPSAqZmlyc3RaZXJvT3JHcmVhdGVySW5kZXg7CisgICAgICAgICAgICBp
ZiAoaW5kZXggPiAwKSB7CisgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNPZmZzZXQgPSAq
c3RvcHNbaW5kZXggLSAxXS5vZmZzZXQ7CisgICAgICAgICAgICAgICAgZmxvYXQgbmV4dE9mZnNl
dCA9ICpzdG9wc1tpbmRleF0ub2Zmc2V0OworCisgICAgICAgICAgICAgICAgZmxvYXQgaW50ZXJT
dG9wUHJvcG9ydGlvbiA9IC1wcmV2aW91c09mZnNldCAvIChuZXh0T2Zmc2V0IC0gcHJldmlvdXNP
ZmZzZXQpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB3aGVuIHdlIGludGVycG9sYXRlIGdy
YWRpZW50cyB1c2luZyBwcmVtdWx0aXBsaWVkIGNvbG9ycywgdGhpcyBzaG91bGQgZG8gcHJlbXVs
dGlwbGljYXRpb24uCi0gICAgICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQo
c3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggLSAxXS5jb2xvciwgc3RvcHNbZmlyc3RaZXJv
T3JHcmVhdGVySW5kZXhdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0aW9uKTsKLSAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVkQ29sb3IgPSBibGVuZChzdG9wc1tp
bmRleCAtIDFdLmNvbG9yLCBzdG9wc1tpbmRleF0uY29sb3IsIGludGVyU3RvcFByb3BvcnRpb24p
OworCiAgICAgICAgICAgICAgICAgLy8gQ2xhbXAgdGhlIHBvc2l0aW9ucyB0byAwIGFuZCBzZXQg
dGhlIGNvbG9yLgotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmlyc3Ra
ZXJvT3JHcmVhdGVySW5kZXg7ICsraSkgeworICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgaW5kZXg7ICsraSkgewogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZz
ZXQgPSAwOwogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5jb2xvciA9IGJsZW5kZWRDb2xv
cjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIC8vIEFsbCBzdG9wcyBhcmUgYmVsb3cgMDsganVzdCBjbGFtcCB0aGVtLgotICAgICAgICAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXg7ICsr
aSkKLSAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMDsKICAgICAgICAgICAg
IH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIEFsbCBzdG9wIG9mZnNldHMgYmVs
b3cgMCwgY2xhbXAgdGhlbS4KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDw9IGxh
c3RTdG9wSW5kZXg7ICsraSkKKyAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAwOwog
ICAgICAgICB9CiAKLSAgICAgICAgc2l6ZV90IGxhc3RPbmVPckxlc3NJbmRleCA9IG51bVN0b3Bz
OwotICAgICAgICBmb3IgKGludCBpID0gbnVtU3RvcHMgLSAxOyBpID49IDA7IC0taSkgeworICAg
ICAgICBPcHRpb25hbDxzaXplX3Q+IGxhc3RPbmVPckxlc3NJbmRleDsKKyAgICAgICAgZm9yIChp
bnQgaSA9IGxhc3RTdG9wSW5kZXg7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgICAgICBpZiAoKnN0
b3BzW2ldLm9mZnNldCA8PSAxKSB7CiAgICAgICAgICAgICAgICAgbGFzdE9uZU9yTGVzc0luZGV4
ID0gaTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQot
ICAgICAgICAKLSAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzIC0gMSkg
ewotICAgICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzICYmICpzdG9w
c1tsYXN0T25lT3JMZXNzSW5kZXhdLm9mZnNldCA8IDEpIHsKLSAgICAgICAgICAgICAgICBmbG9h
dCBwcmV2T2Zmc2V0ID0gKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0OwotICAgICAg
ICAgICAgICAgIGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsg
MV0ub2Zmc2V0OwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGZsb2F0IGludGVy
U3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZPZmZzZXQpIC8gKG5leHRPZmZzZXQgLSBwcmV2T2Zm
c2V0KTsKKworICAgICAgICBpZiAobGFzdE9uZU9yTGVzc0luZGV4KSB7CisgICAgICAgICAgICBz
aXplX3QgaW5kZXggPSAqbGFzdE9uZU9yTGVzc0luZGV4OworICAgICAgICAgICAgaWYgKGluZGV4
IDw9IGxhc3RTdG9wSW5kZXggLSAxKSB7CisgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNP
ZmZzZXQgPSAqc3RvcHNbaW5kZXhdLm9mZnNldDsKKyAgICAgICAgICAgICAgICBmbG9hdCBuZXh0
T2Zmc2V0ID0gKnN0b3BzW2luZGV4ICsgMV0ub2Zmc2V0OworCisgICAgICAgICAgICAgICAgZmxv
YXQgaW50ZXJTdG9wUHJvcG9ydGlvbiA9ICgxIC0gcHJldmlvdXNPZmZzZXQpIC8gKG5leHRPZmZz
ZXQgLSBwcmV2aW91c09mZnNldCk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdoZW4gd2Ug
aW50ZXJwb2xhdGUgZ3JhZGllbnRzIHVzaW5nIHByZW11bHRpcGxpZWQgY29sb3JzLCB0aGlzIHNo
b3VsZCBkbyBwcmVtdWx0aXBsaWNhdGlvbi4KLSAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVk
Q29sb3IgPSBibGVuZChzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLmNvbG9yLCBzdG9wc1tsYXN0
T25lT3JMZXNzSW5kZXggKyAxXS5jb2xvciwgaW50ZXJTdG9wUHJvcG9ydGlvbik7Ci0gICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQoc3Rv
cHNbaW5kZXhdLmNvbG9yLCBzdG9wc1tpbmRleCArIDFdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0
aW9uKTsKKwogICAgICAgICAgICAgICAgIC8vIENsYW1wIHRoZSBwb3NpdGlvbnMgdG8gMSBhbmQg
c2V0IHRoZSBjb2xvci4KLSAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gbGFzdE9uZU9y
TGVzc0luZGV4ICsgMTsgaSA8IG51bVN0b3BzOyArK2kpIHsKKyAgICAgICAgICAgICAgICBmb3Ig
KHNpemVfdCBpID0gaW5kZXggKyAxOyBpIDw9IGxhc3RTdG9wSW5kZXg7ICsraSkgewogICAgICAg
ICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAxOwogICAgICAgICAgICAgICAgICAgICBz
dG9wc1tpXS5jb2xvciA9IGJsZW5kZWRDb2xvcjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIEFsbCBzdG9wcyBhcmUgYWJvdmUgMTsg
anVzdCBjbGFtcCB0aGVtLgotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSBsYXN0T25l
T3JMZXNzSW5kZXg7IGkgPCBudW1TdG9wczsgKytpKQotICAgICAgICAgICAgICAgICAgICBzdG9w
c1tpXS5vZmZzZXQgPSAxOwogICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgLy8gQWxsIHN0b3Agb2Zmc2V0cyBhYm92ZSAxLCBjbGFtcCB0aGVtLgorICAgICAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKQorICAgICAgICAg
ICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IDE7CiAgICAgICAgIH0KICAgICB9CiB9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGJlODhhMmQzNGU2NmUwMjIwNzRhZDAwM2Y0YWEwY2JhM2YyNmIwNDguLmI2MzNjMzliMTIxYTFi
ZGIxNTdmMmYwNjRjNmJmNDU0ZjZjNDgwZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0w
My0yNSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJsZSBub3Jt
YWxpemF0aW9uLWNvbmljLTIuaHRtbCBXUFQgbm93IHRoYXQgdW5kZXJseWluZyBidWcgaXMgZml4
ZWQuCisgICAgICAgIEFsc28gdHVybmVkIG9uIHNvbWUgY29uaWMgZ3JhZGllbnQgdGVzdHMgdGhh
dCB3ZXJlIGFscmVhZHkgcGFzc2luZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQxNTcyMTg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
RXhwZWN0YXRpb25zOiBlbmFibGVkIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1pbWFnZXMvbm9ybWFsaXphdGlvbi1jb25pYy0yLmh0bWwuCisKIDIwMjEtMDMtMjQgIExh
dXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUmUtc2tpcCBt
b2Rlcm4tbWVkaWEtY29udHJvbHMgdGVzdHMgYWZ0ZXIgcjI3NDgxMApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggYTI0NDFmMjE4NDkyNjVjMjMxMWM0YWMyYjEzMGQxMzYyOGNiMzJhMS4uODRiMDIwMDRl
MzlmOTlhYjAyODE4ZjdhZGM5MDNlNmZhMTI2ZWMxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0z
MDEwLDE4ICszMDEwLDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jy
b3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHQKIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZy
YW1lLWVsZW1lbnQvaWZyYW1lX3NhbmRib3hfcG9wdXBzX2VzY2FwaW5nLTIuaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWVfc2FuZGJveF9wb3B1cHNfbm9uZXNj
YXBpbmctMi5odG1sIFsgU2tpcCBdCiAKLWh0dHAvd3B0L2Nzcy9jc3MtaW1hZ2VzLTQvY29uaWMt
Z3JhZGllbnQtcGFyc2luZy5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1yZXBl
YXRpbmcuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29uaWMuaHRtbCBbIFNraXAgXQot
ZmFzdC9ncmFkaWVudHMvY29uaWMtb2ZmLWNlbnRlci5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRp
ZW50cy9jb25pYy1jZW50ZXItb3V0c2lkZS1ib3guaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVu
dHMvY29uaWMtZXh0ZW5kZWQtc3RvcHMuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29u
aWMtZnJvbS1hbmdsZS5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1yZXBlYXRp
bmctbGFzdC1zdG9wLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50
LWFscGhhLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50LWV4dGVu
ZGVkLXN0b3BzLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50Lmh0
bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLXR3by1oaW50cy5odG1sIFsgU2tpcCBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL211bHRpcGxl
LXBvc2l0aW9uLWNvbG9yLXN0b3AtY29uaWMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiB3
ZWJraXQub3JnL2IvMTg3NzczIGh0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcyBbIFNraXAgXQpA
QCAtNDQ0OSw3ICs0NDM3LDYgQEAgd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL2ltYWdlLXJlc29sdXQKIHdlYmtpdC5vcmcv
Yi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9p
bWFnZS1yZXNvbHV0aW9uL2ltYWdlLXJlc29sdXRpb24tMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWltYWdlcy9pbmZpbml0ZS1yYWRpYWwtZ3JhZGllbnQtcmVmY3Jhc2guaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL211bHRpcGxlLXBvc2l0aW9uLWNvbG9yLXN0
b3AtY29uaWMtMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjE0NDU2
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9ybWFsaXph
dGlvbi1jb25pYy0yLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0
NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxp
emF0aW9uLWxpbmVhci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0
NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9ybWFs
aXphdGlvbi1yYWRpYWwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIx
NDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL291dC1v
Zi1yYW5nZS1jb2xvci1zdG9wLWNvbmljLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424248</attachid>
            <date>2021-03-25 09:07:33 -0700</date>
            <delta_ts>2021-03-25 09:10:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221294-20210325170730.patch</filename>
            <type>text/plain</type>
            <size>9971</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEzOWYxZDBkYjBkNWM1
YzgwZDg3Mjc3YmQ5NzUyMWY2OWNkMjBkZS4uZjAzNDk1NTg2NTRkNzBhZTdiMmMzNmNiMDBjYzZh
YmEwZDgxZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTI1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGVkZ2UgY2FzZXMgaW4gbm9y
bWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVudCBjb2xvciBzdG9wcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBgbGFzdE9uZU9yTGVzc0luZGV4YCBoYWQgYW4gb2ZmLWJ5LW9uZSBlcnJvciwg
c28gaXQgZGlkIG5vdCBnbyB0aHJvdWdoIHRoZQorICAgICAgICBicmFuY2ggaGFuZGxpbmcgY2xh
bXBpbmcgYWxsIHRoZSBzdG9wIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBhYm92ZSAxLgorCisg
ICAgICAgIEFsc28gbWFkZSBgbm9ybWFsaXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2Vg
IGxvZ2ljIGVhc2llciB0byBmb2xsb3cgdXNpbmcKKyAgICAgICAgYE9wdGlvbmFsPHNpemVfdD5g
IGluc3RlYWQgb2YgcGxhY2Vob2xkZXIgdmFsdWVzLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisg
ICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
aWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdl
KToKKwogMjAyMS0wMy0yNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBJbXByb3ZlIGludGVycG9sYXRpb24gb2YgdGhlIHNoYXBlLW91dHNpZGUgQ1NTIHBy
b3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggZjJmMWQw
YTVjYjM3MWRkZmExZGY0NDhhNWMyNzJhZWVmNDI1ZDU0Ni4uZmNmYjAzZDFmMmExZWU1NDJiYTdj
MGE4NGFjMzI3MDMxNTQ4NzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcApAQCAtMjM3LDY0ICsyMzcsNjYgQEAgcHVibGljOgogCiAgICAgdm9pZCBub3JtYWxpemVT
dG9wc0FuZEVuZHBvaW50c091dHNpZGVSYW5nZShWZWN0b3I8R3JhZGllbnRTdG9wPiYgc3RvcHMp
CiAgICAgewotICAgICAgICBhdXRvIG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOwotICAgICAgICAK
LSAgICAgICAgc2l6ZV90IGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID0gbnVtU3RvcHM7Ci0gICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtU3RvcHM7ICsraSkgeworICAgICAgICBzaXpl
X3QgbGFzdFN0b3BJbmRleCA9IHN0b3BzLnNpemUoKSAtIDE7CisKKyAgICAgICAgT3B0aW9uYWw8
c2l6ZV90PiBmaXJzdFplcm9PckdyZWF0ZXJJbmRleDsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKSB7CiAgICAgICAgICAgICBpZiAoKnN0b3BzW2ld
Lm9mZnNldCA+PSAwKSB7CiAgICAgICAgICAgICAgICAgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXgg
PSBpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID4gMCkgewotICAgICAgICAgICAg
aWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4IDwgbnVtU3RvcHMgJiYgKnN0b3BzW2ZpcnN0WmVy
b09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgcHJl
dk9mZnNldCA9ICpzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleCAtIDFdLm9mZnNldDsKLSAg
ICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRl
ckluZGV4XS5vZmZzZXQ7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZmxvYXQg
aW50ZXJTdG9wUHJvcG9ydGlvbiA9IC1wcmV2T2Zmc2V0IC8gKG5leHRPZmZzZXQgLSBwcmV2T2Zm
c2V0KTsKKyAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4KSB7CisgICAgICAgICAg
ICBzaXplX3QgaW5kZXggPSAqZmlyc3RaZXJvT3JHcmVhdGVySW5kZXg7CisgICAgICAgICAgICBp
ZiAoaW5kZXggPiAwKSB7CisgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNPZmZzZXQgPSAq
c3RvcHNbaW5kZXggLSAxXS5vZmZzZXQ7CisgICAgICAgICAgICAgICAgZmxvYXQgbmV4dE9mZnNl
dCA9ICpzdG9wc1tpbmRleF0ub2Zmc2V0OworCisgICAgICAgICAgICAgICAgZmxvYXQgaW50ZXJT
dG9wUHJvcG9ydGlvbiA9IC1wcmV2aW91c09mZnNldCAvIChuZXh0T2Zmc2V0IC0gcHJldmlvdXNP
ZmZzZXQpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB3aGVuIHdlIGludGVycG9sYXRlIGdy
YWRpZW50cyB1c2luZyBwcmVtdWx0aXBsaWVkIGNvbG9ycywgdGhpcyBzaG91bGQgZG8gcHJlbXVs
dGlwbGljYXRpb24uCi0gICAgICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQo
c3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggLSAxXS5jb2xvciwgc3RvcHNbZmlyc3RaZXJv
T3JHcmVhdGVySW5kZXhdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0aW9uKTsKLSAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVkQ29sb3IgPSBibGVuZChzdG9wc1tp
bmRleCAtIDFdLmNvbG9yLCBzdG9wc1tpbmRleF0uY29sb3IsIGludGVyU3RvcFByb3BvcnRpb24p
OworCiAgICAgICAgICAgICAgICAgLy8gQ2xhbXAgdGhlIHBvc2l0aW9ucyB0byAwIGFuZCBzZXQg
dGhlIGNvbG9yLgotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmlyc3Ra
ZXJvT3JHcmVhdGVySW5kZXg7ICsraSkgeworICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgaW5kZXg7ICsraSkgewogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZz
ZXQgPSAwOwogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5jb2xvciA9IGJsZW5kZWRDb2xv
cjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIC8vIEFsbCBzdG9wcyBhcmUgYmVsb3cgMDsganVzdCBjbGFtcCB0aGVtLgotICAgICAgICAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXg7ICsr
aSkKLSAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMDsKICAgICAgICAgICAg
IH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIEFsbCBzdG9wIG9mZnNldHMgYmVs
b3cgMCwgY2xhbXAgdGhlbS4KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDw9IGxh
c3RTdG9wSW5kZXg7ICsraSkKKyAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAwOwog
ICAgICAgICB9CiAKLSAgICAgICAgc2l6ZV90IGxhc3RPbmVPckxlc3NJbmRleCA9IG51bVN0b3Bz
OwotICAgICAgICBmb3IgKGludCBpID0gbnVtU3RvcHMgLSAxOyBpID49IDA7IC0taSkgeworICAg
ICAgICBPcHRpb25hbDxzaXplX3Q+IGxhc3RPbmVPckxlc3NJbmRleDsKKyAgICAgICAgZm9yIChp
bnQgaSA9IGxhc3RTdG9wSW5kZXg7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgICAgICBpZiAoKnN0
b3BzW2ldLm9mZnNldCA8PSAxKSB7CiAgICAgICAgICAgICAgICAgbGFzdE9uZU9yTGVzc0luZGV4
ID0gaTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQot
ICAgICAgICAKLSAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzIC0gMSkg
ewotICAgICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzICYmICpzdG9w
c1tsYXN0T25lT3JMZXNzSW5kZXhdLm9mZnNldCA8IDEpIHsKLSAgICAgICAgICAgICAgICBmbG9h
dCBwcmV2T2Zmc2V0ID0gKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0OwotICAgICAg
ICAgICAgICAgIGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsg
MV0ub2Zmc2V0OwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGZsb2F0IGludGVy
U3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZPZmZzZXQpIC8gKG5leHRPZmZzZXQgLSBwcmV2T2Zm
c2V0KTsKKworICAgICAgICBpZiAobGFzdE9uZU9yTGVzc0luZGV4KSB7CisgICAgICAgICAgICBz
aXplX3QgaW5kZXggPSAqbGFzdE9uZU9yTGVzc0luZGV4OworICAgICAgICAgICAgaWYgKGluZGV4
IDw9IGxhc3RTdG9wSW5kZXggLSAxKSB7CisgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNP
ZmZzZXQgPSAqc3RvcHNbaW5kZXhdLm9mZnNldDsKKyAgICAgICAgICAgICAgICBmbG9hdCBuZXh0
T2Zmc2V0ID0gKnN0b3BzW2luZGV4ICsgMV0ub2Zmc2V0OworCisgICAgICAgICAgICAgICAgZmxv
YXQgaW50ZXJTdG9wUHJvcG9ydGlvbiA9ICgxIC0gcHJldmlvdXNPZmZzZXQpIC8gKG5leHRPZmZz
ZXQgLSBwcmV2aW91c09mZnNldCk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdoZW4gd2Ug
aW50ZXJwb2xhdGUgZ3JhZGllbnRzIHVzaW5nIHByZW11bHRpcGxpZWQgY29sb3JzLCB0aGlzIHNo
b3VsZCBkbyBwcmVtdWx0aXBsaWNhdGlvbi4KLSAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVk
Q29sb3IgPSBibGVuZChzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLmNvbG9yLCBzdG9wc1tsYXN0
T25lT3JMZXNzSW5kZXggKyAxXS5jb2xvciwgaW50ZXJTdG9wUHJvcG9ydGlvbik7Ci0gICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQoc3Rv
cHNbaW5kZXhdLmNvbG9yLCBzdG9wc1tpbmRleCArIDFdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0
aW9uKTsKKwogICAgICAgICAgICAgICAgIC8vIENsYW1wIHRoZSBwb3NpdGlvbnMgdG8gMSBhbmQg
c2V0IHRoZSBjb2xvci4KLSAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gbGFzdE9uZU9y
TGVzc0luZGV4ICsgMTsgaSA8IG51bVN0b3BzOyArK2kpIHsKKyAgICAgICAgICAgICAgICBmb3Ig
KHNpemVfdCBpID0gaW5kZXggKyAxOyBpIDw9IGxhc3RTdG9wSW5kZXg7ICsraSkgewogICAgICAg
ICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAxOwogICAgICAgICAgICAgICAgICAgICBz
dG9wc1tpXS5jb2xvciA9IGJsZW5kZWRDb2xvcjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIEFsbCBzdG9wcyBhcmUgYWJvdmUgMTsg
anVzdCBjbGFtcCB0aGVtLgotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSBsYXN0T25l
T3JMZXNzSW5kZXg7IGkgPCBudW1TdG9wczsgKytpKQotICAgICAgICAgICAgICAgICAgICBzdG9w
c1tpXS5vZmZzZXQgPSAxOwogICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgLy8gQWxsIHN0b3Agb2Zmc2V0cyBhYm92ZSAxLCBjbGFtcCB0aGVtLgorICAgICAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKQorICAgICAgICAg
ICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IDE7CiAgICAgICAgIH0KICAgICB9CiB9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGJlODhhMmQzNGU2NmUwMjIwNzRhZDAwM2Y0YWEwY2JhM2YyNmIwNDguLmI2MzNjMzliMTIxYTFi
ZGIxNTdmMmYwNjRjNmJmNDU0ZjZjNDgwZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0w
My0yNSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJsZSBub3Jt
YWxpemF0aW9uLWNvbmljLTIuaHRtbCBXUFQgbm93IHRoYXQgdW5kZXJseWluZyBidWcgaXMgZml4
ZWQuCisgICAgICAgIEFsc28gdHVybmVkIG9uIHNvbWUgY29uaWMgZ3JhZGllbnQgdGVzdHMgdGhh
dCB3ZXJlIGFscmVhZHkgcGFzc2luZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQxNTcyMTg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
RXhwZWN0YXRpb25zOiBlbmFibGVkIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1pbWFnZXMvbm9ybWFsaXphdGlvbi1jb25pYy0yLmh0bWwuCisKIDIwMjEtMDMtMjQgIExh
dXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUmUtc2tpcCBt
b2Rlcm4tbWVkaWEtY29udHJvbHMgdGVzdHMgYWZ0ZXIgcjI3NDgxMApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggYTI0NDFmMjE4NDkyNjVjMjMxMWM0YWMyYjEzMGQxMzYyOGNiMzJhMS4uMDMyM2ViMjVj
Mjg5NWJhYmZlN2RjMDFmMjE5ZjYzN2M5NjcwNDI3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0z
MDEwLDE4ICszMDEwLDE4IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0CiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWlm
cmFtZS1lbGVtZW50L2lmcmFtZV9zYW5kYm94X3BvcHVwc19lc2NhcGluZy0yLmh0bWwgWyBTa2lw
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC90aGUtaWZyYW1lLWVsZW1lbnQvaWZyYW1lX3NhbmRib3hfcG9wdXBzX25vbmVz
Y2FwaW5nLTIuaHRtbCBbIFNraXAgXQogCi1odHRwL3dwdC9jc3MvY3NzLWltYWdlcy00L2Nvbmlj
LWdyYWRpZW50LXBhcnNpbmcuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29uaWMtcmVw
ZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLmh0bWwgWyBTa2lwIF0K
LWZhc3QvZ3JhZGllbnRzL2NvbmljLW9mZi1jZW50ZXIuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFk
aWVudHMvY29uaWMtY2VudGVyLW91dHNpZGUtYm94Lmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGll
bnRzL2NvbmljLWV4dGVuZGVkLXN0b3BzLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2Nv
bmljLWZyb20tYW5nbGUuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29uaWMtcmVwZWF0
aW5nLWxhc3Qtc3RvcC5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1ncmFkaWVu
dC1hbHBoYS5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1ncmFkaWVudC1leHRl
bmRlZC1zdG9wcy5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1ncmFkaWVudC5o
dG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy10d28taGludHMuaHRtbCBbIFNraXAg
XQoraHR0cC93cHQvY3NzL2Nzcy1pbWFnZXMtNC9jb25pYy1ncmFkaWVudC1wYXJzaW5nLmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtcmVwZWF0aW5nLmh0bWwgWyBQ
YXNzIEltYWdlT25seUZhaWx1cmUgXQorZmFzdC9ncmFkaWVudHMvY29uaWMuaHRtbCBbIFBhc3Mg
SW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L2dyYWRpZW50cy9jb25pYy1vZmYtY2VudGVyLmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtY2VudGVyLW91
dHNpZGUtYm94Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQorZmFzdC9ncmFkaWVudHMv
Y29uaWMtZXh0ZW5kZWQtc3RvcHMuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0
L2dyYWRpZW50cy9jb25pYy1mcm9tLWFuZ2xlLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUg
XQorZmFzdC9ncmFkaWVudHMvY29uaWMtcmVwZWF0aW5nLWxhc3Qtc3RvcC5odG1sIFsgUGFzcyBJ
bWFnZU9ubHlGYWlsdXJlIF0KK2Zhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50LWFscGhhLmh0
bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtZ3JhZGll
bnQtZXh0ZW5kZWQtc3RvcHMuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L2dy
YWRpZW50cy9jb25pYy1ncmFkaWVudC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK2Zh
c3QvZ3JhZGllbnRzL2NvbmljLXR3by1oaW50cy5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbXVsdGlw
bGUtcG9zaXRpb24tY29sb3Itc3RvcC1jb25pYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAK
IHdlYmtpdC5vcmcvYi8xODc3NzMgaHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNzIFsgU2tpcCBd
CkBAIC00NDQ5LDcgKzQ0NDksNiBAQCB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvaW1hZ2UtcmVzb2x1dAogd2Via2l0Lm9y
Zy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2Vz
L2ltYWdlLXJlc29sdXRpb24vaW1hZ2UtcmVzb2x1dGlvbi0wMTAuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtaW1hZ2VzL2luZmluaXRlLXJhZGlhbC1ncmFkaWVudC1yZWZjcmFzaC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbXVsdGlwbGUtcG9zaXRpb24tY29sb3It
c3RvcC1jb25pYy0yLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0
NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxp
emF0aW9uLWNvbmljLTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIx
NDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1h
bGl6YXRpb24tbGluZWFyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8y
MTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3Jt
YWxpemF0aW9uLXJhZGlhbC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvb3V0
LW9mLXJhbmdlLWNvbG9yLXN0b3AtY29uaWMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424249</attachid>
            <date>2021-03-25 09:10:11 -0700</date>
            <delta_ts>2021-03-25 09:16:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221294-20210325171009.patch</filename>
            <type>text/plain</type>
            <size>9976</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEzOWYxZDBkYjBkNWM1
YzgwZDg3Mjc3YmQ5NzUyMWY2OWNkMjBkZS4uZjAzNDk1NTg2NTRkNzBhZTdiMmMzNmNiMDBjYzZh
YmEwZDgxZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTI1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGVkZ2UgY2FzZXMgaW4gbm9y
bWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVudCBjb2xvciBzdG9wcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBgbGFzdE9uZU9yTGVzc0luZGV4YCBoYWQgYW4gb2ZmLWJ5LW9uZSBlcnJvciwg
c28gaXQgZGlkIG5vdCBnbyB0aHJvdWdoIHRoZQorICAgICAgICBicmFuY2ggaGFuZGxpbmcgY2xh
bXBpbmcgYWxsIHRoZSBzdG9wIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBhYm92ZSAxLgorCisg
ICAgICAgIEFsc28gbWFkZSBgbm9ybWFsaXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2Vg
IGxvZ2ljIGVhc2llciB0byBmb2xsb3cgdXNpbmcKKyAgICAgICAgYE9wdGlvbmFsPHNpemVfdD5g
IGluc3RlYWQgb2YgcGxhY2Vob2xkZXIgdmFsdWVzLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisg
ICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
aWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdl
KToKKwogMjAyMS0wMy0yNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBJbXByb3ZlIGludGVycG9sYXRpb24gb2YgdGhlIHNoYXBlLW91dHNpZGUgQ1NTIHBy
b3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggZjJmMWQw
YTVjYjM3MWRkZmExZGY0NDhhNWMyNzJhZWVmNDI1ZDU0Ni4uZmNmYjAzZDFmMmExZWU1NDJiYTdj
MGE4NGFjMzI3MDMxNTQ4NzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcApAQCAtMjM3LDY0ICsyMzcsNjYgQEAgcHVibGljOgogCiAgICAgdm9pZCBub3JtYWxpemVT
dG9wc0FuZEVuZHBvaW50c091dHNpZGVSYW5nZShWZWN0b3I8R3JhZGllbnRTdG9wPiYgc3RvcHMp
CiAgICAgewotICAgICAgICBhdXRvIG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOwotICAgICAgICAK
LSAgICAgICAgc2l6ZV90IGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID0gbnVtU3RvcHM7Ci0gICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtU3RvcHM7ICsraSkgeworICAgICAgICBzaXpl
X3QgbGFzdFN0b3BJbmRleCA9IHN0b3BzLnNpemUoKSAtIDE7CisKKyAgICAgICAgT3B0aW9uYWw8
c2l6ZV90PiBmaXJzdFplcm9PckdyZWF0ZXJJbmRleDsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKSB7CiAgICAgICAgICAgICBpZiAoKnN0b3BzW2ld
Lm9mZnNldCA+PSAwKSB7CiAgICAgICAgICAgICAgICAgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXgg
PSBpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID4gMCkgewotICAgICAgICAgICAg
aWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4IDwgbnVtU3RvcHMgJiYgKnN0b3BzW2ZpcnN0WmVy
b09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgcHJl
dk9mZnNldCA9ICpzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleCAtIDFdLm9mZnNldDsKLSAg
ICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRl
ckluZGV4XS5vZmZzZXQ7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZmxvYXQg
aW50ZXJTdG9wUHJvcG9ydGlvbiA9IC1wcmV2T2Zmc2V0IC8gKG5leHRPZmZzZXQgLSBwcmV2T2Zm
c2V0KTsKKyAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4KSB7CisgICAgICAgICAg
ICBzaXplX3QgaW5kZXggPSAqZmlyc3RaZXJvT3JHcmVhdGVySW5kZXg7CisgICAgICAgICAgICBp
ZiAoaW5kZXggPiAwKSB7CisgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNPZmZzZXQgPSAq
c3RvcHNbaW5kZXggLSAxXS5vZmZzZXQ7CisgICAgICAgICAgICAgICAgZmxvYXQgbmV4dE9mZnNl
dCA9ICpzdG9wc1tpbmRleF0ub2Zmc2V0OworCisgICAgICAgICAgICAgICAgZmxvYXQgaW50ZXJT
dG9wUHJvcG9ydGlvbiA9IC1wcmV2aW91c09mZnNldCAvIChuZXh0T2Zmc2V0IC0gcHJldmlvdXNP
ZmZzZXQpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB3aGVuIHdlIGludGVycG9sYXRlIGdy
YWRpZW50cyB1c2luZyBwcmVtdWx0aXBsaWVkIGNvbG9ycywgdGhpcyBzaG91bGQgZG8gcHJlbXVs
dGlwbGljYXRpb24uCi0gICAgICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQo
c3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggLSAxXS5jb2xvciwgc3RvcHNbZmlyc3RaZXJv
T3JHcmVhdGVySW5kZXhdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0aW9uKTsKLSAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVkQ29sb3IgPSBibGVuZChzdG9wc1tp
bmRleCAtIDFdLmNvbG9yLCBzdG9wc1tpbmRleF0uY29sb3IsIGludGVyU3RvcFByb3BvcnRpb24p
OworCiAgICAgICAgICAgICAgICAgLy8gQ2xhbXAgdGhlIHBvc2l0aW9ucyB0byAwIGFuZCBzZXQg
dGhlIGNvbG9yLgotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmlyc3Ra
ZXJvT3JHcmVhdGVySW5kZXg7ICsraSkgeworICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgaW5kZXg7ICsraSkgewogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZz
ZXQgPSAwOwogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5jb2xvciA9IGJsZW5kZWRDb2xv
cjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIC8vIEFsbCBzdG9wcyBhcmUgYmVsb3cgMDsganVzdCBjbGFtcCB0aGVtLgotICAgICAgICAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXg7ICsr
aSkKLSAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMDsKICAgICAgICAgICAg
IH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIEFsbCBzdG9wIG9mZnNldHMgYmVs
b3cgMCwgY2xhbXAgdGhlbS4KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDw9IGxh
c3RTdG9wSW5kZXg7ICsraSkKKyAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAwOwog
ICAgICAgICB9CiAKLSAgICAgICAgc2l6ZV90IGxhc3RPbmVPckxlc3NJbmRleCA9IG51bVN0b3Bz
OwotICAgICAgICBmb3IgKGludCBpID0gbnVtU3RvcHMgLSAxOyBpID49IDA7IC0taSkgeworICAg
ICAgICBPcHRpb25hbDxzaXplX3Q+IGxhc3RPbmVPckxlc3NJbmRleDsKKyAgICAgICAgZm9yIChp
bnQgaSA9IGxhc3RTdG9wSW5kZXg7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgICAgICBpZiAoKnN0
b3BzW2ldLm9mZnNldCA8PSAxKSB7CiAgICAgICAgICAgICAgICAgbGFzdE9uZU9yTGVzc0luZGV4
ID0gaTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQot
ICAgICAgICAKLSAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzIC0gMSkg
ewotICAgICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzICYmICpzdG9w
c1tsYXN0T25lT3JMZXNzSW5kZXhdLm9mZnNldCA8IDEpIHsKLSAgICAgICAgICAgICAgICBmbG9h
dCBwcmV2T2Zmc2V0ID0gKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0OwotICAgICAg
ICAgICAgICAgIGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsg
MV0ub2Zmc2V0OwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGZsb2F0IGludGVy
U3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZPZmZzZXQpIC8gKG5leHRPZmZzZXQgLSBwcmV2T2Zm
c2V0KTsKKworICAgICAgICBpZiAobGFzdE9uZU9yTGVzc0luZGV4KSB7CisgICAgICAgICAgICBz
aXplX3QgaW5kZXggPSAqbGFzdE9uZU9yTGVzc0luZGV4OworICAgICAgICAgICAgaWYgKGluZGV4
IDw9IGxhc3RTdG9wSW5kZXggLSAxKSB7CisgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNP
ZmZzZXQgPSAqc3RvcHNbaW5kZXhdLm9mZnNldDsKKyAgICAgICAgICAgICAgICBmbG9hdCBuZXh0
T2Zmc2V0ID0gKnN0b3BzW2luZGV4ICsgMV0ub2Zmc2V0OworCisgICAgICAgICAgICAgICAgZmxv
YXQgaW50ZXJTdG9wUHJvcG9ydGlvbiA9ICgxIC0gcHJldmlvdXNPZmZzZXQpIC8gKG5leHRPZmZz
ZXQgLSBwcmV2aW91c09mZnNldCk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdoZW4gd2Ug
aW50ZXJwb2xhdGUgZ3JhZGllbnRzIHVzaW5nIHByZW11bHRpcGxpZWQgY29sb3JzLCB0aGlzIHNo
b3VsZCBkbyBwcmVtdWx0aXBsaWNhdGlvbi4KLSAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVk
Q29sb3IgPSBibGVuZChzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLmNvbG9yLCBzdG9wc1tsYXN0
T25lT3JMZXNzSW5kZXggKyAxXS5jb2xvciwgaW50ZXJTdG9wUHJvcG9ydGlvbik7Ci0gICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQoc3Rv
cHNbaW5kZXhdLmNvbG9yLCBzdG9wc1tpbmRleCArIDFdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0
aW9uKTsKKwogICAgICAgICAgICAgICAgIC8vIENsYW1wIHRoZSBwb3NpdGlvbnMgdG8gMSBhbmQg
c2V0IHRoZSBjb2xvci4KLSAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gbGFzdE9uZU9y
TGVzc0luZGV4ICsgMTsgaSA8IG51bVN0b3BzOyArK2kpIHsKKyAgICAgICAgICAgICAgICBmb3Ig
KHNpemVfdCBpID0gaW5kZXggKyAxOyBpIDw9IGxhc3RTdG9wSW5kZXg7ICsraSkgewogICAgICAg
ICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAxOwogICAgICAgICAgICAgICAgICAgICBz
dG9wc1tpXS5jb2xvciA9IGJsZW5kZWRDb2xvcjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIEFsbCBzdG9wcyBhcmUgYWJvdmUgMTsg
anVzdCBjbGFtcCB0aGVtLgotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSBsYXN0T25l
T3JMZXNzSW5kZXg7IGkgPCBudW1TdG9wczsgKytpKQotICAgICAgICAgICAgICAgICAgICBzdG9w
c1tpXS5vZmZzZXQgPSAxOwogICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgLy8gQWxsIHN0b3Agb2Zmc2V0cyBhYm92ZSAxLCBjbGFtcCB0aGVtLgorICAgICAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKQorICAgICAgICAg
ICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IDE7CiAgICAgICAgIH0KICAgICB9CiB9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGJlODhhMmQzNGU2NmUwMjIwNzRhZDAwM2Y0YWEwY2JhM2YyNmIwNDguLjcyMmNlMDY3YmYxZjBh
NDkzNzg1YjQ1OTBmMmNlMTlhZDBlM2FkMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0w
My0yNSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJsZSBub3Jt
YWxpemF0aW9uLWNvbmljLTIuaHRtbCBXUFQgbm93IHRoYXQgdW5kZXJseWluZyBidWcgaXMgZml4
ZWQuCisgICAgICAgIEFsc28gbWFya2VkIHNvbWUgY29uaWMgZ3JhZGllbnQgdGVzdHMgYXMgZmxh
a3kgaW5zdGVhZCBvZiBza2lwcGluZyB0aGVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NDE1
NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RFeHBlY3RhdGlvbnM6IGVuYWJsZWQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbC4KKwogMjAyMS0wMy0y
NCAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSZS1z
a2lwIG1vZGVybi1tZWRpYS1jb250cm9scyB0ZXN0cyBhZnRlciByMjc0ODEwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBhMjQ0MWYyMTg0OTI2NWMyMzExYzRhYzJiMTMwZDEzNjI4Y2IzMmExLi4wMzIz
ZWIyNWMyODk1YmFiZmU3ZGMwMWYyMTlmNjM3Yzk2NzA0Mjc4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTMwMTAsMTggKzMwMTAsMTggQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHQKIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90
aGUtaWZyYW1lLWVsZW1lbnQvaWZyYW1lX3NhbmRib3hfcG9wdXBzX2VzY2FwaW5nLTIuaHRtbCBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWVfc2FuZGJveF9wb3B1cHNf
bm9uZXNjYXBpbmctMi5odG1sIFsgU2tpcCBdCiAKLWh0dHAvd3B0L2Nzcy9jc3MtaW1hZ2VzLTQv
Y29uaWMtZ3JhZGllbnQtcGFyc2luZy5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25p
Yy1yZXBlYXRpbmcuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29uaWMuaHRtbCBbIFNr
aXAgXQotZmFzdC9ncmFkaWVudHMvY29uaWMtb2ZmLWNlbnRlci5odG1sIFsgU2tpcCBdCi1mYXN0
L2dyYWRpZW50cy9jb25pYy1jZW50ZXItb3V0c2lkZS1ib3guaHRtbCBbIFNraXAgXQotZmFzdC9n
cmFkaWVudHMvY29uaWMtZXh0ZW5kZWQtc3RvcHMuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVu
dHMvY29uaWMtZnJvbS1hbmdsZS5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1y
ZXBlYXRpbmctbGFzdC1zdG9wLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdy
YWRpZW50LWFscGhhLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50
LWV4dGVuZGVkLXN0b3BzLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRp
ZW50Lmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLXR3by1oaW50cy5odG1sIFsg
U2tpcCBdCitodHRwL3dwdC9jc3MvY3NzLWltYWdlcy00L2NvbmljLWdyYWRpZW50LXBhcnNpbmcu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCitmYXN0L2dyYWRpZW50cy9jb25pYy1yZXBlYXRpbmcuaHRt
bCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L2dyYWRpZW50cy9jb25pYy5odG1sIFsg
UGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK2Zhc3QvZ3JhZGllbnRzL2NvbmljLW9mZi1jZW50ZXIu
aHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L2dyYWRpZW50cy9jb25pYy1jZW50
ZXItb3V0c2lkZS1ib3guaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L2dyYWRp
ZW50cy9jb25pYy1leHRlbmRlZC1zdG9wcy5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0K
K2Zhc3QvZ3JhZGllbnRzL2NvbmljLWZyb20tYW5nbGUuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFp
bHVyZSBdCitmYXN0L2dyYWRpZW50cy9jb25pYy1yZXBlYXRpbmctbGFzdC1zdG9wLmh0bWwgWyBQ
YXNzIEltYWdlT25seUZhaWx1cmUgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtZ3JhZGllbnQtYWxw
aGEuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L2dyYWRpZW50cy9jb25pYy1n
cmFkaWVudC1leHRlbmRlZC1zdG9wcy5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK2Zh
c3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUg
XQorZmFzdC9ncmFkaWVudHMvY29uaWMtdHdvLWhpbnRzLmh0bWwgWyBQYXNzIEltYWdlT25seUZh
aWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9t
dWx0aXBsZS1wb3NpdGlvbi1jb2xvci1zdG9wLWNvbmljLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzE4Nzc3MyBodHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3MgWyBT
a2lwIF0KQEAgLTQ0NDksNyArNDQ0OSw2IEBAIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9pbWFnZS1yZXNvbHV0CiB3ZWJr
aXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1p
bWFnZXMvaW1hZ2UtcmVzb2x1dGlvbi9pbWFnZS1yZXNvbHV0aW9uLTAxMC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvaW5maW5pdGUtcmFkaWFsLWdyYWRpZW50LXJlZmNyYXNo
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9tdWx0aXBsZS1wb3NpdGlvbi1j
b2xvci1zdG9wLWNvbmljLTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9i
LzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25v
cm1hbGl6YXRpb24tY29uaWMtMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMv
bm9ybWFsaXphdGlvbi1saW5lYXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2Vz
L25vcm1hbGl6YXRpb24tcmFkaWFsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdl
cy9vdXQtb2YtcmFuZ2UtY29sb3Itc3RvcC1jb25pYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424251</attachid>
            <date>2021-03-25 09:16:39 -0700</date>
            <delta_ts>2021-03-25 12:33:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221294-20210325171637.patch</filename>
            <type>text/plain</type>
            <size>10516</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEzOWYxZDBkYjBkNWM1
YzgwZDg3Mjc3YmQ5NzUyMWY2OWNkMjBkZS4uZjAzNDk1NTg2NTRkNzBhZTdiMmMzNmNiMDBjYzZh
YmEwZDgxZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTI1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGVkZ2UgY2FzZXMgaW4gbm9y
bWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVudCBjb2xvciBzdG9wcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBgbGFzdE9uZU9yTGVzc0luZGV4YCBoYWQgYW4gb2ZmLWJ5LW9uZSBlcnJvciwg
c28gaXQgZGlkIG5vdCBnbyB0aHJvdWdoIHRoZQorICAgICAgICBicmFuY2ggaGFuZGxpbmcgY2xh
bXBpbmcgYWxsIHRoZSBzdG9wIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBhYm92ZSAxLgorCisg
ICAgICAgIEFsc28gbWFkZSBgbm9ybWFsaXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2Vg
IGxvZ2ljIGVhc2llciB0byBmb2xsb3cgdXNpbmcKKyAgICAgICAgYE9wdGlvbmFsPHNpemVfdD5g
IGluc3RlYWQgb2YgcGxhY2Vob2xkZXIgdmFsdWVzLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisg
ICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
aWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdl
KToKKwogMjAyMS0wMy0yNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBJbXByb3ZlIGludGVycG9sYXRpb24gb2YgdGhlIHNoYXBlLW91dHNpZGUgQ1NTIHBy
b3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggZjJmMWQw
YTVjYjM3MWRkZmExZGY0NDhhNWMyNzJhZWVmNDI1ZDU0Ni4uZmNmYjAzZDFmMmExZWU1NDJiYTdj
MGE4NGFjMzI3MDMxNTQ4NzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcApAQCAtMjM3LDY0ICsyMzcsNjYgQEAgcHVibGljOgogCiAgICAgdm9pZCBub3JtYWxpemVT
dG9wc0FuZEVuZHBvaW50c091dHNpZGVSYW5nZShWZWN0b3I8R3JhZGllbnRTdG9wPiYgc3RvcHMp
CiAgICAgewotICAgICAgICBhdXRvIG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOwotICAgICAgICAK
LSAgICAgICAgc2l6ZV90IGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID0gbnVtU3RvcHM7Ci0gICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtU3RvcHM7ICsraSkgeworICAgICAgICBzaXpl
X3QgbGFzdFN0b3BJbmRleCA9IHN0b3BzLnNpemUoKSAtIDE7CisKKyAgICAgICAgT3B0aW9uYWw8
c2l6ZV90PiBmaXJzdFplcm9PckdyZWF0ZXJJbmRleDsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKSB7CiAgICAgICAgICAgICBpZiAoKnN0b3BzW2ld
Lm9mZnNldCA+PSAwKSB7CiAgICAgICAgICAgICAgICAgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXgg
PSBpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4ID4gMCkgewotICAgICAgICAgICAg
aWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4IDwgbnVtU3RvcHMgJiYgKnN0b3BzW2ZpcnN0WmVy
b09yR3JlYXRlckluZGV4XS5vZmZzZXQgPiAwKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgcHJl
dk9mZnNldCA9ICpzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleCAtIDFdLm9mZnNldDsKLSAg
ICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2ZpcnN0WmVyb09yR3JlYXRl
ckluZGV4XS5vZmZzZXQ7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZmxvYXQg
aW50ZXJTdG9wUHJvcG9ydGlvbiA9IC1wcmV2T2Zmc2V0IC8gKG5leHRPZmZzZXQgLSBwcmV2T2Zm
c2V0KTsKKyAgICAgICAgaWYgKGZpcnN0WmVyb09yR3JlYXRlckluZGV4KSB7CisgICAgICAgICAg
ICBzaXplX3QgaW5kZXggPSAqZmlyc3RaZXJvT3JHcmVhdGVySW5kZXg7CisgICAgICAgICAgICBp
ZiAoaW5kZXggPiAwKSB7CisgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNPZmZzZXQgPSAq
c3RvcHNbaW5kZXggLSAxXS5vZmZzZXQ7CisgICAgICAgICAgICAgICAgZmxvYXQgbmV4dE9mZnNl
dCA9ICpzdG9wc1tpbmRleF0ub2Zmc2V0OworCisgICAgICAgICAgICAgICAgZmxvYXQgaW50ZXJT
dG9wUHJvcG9ydGlvbiA9IC1wcmV2aW91c09mZnNldCAvIChuZXh0T2Zmc2V0IC0gcHJldmlvdXNP
ZmZzZXQpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB3aGVuIHdlIGludGVycG9sYXRlIGdy
YWRpZW50cyB1c2luZyBwcmVtdWx0aXBsaWVkIGNvbG9ycywgdGhpcyBzaG91bGQgZG8gcHJlbXVs
dGlwbGljYXRpb24uCi0gICAgICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQo
c3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggLSAxXS5jb2xvciwgc3RvcHNbZmlyc3RaZXJv
T3JHcmVhdGVySW5kZXhdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0aW9uKTsKLSAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVkQ29sb3IgPSBibGVuZChzdG9wc1tp
bmRleCAtIDFdLmNvbG9yLCBzdG9wc1tpbmRleF0uY29sb3IsIGludGVyU3RvcFByb3BvcnRpb24p
OworCiAgICAgICAgICAgICAgICAgLy8gQ2xhbXAgdGhlIHBvc2l0aW9ucyB0byAwIGFuZCBzZXQg
dGhlIGNvbG9yLgotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmlyc3Ra
ZXJvT3JHcmVhdGVySW5kZXg7ICsraSkgeworICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgaW5kZXg7ICsraSkgewogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZz
ZXQgPSAwOwogICAgICAgICAgICAgICAgICAgICBzdG9wc1tpXS5jb2xvciA9IGJsZW5kZWRDb2xv
cjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIC8vIEFsbCBzdG9wcyBhcmUgYmVsb3cgMDsganVzdCBjbGFtcCB0aGVtLgotICAgICAgICAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXg7ICsr
aSkKLSAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMDsKICAgICAgICAgICAg
IH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIEFsbCBzdG9wIG9mZnNldHMgYmVs
b3cgMCwgY2xhbXAgdGhlbS4KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDw9IGxh
c3RTdG9wSW5kZXg7ICsraSkKKyAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAwOwog
ICAgICAgICB9CiAKLSAgICAgICAgc2l6ZV90IGxhc3RPbmVPckxlc3NJbmRleCA9IG51bVN0b3Bz
OwotICAgICAgICBmb3IgKGludCBpID0gbnVtU3RvcHMgLSAxOyBpID49IDA7IC0taSkgeworICAg
ICAgICBPcHRpb25hbDxzaXplX3Q+IGxhc3RPbmVPckxlc3NJbmRleDsKKyAgICAgICAgZm9yIChp
bnQgaSA9IGxhc3RTdG9wSW5kZXg7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgICAgICBpZiAoKnN0
b3BzW2ldLm9mZnNldCA8PSAxKSB7CiAgICAgICAgICAgICAgICAgbGFzdE9uZU9yTGVzc0luZGV4
ID0gaTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQot
ICAgICAgICAKLSAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzIC0gMSkg
ewotICAgICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8IG51bVN0b3BzICYmICpzdG9w
c1tsYXN0T25lT3JMZXNzSW5kZXhdLm9mZnNldCA8IDEpIHsKLSAgICAgICAgICAgICAgICBmbG9h
dCBwcmV2T2Zmc2V0ID0gKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRleF0ub2Zmc2V0OwotICAgICAg
ICAgICAgICAgIGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsg
MV0ub2Zmc2V0OwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGZsb2F0IGludGVy
U3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZPZmZzZXQpIC8gKG5leHRPZmZzZXQgLSBwcmV2T2Zm
c2V0KTsKKworICAgICAgICBpZiAobGFzdE9uZU9yTGVzc0luZGV4KSB7CisgICAgICAgICAgICBz
aXplX3QgaW5kZXggPSAqbGFzdE9uZU9yTGVzc0luZGV4OworICAgICAgICAgICAgaWYgKGluZGV4
IDw9IGxhc3RTdG9wSW5kZXggLSAxKSB7CisgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNP
ZmZzZXQgPSAqc3RvcHNbaW5kZXhdLm9mZnNldDsKKyAgICAgICAgICAgICAgICBmbG9hdCBuZXh0
T2Zmc2V0ID0gKnN0b3BzW2luZGV4ICsgMV0ub2Zmc2V0OworCisgICAgICAgICAgICAgICAgZmxv
YXQgaW50ZXJTdG9wUHJvcG9ydGlvbiA9ICgxIC0gcHJldmlvdXNPZmZzZXQpIC8gKG5leHRPZmZz
ZXQgLSBwcmV2aW91c09mZnNldCk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdoZW4gd2Ug
aW50ZXJwb2xhdGUgZ3JhZGllbnRzIHVzaW5nIHByZW11bHRpcGxpZWQgY29sb3JzLCB0aGlzIHNo
b3VsZCBkbyBwcmVtdWx0aXBsaWNhdGlvbi4KLSAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVk
Q29sb3IgPSBibGVuZChzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLmNvbG9yLCBzdG9wc1tsYXN0
T25lT3JMZXNzSW5kZXggKyAxXS5jb2xvciwgaW50ZXJTdG9wUHJvcG9ydGlvbik7Ci0gICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQoc3Rv
cHNbaW5kZXhdLmNvbG9yLCBzdG9wc1tpbmRleCArIDFdLmNvbG9yLCBpbnRlclN0b3BQcm9wb3J0
aW9uKTsKKwogICAgICAgICAgICAgICAgIC8vIENsYW1wIHRoZSBwb3NpdGlvbnMgdG8gMSBhbmQg
c2V0IHRoZSBjb2xvci4KLSAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gbGFzdE9uZU9y
TGVzc0luZGV4ICsgMTsgaSA8IG51bVN0b3BzOyArK2kpIHsKKyAgICAgICAgICAgICAgICBmb3Ig
KHNpemVfdCBpID0gaW5kZXggKyAxOyBpIDw9IGxhc3RTdG9wSW5kZXg7ICsraSkgewogICAgICAg
ICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAxOwogICAgICAgICAgICAgICAgICAgICBz
dG9wc1tpXS5jb2xvciA9IGJsZW5kZWRDb2xvcjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIEFsbCBzdG9wcyBhcmUgYWJvdmUgMTsg
anVzdCBjbGFtcCB0aGVtLgotICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSBsYXN0T25l
T3JMZXNzSW5kZXg7IGkgPCBudW1TdG9wczsgKytpKQotICAgICAgICAgICAgICAgICAgICBzdG9w
c1tpXS5vZmZzZXQgPSAxOwogICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgLy8gQWxsIHN0b3Agb2Zmc2V0cyBhYm92ZSAxLCBjbGFtcCB0aGVtLgorICAgICAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPD0gbGFzdFN0b3BJbmRleDsgKytpKQorICAgICAgICAg
ICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IDE7CiAgICAgICAgIH0KICAgICB9CiB9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGJlODhhMmQzNGU2NmUwMjIwNzRhZDAwM2Y0YWEwY2JhM2YyNmIwNDguLjBmNTE4NzAzMWE4NWU4
NjkxNWQyOTRjZjllZGVmYjVhYjk1MzU4MDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0w
My0yNSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJsZSBub3Jt
YWxpemF0aW9uLWNvbmljLTIuaHRtbCBXUFQgbm93IHRoYXQgdW5kZXJseWluZyBidWcgaXMgZml4
ZWQuCisgICAgICAgIEFsc28gc2tpcCBzb21lIGNvbmljLWdyYWRpZW50IHRlc3RzIG9ubHkgb24g
V2luZG93cyBpbnN0ZWFkIG9mIGFsbCBwbGF0Zm9ybXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEyOTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc0MTU3MjE4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVGVzdEV4cGVjdGF0aW9uczogZW5hYmxlZCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL25vcm1hbGl6YXRpb24tY29uaWMtMi5odG1sLgorCiAyMDIx
LTAzLTI0ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
IFJlLXNraXAgbW9kZXJuLW1lZGlhLWNvbnRyb2xzIHRlc3RzIGFmdGVyIHIyNzQ4MTAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGEyNDQxZjIxODQ5MjY1YzIzMTFjNGFjMmIxMzBkMTM2MjhjYjMyYTEu
Ljg0YjAyMDA0ZTM5Zjk5YWIwMjgxOGY3YWRjOTAzZTZmYTEyNmVjMWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMzAxMCwxOCArMzAxMCw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0CiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvdGhlLWlmcmFtZS1lbGVtZW50L2lmcmFtZV9zYW5kYm94X3BvcHVwc19lc2NhcGluZy0yLmh0
bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZyYW1lLWVsZW1lbnQvaWZyYW1lX3NhbmRib3hfcG9w
dXBzX25vbmVzY2FwaW5nLTIuaHRtbCBbIFNraXAgXQogCi1odHRwL3dwdC9jc3MvY3NzLWltYWdl
cy00L2NvbmljLWdyYWRpZW50LXBhcnNpbmcuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMv
Y29uaWMtcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLmh0bWwg
WyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLW9mZi1jZW50ZXIuaHRtbCBbIFNraXAgXQot
ZmFzdC9ncmFkaWVudHMvY29uaWMtY2VudGVyLW91dHNpZGUtYm94Lmh0bWwgWyBTa2lwIF0KLWZh
c3QvZ3JhZGllbnRzL2NvbmljLWV4dGVuZGVkLXN0b3BzLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3Jh
ZGllbnRzL2NvbmljLWZyb20tYW5nbGUuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29u
aWMtcmVwZWF0aW5nLWxhc3Qtc3RvcC5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25p
Yy1ncmFkaWVudC1hbHBoYS5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1ncmFk
aWVudC1leHRlbmRlZC1zdG9wcy5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1n
cmFkaWVudC5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy10d28taGludHMuaHRt
bCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdl
cy9tdWx0aXBsZS1wb3NpdGlvbi1jb2xvci1zdG9wLWNvbmljLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIAogd2Via2l0Lm9yZy9iLzE4Nzc3MyBodHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3Mg
WyBTa2lwIF0KQEAgLTQ0NDksNyArNDQzNyw2IEBAIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9pbWFnZS1yZXNvbHV0CiB3
ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1pbWFnZXMvaW1hZ2UtcmVzb2x1dGlvbi9pbWFnZS1yZXNvbHV0aW9uLTAxMC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvaW5maW5pdGUtcmFkaWFsLWdyYWRpZW50LXJlZmNy
YXNoLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9tdWx0aXBsZS1wb3NpdGlv
bi1jb2xvci1zdG9wLWNvbmljLTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2Vz
L25vcm1hbGl6YXRpb24tY29uaWMtMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFn
ZXMvbm9ybWFsaXphdGlvbi1saW5lYXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1h
Z2VzL25vcm1hbGl6YXRpb24tcmFkaWFsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWlt
YWdlcy9vdXQtb2YtcmFuZ2UtY29sb3Itc3RvcC1jb25pYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDc4YzZm
MWNhMDJhNTExMWFhNjc3NDhlNmQxODIxYWFkODlmZTllNjYuLmI1NDY3MGM1YWI5NGQ3MjNhZjFl
ZjBlYjE4YzE1YTgxMWZmZDg1MDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0yNjksNiArMjY5LDIwIEBAIGFjY2Vzc2liaWxpdHkvYXJpYS1saXN0Ym94
LWNsZWFyLXNlbGVjdGlvbi1jcmFzaC5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L2xpc3Ri
b3gtY2xlYXItc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvZW1iZWRkZWQt
aW1hZ2UtZGVzY3JpcHRpb24uaHRtbCBbIFNraXAgXQogCisjIFRPRE8gQ29uaWMgZ3JhZGllbnRz
CitodHRwL3dwdC9jc3MvY3NzLWltYWdlcy00L2NvbmljLWdyYWRpZW50LXBhcnNpbmcuaHRtbCBb
IFNraXAgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KK2Zh
c3QvZ3JhZGllbnRzL2NvbmljLmh0bWwgWyBTa2lwIF0KK2Zhc3QvZ3JhZGllbnRzL2NvbmljLW9m
Zi1jZW50ZXIuaHRtbCBbIFNraXAgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtY2VudGVyLW91dHNp
ZGUtYm94Lmh0bWwgWyBTa2lwIF0KK2Zhc3QvZ3JhZGllbnRzL2NvbmljLWV4dGVuZGVkLXN0b3Bz
Lmh0bWwgWyBTa2lwIF0KK2Zhc3QvZ3JhZGllbnRzL2NvbmljLWZyb20tYW5nbGUuaHRtbCBbIFNr
aXAgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtcmVwZWF0aW5nLWxhc3Qtc3RvcC5odG1sIFsgU2tp
cCBdCitmYXN0L2dyYWRpZW50cy9jb25pYy1ncmFkaWVudC1hbHBoYS5odG1sIFsgU2tpcCBdCitm
YXN0L2dyYWRpZW50cy9jb25pYy1ncmFkaWVudC1leHRlbmRlZC1zdG9wcy5odG1sIFsgU2tpcCBd
CitmYXN0L2dyYWRpZW50cy9jb25pYy1ncmFkaWVudC5odG1sIFsgU2tpcCBdCitmYXN0L2dyYWRp
ZW50cy9jb25pYy10d28taGludHMuaHRtbCBbIFNraXAgXQorCiAjIFRPRE8gSW52ZXN0aWdhdGUg
d2h5IHRoZXNlIG1vdXNlIHNjcm9sbCB0ZXN0cyBhcmUgZmFpbGluZy4KIGZhc3QvZXZlbnRzL3Nj
cm9sbC1pbi1zY2FsZWQtcGFnZS13aXRoLW92ZXJmbG93LWhpZGRlbi5odG1sIFsgRmFpbHVyZSBd
CiBmYXN0L2V2ZW50cy93aGVlbC9jb250aW51b3VzLXBsYXRmb3JtLXdoZWVsZXZlbnQtaW4tc2Ny
b2xsaW5nLWRpdi5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424268</attachid>
            <date>2021-03-25 12:33:41 -0700</date>
            <delta_ts>2021-03-25 12:41:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221294-20210325203339.patch</filename>
            <type>text/plain</type>
            <size>10452</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEzOWYxZDBkYjBkNWM1
YzgwZDg3Mjc3YmQ5NzUyMWY2OWNkMjBkZS4uZjAzNDk1NTg2NTRkNzBhZTdiMmMzNmNiMDBjYzZh
YmEwZDgxZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTI1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGVkZ2UgY2FzZXMgaW4gbm9y
bWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVudCBjb2xvciBzdG9wcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBgbGFzdE9uZU9yTGVzc0luZGV4YCBoYWQgYW4gb2ZmLWJ5LW9uZSBlcnJvciwg
c28gaXQgZGlkIG5vdCBnbyB0aHJvdWdoIHRoZQorICAgICAgICBicmFuY2ggaGFuZGxpbmcgY2xh
bXBpbmcgYWxsIHRoZSBzdG9wIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBhYm92ZSAxLgorCisg
ICAgICAgIEFsc28gbWFkZSBgbm9ybWFsaXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2Vg
IGxvZ2ljIGVhc2llciB0byBmb2xsb3cgdXNpbmcKKyAgICAgICAgYE9wdGlvbmFsPHNpemVfdD5g
IGluc3RlYWQgb2YgcGxhY2Vob2xkZXIgdmFsdWVzLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisg
ICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
aWNHcmFkaWVudEFkYXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdl
KToKKwogMjAyMS0wMy0yNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBJbXByb3ZlIGludGVycG9sYXRpb24gb2YgdGhlIHNoYXBlLW91dHNpZGUgQ1NTIHBy
b3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggZjJmMWQw
YTVjYjM3MWRkZmExZGY0NDhhNWMyNzJhZWVmNDI1ZDU0Ni4uNTVhYmI4MmVmOTlkMzc5YjdkYTMz
ZTk4MjIzNTg5NjdjMjczOThiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcApAQCAtMjM3LDkgKzIzNywxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG5vcm1hbGl6ZVN0
b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdlKFZlY3RvcjxHcmFkaWVudFN0b3A+JiBzdG9wcykK
ICAgICB7Ci0gICAgICAgIGF1dG8gbnVtU3RvcHMgPSBzdG9wcy5zaXplKCk7Ci0gICAgICAgIAot
ICAgICAgICBzaXplX3QgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPSBudW1TdG9wczsKKyAgICAg
ICAgc2l6ZV90IG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOworICAgICAgICBzaXplX3QgbGFzdFN0
b3BJbmRleCA9IG51bVN0b3BzIC0gMTsKKworICAgICAgICBPcHRpb25hbDxzaXplX3Q+IGZpcnN0
WmVyb09yR3JlYXRlckluZGV4OwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bVN0
b3BzOyArK2kpIHsKICAgICAgICAgICAgIGlmICgqc3RvcHNbaV0ub2Zmc2V0ID49IDApIHsKICAg
ICAgICAgICAgICAgICBmaXJzdFplcm9PckdyZWF0ZXJJbmRleCA9IGk7CkBAIC0yNDcsNTQgKzI0
OCw1NiBAQCBwdWJsaWM6CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBpZiAo
Zmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPiAwKSB7Ci0gICAgICAgICAgICBpZiAoZmlyc3RaZXJv
T3JHcmVhdGVySW5kZXggPCBudW1TdG9wcyAmJiAqc3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5k
ZXhdLm9mZnNldCA+IDApIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBwcmV2T2Zmc2V0ID0gKnN0
b3BzW2ZpcnN0WmVyb09yR3JlYXRlckluZGV4IC0gMV0ub2Zmc2V0OwotICAgICAgICAgICAgICAg
IGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5kZXhdLm9mZnNl
dDsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBmbG9hdCBpbnRlclN0b3BQcm9w
b3J0aW9uID0gLXByZXZPZmZzZXQgLyAobmV4dE9mZnNldCAtIHByZXZPZmZzZXQpOworICAgICAg
ICBpZiAoZmlyc3RaZXJvT3JHcmVhdGVySW5kZXgpIHsKKyAgICAgICAgICAgIHNpemVfdCBpbmRl
eCA9ICpmaXJzdFplcm9PckdyZWF0ZXJJbmRleDsKKyAgICAgICAgICAgIGlmIChpbmRleCA+IDAp
IHsKKyAgICAgICAgICAgICAgICBmbG9hdCBwcmV2aW91c09mZnNldCA9ICpzdG9wc1tpbmRleCAt
IDFdLm9mZnNldDsKKyAgICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2lu
ZGV4XS5vZmZzZXQ7CisKKyAgICAgICAgICAgICAgICBmbG9hdCBpbnRlclN0b3BQcm9wb3J0aW9u
ID0gLXByZXZpb3VzT2Zmc2V0IC8gKG5leHRPZmZzZXQgLSBwcmV2aW91c09mZnNldCk7CiAgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IHdoZW4gd2UgaW50ZXJwb2xhdGUgZ3JhZGllbnRzIHVzaW5n
IHByZW11bHRpcGxpZWQgY29sb3JzLCB0aGlzIHNob3VsZCBkbyBwcmVtdWx0aXBsaWNhdGlvbi4K
LSAgICAgICAgICAgICAgICBDb2xvciBibGVuZGVkQ29sb3IgPSBibGVuZChzdG9wc1tmaXJzdFpl
cm9PckdyZWF0ZXJJbmRleCAtIDFdLmNvbG9yLCBzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRl
eF0uY29sb3IsIGludGVyU3RvcFByb3BvcnRpb24pOwotICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgICAgIENvbG9yIGJsZW5kZWRDb2xvciA9IGJsZW5kKHN0b3BzW2luZGV4IC0gMV0uY29s
b3IsIHN0b3BzW2luZGV4XS5jb2xvciwgaW50ZXJTdG9wUHJvcG9ydGlvbik7CisKICAgICAgICAg
ICAgICAgICAvLyBDbGFtcCB0aGUgcG9zaXRpb25zIHRvIDAgYW5kIHNldCB0aGUgY29sb3IuCi0g
ICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXJzdFplcm9PckdyZWF0ZXJJ
bmRleDsgKytpKSB7CisgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpbmRl
eDsgKytpKSB7CiAgICAgICAgICAgICAgICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgIHN0b3BzW2ldLmNvbG9yID0gYmxlbmRlZENvbG9yOwogICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gQWxsIHN0
b3BzIGFyZSBiZWxvdyAwOyBqdXN0IGNsYW1wIHRoZW0uCi0gICAgICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBmaXJzdFplcm9PckdyZWF0ZXJJbmRleDsgKytpKQotICAgICAgICAg
ICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAwOwogICAgICAgICAgICAgfQorICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgLy8gQWxsIHN0b3Agb2Zmc2V0cyBiZWxvdyAwLCBjbGFtcCB0
aGVtLgorICAgICAgICAgICAgZm9yIChhdXRvJiBzdG9wIDogc3RvcHMpCisgICAgICAgICAgICAg
ICAgc3RvcC5vZmZzZXQgPSAwOwogICAgICAgICB9CiAKLSAgICAgICAgc2l6ZV90IGxhc3RPbmVP
ckxlc3NJbmRleCA9IG51bVN0b3BzOwotICAgICAgICBmb3IgKGludCBpID0gbnVtU3RvcHMgLSAx
OyBpID49IDA7IC0taSkgeworICAgICAgICBPcHRpb25hbDxzaXplX3Q+IGxhc3RPbmVPckxlc3NJ
bmRleDsKKyAgICAgICAgZm9yIChpbnQgaSA9IGxhc3RTdG9wSW5kZXg7IGkgPj0gMDsgLS1pKSB7
CiAgICAgICAgICAgICBpZiAoKnN0b3BzW2ldLm9mZnNldCA8PSAxKSB7CiAgICAgICAgICAgICAg
ICAgbGFzdE9uZU9yTGVzc0luZGV4ID0gaTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJ
bmRleCA8IG51bVN0b3BzIC0gMSkgewotICAgICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRl
eCA8IG51bVN0b3BzICYmICpzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLm9mZnNldCA8IDEpIHsK
LSAgICAgICAgICAgICAgICBmbG9hdCBwcmV2T2Zmc2V0ID0gKnN0b3BzW2xhc3RPbmVPckxlc3NJ
bmRleF0ub2Zmc2V0OwotICAgICAgICAgICAgICAgIGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNb
bGFzdE9uZU9yTGVzc0luZGV4ICsgMV0ub2Zmc2V0OwotICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgIGZsb2F0IGludGVyU3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZPZmZzZXQpIC8g
KG5leHRPZmZzZXQgLSBwcmV2T2Zmc2V0KTsKKworICAgICAgICBpZiAobGFzdE9uZU9yTGVzc0lu
ZGV4KSB7CisgICAgICAgICAgICBzaXplX3QgaW5kZXggPSAqbGFzdE9uZU9yTGVzc0luZGV4Owor
ICAgICAgICAgICAgaWYgKGluZGV4IDwgbGFzdFN0b3BJbmRleCkgeworICAgICAgICAgICAgICAg
IGZsb2F0IHByZXZpb3VzT2Zmc2V0ID0gKnN0b3BzW2luZGV4XS5vZmZzZXQ7CisgICAgICAgICAg
ICAgICAgZmxvYXQgbmV4dE9mZnNldCA9ICpzdG9wc1tpbmRleCArIDFdLm9mZnNldDsKKworICAg
ICAgICAgICAgICAgIGZsb2F0IGludGVyU3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZpb3VzT2Zm
c2V0KSAvIChuZXh0T2Zmc2V0IC0gcHJldmlvdXNPZmZzZXQpOwogICAgICAgICAgICAgICAgIC8v
IEZJWE1FOiB3aGVuIHdlIGludGVycG9sYXRlIGdyYWRpZW50cyB1c2luZyBwcmVtdWx0aXBsaWVk
IGNvbG9ycywgdGhpcyBzaG91bGQgZG8gcHJlbXVsdGlwbGljYXRpb24uCi0gICAgICAgICAgICAg
ICAgQ29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQoc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5j
b2xvciwgc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsgMV0uY29sb3IsIGludGVyU3RvcFByb3Bv
cnRpb24pOwotICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIENvbG9yIGJsZW5kZWRD
b2xvciA9IGJsZW5kKHN0b3BzW2luZGV4XS5jb2xvciwgc3RvcHNbaW5kZXggKyAxXS5jb2xvciwg
aW50ZXJTdG9wUHJvcG9ydGlvbik7CisKICAgICAgICAgICAgICAgICAvLyBDbGFtcCB0aGUgcG9z
aXRpb25zIHRvIDEgYW5kIHNldCB0aGUgY29sb3IuCi0gICAgICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IGxhc3RPbmVPckxlc3NJbmRleCArIDE7IGkgPCBudW1TdG9wczsgKytpKSB7CisgICAg
ICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IGluZGV4ICsgMTsgaSA8PSBsYXN0U3RvcEluZGV4
OyArK2kpIHsKICAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMTsKICAgICAg
ICAgICAgICAgICAgICAgc3RvcHNbaV0uY29sb3IgPSBibGVuZGVkQ29sb3I7CiAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBBbGwgc3Rv
cHMgYXJlIGFib3ZlIDE7IGp1c3QgY2xhbXAgdGhlbS4KLSAgICAgICAgICAgICAgICBmb3IgKHNp
emVfdCBpID0gbGFzdE9uZU9yTGVzc0luZGV4OyBpIDwgbnVtU3RvcHM7ICsraSkKLSAgICAgICAg
ICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMTsKICAgICAgICAgICAgIH0KKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIC8vIEFsbCBzdG9wIG9mZnNldHMgYWJvdmUgMSwgY2xhbXAg
dGhlbS4KKyAgICAgICAgICAgIGZvciAoYXV0byYgc3RvcCA6IHN0b3BzKQorICAgICAgICAgICAg
ICAgIHN0b3Aub2Zmc2V0ID0gMTsKICAgICAgICAgfQogICAgIH0KIH07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmU4OGEy
ZDM0ZTY2ZTAyMjA3NGFkMDAzZjRhYTBjYmEzZjI2YjA0OC4uMGY1MTg3MDMxYTg1ZTg2OTE1ZDI5
NGNmOWVkZWZiNWFiOTUzNTgwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAzLTI1ICBU
aW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIG5vcm1hbGl6YXRp
b24tY29uaWMtMi5odG1sIFdQVCBub3cgdGhhdCB1bmRlcmx5aW5nIGJ1ZyBpcyBmaXhlZC4KKyAg
ICAgICAgQWxzbyBza2lwIHNvbWUgY29uaWMtZ3JhZGllbnQgdGVzdHMgb25seSBvbiBXaW5kb3dz
IGluc3RlYWQgb2YgYWxsIHBsYXRmb3Jtcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQxNTcy
MTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0RXhwZWN0YXRpb25zOiBlbmFibGVkIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1pbWFnZXMvbm9ybWFsaXphdGlvbi1jb25pYy0yLmh0bWwuCisKIDIwMjEtMDMtMjQg
IExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUmUtc2tp
cCBtb2Rlcm4tbWVkaWEtY29udHJvbHMgdGVzdHMgYWZ0ZXIgcjI3NDgxMApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYTI0NDFmMjE4NDkyNjVjMjMxMWM0YWMyYjEzMGQxMzYyOGNiMzJhMS4uODRiMDIw
MDRlMzlmOTlhYjAyODE4ZjdhZGM5MDNlNmZhMTI2ZWMxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC0zMDEwLDE4ICszMDEwLDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHQKIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUt
aWZyYW1lLWVsZW1lbnQvaWZyYW1lX3NhbmRib3hfcG9wdXBzX2VzY2FwaW5nLTIuaHRtbCBbIFNr
aXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWVfc2FuZGJveF9wb3B1cHNfbm9u
ZXNjYXBpbmctMi5odG1sIFsgU2tpcCBdCiAKLWh0dHAvd3B0L2Nzcy9jc3MtaW1hZ2VzLTQvY29u
aWMtZ3JhZGllbnQtcGFyc2luZy5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1y
ZXBlYXRpbmcuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29uaWMuaHRtbCBbIFNraXAg
XQotZmFzdC9ncmFkaWVudHMvY29uaWMtb2ZmLWNlbnRlci5odG1sIFsgU2tpcCBdCi1mYXN0L2dy
YWRpZW50cy9jb25pYy1jZW50ZXItb3V0c2lkZS1ib3guaHRtbCBbIFNraXAgXQotZmFzdC9ncmFk
aWVudHMvY29uaWMtZXh0ZW5kZWQtc3RvcHMuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMv
Y29uaWMtZnJvbS1hbmdsZS5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1yZXBl
YXRpbmctbGFzdC1zdG9wLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRp
ZW50LWFscGhhLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50LWV4
dGVuZGVkLXN0b3BzLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50
Lmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLXR3by1oaW50cy5odG1sIFsgU2tp
cCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL211bHRp
cGxlLXBvc2l0aW9uLWNvbG9yLXN0b3AtY29uaWMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
CiB3ZWJraXQub3JnL2IvMTg3NzczIGh0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcyBbIFNraXAg
XQpAQCAtNDQ0OSw3ICs0NDM3LDYgQEAgd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL2ltYWdlLXJlc29sdXQKIHdlYmtpdC5v
cmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdl
cy9pbWFnZS1yZXNvbHV0aW9uL2ltYWdlLXJlc29sdXRpb24tMDEwLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWltYWdlcy9pbmZpbml0ZS1yYWRpYWwtZ3JhZGllbnQtcmVmY3Jhc2guaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL211bHRpcGxlLXBvc2l0aW9uLWNvbG9y
LXN0b3AtY29uaWMtMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjE0
NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9ybWFs
aXphdGlvbi1jb25pYy0yLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8y
MTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3Jt
YWxpemF0aW9uLWxpbmVhci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MjE0NDU2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9y
bWFsaXphdGlvbi1yYWRpYWwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL291
dC1vZi1yYW5nZS1jb2xvci1zdG9wLWNvbmljLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzhjNmYxY2EwMmE1
MTExYWE2Nzc0OGU2ZDE4MjFhYWQ4OWZlOWU2Ni4uYjU0NjcwYzVhYjk0ZDcyM2FmMWVmMGViMThj
MTVhODExZmZkODUwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTI2OSw2ICsyNjksMjAgQEAgYWNjZXNzaWJpbGl0eS9hcmlhLWxpc3Rib3gtY2xlYXIt
c2VsZWN0aW9uLWNyYXNoLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvbGlzdGJveC1jbGVh
ci1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9lbWJlZGRlZC1pbWFnZS1k
ZXNjcmlwdGlvbi5odG1sIFsgU2tpcCBdCiAKKyMgVE9ETyBDb25pYyBncmFkaWVudHMKK2h0dHAv
d3B0L2Nzcy9jc3MtaW1hZ2VzLTQvY29uaWMtZ3JhZGllbnQtcGFyc2luZy5odG1sIFsgU2tpcCBd
CitmYXN0L2dyYWRpZW50cy9jb25pYy1yZXBlYXRpbmcuaHRtbCBbIFNraXAgXQorZmFzdC9ncmFk
aWVudHMvY29uaWMuaHRtbCBbIFNraXAgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtb2ZmLWNlbnRl
ci5odG1sIFsgU2tpcCBdCitmYXN0L2dyYWRpZW50cy9jb25pYy1jZW50ZXItb3V0c2lkZS1ib3gu
aHRtbCBbIFNraXAgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtZXh0ZW5kZWQtc3RvcHMuaHRtbCBb
IFNraXAgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtZnJvbS1hbmdsZS5odG1sIFsgU2tpcCBdCitm
YXN0L2dyYWRpZW50cy9jb25pYy1yZXBlYXRpbmctbGFzdC1zdG9wLmh0bWwgWyBTa2lwIF0KK2Zh
c3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50LWFscGhhLmh0bWwgWyBTa2lwIF0KK2Zhc3QvZ3Jh
ZGllbnRzL2NvbmljLWdyYWRpZW50LWV4dGVuZGVkLXN0b3BzLmh0bWwgWyBTa2lwIF0KK2Zhc3Qv
Z3JhZGllbnRzL2NvbmljLWdyYWRpZW50Lmh0bWwgWyBTa2lwIF0KK2Zhc3QvZ3JhZGllbnRzL2Nv
bmljLXR3by1oaW50cy5odG1sIFsgU2tpcCBdCisKICMgVE9ETyBJbnZlc3RpZ2F0ZSB3aHkgdGhl
c2UgbW91c2Ugc2Nyb2xsIHRlc3RzIGFyZSBmYWlsaW5nLgogZmFzdC9ldmVudHMvc2Nyb2xsLWlu
LXNjYWxlZC1wYWdlLXdpdGgtb3ZlcmZsb3ctaGlkZGVuLmh0bWwgWyBGYWlsdXJlIF0KIGZhc3Qv
ZXZlbnRzL3doZWVsL2NvbnRpbnVvdXMtcGxhdGZvcm0td2hlZWxldmVudC1pbi1zY3JvbGxpbmct
ZGl2Lmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424270</attachid>
            <date>2021-03-25 12:41:56 -0700</date>
            <delta_ts>2021-03-25 13:46:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221294-20210325204153.patch</filename>
            <type>text/plain</type>
            <size>10446</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEzOWYxZDBkYjBkNWM1
YzgwZDg3Mjc3YmQ5NzUyMWY2OWNkMjBkZS4uN2Q1Y2E1ZGM2MDYzYjg3Mjg2NzFmYzE4ODU2NjVm
MWE1NWEyM2UxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTI1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGVkZ2UgY2FzZXMgaW4gbm9y
bWFsaXphdGlvbiBvZiBjb25pYy1ncmFkaWVudCBjb2xvciBzdG9wcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjk0CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83NDE1NzIxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBgbGFzdE9uZU9yTGVzc0luZGV4YCBoYWQgYW4gb2ZmLWJ5LW9uZSBlcnJvciwgc28g
aXQgZGlkIG5vdCBnbyB0aHJvdWdoIHRoZQorICAgICAgICBicmFuY2ggaGFuZGxpbmcgY2xhbXBp
bmcgYWxsIHRoZSBzdG9wIG9mZnNldHMgd2hlbiB0aGV5J3JlIGFsbCBhYm92ZSAxLgorCisgICAg
ICAgIEFsc28gbWFkZSBgbm9ybWFsaXplU3RvcHNBbmRFbmRwb2ludHNPdXRzaWRlUmFuZ2VgIGxv
Z2ljIGVhc2llciB0byBmb2xsb3cgdXNpbmcKKyAgICAgICAgYE9wdGlvbmFsPHNpemVfdD5gIGlu
c3RlYWQgb2YgcGxhY2Vob2xkZXIgdmFsdWVzLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0aW9uLWNvbmljLTIuaHRtbAorCisgICAg
ICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29uaWNH
cmFkaWVudEFkYXB0ZXI6Om5vcm1hbGl6ZVN0b3BzQW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdlKToK
KwogMjAyMS0wMy0yNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBJbXByb3ZlIGludGVycG9sYXRpb24gb2YgdGhlIHNoYXBlLW91dHNpZGUgQ1NTIHByb3Bl
cnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggZjJmMWQwYTVj
YjM3MWRkZmExZGY0NDhhNWMyNzJhZWVmNDI1ZDU0Ni4uNTVhYmI4MmVmOTlkMzc5YjdkYTMzZTk4
MjIzNTg5NjdjMjczOThiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRp
ZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNw
cApAQCAtMjM3LDkgKzIzNywxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG5vcm1hbGl6ZVN0b3Bz
QW5kRW5kcG9pbnRzT3V0c2lkZVJhbmdlKFZlY3RvcjxHcmFkaWVudFN0b3A+JiBzdG9wcykKICAg
ICB7Ci0gICAgICAgIGF1dG8gbnVtU3RvcHMgPSBzdG9wcy5zaXplKCk7Ci0gICAgICAgIAotICAg
ICAgICBzaXplX3QgZmlyc3RaZXJvT3JHcmVhdGVySW5kZXggPSBudW1TdG9wczsKKyAgICAgICAg
c2l6ZV90IG51bVN0b3BzID0gc3RvcHMuc2l6ZSgpOworICAgICAgICBzaXplX3QgbGFzdFN0b3BJ
bmRleCA9IG51bVN0b3BzIC0gMTsKKworICAgICAgICBPcHRpb25hbDxzaXplX3Q+IGZpcnN0WmVy
b09yR3JlYXRlckluZGV4OwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bVN0b3Bz
OyArK2kpIHsKICAgICAgICAgICAgIGlmICgqc3RvcHNbaV0ub2Zmc2V0ID49IDApIHsKICAgICAg
ICAgICAgICAgICBmaXJzdFplcm9PckdyZWF0ZXJJbmRleCA9IGk7CkBAIC0yNDcsNTQgKzI0OCw1
NiBAQCBwdWJsaWM6CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoZmly
c3RaZXJvT3JHcmVhdGVySW5kZXggPiAwKSB7Ci0gICAgICAgICAgICBpZiAoZmlyc3RaZXJvT3JH
cmVhdGVySW5kZXggPCBudW1TdG9wcyAmJiAqc3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5kZXhd
Lm9mZnNldCA+IDApIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBwcmV2T2Zmc2V0ID0gKnN0b3Bz
W2ZpcnN0WmVyb09yR3JlYXRlckluZGV4IC0gMV0ub2Zmc2V0OwotICAgICAgICAgICAgICAgIGZs
b2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbZmlyc3RaZXJvT3JHcmVhdGVySW5kZXhdLm9mZnNldDsK
LSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBmbG9hdCBpbnRlclN0b3BQcm9wb3J0
aW9uID0gLXByZXZPZmZzZXQgLyAobmV4dE9mZnNldCAtIHByZXZPZmZzZXQpOworICAgICAgICBp
ZiAoZmlyc3RaZXJvT3JHcmVhdGVySW5kZXgpIHsKKyAgICAgICAgICAgIHNpemVfdCBpbmRleCA9
ICpmaXJzdFplcm9PckdyZWF0ZXJJbmRleDsKKyAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHsK
KyAgICAgICAgICAgICAgICBmbG9hdCBwcmV2aW91c09mZnNldCA9ICpzdG9wc1tpbmRleCAtIDFd
Lm9mZnNldDsKKyAgICAgICAgICAgICAgICBmbG9hdCBuZXh0T2Zmc2V0ID0gKnN0b3BzW2luZGV4
XS5vZmZzZXQ7CisKKyAgICAgICAgICAgICAgICBmbG9hdCBpbnRlclN0b3BQcm9wb3J0aW9uID0g
LXByZXZpb3VzT2Zmc2V0IC8gKG5leHRPZmZzZXQgLSBwcmV2aW91c09mZnNldCk7CiAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IHdoZW4gd2UgaW50ZXJwb2xhdGUgZ3JhZGllbnRzIHVzaW5nIHBy
ZW11bHRpcGxpZWQgY29sb3JzLCB0aGlzIHNob3VsZCBkbyBwcmVtdWx0aXBsaWNhdGlvbi4KLSAg
ICAgICAgICAgICAgICBDb2xvciBibGVuZGVkQ29sb3IgPSBibGVuZChzdG9wc1tmaXJzdFplcm9P
ckdyZWF0ZXJJbmRleCAtIDFdLmNvbG9yLCBzdG9wc1tmaXJzdFplcm9PckdyZWF0ZXJJbmRleF0u
Y29sb3IsIGludGVyU3RvcFByb3BvcnRpb24pOwotICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgICAgIENvbG9yIGJsZW5kZWRDb2xvciA9IGJsZW5kKHN0b3BzW2luZGV4IC0gMV0uY29sb3Is
IHN0b3BzW2luZGV4XS5jb2xvciwgaW50ZXJTdG9wUHJvcG9ydGlvbik7CisKICAgICAgICAgICAg
ICAgICAvLyBDbGFtcCB0aGUgcG9zaXRpb25zIHRvIDAgYW5kIHNldCB0aGUgY29sb3IuCi0gICAg
ICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXJzdFplcm9PckdyZWF0ZXJJbmRl
eDsgKytpKSB7CisgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpbmRleDsg
KytpKSB7CiAgICAgICAgICAgICAgICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IDA7CiAgICAgICAg
ICAgICAgICAgICAgIHN0b3BzW2ldLmNvbG9yID0gYmxlbmRlZENvbG9yOwogICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gQWxsIHN0b3Bz
IGFyZSBiZWxvdyAwOyBqdXN0IGNsYW1wIHRoZW0uCi0gICAgICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBmaXJzdFplcm9PckdyZWF0ZXJJbmRleDsgKytpKQotICAgICAgICAgICAg
ICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAwOwogICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgLy8gQWxsIHN0b3Agb2Zmc2V0cyBiZWxvdyAwLCBjbGFtcCB0aGVt
LgorICAgICAgICAgICAgZm9yIChhdXRvJiBzdG9wIDogc3RvcHMpCisgICAgICAgICAgICAgICAg
c3RvcC5vZmZzZXQgPSAwOwogICAgICAgICB9CiAKLSAgICAgICAgc2l6ZV90IGxhc3RPbmVPckxl
c3NJbmRleCA9IG51bVN0b3BzOwotICAgICAgICBmb3IgKGludCBpID0gbnVtU3RvcHMgLSAxOyBp
ID49IDA7IC0taSkgeworICAgICAgICBPcHRpb25hbDxzaXplX3Q+IGxhc3RPbmVPckxlc3NJbmRl
eDsKKyAgICAgICAgZm9yIChpbnQgaSA9IGxhc3RTdG9wSW5kZXg7IGkgPj0gMDsgLS1pKSB7CiAg
ICAgICAgICAgICBpZiAoKnN0b3BzW2ldLm9mZnNldCA8PSAxKSB7CiAgICAgICAgICAgICAgICAg
bGFzdE9uZU9yTGVzc0luZGV4ID0gaTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRl
eCA8IG51bVN0b3BzIC0gMSkgewotICAgICAgICAgICAgaWYgKGxhc3RPbmVPckxlc3NJbmRleCA8
IG51bVN0b3BzICYmICpzdG9wc1tsYXN0T25lT3JMZXNzSW5kZXhdLm9mZnNldCA8IDEpIHsKLSAg
ICAgICAgICAgICAgICBmbG9hdCBwcmV2T2Zmc2V0ID0gKnN0b3BzW2xhc3RPbmVPckxlc3NJbmRl
eF0ub2Zmc2V0OwotICAgICAgICAgICAgICAgIGZsb2F0IG5leHRPZmZzZXQgPSAqc3RvcHNbbGFz
dE9uZU9yTGVzc0luZGV4ICsgMV0ub2Zmc2V0OwotICAgICAgICAgICAgICAgIAotICAgICAgICAg
ICAgICAgIGZsb2F0IGludGVyU3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZPZmZzZXQpIC8gKG5l
eHRPZmZzZXQgLSBwcmV2T2Zmc2V0KTsKKworICAgICAgICBpZiAobGFzdE9uZU9yTGVzc0luZGV4
KSB7CisgICAgICAgICAgICBzaXplX3QgaW5kZXggPSAqbGFzdE9uZU9yTGVzc0luZGV4OworICAg
ICAgICAgICAgaWYgKGluZGV4IDwgbGFzdFN0b3BJbmRleCkgeworICAgICAgICAgICAgICAgIGZs
b2F0IHByZXZpb3VzT2Zmc2V0ID0gKnN0b3BzW2luZGV4XS5vZmZzZXQ7CisgICAgICAgICAgICAg
ICAgZmxvYXQgbmV4dE9mZnNldCA9ICpzdG9wc1tpbmRleCArIDFdLm9mZnNldDsKKworICAgICAg
ICAgICAgICAgIGZsb2F0IGludGVyU3RvcFByb3BvcnRpb24gPSAoMSAtIHByZXZpb3VzT2Zmc2V0
KSAvIChuZXh0T2Zmc2V0IC0gcHJldmlvdXNPZmZzZXQpOwogICAgICAgICAgICAgICAgIC8vIEZJ
WE1FOiB3aGVuIHdlIGludGVycG9sYXRlIGdyYWRpZW50cyB1c2luZyBwcmVtdWx0aXBsaWVkIGNv
bG9ycywgdGhpcyBzaG91bGQgZG8gcHJlbXVsdGlwbGljYXRpb24uCi0gICAgICAgICAgICAgICAg
Q29sb3IgYmxlbmRlZENvbG9yID0gYmxlbmQoc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4XS5jb2xv
ciwgc3RvcHNbbGFzdE9uZU9yTGVzc0luZGV4ICsgMV0uY29sb3IsIGludGVyU3RvcFByb3BvcnRp
b24pOwotICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIENvbG9yIGJsZW5kZWRDb2xv
ciA9IGJsZW5kKHN0b3BzW2luZGV4XS5jb2xvciwgc3RvcHNbaW5kZXggKyAxXS5jb2xvciwgaW50
ZXJTdG9wUHJvcG9ydGlvbik7CisKICAgICAgICAgICAgICAgICAvLyBDbGFtcCB0aGUgcG9zaXRp
b25zIHRvIDEgYW5kIHNldCB0aGUgY29sb3IuCi0gICAgICAgICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IGxhc3RPbmVPckxlc3NJbmRleCArIDE7IGkgPCBudW1TdG9wczsgKytpKSB7CisgICAgICAg
ICAgICAgICAgZm9yIChzaXplX3QgaSA9IGluZGV4ICsgMTsgaSA8PSBsYXN0U3RvcEluZGV4OyAr
K2kpIHsKICAgICAgICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMTsKICAgICAgICAg
ICAgICAgICAgICAgc3RvcHNbaV0uY29sb3IgPSBibGVuZGVkQ29sb3I7CiAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBBbGwgc3RvcHMg
YXJlIGFib3ZlIDE7IGp1c3QgY2xhbXAgdGhlbS4KLSAgICAgICAgICAgICAgICBmb3IgKHNpemVf
dCBpID0gbGFzdE9uZU9yTGVzc0luZGV4OyBpIDwgbnVtU3RvcHM7ICsraSkKLSAgICAgICAgICAg
ICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMTsKICAgICAgICAgICAgIH0KKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIC8vIEFsbCBzdG9wIG9mZnNldHMgYWJvdmUgMSwgY2xhbXAgdGhl
bS4KKyAgICAgICAgICAgIGZvciAoYXV0byYgc3RvcCA6IHN0b3BzKQorICAgICAgICAgICAgICAg
IHN0b3Aub2Zmc2V0ID0gMTsKICAgICAgICAgfQogICAgIH0KIH07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmU4OGEyZDM0
ZTY2ZTAyMjA3NGFkMDAzZjRhYTBjYmEzZjI2YjA0OC4uYmZiZmMzMDNjNzRhMmFkM2E5MzcxNWUw
MTg5NjYyOGE4NDFlNzQzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAzLTI1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIG5vcm1hbGl6YXRpb24t
Y29uaWMtMi5odG1sIFdQVCBub3cgdGhhdCB1bmRlcmx5aW5nIGJ1ZyBpcyBmaXhlZC4KKyAgICAg
ICAgQWxzbyBza2lwIHNvbWUgY29uaWMtZ3JhZGllbnQgdGVzdHMgb25seSBvbiBXaW5kb3dzIGlu
c3RlYWQgb2YgYWxsIHBsYXRmb3Jtcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMTI5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQxNTcyMTg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBUZXN0RXhw
ZWN0YXRpb25zOiBlbmFibGVkIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1pbWFnZXMvbm9ybWFsaXphdGlvbi1jb25pYy0yLmh0bWwuCisKIDIwMjEtMDMtMjQgIExhdXJv
IE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUmUtc2tpcCBtb2Rl
cm4tbWVkaWEtY29udHJvbHMgdGVzdHMgYWZ0ZXIgcjI3NDgxMApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggYTI0NDFmMjE4NDkyNjVjMjMxMWM0YWMyYjEzMGQxMzYyOGNiMzJhMS4uODRiMDIwMDRlMzlm
OTlhYjAyODE4ZjdhZGM5MDNlNmZhMTI2ZWMxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMDEw
LDE4ICszMDEwLDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dz
ZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHQKIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZyYW1l
LWVsZW1lbnQvaWZyYW1lX3NhbmRib3hfcG9wdXBzX2VzY2FwaW5nLTIuaHRtbCBbIFNraXAgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWVfc2FuZGJveF9wb3B1cHNfbm9uZXNjYXBp
bmctMi5odG1sIFsgU2tpcCBdCiAKLWh0dHAvd3B0L2Nzcy9jc3MtaW1hZ2VzLTQvY29uaWMtZ3Jh
ZGllbnQtcGFyc2luZy5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1yZXBlYXRp
bmcuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29uaWMuaHRtbCBbIFNraXAgXQotZmFz
dC9ncmFkaWVudHMvY29uaWMtb2ZmLWNlbnRlci5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50
cy9jb25pYy1jZW50ZXItb3V0c2lkZS1ib3guaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMv
Y29uaWMtZXh0ZW5kZWQtc3RvcHMuaHRtbCBbIFNraXAgXQotZmFzdC9ncmFkaWVudHMvY29uaWMt
ZnJvbS1hbmdsZS5odG1sIFsgU2tpcCBdCi1mYXN0L2dyYWRpZW50cy9jb25pYy1yZXBlYXRpbmct
bGFzdC1zdG9wLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50LWFs
cGhhLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50LWV4dGVuZGVk
LXN0b3BzLmh0bWwgWyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLWdyYWRpZW50Lmh0bWwg
WyBTa2lwIF0KLWZhc3QvZ3JhZGllbnRzL2NvbmljLXR3by1oaW50cy5odG1sIFsgU2tpcCBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL211bHRpcGxlLXBv
c2l0aW9uLWNvbG9yLXN0b3AtY29uaWMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiB3ZWJr
aXQub3JnL2IvMTg3NzczIGh0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcyBbIFNraXAgXQpAQCAt
NDQ0OSw3ICs0NDM3LDYgQEAgd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL2ltYWdlLXJlc29sdXQKIHdlYmtpdC5vcmcvYi8y
MTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9pbWFn
ZS1yZXNvbHV0aW9uL2ltYWdlLXJlc29sdXRpb24tMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWltYWdlcy9pbmZpbml0ZS1yYWRpYWwtZ3JhZGllbnQtcmVmY3Jhc2guaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1NiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL211bHRpcGxlLXBvc2l0aW9uLWNvbG9yLXN0b3At
Y29uaWMtMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjE0NDU2IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9ybWFsaXphdGlv
bi1jb25pYy0yLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NTYg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWltYWdlcy9ub3JtYWxpemF0
aW9uLWxpbmVhci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDU2
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1pbWFnZXMvbm9ybWFsaXph
dGlvbi1yYWRpYWwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1
NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtaW1hZ2VzL291dC1vZi1y
YW5nZS1jb2xvci1zdG9wLWNvbmljLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzhjNmYxY2EwMmE1MTExYWE2
Nzc0OGU2ZDE4MjFhYWQ4OWZlOWU2Ni4uYjU0NjcwYzVhYjk0ZDcyM2FmMWVmMGViMThjMTVhODEx
ZmZkODUwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTI2OSw2ICsyNjksMjAgQEAgYWNjZXNzaWJpbGl0eS9hcmlhLWxpc3Rib3gtY2xlYXItc2VsZWN0
aW9uLWNyYXNoLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvbGlzdGJveC1jbGVhci1zZWxl
Y3Rpb24uaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9lbWJlZGRlZC1pbWFnZS1kZXNjcmlw
dGlvbi5odG1sIFsgU2tpcCBdCiAKKyMgVE9ETyBDb25pYyBncmFkaWVudHMKK2h0dHAvd3B0L2Nz
cy9jc3MtaW1hZ2VzLTQvY29uaWMtZ3JhZGllbnQtcGFyc2luZy5odG1sIFsgU2tpcCBdCitmYXN0
L2dyYWRpZW50cy9jb25pYy1yZXBlYXRpbmcuaHRtbCBbIFNraXAgXQorZmFzdC9ncmFkaWVudHMv
Y29uaWMuaHRtbCBbIFNraXAgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtb2ZmLWNlbnRlci5odG1s
IFsgU2tpcCBdCitmYXN0L2dyYWRpZW50cy9jb25pYy1jZW50ZXItb3V0c2lkZS1ib3guaHRtbCBb
IFNraXAgXQorZmFzdC9ncmFkaWVudHMvY29uaWMtZXh0ZW5kZWQtc3RvcHMuaHRtbCBbIFNraXAg
XQorZmFzdC9ncmFkaWVudHMvY29uaWMtZnJvbS1hbmdsZS5odG1sIFsgU2tpcCBdCitmYXN0L2dy
YWRpZW50cy9jb25pYy1yZXBlYXRpbmctbGFzdC1zdG9wLmh0bWwgWyBTa2lwIF0KK2Zhc3QvZ3Jh
ZGllbnRzL2NvbmljLWdyYWRpZW50LWFscGhhLmh0bWwgWyBTa2lwIF0KK2Zhc3QvZ3JhZGllbnRz
L2NvbmljLWdyYWRpZW50LWV4dGVuZGVkLXN0b3BzLmh0bWwgWyBTa2lwIF0KK2Zhc3QvZ3JhZGll
bnRzL2NvbmljLWdyYWRpZW50Lmh0bWwgWyBTa2lwIF0KK2Zhc3QvZ3JhZGllbnRzL2NvbmljLXR3
by1oaW50cy5odG1sIFsgU2tpcCBdCisKICMgVE9ETyBJbnZlc3RpZ2F0ZSB3aHkgdGhlc2UgbW91
c2Ugc2Nyb2xsIHRlc3RzIGFyZSBmYWlsaW5nLgogZmFzdC9ldmVudHMvc2Nyb2xsLWluLXNjYWxl
ZC1wYWdlLXdpdGgtb3ZlcmZsb3ctaGlkZGVuLmh0bWwgWyBGYWlsdXJlIF0KIGZhc3QvZXZlbnRz
L3doZWVsL2NvbnRpbnVvdXMtcGxhdGZvcm0td2hlZWxldmVudC1pbi1zY3JvbGxpbmctZGl2Lmh0
bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>