<?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>210304</bug_id>
          
          <creation_ts>2020-04-09 14:01:38 -0700</creation_ts>
          <short_desc>Do more checking before reusing precompiled sandbox</short_desc>
          <delta_ts>2020-04-14 14:50:14 -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>WebKit2</component>
          <version>Safari 13</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>pvollan</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1639856</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-09 14:01:38 -0700</bug_when>
    <thetext>We recently discovered that the system sandbox framework version does not always change when breaking changes in the sandbox format are made. This can lead to the precompiled version of a sandbox not working properly when a sandbox version changes.

To guard against this, make the following changes:

1. Compare the SANDBOX_BUILD_ID in place when the sandbox was compiled to the value on the current system. SANDBOX_BUILD_ID, which is a GUID, is always regenerated when the sandbox framework is rebuilt.

2. Compare the OS version in place when the sandbox was compiled to the value on the current system. This will trigger us recompiling sandboxes even when the sandbox framework did not change, but this is a small performance cost that would only happen after a software update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639863</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-09 14:09:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/61155623&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639892</commentid>
    <comment_count>2</comment_count>
      <attachid>396015</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-09 14:53:30 -0700</bug_when>
    <thetext>Created attachment 396015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639894</commentid>
    <comment_count>3</comment_count>
      <attachid>396016</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-09 14:55:55 -0700</bug_when>
    <thetext>Created attachment 396016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639907</commentid>
    <comment_count>4</comment_count>
      <attachid>396019</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-09 15:05:58 -0700</bug_when>
    <thetext>Created attachment 396019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639931</commentid>
    <comment_count>5</comment_count>
      <attachid>396019</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-04-09 15:49:47 -0700</bug_when>
    <thetext>Comment on attachment 396019
Patch

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

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:424
&gt; +    std::strncpy(cachedHeader.osVersion, osVersion.utf8().data(), versionLength);

Would be slightly nicer to use sizeof(cachedSandboxHeader.osVersion) here, or to use versionLength below. That way, the length we copy in the equal to the length we compare.

Relatedly: What guarantees that systemMarketingVersion() will always return a string that is equal in size to versionLength? Seems like we need a length check before the copy. And maybe we should reserve extra space in case systemMarketingVersion() starts returning something bigger in the future?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640806</commentid>
    <comment_count>6</comment_count>
      <attachid>396019</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-13 01:35:35 -0700</bug_when>
    <thetext>Comment on attachment 396019
Patch

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

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:469
&gt;      if (cachedSandboxHeader.versionNumber != CachedSandboxVersionNumber)

Style wise it really feels like this should be the first branch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640808</commentid>
    <comment_count>7</comment_count>
      <attachid>396019</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-13 01:35:45 -0700</bug_when>
    <thetext>Comment on attachment 396019
Patch

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

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:469
&gt;      if (cachedSandboxHeader.versionNumber != CachedSandboxVersionNumber)

Style wise it really feels like this should be the first branch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640809</commentid>
    <comment_count>8</comment_count>
      <attachid>396019</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-13 01:38:17 -0700</bug_when>
    <thetext>Comment on attachment 396019
Patch

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

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:94
&gt; +constexpr unsigned guidLength = 36 + 1;

Nit: I’d name these “size” since length is really this - 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641167</commentid>
    <comment_count>9</comment_count>
      <attachid>396356</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-13 16:34:48 -0700</bug_when>
    <thetext>Created attachment 396356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641201</commentid>
    <comment_count>10</comment_count>
      <attachid>396356</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-13 18:07:25 -0700</bug_when>
    <thetext>Comment on attachment 396356
Patch

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

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:427
&gt; +    std::strncpy(cachedHeader.sandboxBuildID, SANDBOX_BUILD_ID, sizeof(cachedHeader.sandboxBuildID));
&gt; +    RELEASE_ASSERT(!cachedHeader.sandboxBuildID[guidSize - 1]);
&gt; +    std::strncpy(cachedHeader.osVersion, osVersion.utf8().data(), sizeof(cachedHeader.osVersion));
&gt; +    RELEASE_ASSERT(!cachedHeader.osVersion[versionSize - 1]);

It’s almost never good to use strncpy; I suggest using strlcpy instead.

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:476
&gt; +    if (std::strncmp(cachedSandboxHeader.sandboxBuildID, SANDBOX_BUILD_ID, sizeof(cachedSandboxHeader.sandboxBuildID)))
&gt;          return false;
&gt; +    if (std::strncmp(cachedSandboxHeader.osVersion, osVersion.utf8().data(), sizeof(cachedSandboxHeader.osVersion)))
&gt; +        return false;

These should be strcmp; no reason I can think of to use strncmp to compare two strings that are both null-terminated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641476</commentid>
    <comment_count>11</comment_count>
      <attachid>396356</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-14 11:47:10 -0700</bug_when>
    <thetext>Comment on attachment 396356
Patch

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

&gt; Source/WebKit/ChangeLog:10
&gt; +        We recently discovered that the system sandbox framework version does not always change
&gt; +        when breaking changes in the sandbox format are made. This can lead to the precompiled

Logically, this feels very weird. Can we tell them not to do that?

I&apos;m not against us adding the code you&apos;re adding here, too. It just feels weird that they can make a breaking change without updating the version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641482</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-04-14 11:58:26 -0700</bug_when>
    <thetext>There are many system dylibs that are not set up to ever update the version, as there is very little observable effect, if any. Still, see rdar://problem/61155623.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641491</commentid>
    <comment_count>13</comment_count>
      <attachid>396448</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-14 12:13:31 -0700</bug_when>
    <thetext>Created attachment 396448
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641502</commentid>
    <comment_count>14</comment_count>
      <attachid>396448</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-04-14 12:35:43 -0700</bug_when>
    <thetext>Comment on attachment 396448
Patch

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

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:425
&gt; +    ASSERT(copied = guidSize - 1);

==</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641510</commentid>
    <comment_count>15</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-14 13:09:15 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #14)
&gt; Comment on attachment 396448 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=396448&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:425
&gt; &gt; +    ASSERT(copied = guidSize - 1);
&gt; 
&gt; ==

Oh hell. Fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641512</commentid>
    <comment_count>16</comment_count>
      <attachid>396453</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-14 13:09:53 -0700</bug_when>
    <thetext>Created attachment 396453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641522</commentid>
    <comment_count>17</comment_count>
      <attachid>396453</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-14 13:37:43 -0700</bug_when>
    <thetext>Comment on attachment 396453
Patch

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

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:426
&gt; +    RELEASE_ASSERT(!cachedHeader.sandboxBuildID[guidSize - 1]);

OK to have this, but overkill since we are using strlcpy, which guarantees null termination. That’s it’s whole reason for existing.

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:428
&gt; +    RELEASE_ASSERT(!cachedHeader.osVersion[versionSize - 1]);

Ditto.

&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:477
&gt; +    if (std::strcmp(cachedSandboxHeader.osVersion, osVersion.utf8().data()))

Given that this is an ASCII string, this can just be written:

    if (cachedSandboxHeader.osVersion != systemMarketingVersion())

The String class already has a != operator that works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641533</commentid>
    <comment_count>18</comment_count>
      <attachid>396453</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-14 14:00:31 -0700</bug_when>
    <thetext>Comment on attachment 396453
Patch

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

&gt;&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:426
&gt;&gt; +    RELEASE_ASSERT(!cachedHeader.sandboxBuildID[guidSize - 1]);
&gt; 
&gt; OK to have this, but overkill since we are using strlcpy, which guarantees null termination. That’s it’s whole reason for existing.

I&apos;ll remove both of these.

&gt;&gt; Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:477
&gt;&gt; +    if (std::strcmp(cachedSandboxHeader.osVersion, osVersion.utf8().data()))
&gt; 
&gt; Given that this is an ASCII string, this can just be written:
&gt; 
&gt;     if (cachedSandboxHeader.osVersion != systemMarketingVersion())
&gt; 
&gt; The String class already has a != operator that works.

Okay -- that&apos;s much tidier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641536</commentid>
    <comment_count>19</comment_count>
      <attachid>396459</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-14 14:08:14 -0700</bug_when>
    <thetext>Created attachment 396459
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641552</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-14 14:30:30 -0700</bug_when>
    <thetext>Committed r260098: &lt;https://trac.webkit.org/changeset/260098&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396459.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641560</commentid>
    <comment_count>21</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-14 14:50:14 -0700</bug_when>
    <thetext>This is actually &lt;rdar://problem/61537700&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396015</attachid>
            <date>2020-04-09 14:53:30 -0700</date>
            <delta_ts>2020-04-09 14:55:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210304-20200409145329.patch</filename>
            <type>text/plain</type>
            <size>6607</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5ODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMyNTE5ZWY3YWQ3MDVmNzEx
MDZjZGU1YTc0ODQxY2VkNDc2YzMzODMuLjRmYzU5MjUwYWJkN2E3N2Q3YThhYzZiM2U2YzJkYjdh
ZmNmMGVmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDQtMDkgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbW9yZSBjaGVja2luZyBi
ZWZvcmUgcmV1c2luZyBwcmVjb21waWxlZCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxMTU1NjIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIHJlY2VudGx5IGRpc2NvdmVyZWQgdGhhdCB0aGUgc3lzdGVtIHNhbmRib3ggZnJhbWV3
b3JrIHZlcnNpb24gZG9lcyBub3QgYWx3YXlzIGNoYW5nZQorICAgICAgICB3aGVuIGJyZWFraW5n
IGNoYW5nZXMgaW4gdGhlIHNhbmRib3ggZm9ybWF0IGFyZSBtYWRlLiBUaGlzIGNhbiBsZWFkIHRv
IHRoZSBwcmVjb21waWxlZAorICAgICAgICB2ZXJzaW9uIG9mIGEgc2FuZGJveCBub3Qgd29ya2lu
ZyBwcm9wZXJseSB3aGVuIGEgc2FuZGJveCB2ZXJzaW9uIGNoYW5nZXMuCisKKyAgICAgICAgVG8g
Z3VhcmQgYWdhaW5zdCB0aGlzLCBtYWtlIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKKworICAgICAg
ICAxLiBDb21wYXJlIHRoZSBTQU5EQk9YX0JVSUxEX0lEIGluIHBsYWNlIHdoZW4gdGhlIHNhbmRi
b3ggd2FzIGNvbXBpbGVkIHRvIHRoZSB2YWx1ZSBvbgorICAgICAgICAgICB0aGUgY3VycmVudCBz
eXN0ZW0uIFNBTkRCT1hfQlVJTERfSUQsIHdoaWNoIGlzIGEgR1VJRCwgaXMgYWx3YXlzIHJlZ2Vu
ZXJhdGVkIHdoZW4gdGhlCisgICAgICAgICAgIHNhbmRib3ggZnJhbWV3b3JrIGlzIHJlYnVpbHQu
CisKKyAgICAgICAgMi4gQ29tcGFyZSB0aGUgT1MgdmVyc2lvbiBpbiBwbGFjZSB3aGVuIHRoZSBz
YW5kYm94IHdhcyBjb21waWxlZCB0byB0aGUgdmFsdWUgb24gdGhlIGN1cnJlbnQKKyAgICAgICAg
ICAgc3lzdGVtLiBUaGlzIHdpbGwgdHJpZ2dlciB1cyByZWNvbXBpbGluZyBzYW5kYm94ZXMgZXZl
biB3aGVuIHRoZSBzYW5kYm94IGZyYW1ld29yayBkaWQgbm90CisgICAgICAgICAgIGNoYW5nZSwg
YnV0IHRoaXMgaXMgYSBzbWFsbCBwZXJmb3JtYW5jZSBjb3N0IHRoYXQgd291bGQgb25seSBoYXBw
ZW4gYWZ0ZXIgYSBzb2Z0d2FyZSB1cGRhdGUuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F1eGls
aWFyeVByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OmNvbXBpbGVBbmRDYWNoZVNhbmRi
b3hQcm9maWxlKToKKyAgICAgICAgKFdlYktpdDo6dHJ5QXBwbHlDYWNoZWRTYW5kYm94KToKKwog
MjAyMC0wNC0wOSAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
U2V0IEVOVElUTEVNRU5UU19SRVFVSVJFRD1OTyBmb3Igc29tZSBYY29kZSBidWlsZCB0YXJnZXRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCmlu
ZGV4IDMxYzJkM2Q3MDY5YjhlMDg5ZjIzYjBhNDEyYmIxZjU0MDg2MzUyODguLmNiMzRjMGUzMTY2
ZGRhNTRhOWYxZWExYjYxNTViNzc4N2NmMDJjNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjcsNiArNjcsOCBAQAogI2RlZmlu
ZSBVU0VfQ0FDSEVfQ09NUElMRURfU0FOREJPWCAwCiAjZW5kaWYKIAorZXh0ZXJuIGNvbnN0IGNo
YXIqIGNvbnN0IFNBTkRCT1hfQlVJTERfSUQ7IC8vIERlZmluZWQgYnkgdGhlIFNhbmRib3ggZnJh
bWV3b3JrCisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
QEAgLTg5LDEyICs5MSwxNyBAQCBzdHJ1Y3QgU2FuZGJveFBhcmFtZXRlcnNEZWxldGVyIHsKIH07
CiB1c2luZyBTYW5kYm94UGFyYW1ldGVyc1B0ciA9IHN0ZDo6dW5pcXVlX3B0cjxTYW5kYm94UGFy
YW1ldGVycywgU2FuZGJveFBhcmFtZXRlcnNEZWxldGVyPjsKIAorY29uc3RleHByIHVuc2lnbmVk
IGd1aWRMZW5ndGggPSAzNiArIDE7Citjb25zdGV4cHIgdW5zaWduZWQgdmVyc2lvbkxlbmd0aCA9
IDggKyAxOworCiBzdHJ1Y3QgQ2FjaGVkU2FuZGJveEhlYWRlciB7CiAgICAgdWludDMyX3QgdmVy
c2lvbk51bWJlcjsKICAgICB1aW50MzJfdCBsaWJzYW5kYm94VmVyc2lvbjsKICAgICB1aW50MzJf
dCBoZWFkZXJTaXplOwogICAgIHVpbnQzMl90IGJ1aWx0aW5TaXplOyAvLyBJZiBhIGJ1aWx0aW4g
ZG9lc24ndCBleGlzdCwgdGhpcyBpcyBVSU5UX01BWC4KICAgICB1aW50MzJfdCBkYXRhU2l6ZTsK
KyAgICBjaGFyIHNhbmRib3hCdWlsZElEW2d1aWRMZW5ndGhdOworICAgIGNoYXIgb3NWZXJzaW9u
W3ZlcnNpb25MZW5ndGhdOwogfTsKIC8vIFRoZSBmaWxlIGlzIGxheWVkIG91dCBvbiBkaXNrIGxp
a2U6CiAvLyBieXRlIDAKQEAgLTEyOSw3ICsxMzYsNyBAQCBzdHJ1Y3QgU2FuZGJveEluZm8gewog
ICAgIGNvbnN0IGJvb2wgaXNQcm9maWxlUGF0aDsKIH07CiAKLWNvbnN0ZXhwciB1aW50MzJfdCBD
YWNoZWRTYW5kYm94VmVyc2lvbk51bWJlciA9IDA7Citjb25zdGV4cHIgdWludDMyX3QgQ2FjaGVk
U2FuZGJveFZlcnNpb25OdW1iZXIgPSAxOwogI2VuZGlmIC8vIFVTRShDQUNIRV9DT01QSUxFRF9T
QU5EQk9YKQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGltZXJDb2FsZXNjaW5nUG9saWN5KCkK
QEAgLTM4NCw2ICszOTEsMjUgQEAgc3RhdGljIGJvb2wgd3JpdGVTYW5kYm94RGF0YVRvQ2FjaGVG
aWxlKGNvbnN0IFNhbmRib3hJbmZvJiBpbmZvLCBjb25zdCBWZWN0b3I8Y2gKICAgICByZXR1cm4g
ZmlsZS53cml0ZShjYWNoZUZpbGUuZGF0YSgpLCBjYWNoZUZpbGUuc2l6ZSgpKSA9PSBzYWZlQ2Fz
dDxpbnQ+KGNhY2hlRmlsZS5zaXplKCkpOwogfQogCitzdGF0aWMgT3B0aW9uYWw8U3RyaW5nPiBz
eXN0ZW1PU1ZlcnNpb24oKQoreworICAgIFN0cmluZyBvc1N5c3RlbU1hcmtldGluZ1ZlcnNpb24g
PSBzeXN0ZW1NYXJrZXRpbmdWZXJzaW9uKCk7CisgICAgVmVjdG9yPFN0cmluZz4gb3NWZXJzaW9u
UGFydHMgPSBvc1N5c3RlbU1hcmtldGluZ1ZlcnNpb24uc3BsaXQoJy4nKTsKKyAgICBpZiAob3NW
ZXJzaW9uUGFydHMuc2l6ZSgpIDwgMikgeworICAgICAgICBXVEZMb2dBbHdheXMoIiVzOiBDb3Vs
ZG4ndCBmaW5kIE9TIFZlcnNpb25cbiIsIGdldHByb2duYW1lKCkpOworICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworICAgIH0KKworICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG9zVmVyc2lvblBhcnRzLnNpemUoKTsgKytpKSB7CisgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kKG9zVmVyc2lvblBhcnRzW2ldKTsKKyAgICAgICAgaWYgKGkgPCBv
c1ZlcnNpb25QYXJ0cy5zaXplKCkgLSAxKQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJy4n
KTsKKyAgICB9CisKKyAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworfQorCiBzdGF0aWMg
U2FuZGJveFByb2ZpbGVQdHIgY29tcGlsZUFuZENhY2hlU2FuZGJveFByb2ZpbGUoY29uc3QgU2Fu
ZGJveEluZm8mIGluZm8pCiB7CiAgICAgaWYgKCFlbnN1cmVTYW5kYm94Q2FjaGVEaXJlY3Rvcnko
aW5mbykpCkBAIC00MDIsNiArNDI4LDExIEBAIHN0YXRpYyBTYW5kYm94UHJvZmlsZVB0ciBjb21w
aWxlQW5kQ2FjaGVTYW5kYm94UHJvZmlsZShjb25zdCBTYW5kYm94SW5mbyYgaW5mbykKICAgICBj
b25zdCBib29sIGhhdmVCdWlsdGluID0gc2FuZGJveFByb2ZpbGUtPmJ1aWx0aW47CiAgICAgaW50
MzJfdCBsaWJzYW5kYm94VmVyc2lvbiA9IE5TVmVyc2lvbk9mUnVuVGltZUxpYnJhcnkoInNhbmRi
b3giKTsKICAgICBSRUxFQVNFX0FTU0VSVChsaWJzYW5kYm94VmVyc2lvbiA+IDApOworCisgICAg
YXV0byBvc1ZlcnNpb24gPSBzeXN0ZW1PU1ZlcnNpb24oKTsKKyAgICBpZiAoIW9zVmVyc2lvbikK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICBDYWNoZWRTYW5kYm94SGVhZGVyIGNhY2hl
ZEhlYWRlciB7CiAgICAgICAgIENhY2hlZFNhbmRib3hWZXJzaW9uTnVtYmVyLAogICAgICAgICBz
dGF0aWNfY2FzdDx1aW50MzJfdD4obGlic2FuZGJveFZlcnNpb24pLApAQCAtNDA5LDYgKzQ0MCwx
MiBAQCBzdGF0aWMgU2FuZGJveFByb2ZpbGVQdHIgY29tcGlsZUFuZENhY2hlU2FuZGJveFByb2Zp
bGUoY29uc3QgU2FuZGJveEluZm8mIGluZm8pCiAgICAgICAgIGhhdmVCdWlsdGluID8gc2FmZUNh
c3Q8dWludDMyX3Q+KHN0cmxlbihzYW5kYm94UHJvZmlsZS0+YnVpbHRpbikpIDogc3RkOjpudW1l
cmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpLAogICAgICAgICBzYWZlQ2FzdDx1aW50MzJfdD4o
c2FuZGJveFByb2ZpbGUtPnNpemUpCiAgICAgfTsKKworICAgIHN0ZDo6c3RybmNweShjYWNoZWRI
ZWFkZXIuc2FuZGJveEJ1aWxkSUQsIFNBTkRCT1hfQlVJTERfSUQsIHNpemVvZihjYWNoZWRIZWFk
ZXIuc2FuZGJveEJ1aWxkSUQpKTsKKyAgICBSRUxFQVNFX0FTU0VSVCghY2FjaGVkSGVhZGVyLnNh
bmRib3hCdWlsZElEW2d1aWRMZW5ndGggLSAxXSk7CisgICAgc3RkOjpzdHJuY3B5KGNhY2hlZEhl
YWRlci5vc1ZlcnNpb24sIG9zVmVyc2lvbi0+dXRmOCgpLmRhdGEoKSwgdmVyc2lvbkxlbmd0aCk7
CisgICAgUkVMRUFTRV9BU1NFUlQoIWNhY2hlZEhlYWRlci5vc1ZlcnNpb25bdmVyc2lvbkxlbmd0
aCAtIDFdKTsKKwogICAgIGNvbnN0IHNpemVfdCBleHBlY3RlZEZpbGVTaXplID0gc2l6ZW9mKGNh
Y2hlZEhlYWRlcikgKyBjYWNoZWRIZWFkZXIuaGVhZGVyU2l6ZSArIChoYXZlQnVpbHRpbiA/IGNh
Y2hlZEhlYWRlci5idWlsdGluU2l6ZSA6IDApICsgY2FjaGVkSGVhZGVyLmRhdGFTaXplOwogCiAg
ICAgVmVjdG9yPGNoYXI+IGNhY2hlRmlsZTsKQEAgLTQ0NywxMCArNDg0LDIwIEBAIHN0YXRpYyBi
b29sIHRyeUFwcGx5Q2FjaGVkU2FuZGJveChjb25zdCBTYW5kYm94SW5mbyYgaW5mbykKICAgICBt
ZW1jcHkoJmNhY2hlZFNhbmRib3hIZWFkZXIsIGNhY2hlZFNhbmRib3hDb250ZW50cy5kYXRhKCks
IHNpemVvZihDYWNoZWRTYW5kYm94SGVhZGVyKSk7CiAgICAgaW50MzJfdCBsaWJzYW5kYm94VmVy
c2lvbiA9IE5TVmVyc2lvbk9mUnVuVGltZUxpYnJhcnkoInNhbmRib3giKTsKICAgICBSRUxFQVNF
X0FTU0VSVChsaWJzYW5kYm94VmVyc2lvbiA+IDApOworCisgICAgYXV0byBvc1ZlcnNpb24gPSBz
eXN0ZW1PU1ZlcnNpb24oKTsKKyAgICBpZiAoIW9zVmVyc2lvbikKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCiAgICAgaWYgKHN0YXRpY19jYXN0PHVpbnQzMl90PihsaWJzYW5kYm94VmVyc2lvbikg
IT0gY2FjaGVkU2FuZGJveEhlYWRlci5saWJzYW5kYm94VmVyc2lvbikKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIGlmIChjYWNoZWRTYW5kYm94SGVhZGVyLnZlcnNpb25OdW1iZXIgIT0gQ2Fj
aGVkU2FuZGJveFZlcnNpb25OdW1iZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAo
c3RkOjpzdHJuY21wKGNhY2hlZFNhbmRib3hIZWFkZXIuc2FuZGJveEJ1aWxkSUQsIFNBTkRCT1hf
QlVJTERfSUQsIHNpemVvZihjYWNoZWRTYW5kYm94SGVhZGVyLnNhbmRib3hCdWlsZElEKSkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoc3RkOjpzdHJuY21wKGNhY2hlZFNhbmRib3hI
ZWFkZXIub3NWZXJzaW9uLCBvc1ZlcnNpb24tPnV0ZjgoKS5kYXRhKCksIHNpemVvZihjYWNoZWRT
YW5kYm94SGVhZGVyLm9zVmVyc2lvbikpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBj
b25zdCBib29sIGhhdmVCdWlsdGluID0gY2FjaGVkU2FuZGJveEhlYWRlci5idWlsdGluU2l6ZSAh
PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCk7CiAKICAgICAvLyBUaGVzZSB2
YWx1ZXMgYXJlIGNvbXB1dGVkIGJhc2VkIG9uIHRoZSBkaXNrIGxheW91dCBzcGVjaWZpZWQgYmVs
b3cgdGhlIGRlZmluaXRpb24gb2YgdGhlIENhY2hlZFNhbmRib3hIZWFkZXIgc3RydWN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396016</attachid>
            <date>2020-04-09 14:55:55 -0700</date>
            <delta_ts>2020-04-09 15:05:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210304-20200409145554.patch</filename>
            <type>text/plain</type>
            <size>5605</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5ODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMyNTE5ZWY3YWQ3MDVmNzEx
MDZjZGU1YTc0ODQxY2VkNDc2YzMzODMuLjRmYzU5MjUwYWJkN2E3N2Q3YThhYzZiM2U2YzJkYjdh
ZmNmMGVmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDQtMDkgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbW9yZSBjaGVja2luZyBi
ZWZvcmUgcmV1c2luZyBwcmVjb21waWxlZCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxMTU1NjIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIHJlY2VudGx5IGRpc2NvdmVyZWQgdGhhdCB0aGUgc3lzdGVtIHNhbmRib3ggZnJhbWV3
b3JrIHZlcnNpb24gZG9lcyBub3QgYWx3YXlzIGNoYW5nZQorICAgICAgICB3aGVuIGJyZWFraW5n
IGNoYW5nZXMgaW4gdGhlIHNhbmRib3ggZm9ybWF0IGFyZSBtYWRlLiBUaGlzIGNhbiBsZWFkIHRv
IHRoZSBwcmVjb21waWxlZAorICAgICAgICB2ZXJzaW9uIG9mIGEgc2FuZGJveCBub3Qgd29ya2lu
ZyBwcm9wZXJseSB3aGVuIGEgc2FuZGJveCB2ZXJzaW9uIGNoYW5nZXMuCisKKyAgICAgICAgVG8g
Z3VhcmQgYWdhaW5zdCB0aGlzLCBtYWtlIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKKworICAgICAg
ICAxLiBDb21wYXJlIHRoZSBTQU5EQk9YX0JVSUxEX0lEIGluIHBsYWNlIHdoZW4gdGhlIHNhbmRi
b3ggd2FzIGNvbXBpbGVkIHRvIHRoZSB2YWx1ZSBvbgorICAgICAgICAgICB0aGUgY3VycmVudCBz
eXN0ZW0uIFNBTkRCT1hfQlVJTERfSUQsIHdoaWNoIGlzIGEgR1VJRCwgaXMgYWx3YXlzIHJlZ2Vu
ZXJhdGVkIHdoZW4gdGhlCisgICAgICAgICAgIHNhbmRib3ggZnJhbWV3b3JrIGlzIHJlYnVpbHQu
CisKKyAgICAgICAgMi4gQ29tcGFyZSB0aGUgT1MgdmVyc2lvbiBpbiBwbGFjZSB3aGVuIHRoZSBz
YW5kYm94IHdhcyBjb21waWxlZCB0byB0aGUgdmFsdWUgb24gdGhlIGN1cnJlbnQKKyAgICAgICAg
ICAgc3lzdGVtLiBUaGlzIHdpbGwgdHJpZ2dlciB1cyByZWNvbXBpbGluZyBzYW5kYm94ZXMgZXZl
biB3aGVuIHRoZSBzYW5kYm94IGZyYW1ld29yayBkaWQgbm90CisgICAgICAgICAgIGNoYW5nZSwg
YnV0IHRoaXMgaXMgYSBzbWFsbCBwZXJmb3JtYW5jZSBjb3N0IHRoYXQgd291bGQgb25seSBoYXBw
ZW4gYWZ0ZXIgYSBzb2Z0d2FyZSB1cGRhdGUuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F1eGls
aWFyeVByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OmNvbXBpbGVBbmRDYWNoZVNhbmRi
b3hQcm9maWxlKToKKyAgICAgICAgKFdlYktpdDo6dHJ5QXBwbHlDYWNoZWRTYW5kYm94KToKKwog
MjAyMC0wNC0wOSAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
U2V0IEVOVElUTEVNRU5UU19SRVFVSVJFRD1OTyBmb3Igc29tZSBYY29kZSBidWlsZCB0YXJnZXRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCmlu
ZGV4IDMxYzJkM2Q3MDY5YjhlMDg5ZjIzYjBhNDEyYmIxZjU0MDg2MzUyODguLjk1YzkyYzg4Y2Jm
ZTViMzYyNGVkNDAwY2VkMTNjOTY4ZTQwNmRiYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjcsNiArNjcsOCBAQAogI2RlZmlu
ZSBVU0VfQ0FDSEVfQ09NUElMRURfU0FOREJPWCAwCiAjZW5kaWYKIAorZXh0ZXJuIGNvbnN0IGNo
YXIqIGNvbnN0IFNBTkRCT1hfQlVJTERfSUQ7IC8vIERlZmluZWQgYnkgdGhlIFNhbmRib3ggZnJh
bWV3b3JrCisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
QEAgLTg5LDEyICs5MSwxNyBAQCBzdHJ1Y3QgU2FuZGJveFBhcmFtZXRlcnNEZWxldGVyIHsKIH07
CiB1c2luZyBTYW5kYm94UGFyYW1ldGVyc1B0ciA9IHN0ZDo6dW5pcXVlX3B0cjxTYW5kYm94UGFy
YW1ldGVycywgU2FuZGJveFBhcmFtZXRlcnNEZWxldGVyPjsKIAorY29uc3RleHByIHVuc2lnbmVk
IGd1aWRMZW5ndGggPSAzNiArIDE7Citjb25zdGV4cHIgdW5zaWduZWQgdmVyc2lvbkxlbmd0aCA9
IDggKyAxOworCiBzdHJ1Y3QgQ2FjaGVkU2FuZGJveEhlYWRlciB7CiAgICAgdWludDMyX3QgdmVy
c2lvbk51bWJlcjsKICAgICB1aW50MzJfdCBsaWJzYW5kYm94VmVyc2lvbjsKICAgICB1aW50MzJf
dCBoZWFkZXJTaXplOwogICAgIHVpbnQzMl90IGJ1aWx0aW5TaXplOyAvLyBJZiBhIGJ1aWx0aW4g
ZG9lc24ndCBleGlzdCwgdGhpcyBpcyBVSU5UX01BWC4KICAgICB1aW50MzJfdCBkYXRhU2l6ZTsK
KyAgICBjaGFyIHNhbmRib3hCdWlsZElEW2d1aWRMZW5ndGhdOworICAgIGNoYXIgb3NWZXJzaW9u
W3ZlcnNpb25MZW5ndGhdOwogfTsKIC8vIFRoZSBmaWxlIGlzIGxheWVkIG91dCBvbiBkaXNrIGxp
a2U6CiAvLyBieXRlIDAKQEAgLTEyOSw3ICsxMzYsNyBAQCBzdHJ1Y3QgU2FuZGJveEluZm8gewog
ICAgIGNvbnN0IGJvb2wgaXNQcm9maWxlUGF0aDsKIH07CiAKLWNvbnN0ZXhwciB1aW50MzJfdCBD
YWNoZWRTYW5kYm94VmVyc2lvbk51bWJlciA9IDA7Citjb25zdGV4cHIgdWludDMyX3QgQ2FjaGVk
U2FuZGJveFZlcnNpb25OdW1iZXIgPSAxOwogI2VuZGlmIC8vIFVTRShDQUNIRV9DT01QSUxFRF9T
QU5EQk9YKQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGltZXJDb2FsZXNjaW5nUG9saWN5KCkK
QEAgLTQwMiw2ICs0MDksOCBAQCBzdGF0aWMgU2FuZGJveFByb2ZpbGVQdHIgY29tcGlsZUFuZENh
Y2hlU2FuZGJveFByb2ZpbGUoY29uc3QgU2FuZGJveEluZm8mIGluZm8pCiAgICAgY29uc3QgYm9v
bCBoYXZlQnVpbHRpbiA9IHNhbmRib3hQcm9maWxlLT5idWlsdGluOwogICAgIGludDMyX3QgbGli
c2FuZGJveFZlcnNpb24gPSBOU1ZlcnNpb25PZlJ1blRpbWVMaWJyYXJ5KCJzYW5kYm94Iik7CiAg
ICAgUkVMRUFTRV9BU1NFUlQobGlic2FuZGJveFZlcnNpb24gPiAwKTsKKyAgICBhdXRvIG9zVmVy
c2lvbiA9IHN5c3RlbU1hcmtldGluZ1ZlcnNpb24oKTsKKwogICAgIENhY2hlZFNhbmRib3hIZWFk
ZXIgY2FjaGVkSGVhZGVyIHsKICAgICAgICAgQ2FjaGVkU2FuZGJveFZlcnNpb25OdW1iZXIsCiAg
ICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90PihsaWJzYW5kYm94VmVyc2lvbiksCkBAIC00MDks
NiArNDE4LDEyIEBAIHN0YXRpYyBTYW5kYm94UHJvZmlsZVB0ciBjb21waWxlQW5kQ2FjaGVTYW5k
Ym94UHJvZmlsZShjb25zdCBTYW5kYm94SW5mbyYgaW5mbykKICAgICAgICAgaGF2ZUJ1aWx0aW4g
PyBzYWZlQ2FzdDx1aW50MzJfdD4oc3RybGVuKHNhbmRib3hQcm9maWxlLT5idWlsdGluKSkgOiBz
dGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCksCiAgICAgICAgIHNhZmVDYXN0PHVp
bnQzMl90PihzYW5kYm94UHJvZmlsZS0+c2l6ZSkKICAgICB9OworCisgICAgc3RkOjpzdHJuY3B5
KGNhY2hlZEhlYWRlci5zYW5kYm94QnVpbGRJRCwgU0FOREJPWF9CVUlMRF9JRCwgc2l6ZW9mKGNh
Y2hlZEhlYWRlci5zYW5kYm94QnVpbGRJRCkpOworICAgIFJFTEVBU0VfQVNTRVJUKCFjYWNoZWRI
ZWFkZXIuc2FuZGJveEJ1aWxkSURbZ3VpZExlbmd0aCAtIDFdKTsKKyAgICBzdGQ6OnN0cm5jcHko
Y2FjaGVkSGVhZGVyLm9zVmVyc2lvbiwgb3NWZXJzaW9uLnV0ZjgoKS5kYXRhKCksIHZlcnNpb25M
ZW5ndGgpOworICAgIFJFTEVBU0VfQVNTRVJUKCFjYWNoZWRIZWFkZXIub3NWZXJzaW9uW3ZlcnNp
b25MZW5ndGggLSAxXSk7CisKICAgICBjb25zdCBzaXplX3QgZXhwZWN0ZWRGaWxlU2l6ZSA9IHNp
emVvZihjYWNoZWRIZWFkZXIpICsgY2FjaGVkSGVhZGVyLmhlYWRlclNpemUgKyAoaGF2ZUJ1aWx0
aW4gPyBjYWNoZWRIZWFkZXIuYnVpbHRpblNpemUgOiAwKSArIGNhY2hlZEhlYWRlci5kYXRhU2l6
ZTsKIAogICAgIFZlY3RvcjxjaGFyPiBjYWNoZUZpbGU7CkBAIC00NDcsMTAgKzQ2MiwxNyBAQCBz
dGF0aWMgYm9vbCB0cnlBcHBseUNhY2hlZFNhbmRib3goY29uc3QgU2FuZGJveEluZm8mIGluZm8p
CiAgICAgbWVtY3B5KCZjYWNoZWRTYW5kYm94SGVhZGVyLCBjYWNoZWRTYW5kYm94Q29udGVudHMu
ZGF0YSgpLCBzaXplb2YoQ2FjaGVkU2FuZGJveEhlYWRlcikpOwogICAgIGludDMyX3QgbGlic2Fu
ZGJveFZlcnNpb24gPSBOU1ZlcnNpb25PZlJ1blRpbWVMaWJyYXJ5KCJzYW5kYm94Iik7CiAgICAg
UkVMRUFTRV9BU1NFUlQobGlic2FuZGJveFZlcnNpb24gPiAwKTsKKyAgICBhdXRvIG9zVmVyc2lv
biA9IHN5c3RlbU1hcmtldGluZ1ZlcnNpb24oKTsKKwogICAgIGlmIChzdGF0aWNfY2FzdDx1aW50
MzJfdD4obGlic2FuZGJveFZlcnNpb24pICE9IGNhY2hlZFNhbmRib3hIZWFkZXIubGlic2FuZGJv
eFZlcnNpb24pCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoY2FjaGVkU2FuZGJveEhl
YWRlci52ZXJzaW9uTnVtYmVyICE9IENhY2hlZFNhbmRib3hWZXJzaW9uTnVtYmVyKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHN0ZDo6c3RybmNtcChjYWNoZWRTYW5kYm94SGVhZGVy
LnNhbmRib3hCdWlsZElELCBTQU5EQk9YX0JVSUxEX0lELCBzaXplb2YoY2FjaGVkU2FuZGJveEhl
YWRlci5zYW5kYm94QnVpbGRJRCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHN0
ZDo6c3RybmNtcChjYWNoZWRTYW5kYm94SGVhZGVyLm9zVmVyc2lvbiwgb3NWZXJzaW9uLnV0Zjgo
KS5kYXRhKCksIHNpemVvZihjYWNoZWRTYW5kYm94SGVhZGVyLm9zVmVyc2lvbikpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICBjb25zdCBib29sIGhhdmVCdWlsdGluID0gY2FjaGVkU2Fu
ZGJveEhlYWRlci5idWlsdGluU2l6ZSAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6
bWF4KCk7CiAKICAgICAvLyBUaGVzZSB2YWx1ZXMgYXJlIGNvbXB1dGVkIGJhc2VkIG9uIHRoZSBk
aXNrIGxheW91dCBzcGVjaWZpZWQgYmVsb3cgdGhlIGRlZmluaXRpb24gb2YgdGhlIENhY2hlZFNh
bmRib3hIZWFkZXIgc3RydWN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396019</attachid>
            <date>2020-04-09 15:05:58 -0700</date>
            <delta_ts>2020-04-13 16:34:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210304-20200409150557.patch</filename>
            <type>text/plain</type>
            <size>5609</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5ODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMyNTE5ZWY3YWQ3MDVmNzEx
MDZjZGU1YTc0ODQxY2VkNDc2YzMzODMuLjRmYzU5MjUwYWJkN2E3N2Q3YThhYzZiM2U2YzJkYjdh
ZmNmMGVmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDQtMDkgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbW9yZSBjaGVja2luZyBi
ZWZvcmUgcmV1c2luZyBwcmVjb21waWxlZCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxMTU1NjIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIHJlY2VudGx5IGRpc2NvdmVyZWQgdGhhdCB0aGUgc3lzdGVtIHNhbmRib3ggZnJhbWV3
b3JrIHZlcnNpb24gZG9lcyBub3QgYWx3YXlzIGNoYW5nZQorICAgICAgICB3aGVuIGJyZWFraW5n
IGNoYW5nZXMgaW4gdGhlIHNhbmRib3ggZm9ybWF0IGFyZSBtYWRlLiBUaGlzIGNhbiBsZWFkIHRv
IHRoZSBwcmVjb21waWxlZAorICAgICAgICB2ZXJzaW9uIG9mIGEgc2FuZGJveCBub3Qgd29ya2lu
ZyBwcm9wZXJseSB3aGVuIGEgc2FuZGJveCB2ZXJzaW9uIGNoYW5nZXMuCisKKyAgICAgICAgVG8g
Z3VhcmQgYWdhaW5zdCB0aGlzLCBtYWtlIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKKworICAgICAg
ICAxLiBDb21wYXJlIHRoZSBTQU5EQk9YX0JVSUxEX0lEIGluIHBsYWNlIHdoZW4gdGhlIHNhbmRi
b3ggd2FzIGNvbXBpbGVkIHRvIHRoZSB2YWx1ZSBvbgorICAgICAgICAgICB0aGUgY3VycmVudCBz
eXN0ZW0uIFNBTkRCT1hfQlVJTERfSUQsIHdoaWNoIGlzIGEgR1VJRCwgaXMgYWx3YXlzIHJlZ2Vu
ZXJhdGVkIHdoZW4gdGhlCisgICAgICAgICAgIHNhbmRib3ggZnJhbWV3b3JrIGlzIHJlYnVpbHQu
CisKKyAgICAgICAgMi4gQ29tcGFyZSB0aGUgT1MgdmVyc2lvbiBpbiBwbGFjZSB3aGVuIHRoZSBz
YW5kYm94IHdhcyBjb21waWxlZCB0byB0aGUgdmFsdWUgb24gdGhlIGN1cnJlbnQKKyAgICAgICAg
ICAgc3lzdGVtLiBUaGlzIHdpbGwgdHJpZ2dlciB1cyByZWNvbXBpbGluZyBzYW5kYm94ZXMgZXZl
biB3aGVuIHRoZSBzYW5kYm94IGZyYW1ld29yayBkaWQgbm90CisgICAgICAgICAgIGNoYW5nZSwg
YnV0IHRoaXMgaXMgYSBzbWFsbCBwZXJmb3JtYW5jZSBjb3N0IHRoYXQgd291bGQgb25seSBoYXBw
ZW4gYWZ0ZXIgYSBzb2Z0d2FyZSB1cGRhdGUuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F1eGls
aWFyeVByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OmNvbXBpbGVBbmRDYWNoZVNhbmRi
b3hQcm9maWxlKToKKyAgICAgICAgKFdlYktpdDo6dHJ5QXBwbHlDYWNoZWRTYW5kYm94KToKKwog
MjAyMC0wNC0wOSAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
U2V0IEVOVElUTEVNRU5UU19SRVFVSVJFRD1OTyBmb3Igc29tZSBYY29kZSBidWlsZCB0YXJnZXRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCmlu
ZGV4IDMxYzJkM2Q3MDY5YjhlMDg5ZjIzYjBhNDEyYmIxZjU0MDg2MzUyODguLjZkMDc0MDI1MmM4
MmFkZTM0NjUzNTA5YTM3NDI5ZmI3YTNiM2EzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjcsNiArNjcsOCBAQAogI2RlZmlu
ZSBVU0VfQ0FDSEVfQ09NUElMRURfU0FOREJPWCAwCiAjZW5kaWYKIAorZXh0ZXJuIGNvbnN0IGNo
YXIqIGNvbnN0IFNBTkRCT1hfQlVJTERfSUQ7IC8vIERlZmluZWQgYnkgdGhlIFNhbmRib3ggZnJh
bWV3b3JrCisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
QEAgLTg5LDEyICs5MSwxNyBAQCBzdHJ1Y3QgU2FuZGJveFBhcmFtZXRlcnNEZWxldGVyIHsKIH07
CiB1c2luZyBTYW5kYm94UGFyYW1ldGVyc1B0ciA9IHN0ZDo6dW5pcXVlX3B0cjxTYW5kYm94UGFy
YW1ldGVycywgU2FuZGJveFBhcmFtZXRlcnNEZWxldGVyPjsKIAorY29uc3RleHByIHVuc2lnbmVk
IGd1aWRMZW5ndGggPSAzNiArIDE7Citjb25zdGV4cHIgdW5zaWduZWQgdmVyc2lvbkxlbmd0aCA9
IDggKyAxOworCiBzdHJ1Y3QgQ2FjaGVkU2FuZGJveEhlYWRlciB7CiAgICAgdWludDMyX3QgdmVy
c2lvbk51bWJlcjsKICAgICB1aW50MzJfdCBsaWJzYW5kYm94VmVyc2lvbjsKICAgICB1aW50MzJf
dCBoZWFkZXJTaXplOwogICAgIHVpbnQzMl90IGJ1aWx0aW5TaXplOyAvLyBJZiBhIGJ1aWx0aW4g
ZG9lc24ndCBleGlzdCwgdGhpcyBpcyBVSU5UX01BWC4KICAgICB1aW50MzJfdCBkYXRhU2l6ZTsK
KyAgICBjaGFyIHNhbmRib3hCdWlsZElEW2d1aWRMZW5ndGhdOworICAgIGNoYXIgb3NWZXJzaW9u
W3ZlcnNpb25MZW5ndGhdOwogfTsKIC8vIFRoZSBmaWxlIGlzIGxheWVkIG91dCBvbiBkaXNrIGxp
a2U6CiAvLyBieXRlIDAKQEAgLTEyOSw3ICsxMzYsNyBAQCBzdHJ1Y3QgU2FuZGJveEluZm8gewog
ICAgIGNvbnN0IGJvb2wgaXNQcm9maWxlUGF0aDsKIH07CiAKLWNvbnN0ZXhwciB1aW50MzJfdCBD
YWNoZWRTYW5kYm94VmVyc2lvbk51bWJlciA9IDA7Citjb25zdGV4cHIgdWludDMyX3QgQ2FjaGVk
U2FuZGJveFZlcnNpb25OdW1iZXIgPSAxOwogI2VuZGlmIC8vIFVTRShDQUNIRV9DT01QSUxFRF9T
QU5EQk9YKQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGltZXJDb2FsZXNjaW5nUG9saWN5KCkK
QEAgLTQwMiw2ICs0MDksOCBAQCBzdGF0aWMgU2FuZGJveFByb2ZpbGVQdHIgY29tcGlsZUFuZENh
Y2hlU2FuZGJveFByb2ZpbGUoY29uc3QgU2FuZGJveEluZm8mIGluZm8pCiAgICAgY29uc3QgYm9v
bCBoYXZlQnVpbHRpbiA9IHNhbmRib3hQcm9maWxlLT5idWlsdGluOwogICAgIGludDMyX3QgbGli
c2FuZGJveFZlcnNpb24gPSBOU1ZlcnNpb25PZlJ1blRpbWVMaWJyYXJ5KCJzYW5kYm94Iik7CiAg
ICAgUkVMRUFTRV9BU1NFUlQobGlic2FuZGJveFZlcnNpb24gPiAwKTsKKyAgICBTdHJpbmcgb3NW
ZXJzaW9uID0gc3lzdGVtTWFya2V0aW5nVmVyc2lvbigpOworCiAgICAgQ2FjaGVkU2FuZGJveEhl
YWRlciBjYWNoZWRIZWFkZXIgewogICAgICAgICBDYWNoZWRTYW5kYm94VmVyc2lvbk51bWJlciwK
ICAgICAgICAgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGxpYnNhbmRib3hWZXJzaW9uKSwKQEAgLTQw
OSw2ICs0MTgsMTIgQEAgc3RhdGljIFNhbmRib3hQcm9maWxlUHRyIGNvbXBpbGVBbmRDYWNoZVNh
bmRib3hQcm9maWxlKGNvbnN0IFNhbmRib3hJbmZvJiBpbmZvKQogICAgICAgICBoYXZlQnVpbHRp
biA/IHNhZmVDYXN0PHVpbnQzMl90PihzdHJsZW4oc2FuZGJveFByb2ZpbGUtPmJ1aWx0aW4pKSA6
IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSwKICAgICAgICAgc2FmZUNhc3Q8
dWludDMyX3Q+KHNhbmRib3hQcm9maWxlLT5zaXplKQogICAgIH07CisKKyAgICBzdGQ6OnN0cm5j
cHkoY2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElELCBTQU5EQk9YX0JVSUxEX0lELCBzaXplb2Yo
Y2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElEKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIWNhY2hl
ZEhlYWRlci5zYW5kYm94QnVpbGRJRFtndWlkTGVuZ3RoIC0gMV0pOworICAgIHN0ZDo6c3RybmNw
eShjYWNoZWRIZWFkZXIub3NWZXJzaW9uLCBvc1ZlcnNpb24udXRmOCgpLmRhdGEoKSwgdmVyc2lv
bkxlbmd0aCk7CisgICAgUkVMRUFTRV9BU1NFUlQoIWNhY2hlZEhlYWRlci5vc1ZlcnNpb25bdmVy
c2lvbkxlbmd0aCAtIDFdKTsKKwogICAgIGNvbnN0IHNpemVfdCBleHBlY3RlZEZpbGVTaXplID0g
c2l6ZW9mKGNhY2hlZEhlYWRlcikgKyBjYWNoZWRIZWFkZXIuaGVhZGVyU2l6ZSArIChoYXZlQnVp
bHRpbiA/IGNhY2hlZEhlYWRlci5idWlsdGluU2l6ZSA6IDApICsgY2FjaGVkSGVhZGVyLmRhdGFT
aXplOwogCiAgICAgVmVjdG9yPGNoYXI+IGNhY2hlRmlsZTsKQEAgLTQ0NywxMCArNDYyLDE3IEBA
IHN0YXRpYyBib29sIHRyeUFwcGx5Q2FjaGVkU2FuZGJveChjb25zdCBTYW5kYm94SW5mbyYgaW5m
bykKICAgICBtZW1jcHkoJmNhY2hlZFNhbmRib3hIZWFkZXIsIGNhY2hlZFNhbmRib3hDb250ZW50
cy5kYXRhKCksIHNpemVvZihDYWNoZWRTYW5kYm94SGVhZGVyKSk7CiAgICAgaW50MzJfdCBsaWJz
YW5kYm94VmVyc2lvbiA9IE5TVmVyc2lvbk9mUnVuVGltZUxpYnJhcnkoInNhbmRib3giKTsKICAg
ICBSRUxFQVNFX0FTU0VSVChsaWJzYW5kYm94VmVyc2lvbiA+IDApOworICAgIFN0cmluZyBvc1Zl
cnNpb24gPSBzeXN0ZW1NYXJrZXRpbmdWZXJzaW9uKCk7CisKICAgICBpZiAoc3RhdGljX2Nhc3Q8
dWludDMyX3Q+KGxpYnNhbmRib3hWZXJzaW9uKSAhPSBjYWNoZWRTYW5kYm94SGVhZGVyLmxpYnNh
bmRib3hWZXJzaW9uKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGNhY2hlZFNhbmRi
b3hIZWFkZXIudmVyc2lvbk51bWJlciAhPSBDYWNoZWRTYW5kYm94VmVyc2lvbk51bWJlcikKICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChzdGQ6OnN0cm5jbXAoY2FjaGVkU2FuZGJveEhl
YWRlci5zYW5kYm94QnVpbGRJRCwgU0FOREJPWF9CVUlMRF9JRCwgc2l6ZW9mKGNhY2hlZFNhbmRi
b3hIZWFkZXIuc2FuZGJveEJ1aWxkSUQpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlm
IChzdGQ6OnN0cm5jbXAoY2FjaGVkU2FuZGJveEhlYWRlci5vc1ZlcnNpb24sIG9zVmVyc2lvbi51
dGY4KCkuZGF0YSgpLCBzaXplb2YoY2FjaGVkU2FuZGJveEhlYWRlci5vc1ZlcnNpb24pKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgY29uc3QgYm9vbCBoYXZlQnVpbHRpbiA9IGNhY2hl
ZFNhbmRib3hIZWFkZXIuYnVpbHRpblNpemUgIT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJf
dD46Om1heCgpOwogCiAgICAgLy8gVGhlc2UgdmFsdWVzIGFyZSBjb21wdXRlZCBiYXNlZCBvbiB0
aGUgZGlzayBsYXlvdXQgc3BlY2lmaWVkIGJlbG93IHRoZSBkZWZpbml0aW9uIG9mIHRoZSBDYWNo
ZWRTYW5kYm94SGVhZGVyIHN0cnVjdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396356</attachid>
            <date>2020-04-13 16:34:48 -0700</date>
            <delta_ts>2020-04-14 12:13:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210304-20200413163448.patch</filename>
            <type>text/plain</type>
            <size>5723</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3NDcxYjA4YmE5NmMzNjU4
Mjk2YjNhNzNlOWRiNjc2N2U3ZTVhNmUuLjFiYzhlNzY2MjM4NDIzYTYzNzc3ZmVkMmI1MmJiZDc3
NzUwZWEwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDQtMTMgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbW9yZSBjaGVja2luZyBi
ZWZvcmUgcmV1c2luZyBwcmVjb21waWxlZCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxMTU1NjIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIHJlY2VudGx5IGRpc2NvdmVyZWQgdGhhdCB0aGUgc3lzdGVtIHNhbmRib3ggZnJhbWV3
b3JrIHZlcnNpb24gZG9lcyBub3QgYWx3YXlzIGNoYW5nZQorICAgICAgICB3aGVuIGJyZWFraW5n
IGNoYW5nZXMgaW4gdGhlIHNhbmRib3ggZm9ybWF0IGFyZSBtYWRlLiBUaGlzIGNhbiBsZWFkIHRv
IHRoZSBwcmVjb21waWxlZAorICAgICAgICB2ZXJzaW9uIG9mIGEgc2FuZGJveCBub3Qgd29ya2lu
ZyBwcm9wZXJseSB3aGVuIGEgc2FuZGJveCB2ZXJzaW9uIGNoYW5nZXMuCisKKyAgICAgICAgVG8g
Z3VhcmQgYWdhaW5zdCB0aGlzLCBtYWtlIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKKworICAgICAg
ICAxLiBDb21wYXJlIHRoZSBTQU5EQk9YX0JVSUxEX0lEIGluIHBsYWNlIHdoZW4gdGhlIHNhbmRi
b3ggd2FzIGNvbXBpbGVkIHRvIHRoZSB2YWx1ZSBvbgorICAgICAgICAgICB0aGUgY3VycmVudCBz
eXN0ZW0uIFNBTkRCT1hfQlVJTERfSUQsIHdoaWNoIGlzIGEgR1VJRCwgaXMgYWx3YXlzIHJlZ2Vu
ZXJhdGVkIHdoZW4gdGhlCisgICAgICAgICAgIHNhbmRib3ggZnJhbWV3b3JrIGlzIHJlYnVpbHQu
CisKKyAgICAgICAgMi4gQ29tcGFyZSB0aGUgT1MgdmVyc2lvbiBpbiBwbGFjZSB3aGVuIHRoZSBz
YW5kYm94IHdhcyBjb21waWxlZCB0byB0aGUgdmFsdWUgb24gdGhlIGN1cnJlbnQKKyAgICAgICAg
ICAgc3lzdGVtLiBUaGlzIHdpbGwgdHJpZ2dlciB1cyByZWNvbXBpbGluZyBzYW5kYm94ZXMgZXZl
biB3aGVuIHRoZSBzYW5kYm94IGZyYW1ld29yayBkaWQgbm90CisgICAgICAgICAgIGNoYW5nZSwg
YnV0IHRoaXMgaXMgYSBzbWFsbCBwZXJmb3JtYW5jZSBjb3N0IHRoYXQgd291bGQgb25seSBoYXBw
ZW4gYWZ0ZXIgYSBzb2Z0d2FyZSB1cGRhdGUuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F1eGls
aWFyeVByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OmNvbXBpbGVBbmRDYWNoZVNhbmRi
b3hQcm9maWxlKToKKyAgICAgICAgKFdlYktpdDo6dHJ5QXBwbHlDYWNoZWRTYW5kYm94KToKKwog
MjAyMC0wNC0xMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPU10gVXBkYXRlIG1lc3NhZ2UgZmlsdGVycyBpbiB0aGUgV2ViQ29udGVudCBzYW5kYm94
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCmlu
ZGV4IDMxYzJkM2Q3MDY5YjhlMDg5ZjIzYjBhNDEyYmIxZjU0MDg2MzUyODguLmRkMzhlNDRjMjJl
NjM4Y2JiMTE5Mjk5YTY4NjZmODI5Njk0Zjc2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjcsNiArNjcsOCBAQAogI2RlZmlu
ZSBVU0VfQ0FDSEVfQ09NUElMRURfU0FOREJPWCAwCiAjZW5kaWYKIAorZXh0ZXJuIGNvbnN0IGNo
YXIqIGNvbnN0IFNBTkRCT1hfQlVJTERfSUQ7IC8vIERlZmluZWQgYnkgdGhlIFNhbmRib3ggZnJh
bWV3b3JrCisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
QEAgLTg5LDEyICs5MSwxNyBAQCBzdHJ1Y3QgU2FuZGJveFBhcmFtZXRlcnNEZWxldGVyIHsKIH07
CiB1c2luZyBTYW5kYm94UGFyYW1ldGVyc1B0ciA9IHN0ZDo6dW5pcXVlX3B0cjxTYW5kYm94UGFy
YW1ldGVycywgU2FuZGJveFBhcmFtZXRlcnNEZWxldGVyPjsKIAorY29uc3RleHByIHVuc2lnbmVk
IGd1aWRTaXplID0gMzYgKyAxOworY29uc3RleHByIHVuc2lnbmVkIHZlcnNpb25TaXplID0gMzEg
KyAxOworCiBzdHJ1Y3QgQ2FjaGVkU2FuZGJveEhlYWRlciB7CiAgICAgdWludDMyX3QgdmVyc2lv
bk51bWJlcjsKICAgICB1aW50MzJfdCBsaWJzYW5kYm94VmVyc2lvbjsKICAgICB1aW50MzJfdCBo
ZWFkZXJTaXplOwogICAgIHVpbnQzMl90IGJ1aWx0aW5TaXplOyAvLyBJZiBhIGJ1aWx0aW4gZG9l
c24ndCBleGlzdCwgdGhpcyBpcyBVSU5UX01BWC4KICAgICB1aW50MzJfdCBkYXRhU2l6ZTsKKyAg
ICBjaGFyIHNhbmRib3hCdWlsZElEW2d1aWRTaXplXTsKKyAgICBjaGFyIG9zVmVyc2lvblt2ZXJz
aW9uU2l6ZV07CiB9OwogLy8gVGhlIGZpbGUgaXMgbGF5ZWQgb3V0IG9uIGRpc2sgbGlrZToKIC8v
IGJ5dGUgMApAQCAtMTI5LDcgKzEzNiw3IEBAIHN0cnVjdCBTYW5kYm94SW5mbyB7CiAgICAgY29u
c3QgYm9vbCBpc1Byb2ZpbGVQYXRoOwogfTsKIAotY29uc3RleHByIHVpbnQzMl90IENhY2hlZFNh
bmRib3hWZXJzaW9uTnVtYmVyID0gMDsKK2NvbnN0ZXhwciB1aW50MzJfdCBDYWNoZWRTYW5kYm94
VmVyc2lvbk51bWJlciA9IDE7CiAjZW5kaWYgLy8gVVNFKENBQ0hFX0NPTVBJTEVEX1NBTkRCT1gp
CiAKIHN0YXRpYyB2b2lkIGluaXRpYWxpemVUaW1lckNvYWxlc2NpbmdQb2xpY3koKQpAQCAtNDAy
LDEzICs0MDksMjMgQEAgc3RhdGljIFNhbmRib3hQcm9maWxlUHRyIGNvbXBpbGVBbmRDYWNoZVNh
bmRib3hQcm9maWxlKGNvbnN0IFNhbmRib3hJbmZvJiBpbmZvKQogICAgIGNvbnN0IGJvb2wgaGF2
ZUJ1aWx0aW4gPSBzYW5kYm94UHJvZmlsZS0+YnVpbHRpbjsKICAgICBpbnQzMl90IGxpYnNhbmRi
b3hWZXJzaW9uID0gTlNWZXJzaW9uT2ZSdW5UaW1lTGlicmFyeSgic2FuZGJveCIpOwogICAgIFJF
TEVBU0VfQVNTRVJUKGxpYnNhbmRib3hWZXJzaW9uID4gMCk7CisgICAgU3RyaW5nIG9zVmVyc2lv
biA9IHN5c3RlbU1hcmtldGluZ1ZlcnNpb24oKTsKKwogICAgIENhY2hlZFNhbmRib3hIZWFkZXIg
Y2FjaGVkSGVhZGVyIHsKICAgICAgICAgQ2FjaGVkU2FuZGJveFZlcnNpb25OdW1iZXIsCiAgICAg
ICAgIHN0YXRpY19jYXN0PHVpbnQzMl90PihsaWJzYW5kYm94VmVyc2lvbiksCiAgICAgICAgIHNh
ZmVDYXN0PHVpbnQzMl90PihpbmZvLmhlYWRlci5sZW5ndGgoKSksCiAgICAgICAgIGhhdmVCdWls
dGluID8gc2FmZUNhc3Q8dWludDMyX3Q+KHN0cmxlbihzYW5kYm94UHJvZmlsZS0+YnVpbHRpbikp
IDogc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpLAotICAgICAgICBzYWZlQ2Fz
dDx1aW50MzJfdD4oc2FuZGJveFByb2ZpbGUtPnNpemUpCisgICAgICAgIHNhZmVDYXN0PHVpbnQz
Ml90PihzYW5kYm94UHJvZmlsZS0+c2l6ZSksCisgICAgICAgIHsgMCB9LAorICAgICAgICB7IDAg
fQogICAgIH07CisKKyAgICBzdGQ6OnN0cm5jcHkoY2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElE
LCBTQU5EQk9YX0JVSUxEX0lELCBzaXplb2YoY2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElEKSk7
CisgICAgUkVMRUFTRV9BU1NFUlQoIWNhY2hlZEhlYWRlci5zYW5kYm94QnVpbGRJRFtndWlkU2l6
ZSAtIDFdKTsKKyAgICBzdGQ6OnN0cm5jcHkoY2FjaGVkSGVhZGVyLm9zVmVyc2lvbiwgb3NWZXJz
aW9uLnV0ZjgoKS5kYXRhKCksIHNpemVvZihjYWNoZWRIZWFkZXIub3NWZXJzaW9uKSk7CisgICAg
UkVMRUFTRV9BU1NFUlQoIWNhY2hlZEhlYWRlci5vc1ZlcnNpb25bdmVyc2lvblNpemUgLSAxXSk7
CisKICAgICBjb25zdCBzaXplX3QgZXhwZWN0ZWRGaWxlU2l6ZSA9IHNpemVvZihjYWNoZWRIZWFk
ZXIpICsgY2FjaGVkSGVhZGVyLmhlYWRlclNpemUgKyAoaGF2ZUJ1aWx0aW4gPyBjYWNoZWRIZWFk
ZXIuYnVpbHRpblNpemUgOiAwKSArIGNhY2hlZEhlYWRlci5kYXRhU2l6ZTsKIAogICAgIFZlY3Rv
cjxjaGFyPiBjYWNoZUZpbGU7CkBAIC00NDcsMTAgKzQ2NCwxNyBAQCBzdGF0aWMgYm9vbCB0cnlB
cHBseUNhY2hlZFNhbmRib3goY29uc3QgU2FuZGJveEluZm8mIGluZm8pCiAgICAgbWVtY3B5KCZj
YWNoZWRTYW5kYm94SGVhZGVyLCBjYWNoZWRTYW5kYm94Q29udGVudHMuZGF0YSgpLCBzaXplb2Yo
Q2FjaGVkU2FuZGJveEhlYWRlcikpOwogICAgIGludDMyX3QgbGlic2FuZGJveFZlcnNpb24gPSBO
U1ZlcnNpb25PZlJ1blRpbWVMaWJyYXJ5KCJzYW5kYm94Iik7CiAgICAgUkVMRUFTRV9BU1NFUlQo
bGlic2FuZGJveFZlcnNpb24gPiAwKTsKKyAgICBTdHJpbmcgb3NWZXJzaW9uID0gc3lzdGVtTWFy
a2V0aW5nVmVyc2lvbigpOworCisgICAgaWYgKGNhY2hlZFNhbmRib3hIZWFkZXIudmVyc2lvbk51
bWJlciAhPSBDYWNoZWRTYW5kYm94VmVyc2lvbk51bWJlcikKKyAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmIChzdGF0aWNfY2FzdDx1aW50MzJfdD4obGlic2FuZGJveFZlcnNpb24pICE9IGNh
Y2hlZFNhbmRib3hIZWFkZXIubGlic2FuZGJveFZlcnNpb24pCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICBpZiAoY2FjaGVkU2FuZGJveEhlYWRlci52ZXJzaW9uTnVtYmVyICE9IENhY2hlZFNh
bmRib3hWZXJzaW9uTnVtYmVyKQorICAgIGlmIChzdGQ6OnN0cm5jbXAoY2FjaGVkU2FuZGJveEhl
YWRlci5zYW5kYm94QnVpbGRJRCwgU0FOREJPWF9CVUlMRF9JRCwgc2l6ZW9mKGNhY2hlZFNhbmRi
b3hIZWFkZXIuc2FuZGJveEJ1aWxkSUQpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlm
IChzdGQ6OnN0cm5jbXAoY2FjaGVkU2FuZGJveEhlYWRlci5vc1ZlcnNpb24sIG9zVmVyc2lvbi51
dGY4KCkuZGF0YSgpLCBzaXplb2YoY2FjaGVkU2FuZGJveEhlYWRlci5vc1ZlcnNpb24pKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgY29uc3QgYm9vbCBoYXZlQnVpbHRpbiA9IGNhY2hl
ZFNhbmRib3hIZWFkZXIuYnVpbHRpblNpemUgIT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJf
dD46Om1heCgpOwogCiAgICAgLy8gVGhlc2UgdmFsdWVzIGFyZSBjb21wdXRlZCBiYXNlZCBvbiB0
aGUgZGlzayBsYXlvdXQgc3BlY2lmaWVkIGJlbG93IHRoZSBkZWZpbml0aW9uIG9mIHRoZSBDYWNo
ZWRTYW5kYm94SGVhZGVyIHN0cnVjdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396448</attachid>
            <date>2020-04-14 12:13:31 -0700</date>
            <delta_ts>2020-04-14 13:09:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210304-20200414121330.patch</filename>
            <type>text/plain</type>
            <size>5759</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFkMTNhOWQ0ZWRmMDg2Mjhk
NTkwNzUxYjIzM2ZmMzhiODMyMmJjZTQuLjExYzkxNjhkZTA4NDRiMWM1YjJkNDlhNGE5ZmM2OTJj
YmRkMGJjMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDQtMTQgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbW9yZSBjaGVja2luZyBi
ZWZvcmUgcmV1c2luZyBwcmVjb21waWxlZCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxMTU1NjIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIHJlY2VudGx5IGRpc2NvdmVyZWQgdGhhdCB0aGUgc3lzdGVtIHNhbmRib3ggZnJhbWV3
b3JrIHZlcnNpb24gZG9lcyBub3QgYWx3YXlzIGNoYW5nZQorICAgICAgICB3aGVuIGJyZWFraW5n
IGNoYW5nZXMgaW4gdGhlIHNhbmRib3ggZm9ybWF0IGFyZSBtYWRlLiBUaGlzIGNhbiBsZWFkIHRv
IHRoZSBwcmVjb21waWxlZAorICAgICAgICB2ZXJzaW9uIG9mIGEgc2FuZGJveCBub3Qgd29ya2lu
ZyBwcm9wZXJseSB3aGVuIGEgc2FuZGJveCB2ZXJzaW9uIGNoYW5nZXMuCisKKyAgICAgICAgVG8g
Z3VhcmQgYWdhaW5zdCB0aGlzLCBtYWtlIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKKworICAgICAg
ICAxLiBDb21wYXJlIHRoZSBTQU5EQk9YX0JVSUxEX0lEIGluIHBsYWNlIHdoZW4gdGhlIHNhbmRi
b3ggd2FzIGNvbXBpbGVkIHRvIHRoZSB2YWx1ZSBvbgorICAgICAgICAgICB0aGUgY3VycmVudCBz
eXN0ZW0uIFNBTkRCT1hfQlVJTERfSUQsIHdoaWNoIGlzIGEgR1VJRCwgaXMgYWx3YXlzIHJlZ2Vu
ZXJhdGVkIHdoZW4gdGhlCisgICAgICAgICAgIHNhbmRib3ggZnJhbWV3b3JrIGlzIHJlYnVpbHQu
CisKKyAgICAgICAgMi4gQ29tcGFyZSB0aGUgT1MgdmVyc2lvbiBpbiBwbGFjZSB3aGVuIHRoZSBz
YW5kYm94IHdhcyBjb21waWxlZCB0byB0aGUgdmFsdWUgb24gdGhlIGN1cnJlbnQKKyAgICAgICAg
ICAgc3lzdGVtLiBUaGlzIHdpbGwgdHJpZ2dlciB1cyByZWNvbXBpbGluZyBzYW5kYm94ZXMgZXZl
biB3aGVuIHRoZSBzYW5kYm94IGZyYW1ld29yayBkaWQgbm90CisgICAgICAgICAgIGNoYW5nZSwg
YnV0IHRoaXMgaXMgYSBzbWFsbCBwZXJmb3JtYW5jZSBjb3N0IHRoYXQgd291bGQgb25seSBoYXBw
ZW4gYWZ0ZXIgYSBzb2Z0d2FyZSB1cGRhdGUuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F1eGls
aWFyeVByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OmNvbXBpbGVBbmRDYWNoZVNhbmRi
b3hQcm9maWxlKToKKyAgICAgICAgKFdlYktpdDo6dHJ5QXBwbHlDYWNoZWRTYW5kYm94KToKKwog
MjAyMC0wNC0xNCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBJbmplY3RlZEJ1bmRsZSBwYXJhbWV0ZXJzIG9mdGVuIG5lZWQgaW5pdGlhbGl6YXRpb24gZnVu
Y3Rpb24gY2FsbGVkIGJlZm9yZSB1bmFyY2hpdmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQppbmRleCAzMWMyZDNkNzA2OWI4ZTA4OWYyM2Iw
YTQxMmJiMWY1NDA4NjM1Mjg4Li5jZGNjZjYzMWQ3MGFkZmVlMWEwMDQ1ZDQyZjkwOWEwNzVmYzlh
MGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vz
c01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01h
Yy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTY3LDYgKzY3LDggQEAKICNkZWZpbmUgVVNFX0NBQ0hFX0NPTVBJTEVEX1NBTkRC
T1ggMAogI2VuZGlmCiAKK2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBTQU5EQk9YX0JVSUxEX0lE
OyAvLyBEZWZpbmVkIGJ5IHRoZSBTYW5kYm94IGZyYW1ld29yaworCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC04OSwxMiArOTEsMTcgQEAgc3RydWN0
IFNhbmRib3hQYXJhbWV0ZXJzRGVsZXRlciB7CiB9OwogdXNpbmcgU2FuZGJveFBhcmFtZXRlcnNQ
dHIgPSBzdGQ6OnVuaXF1ZV9wdHI8U2FuZGJveFBhcmFtZXRlcnMsIFNhbmRib3hQYXJhbWV0ZXJz
RGVsZXRlcj47CiAKK2NvbnN0ZXhwciB1bnNpZ25lZCBndWlkU2l6ZSA9IDM2ICsgMTsKK2NvbnN0
ZXhwciB1bnNpZ25lZCB2ZXJzaW9uU2l6ZSA9IDMxICsgMTsKKwogc3RydWN0IENhY2hlZFNhbmRi
b3hIZWFkZXIgewogICAgIHVpbnQzMl90IHZlcnNpb25OdW1iZXI7CiAgICAgdWludDMyX3QgbGli
c2FuZGJveFZlcnNpb247CiAgICAgdWludDMyX3QgaGVhZGVyU2l6ZTsKICAgICB1aW50MzJfdCBi
dWlsdGluU2l6ZTsgLy8gSWYgYSBidWlsdGluIGRvZXNuJ3QgZXhpc3QsIHRoaXMgaXMgVUlOVF9N
QVguCiAgICAgdWludDMyX3QgZGF0YVNpemU7CisgICAgY2hhciBzYW5kYm94QnVpbGRJRFtndWlk
U2l6ZV07CisgICAgY2hhciBvc1ZlcnNpb25bdmVyc2lvblNpemVdOwogfTsKIC8vIFRoZSBmaWxl
IGlzIGxheWVkIG91dCBvbiBkaXNrIGxpa2U6CiAvLyBieXRlIDAKQEAgLTEyOSw3ICsxMzYsNyBA
QCBzdHJ1Y3QgU2FuZGJveEluZm8gewogICAgIGNvbnN0IGJvb2wgaXNQcm9maWxlUGF0aDsKIH07
CiAKLWNvbnN0ZXhwciB1aW50MzJfdCBDYWNoZWRTYW5kYm94VmVyc2lvbk51bWJlciA9IDA7Citj
b25zdGV4cHIgdWludDMyX3QgQ2FjaGVkU2FuZGJveFZlcnNpb25OdW1iZXIgPSAxOwogI2VuZGlm
IC8vIFVTRShDQUNIRV9DT01QSUxFRF9TQU5EQk9YKQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXpl
VGltZXJDb2FsZXNjaW5nUG9saWN5KCkKQEAgLTQwMiwxMyArNDA5LDI1IEBAIHN0YXRpYyBTYW5k
Ym94UHJvZmlsZVB0ciBjb21waWxlQW5kQ2FjaGVTYW5kYm94UHJvZmlsZShjb25zdCBTYW5kYm94
SW5mbyYgaW5mbykKICAgICBjb25zdCBib29sIGhhdmVCdWlsdGluID0gc2FuZGJveFByb2ZpbGUt
PmJ1aWx0aW47CiAgICAgaW50MzJfdCBsaWJzYW5kYm94VmVyc2lvbiA9IE5TVmVyc2lvbk9mUnVu
VGltZUxpYnJhcnkoInNhbmRib3giKTsKICAgICBSRUxFQVNFX0FTU0VSVChsaWJzYW5kYm94VmVy
c2lvbiA+IDApOworICAgIFN0cmluZyBvc1ZlcnNpb24gPSBzeXN0ZW1NYXJrZXRpbmdWZXJzaW9u
KCk7CisKICAgICBDYWNoZWRTYW5kYm94SGVhZGVyIGNhY2hlZEhlYWRlciB7CiAgICAgICAgIENh
Y2hlZFNhbmRib3hWZXJzaW9uTnVtYmVyLAogICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
bGlic2FuZGJveFZlcnNpb24pLAogICAgICAgICBzYWZlQ2FzdDx1aW50MzJfdD4oaW5mby5oZWFk
ZXIubGVuZ3RoKCkpLAogICAgICAgICBoYXZlQnVpbHRpbiA/IHNhZmVDYXN0PHVpbnQzMl90Pihz
dHJsZW4oc2FuZGJveFByb2ZpbGUtPmJ1aWx0aW4pKSA6IHN0ZDo6bnVtZXJpY19saW1pdHM8dWlu
dDMyX3Q+OjptYXgoKSwKLSAgICAgICAgc2FmZUNhc3Q8dWludDMyX3Q+KHNhbmRib3hQcm9maWxl
LT5zaXplKQorICAgICAgICBzYWZlQ2FzdDx1aW50MzJfdD4oc2FuZGJveFByb2ZpbGUtPnNpemUp
LAorICAgICAgICB7IDAgfSwKKyAgICAgICAgeyAwIH0KICAgICB9OworCisgICAgc2l6ZV90IGNv
cGllZCA9IHN0cmxjcHkoY2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElELCBTQU5EQk9YX0JVSUxE
X0lELCBzaXplb2YoY2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElEKSk7CisgICAgQVNTRVJUKGNv
cGllZCA9IGd1aWRTaXplIC0gMSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIWNhY2hlZEhlYWRlci5z
YW5kYm94QnVpbGRJRFtndWlkU2l6ZSAtIDFdKTsKKyAgICBjb3BpZWQgPSBzdHJsY3B5KGNhY2hl
ZEhlYWRlci5vc1ZlcnNpb24sIG9zVmVyc2lvbi51dGY4KCkuZGF0YSgpLCBzaXplb2YoY2FjaGVk
SGVhZGVyLm9zVmVyc2lvbikpOworICAgIFJFTEVBU0VfQVNTRVJUKCFjYWNoZWRIZWFkZXIub3NW
ZXJzaW9uW3ZlcnNpb25TaXplIC0gMV0pOworICAgIEFTU0VSVChjb3BpZWQgPCB2ZXJzaW9uU2l6
ZSAtIDEpOworCiAgICAgY29uc3Qgc2l6ZV90IGV4cGVjdGVkRmlsZVNpemUgPSBzaXplb2YoY2Fj
aGVkSGVhZGVyKSArIGNhY2hlZEhlYWRlci5oZWFkZXJTaXplICsgKGhhdmVCdWlsdGluID8gY2Fj
aGVkSGVhZGVyLmJ1aWx0aW5TaXplIDogMCkgKyBjYWNoZWRIZWFkZXIuZGF0YVNpemU7CiAKICAg
ICBWZWN0b3I8Y2hhcj4gY2FjaGVGaWxlOwpAQCAtNDQ3LDEwICs0NjYsMTcgQEAgc3RhdGljIGJv
b2wgdHJ5QXBwbHlDYWNoZWRTYW5kYm94KGNvbnN0IFNhbmRib3hJbmZvJiBpbmZvKQogICAgIG1l
bWNweSgmY2FjaGVkU2FuZGJveEhlYWRlciwgY2FjaGVkU2FuZGJveENvbnRlbnRzLmRhdGEoKSwg
c2l6ZW9mKENhY2hlZFNhbmRib3hIZWFkZXIpKTsKICAgICBpbnQzMl90IGxpYnNhbmRib3hWZXJz
aW9uID0gTlNWZXJzaW9uT2ZSdW5UaW1lTGlicmFyeSgic2FuZGJveCIpOwogICAgIFJFTEVBU0Vf
QVNTRVJUKGxpYnNhbmRib3hWZXJzaW9uID4gMCk7CisgICAgU3RyaW5nIG9zVmVyc2lvbiA9IHN5
c3RlbU1hcmtldGluZ1ZlcnNpb24oKTsKKworICAgIGlmIChjYWNoZWRTYW5kYm94SGVhZGVyLnZl
cnNpb25OdW1iZXIgIT0gQ2FjaGVkU2FuZGJveFZlcnNpb25OdW1iZXIpCisgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICBpZiAoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGxpYnNhbmRib3hWZXJzaW9u
KSAhPSBjYWNoZWRTYW5kYm94SGVhZGVyLmxpYnNhbmRib3hWZXJzaW9uKQogICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgaWYgKGNhY2hlZFNhbmRib3hIZWFkZXIudmVyc2lvbk51bWJlciAhPSBD
YWNoZWRTYW5kYm94VmVyc2lvbk51bWJlcikKKyAgICBpZiAoc3RkOjpzdHJjbXAoY2FjaGVkU2Fu
ZGJveEhlYWRlci5zYW5kYm94QnVpbGRJRCwgU0FOREJPWF9CVUlMRF9JRCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAoc3RkOjpzdHJjbXAoY2FjaGVkU2FuZGJveEhlYWRlci5vc1Zl
cnNpb24sIG9zVmVyc2lvbi51dGY4KCkuZGF0YSgpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CiAgICAgY29uc3QgYm9vbCBoYXZlQnVpbHRpbiA9IGNhY2hlZFNhbmRib3hIZWFkZXIuYnVpbHRp
blNpemUgIT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpOwogCiAgICAgLy8g
VGhlc2UgdmFsdWVzIGFyZSBjb21wdXRlZCBiYXNlZCBvbiB0aGUgZGlzayBsYXlvdXQgc3BlY2lm
aWVkIGJlbG93IHRoZSBkZWZpbml0aW9uIG9mIHRoZSBDYWNoZWRTYW5kYm94SGVhZGVyIHN0cnVj
dAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396453</attachid>
            <date>2020-04-14 13:09:53 -0700</date>
            <delta_ts>2020-04-14 14:08:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210304-20200414130953.patch</filename>
            <type>text/plain</type>
            <size>5751</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGViMTMyMWY2OTAwNzdjNDM5
YjRmNTAxNGU4MWUwNDJjZWFmNTE4NTUuLjQ4NzgyODJkZDU2ODI1YWI3MDdjYzZjNDkyYmJlNTM3
ZmJhZmQwNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDQtMTQgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbW9yZSBjaGVja2luZyBi
ZWZvcmUgcmV1c2luZyBwcmVjb21waWxlZCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxMTU1NjIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIHJlY2VudGx5IGRpc2NvdmVyZWQgdGhhdCB0aGUgc3lzdGVtIHNhbmRib3ggZnJhbWV3
b3JrIHZlcnNpb24gZG9lcyBub3QgYWx3YXlzIGNoYW5nZQorICAgICAgICB3aGVuIGJyZWFraW5n
IGNoYW5nZXMgaW4gdGhlIHNhbmRib3ggZm9ybWF0IGFyZSBtYWRlLiBUaGlzIGNhbiBsZWFkIHRv
IHRoZSBwcmVjb21waWxlZAorICAgICAgICB2ZXJzaW9uIG9mIGEgc2FuZGJveCBub3Qgd29ya2lu
ZyBwcm9wZXJseSB3aGVuIGEgc2FuZGJveCB2ZXJzaW9uIGNoYW5nZXMuCisKKyAgICAgICAgVG8g
Z3VhcmQgYWdhaW5zdCB0aGlzLCBtYWtlIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKKworICAgICAg
ICAxLiBDb21wYXJlIHRoZSBTQU5EQk9YX0JVSUxEX0lEIGluIHBsYWNlIHdoZW4gdGhlIHNhbmRi
b3ggd2FzIGNvbXBpbGVkIHRvIHRoZSB2YWx1ZSBvbgorICAgICAgICAgICB0aGUgY3VycmVudCBz
eXN0ZW0uIFNBTkRCT1hfQlVJTERfSUQsIHdoaWNoIGlzIGEgR1VJRCwgaXMgYWx3YXlzIHJlZ2Vu
ZXJhdGVkIHdoZW4gdGhlCisgICAgICAgICAgIHNhbmRib3ggZnJhbWV3b3JrIGlzIHJlYnVpbHQu
CisKKyAgICAgICAgMi4gQ29tcGFyZSB0aGUgT1MgdmVyc2lvbiBpbiBwbGFjZSB3aGVuIHRoZSBz
YW5kYm94IHdhcyBjb21waWxlZCB0byB0aGUgdmFsdWUgb24gdGhlIGN1cnJlbnQKKyAgICAgICAg
ICAgc3lzdGVtLiBUaGlzIHdpbGwgdHJpZ2dlciB1cyByZWNvbXBpbGluZyBzYW5kYm94ZXMgZXZl
biB3aGVuIHRoZSBzYW5kYm94IGZyYW1ld29yayBkaWQgbm90CisgICAgICAgICAgIGNoYW5nZSwg
YnV0IHRoaXMgaXMgYSBzbWFsbCBwZXJmb3JtYW5jZSBjb3N0IHRoYXQgd291bGQgb25seSBoYXBw
ZW4gYWZ0ZXIgYSBzb2Z0d2FyZSB1cGRhdGUuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F1eGls
aWFyeVByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OmNvbXBpbGVBbmRDYWNoZVNhbmRi
b3hQcm9maWxlKToKKyAgICAgICAgKFdlYktpdDo6dHJ5QXBwbHlDYWNoZWRTYW5kYm94KToKKwog
MjAyMC0wNC0xNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbaVBhZE9TXSBXaWtpcGVkaWEgYXJ0aWNsZXMgbGF5IG91dCBpbmNvcnJlY3RseSBpbiAx
LzMgbXVsdGl0YXNraW5nIHdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4
aWxpYXJ5UHJvY2Vzc01hYy5tbQppbmRleCAzMWMyZDNkNzA2OWI4ZTA4OWYyM2IwYTQxMmJiMWY1
NDA4NjM1Mjg4Li5jNDgyNjhmNWExYmEzMDBjMzE0MWY5MjFmZGQ2NDZjNWE4YWVlNTIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQpAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTY3LDYgKzY3LDggQEAKICNkZWZpbmUgVVNFX0NBQ0hFX0NPTVBJTEVEX1NBTkRCT1ggMAogI2Vu
ZGlmCiAKK2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBTQU5EQk9YX0JVSUxEX0lEOyAvLyBEZWZp
bmVkIGJ5IHRoZSBTYW5kYm94IGZyYW1ld29yaworCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC04OSwxMiArOTEsMTcgQEAgc3RydWN0IFNhbmRib3hQ
YXJhbWV0ZXJzRGVsZXRlciB7CiB9OwogdXNpbmcgU2FuZGJveFBhcmFtZXRlcnNQdHIgPSBzdGQ6
OnVuaXF1ZV9wdHI8U2FuZGJveFBhcmFtZXRlcnMsIFNhbmRib3hQYXJhbWV0ZXJzRGVsZXRlcj47
CiAKK2NvbnN0ZXhwciB1bnNpZ25lZCBndWlkU2l6ZSA9IDM2ICsgMTsKK2NvbnN0ZXhwciB1bnNp
Z25lZCB2ZXJzaW9uU2l6ZSA9IDMxICsgMTsKKwogc3RydWN0IENhY2hlZFNhbmRib3hIZWFkZXIg
ewogICAgIHVpbnQzMl90IHZlcnNpb25OdW1iZXI7CiAgICAgdWludDMyX3QgbGlic2FuZGJveFZl
cnNpb247CiAgICAgdWludDMyX3QgaGVhZGVyU2l6ZTsKICAgICB1aW50MzJfdCBidWlsdGluU2l6
ZTsgLy8gSWYgYSBidWlsdGluIGRvZXNuJ3QgZXhpc3QsIHRoaXMgaXMgVUlOVF9NQVguCiAgICAg
dWludDMyX3QgZGF0YVNpemU7CisgICAgY2hhciBzYW5kYm94QnVpbGRJRFtndWlkU2l6ZV07Cisg
ICAgY2hhciBvc1ZlcnNpb25bdmVyc2lvblNpemVdOwogfTsKIC8vIFRoZSBmaWxlIGlzIGxheWVk
IG91dCBvbiBkaXNrIGxpa2U6CiAvLyBieXRlIDAKQEAgLTEyOSw3ICsxMzYsNyBAQCBzdHJ1Y3Qg
U2FuZGJveEluZm8gewogICAgIGNvbnN0IGJvb2wgaXNQcm9maWxlUGF0aDsKIH07CiAKLWNvbnN0
ZXhwciB1aW50MzJfdCBDYWNoZWRTYW5kYm94VmVyc2lvbk51bWJlciA9IDA7Citjb25zdGV4cHIg
dWludDMyX3QgQ2FjaGVkU2FuZGJveFZlcnNpb25OdW1iZXIgPSAxOwogI2VuZGlmIC8vIFVTRShD
QUNIRV9DT01QSUxFRF9TQU5EQk9YKQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGltZXJDb2Fs
ZXNjaW5nUG9saWN5KCkKQEAgLTQwMiwxMyArNDA5LDI1IEBAIHN0YXRpYyBTYW5kYm94UHJvZmls
ZVB0ciBjb21waWxlQW5kQ2FjaGVTYW5kYm94UHJvZmlsZShjb25zdCBTYW5kYm94SW5mbyYgaW5m
bykKICAgICBjb25zdCBib29sIGhhdmVCdWlsdGluID0gc2FuZGJveFByb2ZpbGUtPmJ1aWx0aW47
CiAgICAgaW50MzJfdCBsaWJzYW5kYm94VmVyc2lvbiA9IE5TVmVyc2lvbk9mUnVuVGltZUxpYnJh
cnkoInNhbmRib3giKTsKICAgICBSRUxFQVNFX0FTU0VSVChsaWJzYW5kYm94VmVyc2lvbiA+IDAp
OworICAgIFN0cmluZyBvc1ZlcnNpb24gPSBzeXN0ZW1NYXJrZXRpbmdWZXJzaW9uKCk7CisKICAg
ICBDYWNoZWRTYW5kYm94SGVhZGVyIGNhY2hlZEhlYWRlciB7CiAgICAgICAgIENhY2hlZFNhbmRi
b3hWZXJzaW9uTnVtYmVyLAogICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4obGlic2FuZGJv
eFZlcnNpb24pLAogICAgICAgICBzYWZlQ2FzdDx1aW50MzJfdD4oaW5mby5oZWFkZXIubGVuZ3Ro
KCkpLAogICAgICAgICBoYXZlQnVpbHRpbiA/IHNhZmVDYXN0PHVpbnQzMl90PihzdHJsZW4oc2Fu
ZGJveFByb2ZpbGUtPmJ1aWx0aW4pKSA6IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+Ojpt
YXgoKSwKLSAgICAgICAgc2FmZUNhc3Q8dWludDMyX3Q+KHNhbmRib3hQcm9maWxlLT5zaXplKQor
ICAgICAgICBzYWZlQ2FzdDx1aW50MzJfdD4oc2FuZGJveFByb2ZpbGUtPnNpemUpLAorICAgICAg
ICB7IDAgfSwKKyAgICAgICAgeyAwIH0KICAgICB9OworCisgICAgc2l6ZV90IGNvcGllZCA9IHN0
cmxjcHkoY2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElELCBTQU5EQk9YX0JVSUxEX0lELCBzaXpl
b2YoY2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElEKSk7CisgICAgQVNTRVJUKGNvcGllZCA9PSBn
dWlkU2l6ZSAtIDEpOworICAgIFJFTEVBU0VfQVNTRVJUKCFjYWNoZWRIZWFkZXIuc2FuZGJveEJ1
aWxkSURbZ3VpZFNpemUgLSAxXSk7CisgICAgY29waWVkID0gc3RybGNweShjYWNoZWRIZWFkZXIu
b3NWZXJzaW9uLCBvc1ZlcnNpb24udXRmOCgpLmRhdGEoKSwgc2l6ZW9mKGNhY2hlZEhlYWRlci5v
c1ZlcnNpb24pKTsKKyAgICBSRUxFQVNFX0FTU0VSVCghY2FjaGVkSGVhZGVyLm9zVmVyc2lvblt2
ZXJzaW9uU2l6ZSAtIDFdKTsKKyAgICBBU1NFUlQoY29waWVkIDwgdmVyc2lvblNpemUgLSAxKTsK
KwogICAgIGNvbnN0IHNpemVfdCBleHBlY3RlZEZpbGVTaXplID0gc2l6ZW9mKGNhY2hlZEhlYWRl
cikgKyBjYWNoZWRIZWFkZXIuaGVhZGVyU2l6ZSArIChoYXZlQnVpbHRpbiA/IGNhY2hlZEhlYWRl
ci5idWlsdGluU2l6ZSA6IDApICsgY2FjaGVkSGVhZGVyLmRhdGFTaXplOwogCiAgICAgVmVjdG9y
PGNoYXI+IGNhY2hlRmlsZTsKQEAgLTQ0NywxMCArNDY2LDE3IEBAIHN0YXRpYyBib29sIHRyeUFw
cGx5Q2FjaGVkU2FuZGJveChjb25zdCBTYW5kYm94SW5mbyYgaW5mbykKICAgICBtZW1jcHkoJmNh
Y2hlZFNhbmRib3hIZWFkZXIsIGNhY2hlZFNhbmRib3hDb250ZW50cy5kYXRhKCksIHNpemVvZihD
YWNoZWRTYW5kYm94SGVhZGVyKSk7CiAgICAgaW50MzJfdCBsaWJzYW5kYm94VmVyc2lvbiA9IE5T
VmVyc2lvbk9mUnVuVGltZUxpYnJhcnkoInNhbmRib3giKTsKICAgICBSRUxFQVNFX0FTU0VSVChs
aWJzYW5kYm94VmVyc2lvbiA+IDApOworICAgIFN0cmluZyBvc1ZlcnNpb24gPSBzeXN0ZW1NYXJr
ZXRpbmdWZXJzaW9uKCk7CisKKyAgICBpZiAoY2FjaGVkU2FuZGJveEhlYWRlci52ZXJzaW9uTnVt
YmVyICE9IENhY2hlZFNhbmRib3hWZXJzaW9uTnVtYmVyKQorICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgaWYgKHN0YXRpY19jYXN0PHVpbnQzMl90PihsaWJzYW5kYm94VmVyc2lvbikgIT0gY2Fj
aGVkU2FuZGJveEhlYWRlci5saWJzYW5kYm94VmVyc2lvbikKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGlmIChjYWNoZWRTYW5kYm94SGVhZGVyLnZlcnNpb25OdW1iZXIgIT0gQ2FjaGVkU2Fu
ZGJveFZlcnNpb25OdW1iZXIpCisgICAgaWYgKHN0ZDo6c3RyY21wKGNhY2hlZFNhbmRib3hIZWFk
ZXIuc2FuZGJveEJ1aWxkSUQsIFNBTkRCT1hfQlVJTERfSUQpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKHN0ZDo6c3RyY21wKGNhY2hlZFNhbmRib3hIZWFkZXIub3NWZXJzaW9uLCBv
c1ZlcnNpb24udXRmOCgpLmRhdGEoKSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGNv
bnN0IGJvb2wgaGF2ZUJ1aWx0aW4gPSBjYWNoZWRTYW5kYm94SGVhZGVyLmJ1aWx0aW5TaXplICE9
IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKTsKIAogICAgIC8vIFRoZXNlIHZh
bHVlcyBhcmUgY29tcHV0ZWQgYmFzZWQgb24gdGhlIGRpc2sgbGF5b3V0IHNwZWNpZmllZCBiZWxv
dyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgQ2FjaGVkU2FuZGJveEhlYWRlciBzdHJ1Y3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396459</attachid>
            <date>2020-04-14 14:08:14 -0700</date>
            <delta_ts>2020-04-14 14:30:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-210304-20200414140814.patch</filename>
            <type>text/plain</type>
            <size>5595</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGViMTMyMWY2OTAwNzdjNDM5
YjRmNTAxNGU4MWUwNDJjZWFmNTE4NTUuLmFmNzRlYTcyMzBmZTY3OTAyNmQ3NGM4NTNmNmQ3M2E1
NTdkNDhlOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDQtMTQgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbW9yZSBjaGVja2luZyBi
ZWZvcmUgcmV1c2luZyBwcmVjb21waWxlZCBzYW5kYm94CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxMTU1NjIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IFdlIHJlY2VudGx5IGRpc2NvdmVyZWQgdGhhdCB0aGUgc3lzdGVtIHNhbmRib3ggZnJhbWV3b3Jr
IHZlcnNpb24gZG9lcyBub3QgYWx3YXlzIGNoYW5nZQorICAgICAgICB3aGVuIGJyZWFraW5nIGNo
YW5nZXMgaW4gdGhlIHNhbmRib3ggZm9ybWF0IGFyZSBtYWRlLiBUaGlzIGNhbiBsZWFkIHRvIHRo
ZSBwcmVjb21waWxlZAorICAgICAgICB2ZXJzaW9uIG9mIGEgc2FuZGJveCBub3Qgd29ya2luZyBw
cm9wZXJseSB3aGVuIGEgc2FuZGJveCB2ZXJzaW9uIGNoYW5nZXMuCisKKyAgICAgICAgVG8gZ3Vh
cmQgYWdhaW5zdCB0aGlzLCBtYWtlIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKKworICAgICAgICAx
LiBDb21wYXJlIHRoZSBTQU5EQk9YX0JVSUxEX0lEIGluIHBsYWNlIHdoZW4gdGhlIHNhbmRib3gg
d2FzIGNvbXBpbGVkIHRvIHRoZSB2YWx1ZSBvbgorICAgICAgICAgICB0aGUgY3VycmVudCBzeXN0
ZW0uIFNBTkRCT1hfQlVJTERfSUQsIHdoaWNoIGlzIGEgR1VJRCwgaXMgYWx3YXlzIHJlZ2VuZXJh
dGVkIHdoZW4gdGhlCisgICAgICAgICAgIHNhbmRib3ggZnJhbWV3b3JrIGlzIHJlYnVpbHQuCisK
KyAgICAgICAgMi4gQ29tcGFyZSB0aGUgT1MgdmVyc2lvbiBpbiBwbGFjZSB3aGVuIHRoZSBzYW5k
Ym94IHdhcyBjb21waWxlZCB0byB0aGUgdmFsdWUgb24gdGhlIGN1cnJlbnQKKyAgICAgICAgICAg
c3lzdGVtLiBUaGlzIHdpbGwgdHJpZ2dlciB1cyByZWNvbXBpbGluZyBzYW5kYm94ZXMgZXZlbiB3
aGVuIHRoZSBzYW5kYm94IGZyYW1ld29yayBkaWQgbm90CisgICAgICAgICAgIGNoYW5nZSwgYnV0
IHRoaXMgaXMgYSBzbWFsbCBwZXJmb3JtYW5jZSBjb3N0IHRoYXQgd291bGQgb25seSBoYXBwZW4g
YWZ0ZXIgYSBzb2Z0d2FyZSB1cGRhdGUuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL0F1eGlsaWFy
eVByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OmNvbXBpbGVBbmRDYWNoZVNhbmRib3hQ
cm9maWxlKToKKyAgICAgICAgKFdlYktpdDo6dHJ5QXBwbHlDYWNoZWRTYW5kYm94KToKKwogMjAy
MC0wNC0xNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbaVBhZE9TXSBXaWtpcGVkaWEgYXJ0aWNsZXMgbGF5IG91dCBpbmNvcnJlY3RseSBpbiAxLzMg
bXVsdGl0YXNraW5nIHdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFj
L0F1eGlsaWFyeVByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxp
YXJ5UHJvY2Vzc01hYy5tbQppbmRleCAzMWMyZDNkNzA2OWI4ZTA4OWYyM2IwYTQxMmJiMWY1NDA4
NjM1Mjg4Li43YWRlNmQyMmQyMzMzZDAwNjA2YzBiNDhiOTRlNDUwOTAwM2JiNGM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY3
LDYgKzY3LDggQEAKICNkZWZpbmUgVVNFX0NBQ0hFX0NPTVBJTEVEX1NBTkRCT1ggMAogI2VuZGlm
CiAKK2V4dGVybiBjb25zdCBjaGFyKiBjb25zdCBTQU5EQk9YX0JVSUxEX0lEOyAvLyBEZWZpbmVk
IGJ5IHRoZSBTYW5kYm94IGZyYW1ld29yaworCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCkBAIC04OSwxMiArOTEsMTcgQEAgc3RydWN0IFNhbmRib3hQYXJh
bWV0ZXJzRGVsZXRlciB7CiB9OwogdXNpbmcgU2FuZGJveFBhcmFtZXRlcnNQdHIgPSBzdGQ6OnVu
aXF1ZV9wdHI8U2FuZGJveFBhcmFtZXRlcnMsIFNhbmRib3hQYXJhbWV0ZXJzRGVsZXRlcj47CiAK
K2NvbnN0ZXhwciB1bnNpZ25lZCBndWlkU2l6ZSA9IDM2ICsgMTsKK2NvbnN0ZXhwciB1bnNpZ25l
ZCB2ZXJzaW9uU2l6ZSA9IDMxICsgMTsKKwogc3RydWN0IENhY2hlZFNhbmRib3hIZWFkZXIgewog
ICAgIHVpbnQzMl90IHZlcnNpb25OdW1iZXI7CiAgICAgdWludDMyX3QgbGlic2FuZGJveFZlcnNp
b247CiAgICAgdWludDMyX3QgaGVhZGVyU2l6ZTsKICAgICB1aW50MzJfdCBidWlsdGluU2l6ZTsg
Ly8gSWYgYSBidWlsdGluIGRvZXNuJ3QgZXhpc3QsIHRoaXMgaXMgVUlOVF9NQVguCiAgICAgdWlu
dDMyX3QgZGF0YVNpemU7CisgICAgY2hhciBzYW5kYm94QnVpbGRJRFtndWlkU2l6ZV07CisgICAg
Y2hhciBvc1ZlcnNpb25bdmVyc2lvblNpemVdOwogfTsKIC8vIFRoZSBmaWxlIGlzIGxheWVkIG91
dCBvbiBkaXNrIGxpa2U6CiAvLyBieXRlIDAKQEAgLTEyOSw3ICsxMzYsNyBAQCBzdHJ1Y3QgU2Fu
ZGJveEluZm8gewogICAgIGNvbnN0IGJvb2wgaXNQcm9maWxlUGF0aDsKIH07CiAKLWNvbnN0ZXhw
ciB1aW50MzJfdCBDYWNoZWRTYW5kYm94VmVyc2lvbk51bWJlciA9IDA7Citjb25zdGV4cHIgdWlu
dDMyX3QgQ2FjaGVkU2FuZGJveFZlcnNpb25OdW1iZXIgPSAxOwogI2VuZGlmIC8vIFVTRShDQUNI
RV9DT01QSUxFRF9TQU5EQk9YKQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGltZXJDb2FsZXNj
aW5nUG9saWN5KCkKQEAgLTQwMiwxMyArNDA5LDIzIEBAIHN0YXRpYyBTYW5kYm94UHJvZmlsZVB0
ciBjb21waWxlQW5kQ2FjaGVTYW5kYm94UHJvZmlsZShjb25zdCBTYW5kYm94SW5mbyYgaW5mbykK
ICAgICBjb25zdCBib29sIGhhdmVCdWlsdGluID0gc2FuZGJveFByb2ZpbGUtPmJ1aWx0aW47CiAg
ICAgaW50MzJfdCBsaWJzYW5kYm94VmVyc2lvbiA9IE5TVmVyc2lvbk9mUnVuVGltZUxpYnJhcnko
InNhbmRib3giKTsKICAgICBSRUxFQVNFX0FTU0VSVChsaWJzYW5kYm94VmVyc2lvbiA+IDApOwor
ICAgIFN0cmluZyBvc1ZlcnNpb24gPSBzeXN0ZW1NYXJrZXRpbmdWZXJzaW9uKCk7CisKICAgICBD
YWNoZWRTYW5kYm94SGVhZGVyIGNhY2hlZEhlYWRlciB7CiAgICAgICAgIENhY2hlZFNhbmRib3hW
ZXJzaW9uTnVtYmVyLAogICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4obGlic2FuZGJveFZl
cnNpb24pLAogICAgICAgICBzYWZlQ2FzdDx1aW50MzJfdD4oaW5mby5oZWFkZXIubGVuZ3RoKCkp
LAogICAgICAgICBoYXZlQnVpbHRpbiA/IHNhZmVDYXN0PHVpbnQzMl90PihzdHJsZW4oc2FuZGJv
eFByb2ZpbGUtPmJ1aWx0aW4pKSA6IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgo
KSwKLSAgICAgICAgc2FmZUNhc3Q8dWludDMyX3Q+KHNhbmRib3hQcm9maWxlLT5zaXplKQorICAg
ICAgICBzYWZlQ2FzdDx1aW50MzJfdD4oc2FuZGJveFByb2ZpbGUtPnNpemUpLAorICAgICAgICB7
IDAgfSwKKyAgICAgICAgeyAwIH0KICAgICB9OworCisgICAgc2l6ZV90IGNvcGllZCA9IHN0cmxj
cHkoY2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElELCBTQU5EQk9YX0JVSUxEX0lELCBzaXplb2Yo
Y2FjaGVkSGVhZGVyLnNhbmRib3hCdWlsZElEKSk7CisgICAgQVNTRVJUKGNvcGllZCA9PSBndWlk
U2l6ZSAtIDEpOworICAgIGNvcGllZCA9IHN0cmxjcHkoY2FjaGVkSGVhZGVyLm9zVmVyc2lvbiwg
b3NWZXJzaW9uLnV0ZjgoKS5kYXRhKCksIHNpemVvZihjYWNoZWRIZWFkZXIub3NWZXJzaW9uKSk7
CisgICAgQVNTRVJUKGNvcGllZCA8IHZlcnNpb25TaXplIC0gMSk7CisKICAgICBjb25zdCBzaXpl
X3QgZXhwZWN0ZWRGaWxlU2l6ZSA9IHNpemVvZihjYWNoZWRIZWFkZXIpICsgY2FjaGVkSGVhZGVy
LmhlYWRlclNpemUgKyAoaGF2ZUJ1aWx0aW4gPyBjYWNoZWRIZWFkZXIuYnVpbHRpblNpemUgOiAw
KSArIGNhY2hlZEhlYWRlci5kYXRhU2l6ZTsKIAogICAgIFZlY3RvcjxjaGFyPiBjYWNoZUZpbGU7
CkBAIC00NDcsMTAgKzQ2NCwxNyBAQCBzdGF0aWMgYm9vbCB0cnlBcHBseUNhY2hlZFNhbmRib3go
Y29uc3QgU2FuZGJveEluZm8mIGluZm8pCiAgICAgbWVtY3B5KCZjYWNoZWRTYW5kYm94SGVhZGVy
LCBjYWNoZWRTYW5kYm94Q29udGVudHMuZGF0YSgpLCBzaXplb2YoQ2FjaGVkU2FuZGJveEhlYWRl
cikpOwogICAgIGludDMyX3QgbGlic2FuZGJveFZlcnNpb24gPSBOU1ZlcnNpb25PZlJ1blRpbWVM
aWJyYXJ5KCJzYW5kYm94Iik7CiAgICAgUkVMRUFTRV9BU1NFUlQobGlic2FuZGJveFZlcnNpb24g
PiAwKTsKKyAgICBTdHJpbmcgb3NWZXJzaW9uID0gc3lzdGVtTWFya2V0aW5nVmVyc2lvbigpOwor
CisgICAgaWYgKGNhY2hlZFNhbmRib3hIZWFkZXIudmVyc2lvbk51bWJlciAhPSBDYWNoZWRTYW5k
Ym94VmVyc2lvbk51bWJlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChzdGF0aWNf
Y2FzdDx1aW50MzJfdD4obGlic2FuZGJveFZlcnNpb24pICE9IGNhY2hlZFNhbmRib3hIZWFkZXIu
bGlic2FuZGJveFZlcnNpb24pCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoY2FjaGVk
U2FuZGJveEhlYWRlci52ZXJzaW9uTnVtYmVyICE9IENhY2hlZFNhbmRib3hWZXJzaW9uTnVtYmVy
KQorICAgIGlmIChzdGQ6OnN0cmNtcChjYWNoZWRTYW5kYm94SGVhZGVyLnNhbmRib3hCdWlsZElE
LCBTQU5EQk9YX0JVSUxEX0lEKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChjYWNo
ZWRTYW5kYm94SGVhZGVyLm9zVmVyc2lvbiAhPSBvc1ZlcnNpb24pCisgICAgICAgIHJldHVybiBm
YWxzZTsKKwogICAgIGNvbnN0IGJvb2wgaGF2ZUJ1aWx0aW4gPSBjYWNoZWRTYW5kYm94SGVhZGVy
LmJ1aWx0aW5TaXplICE9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKTsKIAog
ICAgIC8vIFRoZXNlIHZhbHVlcyBhcmUgY29tcHV0ZWQgYmFzZWQgb24gdGhlIGRpc2sgbGF5b3V0
IHNwZWNpZmllZCBiZWxvdyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgQ2FjaGVkU2FuZGJveEhlYWRl
ciBzdHJ1Y3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>