<?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>214883</bug_id>
          
          <creation_ts>2020-07-28 10:14:42 -0700</creation_ts>
          <short_desc>Implement PerfomanceObserverInit.buffered</short_desc>
          <delta_ts>2020-08-19 10:21:47 -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>DOM</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=215617</see_also>
          <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="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1675668</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-28 10:14:42 -0700</bug_when>
    <thetext>This is needed for tests such as:
resource-timing/buffered-flag.any.html
user-timing/buffered-flag.any.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677583</commentid>
    <comment_count>1</comment_count>
      <attachid>405908</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-04 01:51:10 -0700</bug_when>
    <thetext>Created attachment 405908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677606</commentid>
    <comment_count>2</comment_count>
      <attachid>405908</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-04 05:01:52 -0700</bug_when>
    <thetext>Comment on attachment 405908
Patch

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

&gt; Source/WebCore/page/Performance.cpp:187
&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; entries;

Might be best done as a follow-up but we should most probably use Vector&lt;Ref&lt;&gt;&gt; all over the place, right?

&gt; Source/WebCore/page/Performance.cpp:190
&gt; +        entries.appendVector(m_resourceTimingBuffer);

We could try to optimise this case. Maybe something like:
entries = m_resourceTimingBuffer;

&gt; Source/WebCore/page/Performance.cpp:193
&gt; +        if (entryType.isNull() || equalLettersIgnoringASCIICase(entryType, &quot;mark&quot;))

We are doing case sensitive comparison in other parts of the code, does it make sense to not do so here?
Either way, can we add some related tests if this is not covered?

&gt; Source/WebCore/page/Performance.cpp:199
&gt; +    std::sort(entries.begin(), entries.end(), PerformanceEntry::startTimeCompareLessThan);

Not needed since this is done at call site.

&gt; Source/WebCore/page/PerformanceObserver.cpp:83
&gt; +            m_entriesToDeliver.appendVector(m_performance-&gt;getBufferedEntriesByType(*init.type));

Since we are appending a vector, maybe we should write it as:
m_performance-&gt;appendBufferedEntriesByType(*init.type, m_entriesToDeliver).

&gt; Source/WebCore/page/PerformanceObserver.cpp:84
&gt; +            std::sort(m_entriesToDeliver.begin(), m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);

We could sort only if new entries are added. Or maybe we can do the sorting only when delivering the entries, in PerformanceObserver::deliver?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677613</commentid>
    <comment_count>3</comment_count>
      <attachid>405917</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-04 06:45:18 -0700</bug_when>
    <thetext>Created attachment 405917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677653</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-04 10:15:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/66529055&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677909</commentid>
    <comment_count>5</comment_count>
      <attachid>405992</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-05 02:50:50 -0700</bug_when>
    <thetext>Created attachment 405992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677919</commentid>
    <comment_count>6</comment_count>
      <attachid>405995</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-05 06:18:26 -0700</bug_when>
    <thetext>Created attachment 405995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677920</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-08-05 06:19:08 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677932</commentid>
    <comment_count>8</comment_count>
      <attachid>405908</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-05 07:42:55 -0700</bug_when>
    <thetext>Comment on attachment 405908
Patch

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

&gt;&gt; Source/WebCore/page/Performance.cpp:187
&gt;&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; entries;
&gt; 
&gt; Might be best done as a follow-up but we should most probably use Vector&lt;Ref&lt;&gt;&gt; all over the place, right?

Right.

&gt;&gt; Source/WebCore/page/Performance.cpp:190
&gt;&gt; +        entries.appendVector(m_resourceTimingBuffer);
&gt; 
&gt; We could try to optimise this case. Maybe something like:
&gt; entries = m_resourceTimingBuffer;

This as not needed because of the appendBufferedEntriesByType suggestion.

&gt;&gt; Source/WebCore/page/Performance.cpp:193
&gt;&gt; +        if (entryType.isNull() || equalLettersIgnoringASCIICase(entryType, &quot;mark&quot;))
&gt; 
&gt; We are doing case sensitive comparison in other parts of the code, does it make sense to not do so here?
&gt; Either way, can we add some related tests if this is not covered?

Yes, I erroneously used code that was in place before my other patch. I created https://github.com/web-platform-tests/wpt/pull/24891 for the tests.

&gt;&gt; Source/WebCore/page/Performance.cpp:199
&gt;&gt; +    std::sort(entries.begin(), entries.end(), PerformanceEntry::startTimeCompareLessThan);
&gt; 
&gt; Not needed since this is done at call site.

Done.

&gt;&gt; Source/WebCore/page/PerformanceObserver.cpp:83
&gt;&gt; +            m_entriesToDeliver.appendVector(m_performance-&gt;getBufferedEntriesByType(*init.type));
&gt; 
&gt; Since we are appending a vector, maybe we should write it as:
&gt; m_performance-&gt;appendBufferedEntriesByType(*init.type, m_entriesToDeliver).

Done.

&gt;&gt; Source/WebCore/page/PerformanceObserver.cpp:84
&gt;&gt; +            std::sort(m_entriesToDeliver.begin(), m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);
&gt; 
&gt; We could sort only if new entries are added. Or maybe we can do the sorting only when delivering the entries, in PerformanceObserver::deliver?

I think it is clearer to always be in sorted state before calling PerformanceObserver::deliver. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678207</commentid>
    <comment_count>9</comment_count>
      <attachid>405995</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-05 23:04:11 -0700</bug_when>
    <thetext>Comment on attachment 405995
Patch

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

&gt; Source/WebCore/page/PerformanceObserver.cpp:90
&gt; +                std::sort(m_entriesToDeliver.begin(), m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);

Should this be std::stable_sort? Can two entries have the exact same start time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678209</commentid>
    <comment_count>10</comment_count>
      <attachid>405995</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-05 23:06:54 -0700</bug_when>
    <thetext>Comment on attachment 405995
Patch

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

&gt;&gt; Source/WebCore/page/PerformanceObserver.cpp:90
&gt;&gt; +                std::sort(m_entriesToDeliver.begin(), m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);
&gt; 
&gt; Should this be std::stable_sort? Can two entries have the exact same start time?

Generally appending and re-sorting is not the optimal way to keep a vector sorted; instead we’d like a sort that understands an existing set that are sorted and a new set that need to be sorted in. Not sure what the correct algorithm is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678702</commentid>
    <comment_count>11</comment_count>
      <attachid>406202</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-07 13:03:40 -0700</bug_when>
    <thetext>Created attachment 406202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678729</commentid>
    <comment_count>12</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-07 13:54:37 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 405995 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=405995&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/PerformanceObserver.cpp:90
&gt; &gt; +                std::sort(m_entriesToDeliver.begin(), m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);
&gt; 
&gt; Should this be std::stable_sort? Can two entries have the exact same start
&gt; time?

You are right, using that will keep the original order of events with same start time, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678738</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-07 14:23:13 -0700</bug_when>
    <thetext>Committed r265390: &lt;https://trac.webkit.org/changeset/265390&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406202.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678758</commentid>
    <comment_count>14</comment_count>
      <attachid>406202</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-07 15:08:59 -0700</bug_when>
    <thetext>Comment on attachment 406202
Patch

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

&gt; Source/WebCore/page/PerformanceObserver.cpp:90
&gt; +            if (m_performance-&gt;appendBufferedEntriesByType(*init.type, m_entriesToDeliver))
&gt; +                std::stable_sort(m_entriesToDeliver.begin(), m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);

I suspected there was a better way to do this that does not re-sort everything, and here it is:

    auto oldSize = m_entriesToDeliver.size();
    m_performance-&gt;appendBufferedEntriesByType(*init.type, m_entriesToDeliver)
    if (oldSize &lt; m_entriesToDeliver.size()) {
        auto oldEnd = m_entriesToDeliver.begin() + oldSize;
        std::stable_sort(oldEnd, m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);
        std::inplace_merge(m_entriesToDeliver.begin(), oldEnd,  m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);
    }

Can also get rid of the return value from appendBufferedEntriesByType if we do this.

Let me know if you’d like to make this change or if you’d prefer that I did it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678761</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-07 15:12:34 -0700</bug_when>
    <thetext>Alternate:

    auto oldSize = m_entriesToDeliver.size();
    m_performance-&gt;appendBufferedEntriesByType(*init.type, m_entriesToDeliver)
    auto begin = m_entriesToDeliver.begin();
    auto oldEnd = m_entriesToDeliver.begin() + oldSize;
    auto end = m_entriesToDeliver.end();
    if (oldEnd != end) {
        std::stable_sort(oldEnd, end, PerformanceEntry::startTimeCompareLessThan);
        std::inplace_merge(begin, oldEnd, end, PerformanceEntry::startTimeCompareLessThan);
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678762</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-07 15:13:00 -0700</bug_when>
    <thetext>Alternate:

    auto oldSize = m_entriesToDeliver.size();
    m_performance-&gt;appendBufferedEntriesByType(*init.type, m_entriesToDeliver)
    auto begin = m_entriesToDeliver.begin();
    auto oldEnd = begin + oldSize;
    auto end = m_entriesToDeliver.end();
    if (oldEnd != end) {
        std::stable_sort(oldEnd, end, PerformanceEntry::startTimeCompareLessThan);
        std::inplace_merge(begin, oldEnd, end, PerformanceEntry::startTimeCompareLessThan);
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678902</commentid>
    <comment_count>17</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-08 06:45:28 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #14)
&gt; Comment on attachment 406202 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=406202&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/PerformanceObserver.cpp:90
&gt; &gt; +            if (m_performance-&gt;appendBufferedEntriesByType(*init.type, m_entriesToDeliver))
&gt; &gt; +                std::stable_sort(m_entriesToDeliver.begin(), m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);
&gt; 
&gt; I suspected there was a better way to do this that does not re-sort
&gt; everything, and here it is:
&gt; 
&gt;     auto oldSize = m_entriesToDeliver.size();
&gt;     m_performance-&gt;appendBufferedEntriesByType(*init.type,
&gt; m_entriesToDeliver)
&gt;     if (oldSize &lt; m_entriesToDeliver.size()) {
&gt;         auto oldEnd = m_entriesToDeliver.begin() + oldSize;
&gt;         std::stable_sort(oldEnd, m_entriesToDeliver.end(),
&gt; PerformanceEntry::startTimeCompareLessThan);
&gt;         std::inplace_merge(m_entriesToDeliver.begin(), oldEnd, 
&gt; m_entriesToDeliver.end(), PerformanceEntry::startTimeCompareLessThan);
&gt;     }
&gt; 
&gt; Can also get rid of the return value from appendBufferedEntriesByType if we
&gt; do this.
&gt; 
&gt; Let me know if you’d like to make this change or if you’d prefer that I did
&gt; it.

Nice! Sure, go ahead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681342</commentid>
    <comment_count>18</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-19 08:32:38 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681343</commentid>
    <comment_count>19</comment_count>
      <attachid>406844</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-19 08:32:42 -0700</bug_when>
    <thetext>Created attachment 406844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681368</commentid>
    <comment_count>20</comment_count>
      <attachid>406847</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-19 09:22:16 -0700</bug_when>
    <thetext>Created attachment 406847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681389</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-19 10:07:42 -0700</bug_when>
    <thetext>Committed r265869: &lt;https://trac.webkit.org/changeset/265869&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406847.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405908</attachid>
            <date>2020-08-04 01:51:10 -0700</date>
            <delta_ts>2020-08-04 06:45:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214883-20200804105109.patch</filename>
            <type>text/plain</type>
            <size>11389</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE3YTI4ODBhYmM4MjI2
NjViMTNjNWZiMjUyYjRiMjg3ZGFkMzk4Ni4uODY2ODI4YTVmYWNhNzMxZmM0ZmIyZjEzNjk5NzNh
MjdjMzgxYTZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA4LTA0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvbWFuY2VP
YnNlcnZlckluaXQuYnVmZmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudCBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZlcmVkIElE
TCBhbmQKKyAgICAgICAgZnVuY3Rpb25hbGl0eSBbMV0uCisKKyAgICAgICAgQmVoYXZpb3IgbWF0
Y2hlcyBDaHJvbWUgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXJlZC1mbGFnLmFueS53b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvd2Vi
LXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3dlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJl
ZC1mbGFnLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgIFsxXSBodHRwczovL3czYy5naXRodWIu
aW8vcGVyZm9ybWFuY2UtdGltZWxpbmUvI3BlcmZvcm1hbmNlb2JzZXJ2ZXJpbml0LWRpY3Rpb25h
cnkKKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2U6OmdldEJ1ZmZlcmVkRW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgICog
cGFnZS9QZXJmb3JtYW5jZS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXIuaWRsOgorCiAyMDIwLTA4LTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIG1faXNFZGl0YWJsZVJlZ2lvbkVuYWJsZWQgc2hv
dWxkIGJlIHJlc2V0IGluIGRpZENvbW1pdExvYWQsIG5vdCBkaWRGaW5pc2hMb2FkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4OTQ5NTM2
M2U1MWMwYzU1NzYuLjMzNjA4ODFmNDY4MTlhYzY0ODExM2Q4ZDI4MzYyNjU1ZjBmODliMTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0xODIsNiArMTgyLDI0IEBAIFZlY3Rv
cjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzQnlOYW1l
KGNvbnN0IFN0cmluZyYgbmFtCiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CiAKK1ZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRCdWZmZXJlZEVudHJpZXNCeVR5
cGUoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0Cit7CisgICAgVmVjdG9yPFJlZlB0cjxQ
ZXJmb3JtYW5jZUVudHJ5Pj4gZW50cmllczsKKworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJyZXNvdXJjZSIpKQorICAgICAgICBlbnRyaWVzLmFwcGVu
ZFZlY3RvcihtX3Jlc291cmNlVGltaW5nQnVmZmVyKTsKKworICAgIGlmIChtX3VzZXJUaW1pbmcp
IHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCisgICAgICAgICAgICBlbnRyaWVzLmFwcGVu
ZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOworICAgICAgICBpZiAoZW50cnlUeXBl
LmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1l
YXN1cmUiKSkKKyAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+
Z2V0TWVhc3VyZXMoKSk7CisgICAgfQorCisgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwg
ZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFu
KTsKKyAgICByZXR1cm4gZW50cmllczsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6Y2xlYXJSZXNv
dXJjZVRpbWluZ3MoKQogewogICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuY2xlYXIoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0NWYwMzUyMDkwNDhjYzU4OTNm
ZWNmNGNiNjhjOTgxLi5kNzFlZWZiYTE4N2JlZmMxYjFjMmVmMWM4ZTFjZTFjOGRjZDM2MTNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC02OCw2ICs2OCw3IEBAIHB1YmxpYzoKICAg
ICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzKCkgY29uc3Q7CiAg
ICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0RW50cmllc0J5VHlwZShjb25z
dCBTdHJpbmcmIGVudHJ5VHlwZSkgY29uc3Q7CiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5j
ZUVudHJ5Pj4gZ2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgZW50cnlUeXBlKSBjb25zdDsKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
PiBnZXRCdWZmZXJlZEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0
OwogCiAgICAgdm9pZCBjbGVhclJlc291cmNlVGltaW5ncygpOwogICAgIHZvaWQgc2V0UmVzb3Vy
Y2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXIuY3BwCmluZGV4IDdhY2M2ODZiODc4OGI1NjE4ZjA3YzYyZTg5MjE4NThj
NDQ2MTgxMTkuLmRiN2RkYTAzMzJkYTUyMmJmNGQ5YTczZmNhYmExMDY4ODA0MjU1NmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcApAQCAtNjAsNiArNjAs
NyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKEluaXQm
JiBpbml0KQogICAgIGlmICghbV9wZXJmb3JtYW5jZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IFR5cGVFcnJvciB9OwogCisgICAgYm9vbCBpc0J1ZmZlcmVkID0gZmFsc2U7CiAgICAgT3B0
aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IGZpbHRlcjsKICAgICBpZiAoaW5pdC5lbnRy
eVR5cGVzKSB7CiAgICAgICAgIGlmIChpbml0LnR5cGUpCkBAIC03Nyw2ICs3OCwxMSBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKEluaXQmJiBpbml0KQog
ICAgICAgICAgICAgZmlsdGVyLmFkZCgqdHlwZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IHJldHVybiB7IH07CisgICAgICAgIGlmIChpbml0LmJ1ZmZlcmVkKSB7CisgICAgICAgICAgICBp
c0J1ZmZlcmVkID0gdHJ1ZTsKKyAgICAgICAgICAgIG1fZW50cmllc1RvRGVsaXZlci5hcHBlbmRW
ZWN0b3IobV9wZXJmb3JtYW5jZS0+Z2V0QnVmZmVyZWRFbnRyaWVzQnlUeXBlKCppbml0LnR5cGUp
KTsKKyAgICAgICAgICAgIHN0ZDo6c29ydChtX2VudHJpZXNUb0RlbGl2ZXIuYmVnaW4oKSwgbV9l
bnRyaWVzVG9EZWxpdmVyLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJl
TGVzc1RoYW4pOworICAgICAgICB9CiAgICAgfQogCiAgICAgbV90eXBlRmlsdGVyID0gZmlsdGVy
OwpAQCAtODUsNiArOTEsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBQZXJmb3JtYW5jZU9ic2VydmVy
OjpvYnNlcnZlKEluaXQmJiBpbml0KQogICAgICAgICBtX3BlcmZvcm1hbmNlLT5yZWdpc3RlclBl
cmZvcm1hbmNlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBtX3JlZ2lzdGVyZWQgPSB0cnVlOwog
ICAgIH0KKyAgICBpZiAoaXNCdWZmZXJlZCkKKyAgICAgICAgZGVsaXZlcigpOwogCiAgICAgcmV0
dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKaW5k
ZXggMDk3ZTVjMzA1YzIyNTNiZjg1M2YwOWJhNTViMTM4NWM3ZDMzYzZkYS4uMmYxNGQ2ZmNlZWRl
NGRlOTUxMjkyMzZkMWFkMWYzYzIzYTYxNzExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIHN0cnVjdCBJ
bml0IHsKICAgICAgICAgT3B0aW9uYWw8VmVjdG9yPFN0cmluZz4+IGVudHJ5VHlwZXM7CiAgICAg
ICAgIE9wdGlvbmFsPFN0cmluZz4gdHlwZTsKKyAgICAgICAgYm9vbCBidWZmZXJlZDsKICAgICB9
OwogCiAgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyPiBjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4m
JiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRs
CmluZGV4IDExOTYzNTliMTEyOTE3Mjk4OTE1ZjZmYzU4ZWNmNTgzODk1MmY4YmIuLjI2ZGZlOTE0
MzZjNjY0NjU0MDExMDQ3YmRkOTgwY2RiNGQ1OWYwZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbApAQCAtNDIsNCArNDIsNSBAQAogZGljdGlvbmFyeSBQ
ZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CiAgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBlbnRyeVR5
cGVzOwogICAgIERPTVN0cmluZyB0eXBlOworICAgIGJvb2xlYW4gYnVmZmVyZWQgPSBmYWxzZTsK
IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggZmZhNjQ3MDY5OTcwZTFlZDRlMDc0M2VhM2FjMTM5ZjA3YTVlMzFjOS4uYjA5
OWQ2N2MyNDU3NGY0ZDYzYzc5NzM1OTUzNzYzMWUyYWExMTU3YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIwLTA4LTA0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAg
SW1wbGVtZW50IFBlcmZvbWFuY2VPYnNlcnZlckluaXQuYnVmZmVyZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDg4MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcCBzb21lIHRlc3RzIGZvciBQ
ZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZlcmVkLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0
aW9uczoKKwogMjAyMC0wOC0wMyAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR1RLXVtXUEVdIEdhcmRlbmluZyBzb21lIGZhaWx1cmVzIGFuZCByZWJhc2VsaW5l
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZjQxMWU2NTIwN2JkMzA4ZjlhZDg3
NWYzNmI0NWYyNGUxZWIxMmNjMS4uZjM2YjM2ODRiODY2YjM3YTQzOGY4MmI4YmFmYTBjYjJjYTQ5
ZTE5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MjAtMDgtMDQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1l
bnQgUGVyZm9tYW5jZU9ic2VydmVySW5pdC5idWZmZXJlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0ODgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGltcHJvdmVkIHRlc3QgZXhwZWN0YXRp
b25zLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXJlZC1mbGFnLmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFu
eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5n
L2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDgtMDMgIExh
dXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBHYXJk
ZW5pbmcgc29tZSBmYWlsdXJlcyBhbmQgcmViYXNlbGluZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGU5MTBkZjVmNWM1NjI5ZDVmZGMzMjUzMTExYmRlOTRiNjY5MmE1M2IuLjE0NWZlMzE2YmY2OGQ2
YjMzOWNjNmE2YzRkYjg5ZDFiM2Q0NTkwN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDUxOCw3
ICs0NTE4LDMgQEAganMvdGhyb3ctbGFyZ2Utc3RyaW5nLW9vbS5odG1sIFsgU2tpcCBdCiAKIHdl
YmtpdC5vcmcvYi8yMTQ4ODQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3Jt
YW5jZS10aW1lbGluZS9wby1vYnNlcnZlLXR5cGUuYW55Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5v
cmcvYi8yMTQ4ODQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10
aW1lbGluZS9wby1vYnNlcnZlLXR5cGUuYW55Lndvcmtlci5odG1sIFsgU2tpcCBdCi13ZWJraXQu
b3JnL2IvMjE0ODgzIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlcmVkLWZsYWcuYW55Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8yMTQ4ODMg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQt
ZmxhZy5hbnkud29ya2VyLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8yMTQ4ODMgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS5o
dG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMjE0ODgzIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLmh0bWwgWyBTa2lw
IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dAppbmRleCBlNDczOWY1ZTQzZGVjNTBjYTdkMDI1
MjYwOTRmMjFkODNhN2UzZjUyLi5iY2E4MzUwMmEwM2I2M2VkNjU3M2Q5MWJmNWNhYzYwNDI5MzAw
YTg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAogCi1IYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBQZXJmb3JtYW5j
ZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIHJlc291cmNlIGVudHJp
ZXMuIFRlc3QgdGltZWQgb3V0CitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJl
ZCBmbGFnIHNlZXMgcHJldmlvdXMgcmVzb3VyY2UgZW50cmllcy4gCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFn
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGU0NzM5ZjVlNDNkZWM1MGNhN2QwMjUyNjA5
NGYyMWQ4M2E3ZTNmNTIuLmJjYTgzNTAyYTAzYjYzZWQ2NTczZDkxYmY1Y2FjNjA0MjkzMDBhODYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMg
QEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQg
UGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyByZXNv
dXJjZSBlbnRyaWVzLiBUZXN0IHRpbWVkIG91dAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdp
dGggYnVmZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIHJlc291cmNlIGVudHJpZXMuIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXIt
dGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkt
ZXhwZWN0ZWQudHh0CmluZGV4IGJmYmNkMTgwOTUwNWU0NGQ1OGNhMjZkMzMyNTAxODA0YTY4YjYx
N2UuLmU0YTgxNTZmYTQ5NDhjM2RkNDdjMzY3ODI4ZjAzMDZhMjI4YWRkNGQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcv
YnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKLQotVElNRU9VVCBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQg
ZmxhZyBzZWVzIHByZXZpb3VzIG1hcmtzIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgbWVhc3VyZXMgVGVz
dCB0aW1lZCBvdXQKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcg
c2VlcyBwcmV2aW91cyBtYXJrcyAKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZl
cmVkIGZsYWcgc2VlcyBwcmV2aW91cyBtZWFzdXJlcyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1m
bGFnLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IGJmYmNkMTgwOTUwNWU0NGQ1OGNhMjZkMzMyNTAxODA0YTY4YjYxN2Uu
LmU0YTgxNTZmYTQ5NDhjM2RkNDdjMzY3ODI4ZjAzMDZhMjI4YWRkNGQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVm
ZmVyZWQtZmxhZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0
aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgbWFya3MgVGVzdCB0aW1lZCBvdXQKLVRJTUVP
VVQgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBt
ZWFzdXJlcyBUZXN0IHRpbWVkIG91dAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVm
ZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIG1hcmtzIAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVy
IHdpdGggYnVmZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIG1lYXN1cmVzIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405917</attachid>
            <date>2020-08-04 06:45:18 -0700</date>
            <delta_ts>2020-08-05 02:50:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214883-20200804154516.patch</filename>
            <type>text/plain</type>
            <size>11254</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZlMjE0YTAxZWZiZDZl
YTRjYzRiNjVmYTczZGE5MjNlOTlkNmRjYi4uZTdkZGNhYTFlNDVhZjY0MDY2NmFmMmRmMjk1ZWE3
ZTU4NDg1ZTMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA4LTA0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvbWFuY2VP
YnNlcnZlckluaXQuYnVmZmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudCBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZlcmVkIElE
TCBhbmQKKyAgICAgICAgZnVuY3Rpb25hbGl0eSBbMV0uCisKKyAgICAgICAgQmVoYXZpb3IgbWF0
Y2hlcyBDaHJvbWUgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNl
ci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLmh0bWwKKworICAgICAgICBbMV0gaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3BlcmZvcm1hbmNlLXRpbWVsaW5lLyNwZXJmb3JtYW5jZW9ic2Vy
dmVyaW5pdC1kaWN0aW9uYXJ5CisKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphcHBlbmRCdWZmZXJlZEVudHJpZXNCeVR5cGUg
Y29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNl
cnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmg6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKwogMjAyMC0wOC0wNCAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUvVHlwZSBzaG91bGQgbWF0Y2ggY2FzZSBzZW5zaXRpdmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAKaW5kZXggOThiMThmZWM0YzFkYzYxMTBiMTA4YjRjZWYyZjNhNDQ1OGVh
NTk0MC4uYzc1Nzc4YjFlMTVhMTc5N2EwNDg2YWE5ZjU0MDIyMjc1ZDczYmE5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKQEAgLTE4Miw2ICsxODIsMjIgQEAgVmVjdG9yPFJlZlB0
cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUoY29uc3Qg
U3RyaW5nJiBuYW0KICAgICByZXR1cm4gZW50cmllczsKIH0KIAorYm9vbCBQZXJmb3JtYW5jZTo6
YXBwZW5kQnVmZmVyZWRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlLCBWZWN0
b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiYgZW50cmllcykgY29uc3QKK3sKKyAgICBhdXRv
IG9sZEVudHJpZXNTaXplID0gZW50cmllcy5zaXplKCk7CisgICAgaWYgKGVudHJ5VHlwZSA9PSAi
cmVzb3VyY2UiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Jlc291cmNlVGltaW5n
QnVmZmVyKTsKKworICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlw
ZS5pc051bGwoKSB8fCBlbnRyeVR5cGUgPT0gIm1hcmsiKQorICAgICAgICAgICAgZW50cmllcy5h
cHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcygpKTsKKyAgICAgICAgaWYgKGVudHJ5
VHlwZS5pc051bGwoKSB8fCBlbnRyeVR5cGUgPT0gIm1lYXN1cmUiKQorICAgICAgICAgICAgZW50
cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKKyAgICB9CisK
KyAgICByZXR1cm4gZW50cmllcy5zaXplKCkgPiBvbGRFbnRyaWVzU2l6ZTsKK30KKwogdm9pZCBQ
ZXJmb3JtYW5jZTo6Y2xlYXJSZXNvdXJjZVRpbWluZ3MoKQogewogICAgIG1fcmVzb3VyY2VUaW1p
bmdCdWZmZXIuY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZk
M2M0NWYwMzUyMDkwNDhjYzU4OTNmZWNmNGNiNjhjOTgxLi5iN2JlMGFjZDU5YzVmMzMyMDliYWJl
ZmQxMzQ2NDhjZWE1YTdhYmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC02OCw2
ICs2OCw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBn
ZXRFbnRyaWVzKCkgY29uc3Q7CiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4g
Z2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkgY29uc3Q7CiAgICAgVmVj
dG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKKyAgICBib29sIGFwcGVu
ZEJ1ZmZlcmVkRW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSwgVmVjdG9yPFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4mKSBjb25zdDsKIAogICAgIHZvaWQgY2xlYXJSZXNvdXJj
ZVRpbWluZ3MoKTsKICAgICB2b2lkIHNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25l
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAppbmRleCA3
YWNjNjg2Yjg3ODhiNTYxOGYwN2M2MmU4OTIxODU4YzQ0NjE4MTE5Li44MmJiNDUyOWMwMTcxNmU4
MDkzMzQ0ZGQ2ZDQxZWExMzIyODhjMDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlci5jcHAKQEAgLTYwLDYgKzYwLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGVy
Zm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZShJbml0JiYgaW5pdCkKICAgICBpZiAoIW1fcGVyZm9y
bWFuY2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKIAorICAgIGJv
b2wgaXNCdWZmZXJlZCA9IGZhbHNlOwogICAgIE9wdGlvblNldDxQZXJmb3JtYW5jZUVudHJ5OjpU
eXBlPiBmaWx0ZXI7CiAgICAgaWYgKGluaXQuZW50cnlUeXBlcykgewogICAgICAgICBpZiAoaW5p
dC50eXBlKQpAQCAtNzcsNiArNzgsMTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGVyZm9ybWFuY2VP
YnNlcnZlcjo6b2JzZXJ2ZShJbml0JiYgaW5pdCkKICAgICAgICAgICAgIGZpbHRlci5hZGQoKnR5
cGUpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBpZiAo
aW5pdC5idWZmZXJlZCkgeworICAgICAgICAgICAgaXNCdWZmZXJlZCA9IHRydWU7CisgICAgICAg
ICAgICBpZiAobV9wZXJmb3JtYW5jZS0+YXBwZW5kQnVmZmVyZWRFbnRyaWVzQnlUeXBlKCppbml0
LnR5cGUsIG1fZW50cmllc1RvRGVsaXZlcikpCisgICAgICAgICAgICAgICAgc3RkOjpzb3J0KG1f
ZW50cmllc1RvRGVsaXZlci5iZWdpbigpLCBtX2VudHJpZXNUb0RlbGl2ZXIuZW5kKCksIFBlcmZv
cm1hbmNlRW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CisgICAgICAgIH0KICAgICB9
CiAKICAgICBtX3R5cGVGaWx0ZXIgPSBmaWx0ZXI7CkBAIC04NSw2ICs5MSw4IEBAIEV4Y2VwdGlv
bk9yPHZvaWQ+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6Om9ic2VydmUoSW5pdCYmIGluaXQpCiAgICAg
ICAgIG1fcGVyZm9ybWFuY2UtPnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcigqdGhpcyk7CiAg
ICAgICAgIG1fcmVnaXN0ZXJlZCA9IHRydWU7CiAgICAgfQorICAgIGlmIChpc0J1ZmZlcmVkKQor
ICAgICAgICBkZWxpdmVyKCk7CiAKICAgICByZXR1cm4geyB9OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAppbmRleCAwOTdlNWMzMDVjMjI1M2JmODUzZjA5YmE1
NWIxMzg1YzdkMzNjNmRhLi4yZjE0ZDZmY2VlZGU0ZGU5NTEyOTIzNmQxYWQxZjNjMjNhNjE3MTFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaApAQCAtNDMsNiAr
NDMsNyBAQCBwdWJsaWM6CiAgICAgc3RydWN0IEluaXQgewogICAgICAgICBPcHRpb25hbDxWZWN0
b3I8U3RyaW5nPj4gZW50cnlUeXBlczsKICAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiB0eXBlOwor
ICAgICAgICBib29sIGJ1ZmZlcmVkOwogICAgIH07CiAKICAgICBzdGF0aWMgUmVmPFBlcmZvcm1h
bmNlT2JzZXJ2ZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiYmIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKaW5kZXggMTE5NjM1OWIxMTI5MTcyOTg5MTVm
NmZjNThlY2Y1ODM4OTUyZjhiYi4uMjZkZmU5MTQzNmM2NjQ2NTQwMTEwNDdiZGQ5ODBjZGI0ZDU5
ZjBkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVy
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCkBA
IC00Miw0ICs0Miw1IEBACiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKICAg
ICBzZXF1ZW5jZTxET01TdHJpbmc+IGVudHJ5VHlwZXM7CiAgICAgRE9NU3RyaW5nIHR5cGU7Cisg
ICAgYm9vbGVhbiBidWZmZXJlZCA9IGZhbHNlOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmZmE2NDcwNjk5NzBlMWVk
NGUwNzQzZWEzYWMxMzlmMDdhNWUzMWM5Li5iMDk5ZDY3YzI0NTc0ZjRkNjNjNzk3MzU5NTM3NjMx
ZTJhYTExNTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDgtMDQgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgUGVyZm9tYW5jZU9ic2VydmVy
SW5pdC5idWZmZXJlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0ODgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVW5za2lwIHNvbWUgdGVzdHMgZm9yIFBlcmZvbWFuY2VPYnNlcnZlckluaXQuYnVmZmVy
ZWQuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTA4LTAzICBMYXVybyBN
b3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gR2FyZGVuaW5n
IHNvbWUgZmFpbHVyZXMgYW5kIHJlYmFzZWxpbmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCAxOTM0Y2IwYWRhN2NiYTM3MDIwMWRmYjZhYTJmNzE4MDI5Y2MyN2Y2Li4xM2RiMGY2
MTM1ZDVmNTljYmU1Njg2ZjZiNzJlZTUzNWU1MTA1OTBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wOC0wNCAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1
ZmZlcmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQ4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
cGRhdGUgaW1wcm92ZWQgdGVzdCBleHBlY3RhdGlvbnMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZs
YWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dDoKKwogMjAyMC0wOC0wNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUvVHlwZSBzaG91bGQgbWF0Y2gg
Y2FzZSBzZW5zaXRpdmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGU5MTBkZjVmNWM1NjI5ZDVmZGMz
MjUzMTExYmRlOTRiNjY5MmE1M2IuLjE0NWZlMzE2YmY2OGQ2YjMzOWNjNmE2YzRkYjg5ZDFiM2Q0
NTkwN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDUxOCw3ICs0NTE4LDMgQEAganMvdGhyb3ct
bGFyZ2Utc3RyaW5nLW9vbS5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8yMTQ4ODQgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9wby1vYnNl
cnZlLXR5cGUuYW55Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yMTQ4ODQgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9wby1vYnNlcnZlLXR5
cGUuYW55Lndvcmtlci5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMjE0ODgzIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55
Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8yMTQ4ODMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLmh0bWwg
WyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8yMTQ4ODMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS5odG1sIFsgU2tpcCBdCi13ZWJraXQu
b3JnL2IvMjE0ODgzIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcv
YnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVj
dGVkLnR4dAppbmRleCBlNDczOWY1ZTQzZGVjNTBjYTdkMDI1MjYwOTRmMjFkODNhN2UzZjUyLi5i
Y2E4MzUwMmEwM2I2M2VkNjU3M2Q5MWJmNWNhYzYwNDI5MzAwYTg2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXJlZC1mbGFnLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkt
ZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwg
bWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVy
ZWQgZmxhZyBzZWVzIHByZXZpb3VzIHJlc291cmNlIGVudHJpZXMuIFRlc3QgdGltZWQgb3V0CitQ
QVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMg
cmVzb3VyY2UgZW50cmllcy4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CmluZGV4IGU0NzM5ZjVlNDNkZWM1MGNhN2QwMjUyNjA5NGYyMWQ4M2E3ZTNmNTIuLmJjYTgz
NTAyYTAzYjYzZWQ2NTczZDkxYmY1Y2FjNjA0MjkzMDBhODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
cmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQtZmxhZy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgUGVyZm9ybWFuY2VPYnNlcnZlciB3
aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyByZXNvdXJjZSBlbnRyaWVzLiBUZXN0IHRp
bWVkIG91dAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBzZWVz
IHByZXZpb3VzIHJlc291cmNlIGVudHJpZXMuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcu
YW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGJm
YmNkMTgwOTUwNWU0NGQ1OGNhMjZkMzMyNTAxODA0YTY4YjYxN2UuLmU0YTgxNTZmYTQ5NDhjM2Rk
NDdjMzY3ODI4ZjAzMDZhMjI4YWRkNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NCBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9V
VCBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIG1h
cmtzIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZm
ZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgbWVhc3VyZXMgVGVzdCB0aW1lZCBvdXQKK1BBU1MgUGVy
Zm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBtYXJrcyAK
K1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91
cyBtZWFzdXJlcyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91c2Vy
LXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGJmYmNk
MTgwOTUwNWU0NGQ1OGNhMjZkMzMyNTAxODA0YTY4YjYxN2UuLmU0YTgxNTZmYTQ5NDhjM2RkNDdj
MzY3ODI4ZjAzMDZhMjI4YWRkNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
QEAgLTEsNiArMSw0IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVs
bAotCi1USU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMg
cHJldmlvdXMgbWFya3MgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgUGVyZm9ybWFuY2VPYnNlcnZl
ciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBtZWFzdXJlcyBUZXN0IHRpbWVkIG91
dAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBzZWVzIHByZXZp
b3VzIG1hcmtzIAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBz
ZWVzIHByZXZpb3VzIG1lYXN1cmVzIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405992</attachid>
            <date>2020-08-05 02:50:50 -0700</date>
            <delta_ts>2020-08-05 06:18:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214883-20200805115049.patch</filename>
            <type>text/plain</type>
            <size>10414</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhiZTlhOTBlMjg3YTE5
ODNjYTkyYWZmYTAxNjM5MjBjYzIxY2YxNy4uN2E0MTMzODI5Y2E4NDZmN2U2NzM5MmM0ZDQzYjE1
MGM1NDA0ZDRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA4LTA1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvbWFuY2VP
YnNlcnZlckluaXQuYnVmZmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudCBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZlcmVkIElE
TCBhbmQKKyAgICAgICAgZnVuY3Rpb25hbGl0eSBbMV0uCisKKyAgICAgICAgQmVoYXZpb3IgbWF0
Y2hlcyBDaHJvbWUgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNl
ci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLmh0bWwKKworICAgICAgICBbMV0gaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3BlcmZvcm1hbmNlLXRpbWVsaW5lLyNwZXJmb3JtYW5jZW9ic2Vy
dmVyaW5pdC1kaWN0aW9uYXJ5CisKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphcHBlbmRCdWZmZXJlZEVudHJpZXNCeVR5cGUg
Y29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNl
cnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmg6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKwogMjAyMC0wOC0wNSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU1dTZXJ2ZXJKb2JRdWV1
ZTo6ZGlkUmVzb2x2ZVJlZ2lzdHJhdGlvblByb21pc2Ugc2hvdWxkIG5vdCBhc3N1bWUgaXRzIHJl
Z2lzdHJhdGlvbiBrZXkgcmVsYXRlcyB0byBhbiBleGlzdGluZyB3b3JrZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZS5jcHAKaW5kZXggOThiMThmZWM0YzFkYzYxMTBiMTA4YjRjZWYyZjNhNDQ1
OGVhNTk0MC4uYzc1Nzc4YjFlMTVhMTc5N2EwNDg2YWE5ZjU0MDIyMjc1ZDczYmE5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKQEAgLTE4Miw2ICsxODIsMjIgQEAgVmVjdG9yPFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUoY29u
c3QgU3RyaW5nJiBuYW0KICAgICByZXR1cm4gZW50cmllczsKIH0KIAorYm9vbCBQZXJmb3JtYW5j
ZTo6YXBwZW5kQnVmZmVyZWRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlLCBW
ZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiYgZW50cmllcykgY29uc3QKK3sKKyAgICBh
dXRvIG9sZEVudHJpZXNTaXplID0gZW50cmllcy5zaXplKCk7CisgICAgaWYgKGVudHJ5VHlwZSA9
PSAicmVzb3VyY2UiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Jlc291cmNlVGlt
aW5nQnVmZmVyKTsKKworICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKKyAgICAgICAgaWYgKGVudHJ5
VHlwZS5pc051bGwoKSB8fCBlbnRyeVR5cGUgPT0gIm1hcmsiKQorICAgICAgICAgICAgZW50cmll
cy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcygpKTsKKyAgICAgICAgaWYgKGVu
dHJ5VHlwZS5pc051bGwoKSB8fCBlbnRyeVR5cGUgPT0gIm1lYXN1cmUiKQorICAgICAgICAgICAg
ZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNZWFzdXJlcygpKTsKKyAgICB9
CisKKyAgICByZXR1cm4gZW50cmllcy5zaXplKCkgPiBvbGRFbnRyaWVzU2l6ZTsKK30KKwogdm9p
ZCBQZXJmb3JtYW5jZTo6Y2xlYXJSZXNvdXJjZVRpbWluZ3MoKQogewogICAgIG1fcmVzb3VyY2VU
aW1pbmdCdWZmZXIuY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMx
YzZkM2M0NWYwMzUyMDkwNDhjYzU4OTNmZWNmNGNiNjhjOTgxLi5iN2JlMGFjZDU5YzVmMzMyMDli
YWJlZmQxMzQ2NDhjZWE1YTdhYmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC02
OCw2ICs2OCw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
PiBnZXRFbnRyaWVzKCkgY29uc3Q7CiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5
Pj4gZ2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkgY29uc3Q7CiAgICAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0RW50cmllc0J5TmFtZShjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKKyAgICBib29sIGFw
cGVuZEJ1ZmZlcmVkRW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSwgVmVjdG9y
PFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4mKSBjb25zdDsKIAogICAgIHZvaWQgY2xlYXJSZXNv
dXJjZVRpbWluZ3MoKTsKICAgICB2b2lkIHNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNp
Z25lZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAppbmRl
eCBlYTVjYzdmYzIwNmU3ZTI2ZjRmYTFjZGIyZTBiNTRiMjkwMDBlY2FkLi5hM2E4NTg4YjJhOTFm
NjQ1Y2ZkOTgyZWVhNTg4ZDYzMGNhNTE2NDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5jcHAKQEAgLTYwLDYgKzYwLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4g
UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZShJbml0JiYgaW5pdCkKICAgICBpZiAoIW1fcGVy
Zm9ybWFuY2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKIAorICAg
IGJvb2wgaXNCdWZmZXJlZCA9IGZhbHNlOwogICAgIE9wdGlvblNldDxQZXJmb3JtYW5jZUVudHJ5
OjpUeXBlPiBmaWx0ZXI7CiAgICAgaWYgKGluaXQuZW50cnlUeXBlcykgewogICAgICAgICBpZiAo
aW5pdC50eXBlKQpAQCAtODMsNiArODQsMTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGVyZm9ybWFu
Y2VPYnNlcnZlcjo6b2JzZXJ2ZShJbml0JiYgaW5pdCkKICAgICAgICAgICAgIGZpbHRlci5hZGQo
KnR5cGUpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBp
ZiAoaW5pdC5idWZmZXJlZCkgeworICAgICAgICAgICAgaXNCdWZmZXJlZCA9IHRydWU7CisgICAg
ICAgICAgICBpZiAobV9wZXJmb3JtYW5jZS0+YXBwZW5kQnVmZmVyZWRFbnRyaWVzQnlUeXBlKCpp
bml0LnR5cGUsIG1fZW50cmllc1RvRGVsaXZlcikpCisgICAgICAgICAgICAgICAgc3RkOjpzb3J0
KG1fZW50cmllc1RvRGVsaXZlci5iZWdpbigpLCBtX2VudHJpZXNUb0RlbGl2ZXIuZW5kKCksIFBl
cmZvcm1hbmNlRW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CisgICAgICAgIH0KICAg
ICAgICAgbV90eXBlRmlsdGVyLmFkZChmaWx0ZXIpOwogICAgIH0KIApAQCAtOTAsNiArOTYsOCBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKEluaXQmJiBp
bml0KQogICAgICAgICBtX3BlcmZvcm1hbmNlLT5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIo
KnRoaXMpOwogICAgICAgICBtX3JlZ2lzdGVyZWQgPSB0cnVlOwogICAgIH0KKyAgICBpZiAoaXNC
dWZmZXJlZCkKKyAgICAgICAgZGVsaXZlcigpOwogCiAgICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKaW5kZXggM2ZkZDg5ODJlZTJiN2U3
NGRlMjNmNTk5NDQxNzUyMWQ5Y2ZlNzQ1Yy4uMjg3MmYxN2FhYjViNTc2NmJmYzQ4Y2M0ODAwMDRh
ZGQ4YmRlMWZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgK
QEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIHN0cnVjdCBJbml0IHsKICAgICAgICAgT3B0
aW9uYWw8VmVjdG9yPFN0cmluZz4+IGVudHJ5VHlwZXM7CiAgICAgICAgIE9wdGlvbmFsPFN0cmlu
Zz4gdHlwZTsKKyAgICAgICAgYm9vbCBidWZmZXJlZDsKICAgICB9OwogCiAgICAgc3RhdGljIFJl
ZjxQZXJmb3JtYW5jZU9ic2VydmVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCmluZGV4IDExOTYzNTliMTEy
OTE3Mjk4OTE1ZjZmYzU4ZWNmNTgzODk1MmY4YmIuLjI2ZGZlOTE0MzZjNjY0NjU0MDExMDQ3YmRk
OTgwY2RiNGQ1OWYwZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmlkbApAQCAtNDIsNCArNDIsNSBAQAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVy
SW5pdCB7CiAgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBlbnRyeVR5cGVzOwogICAgIERPTVN0cmlu
ZyB0eXBlOworICAgIGJvb2xlYW4gYnVmZmVyZWQgPSBmYWxzZTsKIH07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWZlYjdm
NzY5NzVkY2ViZjc3NTM1ODlhM2ZkYTg5NmU5ZDExM2QxYi4uZGYwYjcxNTk1YjYyZTY2OTI0MzFk
YzlhNzljMTNiMTQ3ODM0YmQ5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA4LTA1ICBS
b2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvbWFu
Y2VPYnNlcnZlckluaXQuYnVmZmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVuc2tpcCBzb21lIHRlc3RzIGZvciBQZXJmb21hbmNlT2JzZXJ2ZXJJ
bml0LmJ1ZmZlcmVkLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wOC0w
NSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEFsbG93IG11bHRpcGxl
IGNhbGxzIHRvIFBlcmZvcm1hbmNlT2JzZXJ2ZXIub2JzZXJ2ZSB3aXRoIGRpZmZlcmVudCB0eXBl
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjk5MDYwM2I4MTI4NWMwNmNiODhl
NGVkZmZlZjk0MmRhMTNkOGYzZS4uY2VhZmFkYWU3NDExZTllMzAwZmQyZTI4YTFkNTNlZDU3M2Qy
ZThlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MjAtMDgtMDUgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1l
bnQgUGVyZm9tYW5jZU9ic2VydmVySW5pdC5idWZmZXJlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0ODgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGltcHJvdmVkIHRlc3QgZXhwZWN0YXRp
b25zLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXJlZC1mbGFnLmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFu
eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5n
L2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDgtMDUgIFJv
YiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBBbGxvdyBtdWx0aXBsZSBjYWxs
cyB0byBQZXJmb3JtYW5jZU9ic2VydmVyLm9ic2VydmUgd2l0aCBkaWZmZXJlbnQgdHlwZXMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVk
LWZsYWcuYW55LWV4cGVjdGVkLnR4dAppbmRleCBlNDczOWY1ZTQzZGVjNTBjYTdkMDI1MjYwOTRm
MjFkODNhN2UzZjUyLi5iY2E4MzUwMmEwM2I2M2VkNjU3M2Q5MWJmNWNhYzYwNDI5MzAwYTg2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAogCi1IYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBQZXJmb3JtYW5jZU9ic2Vy
dmVyIHdpdGggYnVmZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIHJlc291cmNlIGVudHJpZXMuIFRl
c3QgdGltZWQgb3V0CitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFn
IHNlZXMgcHJldmlvdXMgcmVzb3VyY2UgZW50cmllcy4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
cmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGU0NzM5ZjVlNDNkZWM1MGNhN2QwMjUyNjA5NGYyMWQ4
M2E3ZTNmNTIuLmJjYTgzNTAyYTAzYjYzZWQ2NTczZDkxYmY1Y2FjNjA0MjkzMDBhODYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
YnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKIAot
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgUGVyZm9y
bWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyByZXNvdXJjZSBl
bnRyaWVzLiBUZXN0IHRpbWVkIG91dAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVm
ZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIHJlc291cmNlIGVudHJpZXMuIAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5n
L2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0
ZWQudHh0CmluZGV4IGJmYmNkMTgwOTUwNWU0NGQ1OGNhMjZkMzMyNTAxODA0YTY4YjYxN2UuLmU0
YTgxNTZmYTQ5NDhjM2RkNDdjMzY3ODI4ZjAzMDZhMjI4YWRkNGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVy
ZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQu
dHh0CkBAIC0xLDYgKzEsNCBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKLQotVElNRU9VVCBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBz
ZWVzIHByZXZpb3VzIG1hcmtzIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgbWVhc3VyZXMgVGVzdCB0aW1l
ZCBvdXQKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBw
cmV2aW91cyBtYXJrcyAKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZs
YWcgc2VlcyBwcmV2aW91cyBtZWFzdXJlcyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CmluZGV4IGJmYmNkMTgwOTUwNWU0NGQ1OGNhMjZkMzMyNTAxODA0YTY4YjYxN2UuLmU0YTgx
NTZmYTQ5NDhjM2RkNDdjMzY3ODI4ZjAzMDZhMjI4YWRkNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQt
ZmxhZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQp
LCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZm
ZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgbWFya3MgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgUGVy
Zm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBtZWFzdXJl
cyBUZXN0IHRpbWVkIG91dAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQg
ZmxhZyBzZWVzIHByZXZpb3VzIG1hcmtzIAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGgg
YnVmZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIG1lYXN1cmVzIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405995</attachid>
            <date>2020-08-05 06:18:26 -0700</date>
            <delta_ts>2020-08-07 13:03:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214883-20200805151824.patch</filename>
            <type>text/plain</type>
            <size>16561</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTA0Y2ZkMDQwYzFhZDg3
MjRiNDVkYTY3NDIxZmEwODJkOTg1ODFmZC4uZmU1NjE5YzJhNWQ4YWMwNDc0YTI2ZGFjMWUzODYw
MDMwYjQzYjdhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA4LTA1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvbWFuY2VP
YnNlcnZlckluaXQuYnVmZmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudCBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZlcmVkIElE
TCBhbmQKKyAgICAgICAgZnVuY3Rpb25hbGl0eSBbMV0uCisKKyAgICAgICAgQmVoYXZpb3IgbWF0
Y2hlcyBDaHJvbWUgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNl
ci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1z
ZW5zaXRpdml0eS5hbnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS53b3Jr
ZXIuaHRtbAorCisgICAgICAgIFsxXSBodHRwczovL3czYy5naXRodWIuaW8vcGVyZm9ybWFuY2Ut
dGltZWxpbmUvI3BlcmZvcm1hbmNlb2JzZXJ2ZXJpbml0LWRpY3Rpb25hcnkKKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFw
cGVuZEJ1ZmZlcmVkRW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKToKKyAgICAgICAgKiBwYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuaWRsOgorCiAyMDIwLTA4LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZWdpc3RyYXRpb25EYXRhYmFzZTo6b3BlblNRTGl0ZURhdGFiYXNlIGNhbiBz
cGluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IDk4YjE4ZmVjNGMxZGM2MTEw
YjEwOGI0Y2VmMmYzYTQ0NThlYTU5NDAuLmM3NTc3OGIxZTE1YTE3OTdhMDQ4NmFhOWY1NDAyMjI3
NWQ3M2JhOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0xODIsNiArMTgy
LDIyIEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRF
bnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtCiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CiAK
K2Jvb2wgUGVyZm9ybWFuY2U6OmFwcGVuZEJ1ZmZlcmVkRW50cmllc0J5VHlwZShjb25zdCBTdHJp
bmcmIGVudHJ5VHlwZSwgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4mIGVudHJpZXMp
IGNvbnN0Cit7CisgICAgYXV0byBvbGRFbnRyaWVzU2l6ZSA9IGVudHJpZXMuc2l6ZSgpOworICAg
IGlmIChlbnRyeVR5cGUgPT0gInJlc291cmNlIikKKyAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0
b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CisKKyAgICBpZiAobV91c2VyVGltaW5nKSB7Cisg
ICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZW50cnlUeXBlID09ICJtYXJrIikKKyAg
ICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7
CisgICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZW50cnlUeXBlID09ICJtZWFzdXJl
IikKKyAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWVh
c3VyZXMoKSk7CisgICAgfQorCisgICAgcmV0dXJuIGVudHJpZXMuc2l6ZSgpID4gb2xkRW50cmll
c1NpemU7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmNsZWFyUmVzb3VyY2VUaW1pbmdzKCkKIHsK
ICAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmgKaW5kZXggZjYzMWM2ZDNjNDVmMDM1MjA5MDQ4Y2M1ODkzZmVjZjRjYjY4Yzk4MS4uYjdi
ZTBhY2Q1OWM1ZjMzMjA5YmFiZWZkMTM0NjQ4Y2VhNWE3YWJjMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaApAQCAtNjgsNiArNjgsNyBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPFJlZlB0cjxQ
ZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0RW50cmllcygpIGNvbnN0OwogICAgIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJiBlbnRyeVR5
cGUpIGNvbnN0OwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJp
ZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkgY29u
c3Q7CisgICAgYm9vbCBhcHBlbmRCdWZmZXJlZEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJiBl
bnRyeVR5cGUsIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+JikgY29uc3Q7CiAKICAg
ICB2b2lkIGNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CiAgICAgdm9pZCBzZXRSZXNvdXJjZVRpbWlu
Z0J1ZmZlclNpemUodW5zaWduZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5jcHAKaW5kZXggZWE1Y2M3ZmMyMDZlN2UyNmY0ZmExY2RiMmUwYjU0YjI5MDAwZWNh
ZC4uYTNhODU4OGIyYTkxZjY0NWNmZDk4MmVlYTU4OGQ2MzBjYTUxNjQ0NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCkBAIC02MCw2ICs2MCw3IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6Om9ic2VydmUoSW5pdCYmIGluaXQp
CiAgICAgaWYgKCFtX3BlcmZvcm1hbmNlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlw
ZUVycm9yIH07CiAKKyAgICBib29sIGlzQnVmZmVyZWQgPSBmYWxzZTsKICAgICBPcHRpb25TZXQ8
UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gZmlsdGVyOwogICAgIGlmIChpbml0LmVudHJ5VHlwZXMp
IHsKICAgICAgICAgaWYgKGluaXQudHlwZSkKQEAgLTgzLDYgKzg0LDExIEBAIEV4Y2VwdGlvbk9y
PHZvaWQ+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6Om9ic2VydmUoSW5pdCYmIGluaXQpCiAgICAgICAg
ICAgICBmaWx0ZXIuYWRkKCp0eXBlKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICAgICAgaWYgKGluaXQuYnVmZmVyZWQpIHsKKyAgICAgICAgICAgIGlzQnVmZmVy
ZWQgPSB0cnVlOworICAgICAgICAgICAgaWYgKG1fcGVyZm9ybWFuY2UtPmFwcGVuZEJ1ZmZlcmVk
RW50cmllc0J5VHlwZSgqaW5pdC50eXBlLCBtX2VudHJpZXNUb0RlbGl2ZXIpKQorICAgICAgICAg
ICAgICAgIHN0ZDo6c29ydChtX2VudHJpZXNUb0RlbGl2ZXIuYmVnaW4oKSwgbV9lbnRyaWVzVG9E
ZWxpdmVyLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4p
OworICAgICAgICB9CiAgICAgICAgIG1fdHlwZUZpbHRlci5hZGQoZmlsdGVyKTsKICAgICB9CiAK
QEAgLTkwLDYgKzk2LDggQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6
b2JzZXJ2ZShJbml0JiYgaW5pdCkKICAgICAgICAgbV9wZXJmb3JtYW5jZS0+cmVnaXN0ZXJQZXJm
b3JtYW5jZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgbV9yZWdpc3RlcmVkID0gdHJ1ZTsKICAg
ICB9CisgICAgaWYgKGlzQnVmZmVyZWQpCisgICAgICAgIGRlbGl2ZXIoKTsKIAogICAgIHJldHVy
biB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCmluZGV4
IDNmZGQ4OTgyZWUyYjdlNzRkZTIzZjU5OTQ0MTc1MjFkOWNmZTc0NWMuLjI4NzJmMTdhYWI1YjU3
NjZiZmM0OGNjNDgwMDA0YWRkOGJkZTFmZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlci5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICBzdHJ1Y3QgSW5p
dCB7CiAgICAgICAgIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBlbnRyeVR5cGVzOwogICAgICAg
ICBPcHRpb25hbDxTdHJpbmc+IHR5cGU7CisgICAgICAgIGJvb2wgYnVmZmVyZWQ7CiAgICAgfTsK
IAogICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2s+JiYg
Y2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbApp
bmRleCAxMTk2MzU5YjExMjkxNzI5ODkxNWY2ZmM1OGVjZjU4Mzg5NTJmOGJiLi4yNmRmZTkxNDM2
YzY2NDY1NDAxMTA0N2JkZDk4MGNkYjRkNTlmMGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKQEAgLTQyLDQgKzQyLDUgQEAKIGRpY3Rpb25hcnkgUGVy
Zm9ybWFuY2VPYnNlcnZlckluaXQgewogICAgIHNlcXVlbmNlPERPTVN0cmluZz4gZW50cnlUeXBl
czsKICAgICBET01TdHJpbmcgdHlwZTsKKyAgICBib29sZWFuIGJ1ZmZlcmVkID0gZmFsc2U7CiB9
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDVmZWI3Zjc2OTc1ZGNlYmY3NzUzNTg5YTNmZGE4OTZlOWQxMTNkMWIuLmRmMGI3
MTU5NWI2MmU2NjkyNDMxZGM5YTc5YzEzYjE0NzgzNGJkOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAyMC0wOC0wNSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIElt
cGxlbWVudCBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZlcmVkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ4ODMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgc29tZSB0ZXN0cyBmb3IgUGVy
Zm9tYW5jZU9ic2VydmVySW5pdC5idWZmZXJlZC4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlv
bnM6CisKIDIwMjAtMDgtMDUgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBBbGxvdyBtdWx0aXBsZSBjYWxscyB0byBQZXJmb3JtYW5jZU9ic2VydmVyLm9ic2VydmUgd2l0
aCBkaWZmZXJlbnQgdHlwZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDY5OTA2
MDNiODEyODVjMDZjYjg4ZTRlZGZmZWY5NDJkYTEzZDhmM2UuLmMzNDU2ZjdlZTg4MmZmYjE5Y2Ez
ZTI1YjQ3NTEzMTFmZmI0N2Q5MTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIyIEBACisyMDIwLTA4LTA1ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisK
KyAgICAgICAgSW1wbGVtZW50IFBlcmZvbWFuY2VPYnNlcnZlckluaXQuYnVmZmVyZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDg4MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBpbXByb3Zl
ZCB0ZXN0IGV4cGVjdGF0aW9ucyBhbmQgYWRkIHN1YnRlc3RzIGZvcgorICAgICAgICBjYXNlIHNl
bnNpdGl2aXR5IG9mIHR5cGUvZW50cnlUeXBlcyBpbiBvYnNlcnZlIGNhbGwuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0
eS5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3Jt
YW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS5qczoKKyAgICAgICAgKGFzeW5jX3Rl
c3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9j
YXNlLXNlbnNpdGl2aXR5LmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
ZWQtZmxhZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA4LTA1ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CiAKICAgICAgICAgQWxsb3cgbXVsdGlwbGUgY2FsbHMgdG8gUGVyZm9ybWFuY2VPYnNlcnZl
ci5vYnNlcnZlIHdpdGggZGlmZmVyZW50IHR5cGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmMGVm
YTdhOWZlMTVkNmRhODkyZmZjNzY3YWFlNWRlNDAxMjNkZmNhLi4xYjQ4NWVmMzQxNTVlNmQ4Nzc4
ZDU3NmFjYzRiZDM0YzRmODNhOWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ1MTUsOCArNDUx
NSwzIEBAIHdlYmtpdC5vcmcvYi8yMTQ0NjcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2NhbnZhcy9lbGVtZW50L2RyYXdpbmctCiAKICMgV2ViS2l0MiBvbmx5LgoganMvdGhy
b3ctbGFyZ2Utc3RyaW5nLW9vbS5odG1sIFsgU2tpcCBdCi0KLXdlYmtpdC5vcmcvYi8yMTQ4ODMg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQt
ZmxhZy5hbnkuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzIxNDg4MyBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3Jr
ZXIuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzIxNDg4MyBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lmh0bWwgWyBTa2lwIF0K
LXdlYmtpdC5vcmcvYi8yMTQ4ODMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91c2Vy
LXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXIuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5j
ZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BlcmZvcm1hbmNlLXRpbWVsaW5lL2Nh
c2Utc2Vuc2l0aXZpdHkuYW55LWV4cGVjdGVkLnR4dAppbmRleCAxZWJlZGUzMjBjZGVlNDVmNGI5
MDliMWI4MGQ0MTNjMzAyNjdlNGFhLi41OGM5ZDk1MWQ0Y2Y2MGY4Yjk3NzY0MDI0YzdjNWM3NTRl
MDkxZGNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BlcmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHkuYW55LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHkuYW55LWV4cGVjdGVkLnR4dApAQCAt
MSw0ICsxLDggQEAKIAogUEFTUyBnZXRFbnRyaWVzQnlUeXBlIHZhbHVlcyBhcmUgY2FzZSBzZW5z
aXRpdmUgCiBQQVNTIGdldEVudHJpZXNCeU5hbWUgdmFsdWVzIGFyZSBjYXNlIHNlbnNpdGl2ZSAK
K1BBU1Mgb2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciB0eXBlcy4gCitQQVNTIG9i
c2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgdHlwZXMgd2l0aCBidWZmZXJlZD10cnVl
LiAKK1BBU1Mgb2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciBlbnRyeVR5cGVzLiAK
K1BBU1Mgb2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciBlbnRyeVR5cGVzIDIuIAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BlcmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHkuYW55LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9j
YXNlLXNlbnNpdGl2aXR5LmFueS5qcwppbmRleCA1ODhiNTljYzZhNzk2YjY0YWE0YWQ0MjEzNzcw
MDQzMDgwNWExZDE2Li5hMDcwOWQwN2I4NzViZGU5NTNkYmQ5YWIxODExYzUzMzRiMmEzZTdlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHkuYW55LmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUv
Y2FzZS1zZW5zaXRpdml0eS5hbnkuanMKQEAgLTI3LDMgKzI3LDc0IEBACiAgICAgYXNzZXJ0X2Vx
dWFscyhtaXhlZExpc3QubGVuZ3RoLCAwLCAiZ2V0RW50cmllc0J5TmFtZSgnIiArIGxvY2F0aW9u
MiArICInKS5sZW5ndGgiKTsKIAogICB9LCAiZ2V0RW50cmllc0J5TmFtZSB2YWx1ZXMgYXJlIGNh
c2Ugc2Vuc2l0aXZlIik7CisKKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGxldCBv
YnNlcnZlckNhbGxlZCA9IGZhbHNlOworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIoCisgICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbiAoZW50cnlMaXN0LCBvYnMp
IHsKKyAgICAgICAgb2JzZXJ2ZXJDYWxsZWQgPSB0cnVlOworICAgICAgfSkKKyAgICApOworICAg
IG9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICJNYXJrIn0pOworICAgIG9ic2VydmVyLm9ic2VydmUo
e3R5cGU6ICJNZWFzdXJlIn0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICJNQVJLIn0p
OworICAgIG9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICJNRUFTVVJFIn0pOworICAgIHNlbGYucGVy
Zm9ybWFuY2UubWFyaygibWFyazEiKTsKKyAgICBzZWxmLnBlcmZvcm1hbmNlLm1lYXN1cmUoIm1l
YXN1cmUxIik7CisgICAgdC5zdGVwX3RpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRf
ZmFsc2Uob2JzZXJ2ZXJDYWxsZWQsICJPYnNlcnZlciBzaG91bGQgbm90IGJlIGNhbGxlZC4iKTsK
KyAgICAgIHQuZG9uZSgpOworICAgIH0sIDEwMDApOworfSAgLCAib2JzZXJ2ZSgpIGFuZCBjYXNl
IHNlbnNpdGl2aXR5IGZvciB0eXBlcy4iKTsKKworICBhc3luY190ZXN0KGZ1bmN0aW9uICh0KSB7
CisgICAgbGV0IG9ic2VydmVyQ2FsbGVkID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigKKyAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uIChlbnRy
eUxpc3QsIG9icykgeworICAgICAgICBvYnNlcnZlckNhbGxlZCA9IHRydWU7CisgICAgICB9KQor
ICAgICk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogIk1hcmsiLCBidWZmZXJlZDogdHJ1
ZX0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICJNZWFzdXJlIiwgYnVmZmVyZWQ6IHRy
dWV9KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAiTUFSSyIsIGJ1ZmZlcmVkOiB0cnVl
fSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogIk1FQVNVUkUiLCBidWZmZXJlZDogdHJ1
ZX0pOworICAgIHNlbGYucGVyZm9ybWFuY2UubWFyaygibWFyazEiKTsKKyAgICBzZWxmLnBlcmZv
cm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUxIik7CisgICAgdC5zdGVwX3RpbWVvdXQoZnVuY3Rpb24o
KSB7CisgICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZXJDYWxsZWQsICJPYnNlcnZlciBzaG91bGQg
bm90IGJlIGNhbGxlZC4iKTsKKyAgICAgIHQuZG9uZSgpOworICAgIH0sIDEwMDApOworICB9LCAi
b2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciB0eXBlcyB3aXRoIGJ1ZmZlcmVkPXRy
dWUuIik7CisKKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGxldCBvYnNlcnZlckNh
bGxlZCA9IGZhbHNlOworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2
ZXIoCisgICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbiAoZW50cnlMaXN0LCBvYnMpIHsKKyAgICAg
ICAgb2JzZXJ2ZXJDYWxsZWQgPSB0cnVlOworICAgICAgfSkKKyAgICApOworICAgIG9ic2VydmVy
Lm9ic2VydmUoe2VudHJ5VHlwZXM6IFsiTWFyayIsICJNZWFzdXJlIl19KTsKKyAgICBzZWxmLnBl
cmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7CisgICAgc2VsZi5wZXJmb3JtYW5jZS5tZWFzdXJlKCJt
ZWFzdXJlMSIpOworICAgIHQuc3RlcF90aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0
X2ZhbHNlKG9ic2VydmVyQ2FsbGVkLCAiT2JzZXJ2ZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIik7
CisgICAgICB0LmRvbmUoKTsKKyAgICB9LCAxMDAwKTsKKyAgfSwgIm9ic2VydmUoKSBhbmQgY2Fz
ZSBzZW5zaXRpdml0eSBmb3IgZW50cnlUeXBlcy4iKTsKKworICBhc3luY190ZXN0KGZ1bmN0aW9u
ICh0KSB7CisgICAgbGV0IG9ic2VydmVyQ2FsbGVkID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2
ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigKKyAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9u
IChlbnRyeUxpc3QsIG9icykgeworICAgICAgICBvYnNlcnZlckNhbGxlZCA9IHRydWU7CisgICAg
ICB9KQorICAgICk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJNQVJLIiwg
Ik1FQVNVUkUiXX0pOworICAgIHNlbGYucGVyZm9ybWFuY2UubWFyaygibWFyazEiKTsKKyAgICBz
ZWxmLnBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUxIik7CisgICAgdC5zdGVwX3RpbWVvdXQo
ZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZXJDYWxsZWQsICJPYnNlcnZl
ciBzaG91bGQgbm90IGJlIGNhbGxlZC4iKTsKKyAgICAgIHQuZG9uZSgpOworICAgIH0sIDEwMDAp
OworICB9LCAib2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciBlbnRyeVR5cGVzIDIu
Iik7CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0eS5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0eS5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dAppbmRleCAxZWJlZGUzMjBjZGVlNDVmNGI5MDliMWI4MGQ0MTNjMzAyNjdlNGFhLi41OGM5
ZDk1MWQ0Y2Y2MGY4Yjk3NzY0MDI0YzdjNWM3NTRlMDkxZGNiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BlcmZvcm1hbmNlLXRpbWVsaW5l
L2Nhc2Utc2Vuc2l0aXZpdHkuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9j
YXNlLXNlbnNpdGl2aXR5LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsOCBAQAog
CiBQQVNTIGdldEVudHJpZXNCeVR5cGUgdmFsdWVzIGFyZSBjYXNlIHNlbnNpdGl2ZSAKIFBBU1Mg
Z2V0RW50cmllc0J5TmFtZSB2YWx1ZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlIAorUEFTUyBvYnNlcnZl
KCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHR5cGVzLiAKK1BBU1Mgb2JzZXJ2ZSgpIGFuZCBj
YXNlIHNlbnNpdGl2aXR5IGZvciB0eXBlcyB3aXRoIGJ1ZmZlcmVkPXRydWUuIAorUEFTUyBvYnNl
cnZlKCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIGVudHJ5VHlwZXMuIAorUEFTUyBvYnNlcnZl
KCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIGVudHJ5VHlwZXMgMi4gCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55
LWV4cGVjdGVkLnR4dAppbmRleCBlNDczOWY1ZTQzZGVjNTBjYTdkMDI1MjYwOTRmMjFkODNhN2Uz
ZjUyLi5iY2E4MzUwMmEwM2I2M2VkNjU3M2Q5MWJmNWNhYzYwNDI5MzAwYTg2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXJlZC1mbGFnLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQtZmxh
Zy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1F
T1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGgg
YnVmZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIHJlc291cmNlIGVudHJpZXMuIFRlc3QgdGltZWQg
b3V0CitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJl
dmlvdXMgcmVzb3VyY2UgZW50cmllcy4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcu
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IGU0NzM5ZjVlNDNkZWM1MGNhN2QwMjUyNjA5NGYyMWQ4M2E3ZTNmNTIu
LmJjYTgzNTAyYTAzYjYzZWQ2NTczZDkxYmY1Y2FjNjA0MjkzMDBhODYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQt
ZmxhZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKIAotSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgUGVyZm9ybWFuY2VPYnNl
cnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyByZXNvdXJjZSBlbnRyaWVzLiBU
ZXN0IHRpbWVkIG91dAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxh
ZyBzZWVzIHByZXZpb3VzIHJlc291cmNlIGVudHJpZXMuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVk
LWZsYWcuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0Cmlu
ZGV4IGJmYmNkMTgwOTUwNWU0NGQ1OGNhMjZkMzMyNTAxODA0YTY4YjYxN2UuLmU0YTgxNTZmYTQ5
NDhjM2RkNDdjMzY3ODI4ZjAzMDZhMjI4YWRkNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5h
bnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0CkBAIC0x
LDYgKzEsNCBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQot
VElNRU9VVCBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBzZWVzIHByZXZp
b3VzIG1hcmtzIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0
aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgbWVhc3VyZXMgVGVzdCB0aW1lZCBvdXQKK1BB
U1MgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBt
YXJrcyAKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBw
cmV2aW91cyBtZWFzdXJlcyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4
IGJmYmNkMTgwOTUwNWU0NGQ1OGNhMjZkMzMyNTAxODA0YTY4YjYxN2UuLmU0YTgxNTZmYTQ5NDhj
M2RkNDdjMzY3ODI4ZjAzMDZhMjI4YWRkNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw0IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAotCi1USU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFn
IHNlZXMgcHJldmlvdXMgbWFya3MgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgUGVyZm9ybWFuY2VP
YnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBtZWFzdXJlcyBUZXN0IHRp
bWVkIG91dAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBzZWVz
IHByZXZpb3VzIG1hcmtzIAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQg
ZmxhZyBzZWVzIHByZXZpb3VzIG1lYXN1cmVzIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406202</attachid>
            <date>2020-08-07 13:03:40 -0700</date>
            <delta_ts>2020-08-19 08:32:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214883-20200807220338.patch</filename>
            <type>text/plain</type>
            <size>16580</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU3ODIzZjRhYzE3MTE1
MWE5NDU0ODNkMDUxMjI3M2MyYmIxODkzNy4uMzVlY2I2NGUxMmVmNjZjNTJhZWQ3NzU0OTVmZDZk
ODg0NzZmYzJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA4LTA3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvbWFuY2VP
YnNlcnZlckluaXQuYnVmZmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgor
CisgICAgICAgIEltcGxlbWVudCBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZlcmVkIElETCBh
bmQKKyAgICAgICAgZnVuY3Rpb25hbGl0eSBbMV0uCisKKyAgICAgICAgQmVoYXZpb3IgbWF0Y2hl
cyBDaHJvbWUgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10
aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5z
aXRpdml0eS5hbnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS53b3JrZXIu
aHRtbAorCisgICAgICAgIFsxXSBodHRwczovL3czYy5naXRodWIuaW8vcGVyZm9ybWFuY2UtdGlt
ZWxpbmUvI3BlcmZvcm1hbmNlb2JzZXJ2ZXJpbml0LWRpY3Rpb25hcnkKKworICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFwcGVu
ZEJ1ZmZlcmVkRW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
aWRsOgorCiAyMDIwLTA4LTA3ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNv
bT4KIAogICAgICAgICBSZWR1Y2UgdGhlIGFtb3VudCBvZiBjdXN0b20gYmluZGluZyBjb2RlIGZv
ciBKU1hQYXRoTlNSZXNvbHZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCA5
OGIxOGZlYzRjMWRjNjExMGIxMDhiNGNlZjJmM2E0NDU4ZWE1OTQwLi5jNzU3NzhiMWUxNWExNzk3
YTA0ODZhYTlmNTQwMjIyNzVkNzNiYTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNw
cApAQCAtMTgyLDYgKzE4MiwyMiBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQ
ZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5hbQogICAgIHJldHVy
biBlbnRyaWVzOwogfQogCitib29sIFBlcmZvcm1hbmNlOjphcHBlbmRCdWZmZXJlZEVudHJpZXNC
eVR5cGUoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VF
bnRyeT4+JiBlbnRyaWVzKSBjb25zdAoreworICAgIGF1dG8gb2xkRW50cmllc1NpemUgPSBlbnRy
aWVzLnNpemUoKTsKKyAgICBpZiAoZW50cnlUeXBlID09ICJyZXNvdXJjZSIpCisgICAgICAgIGVu
dHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIpOworCisgICAgaWYgKG1f
dXNlclRpbWluZykgeworICAgICAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVudHJ5VHlw
ZSA9PSAibWFyayIpCisgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1p
bmctPmdldE1hcmtzKCkpOworICAgICAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVudHJ5
VHlwZSA9PSAibWVhc3VyZSIpCisgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Vz
ZXJUaW1pbmctPmdldE1lYXN1cmVzKCkpOworICAgIH0KKworICAgIHJldHVybiBlbnRyaWVzLnNp
emUoKSA+IG9sZEVudHJpZXNTaXplOworfQorCiB2b2lkIFBlcmZvcm1hbmNlOjpjbGVhclJlc291
cmNlVGltaW5ncygpCiB7CiAgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5jbGVhcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IGY2MzFjNmQzYzQ1ZjAzNTIwOTA0OGNjNTg5M2Zl
Y2Y0Y2I2OGM5ODEuLmI3YmUwYWNkNTljNWYzMzIwOWJhYmVmZDEzNDY0OGNlYTVhN2FiYzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKQEAgLTY4LDYgKzY4LDcgQEAgcHVibGljOgogICAg
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXMoKSBjb25zdDsKICAg
ICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlUeXBlKGNvbnN0
IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBlbnRyeVR5cGUpIGNvbnN0OworICAgIGJvb2wgYXBwZW5kQnVmZmVyZWRFbnRyaWVzQnlUeXBl
KGNvbnN0IFN0cmluZyYgZW50cnlUeXBlLCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
PiYpIGNvbnN0OwogCiAgICAgdm9pZCBjbGVhclJlc291cmNlVGltaW5ncygpOwogICAgIHZvaWQg
c2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCmluZGV4IGVhNWNjN2ZjMjA2ZTdlMjZmNGZhMWNk
YjJlMGI1NGIyOTAwMGVjYWQuLjcxNThhZDZkNjhlNWVhMTQ1NGMzMTYyZTlkNjBlZjA3ZTQ5MDlh
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcApAQCAt
NjAsNiArNjAsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNl
cnZlKEluaXQmJiBpbml0KQogICAgIGlmICghbV9wZXJmb3JtYW5jZSkKICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OwogCisgICAgYm9vbCBpc0J1ZmZlcmVkID0gZmFsc2U7
CiAgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IGZpbHRlcjsKICAgICBpZiAo
aW5pdC5lbnRyeVR5cGVzKSB7CiAgICAgICAgIGlmIChpbml0LnR5cGUpCkBAIC04Myw2ICs4NCwx
MSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKEluaXQm
JiBpbml0KQogICAgICAgICAgICAgZmlsdGVyLmFkZCgqdHlwZSk7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIGlmIChpbml0LmJ1ZmZlcmVkKSB7CisgICAg
ICAgICAgICBpc0J1ZmZlcmVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChtX3BlcmZvcm1hbmNl
LT5hcHBlbmRCdWZmZXJlZEVudHJpZXNCeVR5cGUoKmluaXQudHlwZSwgbV9lbnRyaWVzVG9EZWxp
dmVyKSkKKyAgICAgICAgICAgICAgICBzdGQ6OnN0YWJsZV9zb3J0KG1fZW50cmllc1RvRGVsaXZl
ci5iZWdpbigpLCBtX2VudHJpZXNUb0RlbGl2ZXIuZW5kKCksIFBlcmZvcm1hbmNlRW50cnk6OnN0
YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CisgICAgICAgIH0KICAgICAgICAgbV90eXBlRmlsdGVy
LmFkZChmaWx0ZXIpOwogICAgIH0KIApAQCAtOTAsNiArOTYsOCBAQCBFeGNlcHRpb25Pcjx2b2lk
PiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKEluaXQmJiBpbml0KQogICAgICAgICBtX3Bl
cmZvcm1hbmNlLT5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBt
X3JlZ2lzdGVyZWQgPSB0cnVlOwogICAgIH0KKyAgICBpZiAoaXNCdWZmZXJlZCkKKyAgICAgICAg
ZGVsaXZlcigpOwogCiAgICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmgKaW5kZXggM2ZkZDg5ODJlZTJiN2U3NGRlMjNmNTk5NDQxNzUyMWQ5
Y2ZlNzQ1Yy4uMjg3MmYxN2FhYjViNTc2NmJmYzQ4Y2M0ODAwMDRhZGQ4YmRlMWZmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKQEAgLTQzLDYgKzQzLDcgQEAg
cHVibGljOgogICAgIHN0cnVjdCBJbml0IHsKICAgICAgICAgT3B0aW9uYWw8VmVjdG9yPFN0cmlu
Zz4+IGVudHJ5VHlwZXM7CiAgICAgICAgIE9wdGlvbmFsPFN0cmluZz4gdHlwZTsKKyAgICAgICAg
Ym9vbCBidWZmZXJlZDsKICAgICB9OwogCiAgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU9ic2Vy
dmVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFBlcmZvcm1h
bmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCmluZGV4IDExOTYzNTliMTEyOTE3Mjk4OTE1ZjZmYzU4ZWNm
NTgzODk1MmY4YmIuLjI2ZGZlOTE0MzZjNjY0NjU0MDExMDQ3YmRkOTgwY2RiNGQ1OWYwZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbApAQCAtNDIsNCAr
NDIsNSBAQAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CiAgICAgc2VxdWVu
Y2U8RE9NU3RyaW5nPiBlbnRyeVR5cGVzOwogICAgIERPTVN0cmluZyB0eXBlOworICAgIGJvb2xl
YW4gYnVmZmVyZWQgPSBmYWxzZTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmY4YTEwZmIzYjA0NmYyZmFiYTIwZmM2
OWQyNjlhNDI2ZGRiM2QwZi4uMDg1MGFkNTY0OTE3Yzc5NDIzOGQzOTJhMGUwYmE5ZDQ5YzA3NmIy
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA4LTA3ICBSb2IgQnVpcyAgPHJidWlzQGln
YWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvbWFuY2VPYnNlcnZlckluaXQuYnVm
ZmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
NDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFVuc2tp
cCBzb21lIHRlc3RzIGZvciBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZlcmVkLgorCisgICAg
ICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wOC0wNyAgQWxleGV5IFNodmF5a2EgIDxz
aHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAgUmVkdWNlIHRoZSBhbW91bnQgb2YgY3Vz
dG9tIGJpbmRpbmcgY29kZSBmb3IgSlNYUGF0aE5TUmVzb2x2ZXIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDQ1ZGNjNzI1YjQxYzRjZmNjZTE1ZWM4OWIwMmIyYjk4NmY0NzE3Y2Uu
LjBmY2UwZGI1MGU4NjZkMThmNDA3YmI0ZGNkMDlmZmY2ZGMwZWNjZjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA4LTA3ICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvbWFuY2VPYnNlcnZl
ckluaXQuYnVmZmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFVwZGF0ZSBpbXByb3ZlZCB0ZXN0IGV4cGVjdGF0aW9ucyBhbmQgYWRkIHN1YnRlc3RzIGZv
cgorICAgICAgICBjYXNlIHNlbnNpdGl2aXR5IG9mIHR5cGUvZW50cnlUeXBlcyBpbiBvYnNlcnZl
IGNhbGwuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxp
bmUvY2FzZS1zZW5zaXRpdml0eS5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS5qczoK
KyAgICAgICAgKGFzeW5jX3Rlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJm
b3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS53b3JrZXItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQt
ZmxhZy5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZm
ZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA4LTA3ICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBSZWR1Y2UgdGhlIGFt
b3VudCBvZiBjdXN0b20gYmluZGluZyBjb2RlIGZvciBKU1hQYXRoTlNSZXNvbHZlcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMzI3ZjViNTY1YjdhYTI5N2U3NjdlZWU1YzY3NDc1MjExZDllODRkNy4u
NDhkMTFlOWY4NjUxYmE1NTM3MThkOWU1M2Q1OTkzMWJiNWYwYzM4NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCkBAIC00NTE2LDggKzQ1MTYsMyBAQCB3ZWJraXQub3JnL2IvMjE0NDY3IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC9kcmF3aW5nLQogCiAjIFdl
YktpdDIgb25seS4KIGpzL3Rocm93LWxhcmdlLXN0cmluZy1vb20uaHRtbCBbIFNraXAgXQotCi13
ZWJraXQub3JnL2IvMjE0ODgzIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8y
MTQ4ODMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyZWQtZmxhZy5hbnkud29ya2VyLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8yMTQ4ODMg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFn
LmFueS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMjE0ODgzIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2VyLmh0bWwg
WyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0eS5hbnktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJm
b3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS1leHBlY3RlZC50eHQKaW5kZXgg
MWViZWRlMzIwY2RlZTQ1ZjRiOTA5YjFiODBkNDEzYzMwMjY3ZTRhYS4uNThjOWQ5NTFkNGNmNjBm
OGI5Nzc2NDAyNGM3YzVjNzU0ZTA5MWRjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNp
dGl2aXR5LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFu
eS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw4IEBACiAKIFBBU1MgZ2V0RW50cmllc0J5VHlwZSB2
YWx1ZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlIAogUEFTUyBnZXRFbnRyaWVzQnlOYW1lIHZhbHVlcyBh
cmUgY2FzZSBzZW5zaXRpdmUgCitQQVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBm
b3IgdHlwZXMuIAorUEFTUyBvYnNlcnZlKCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHR5cGVz
IHdpdGggYnVmZmVyZWQ9dHJ1ZS4gCitQQVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0
eSBmb3IgZW50cnlUeXBlcy4gCitQQVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBm
b3IgZW50cnlUeXBlcyAyLiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5
LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
Zm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0eS5hbnkuanMKaW5kZXggNTg4YjU5Y2M2
YTc5NmI2NGFhNGFkNDIxMzc3MDA0MzA4MDVhMWQxNi4uYTA3MDlkMDdiODc1YmRlOTUzZGJkOWFi
MTgxMWM1MzM0YjJhM2U3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFu
eS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHkuYW55LmpzCkBAIC0yNywzICsyNyw3
NCBAQAogICAgIGFzc2VydF9lcXVhbHMobWl4ZWRMaXN0Lmxlbmd0aCwgMCwgImdldEVudHJpZXNC
eU5hbWUoJyIgKyBsb2NhdGlvbjIgKyAiJykubGVuZ3RoIik7CiAKICAgfSwgImdldEVudHJpZXNC
eU5hbWUgdmFsdWVzIGFyZSBjYXNlIHNlbnNpdGl2ZSIpOworCisgIGFzeW5jX3Rlc3QoZnVuY3Rp
b24gKHQpIHsKKyAgICBsZXQgb2JzZXJ2ZXJDYWxsZWQgPSBmYWxzZTsKKyAgICBjb25zdCBvYnNl
cnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKAorICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rp
b24gKGVudHJ5TGlzdCwgb2JzKSB7CisgICAgICAgIG9ic2VydmVyQ2FsbGVkID0gdHJ1ZTsKKyAg
ICAgIH0pCisgICAgKTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAiTWFyayJ9KTsKKyAg
ICBvYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAiTWVhc3VyZSJ9KTsKKyAgICBvYnNlcnZlci5vYnNl
cnZlKHt0eXBlOiAiTUFSSyJ9KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAiTUVBU1VS
RSJ9KTsKKyAgICBzZWxmLnBlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7CisgICAgc2VsZi5wZXJm
b3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlMSIpOworICAgIHQuc3RlcF90aW1lb3V0KGZ1bmN0aW9u
KCkgeworICAgICAgYXNzZXJ0X2ZhbHNlKG9ic2VydmVyQ2FsbGVkLCAiT2JzZXJ2ZXIgc2hvdWxk
IG5vdCBiZSBjYWxsZWQuIik7CisgICAgICB0LmRvbmUoKTsKKyAgICB9LCAxMDAwKTsKK30gICwg
Im9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgdHlwZXMuIik7CisKKyAgYXN5bmNf
dGVzdChmdW5jdGlvbiAodCkgeworICAgIGxldCBvYnNlcnZlckNhbGxlZCA9IGZhbHNlOworICAg
IGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoCisgICAgICB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbiAoZW50cnlMaXN0LCBvYnMpIHsKKyAgICAgICAgb2JzZXJ2ZXJDYWxsZWQg
PSB0cnVlOworICAgICAgfSkKKyAgICApOworICAgIG9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICJN
YXJrIiwgYnVmZmVyZWQ6IHRydWV9KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAiTWVh
c3VyZSIsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogIk1B
UksiLCBidWZmZXJlZDogdHJ1ZX0pOworICAgIG9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICJNRUFT
VVJFIiwgYnVmZmVyZWQ6IHRydWV9KTsKKyAgICBzZWxmLnBlcmZvcm1hbmNlLm1hcmsoIm1hcmsx
Iik7CisgICAgc2VsZi5wZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlMSIpOworICAgIHQuc3Rl
cF90aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2ZhbHNlKG9ic2VydmVyQ2FsbGVk
LCAiT2JzZXJ2ZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIik7CisgICAgICB0LmRvbmUoKTsKKyAg
ICB9LCAxMDAwKTsKKyAgfSwgIm9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgdHlw
ZXMgd2l0aCBidWZmZXJlZD10cnVlLiIpOworCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsK
KyAgICBsZXQgb2JzZXJ2ZXJDYWxsZWQgPSBmYWxzZTsKKyAgICBjb25zdCBvYnNlcnZlciA9IG5l
dyBQZXJmb3JtYW5jZU9ic2VydmVyKAorICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24gKGVudHJ5
TGlzdCwgb2JzKSB7CisgICAgICAgIG9ic2VydmVyQ2FsbGVkID0gdHJ1ZTsKKyAgICAgIH0pCisg
ICAgKTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIk1hcmsiLCAiTWVhc3Vy
ZSJdfSk7CisgICAgc2VsZi5wZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOworICAgIHNlbGYucGVy
Zm9ybWFuY2UubWVhc3VyZSgibWVhc3VyZTEiKTsKKyAgICB0LnN0ZXBfdGltZW91dChmdW5jdGlv
bigpIHsKKyAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlckNhbGxlZCwgIk9ic2VydmVyIHNob3Vs
ZCBub3QgYmUgY2FsbGVkLiIpOworICAgICAgdC5kb25lKCk7CisgICAgfSwgMTAwMCk7CisgIH0s
ICJvYnNlcnZlKCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIGVudHJ5VHlwZXMuIik7CisKKyAg
YXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGxldCBvYnNlcnZlckNhbGxlZCA9IGZhbHNl
OworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoCisgICAgICB0
LnN0ZXBfZnVuYyhmdW5jdGlvbiAoZW50cnlMaXN0LCBvYnMpIHsKKyAgICAgICAgb2JzZXJ2ZXJD
YWxsZWQgPSB0cnVlOworICAgICAgfSkKKyAgICApOworICAgIG9ic2VydmVyLm9ic2VydmUoe2Vu
dHJ5VHlwZXM6IFsiTUFSSyIsICJNRUFTVVJFIl19KTsKKyAgICBzZWxmLnBlcmZvcm1hbmNlLm1h
cmsoIm1hcmsxIik7CisgICAgc2VsZi5wZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlMSIpOwor
ICAgIHQuc3RlcF90aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0X2ZhbHNlKG9ic2Vy
dmVyQ2FsbGVkLCAiT2JzZXJ2ZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIik7CisgICAgICB0LmRv
bmUoKTsKKyAgICB9LCAxMDAwKTsKKyAgfSwgIm9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0
eSBmb3IgZW50cnlUeXBlcyAyLiIpOworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BlcmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0
aXZpdHkuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BlcmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHku
YW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggMWViZWRlMzIwY2RlZTQ1ZjRiOTA5YjFiODBk
NDEzYzMwMjY3ZTRhYS4uNThjOWQ5NTFkNGNmNjBmOGI5Nzc2NDAyNGM3YzVjNzU0ZTA5MWRjYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVy
Zm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0eS5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDggQEAKIAogUEFTUyBnZXRFbnRyaWVzQnlUeXBlIHZhbHVlcyBhcmUgY2Fz
ZSBzZW5zaXRpdmUgCiBQQVNTIGdldEVudHJpZXNCeU5hbWUgdmFsdWVzIGFyZSBjYXNlIHNlbnNp
dGl2ZSAKK1BBU1Mgb2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciB0eXBlcy4gCitQ
QVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgdHlwZXMgd2l0aCBidWZmZXJl
ZD10cnVlLiAKK1BBU1Mgb2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciBlbnRyeVR5
cGVzLiAKK1BBU1Mgb2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciBlbnRyeVR5cGVz
IDIuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9idWZmZXJlZC1mbGFnLmFueS1leHBlY3RlZC50eHQKaW5kZXggZTQ3MzlmNWU0M2RlYzUwY2E3
ZDAyNTI2MDk0ZjIxZDgzYTdlM2Y1Mi4uYmNhODM1MDJhMDNiNjNlZDY1NzNkOTFiZjVjYWM2MDQy
OTMwMGE4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnktZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKIAot
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgUGVyZm9y
bWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyByZXNvdXJjZSBl
bnRyaWVzLiBUZXN0IHRpbWVkIG91dAorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVm
ZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIHJlc291cmNlIGVudHJpZXMuIAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyZWQt
ZmxhZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBlNDczOWY1ZTQzZGVjNTBjYTdkMDI1
MjYwOTRmMjFkODNhN2UzZjUyLi5iY2E4MzUwMmEwM2I2M2VkNjU3M2Q5MWJmNWNhYzYwNDI5MzAw
YTg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1F
T1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMg
cmVzb3VyY2UgZW50cmllcy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyByZXNvdXJjZSBlbnRyaWVzLiAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91
c2VyLXRpbWluZy9idWZmZXJlZC1mbGFnLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcu
YW55LWV4cGVjdGVkLnR4dAppbmRleCBiZmJjZDE4MDk1MDVlNDRkNThjYTI2ZDMzMjUwMTgwNGE2
OGI2MTdlLi5lNGE4MTU2ZmE0OTQ4YzNkZDQ3YzM2NzgyOGYwMzA2YTIyOGFkZDRkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGlt
aW5nL2J1ZmZlcmVkLWZsYWcuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5nL2J1ZmZlcmVkLWZsYWcuYW55
LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCks
IG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZl
cmVkIGZsYWcgc2VlcyBwcmV2aW91cyBtYXJrcyBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBQZXJm
b3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIG1lYXN1cmVz
IFRlc3QgdGltZWQgb3V0CitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBm
bGFnIHNlZXMgcHJldmlvdXMgbWFya3MgCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBi
dWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgbWVhc3VyZXMgCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVy
ZWQtZmxhZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdXNlci10aW1pbmcvYnVmZmVyZWQtZmxhZy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dAppbmRleCBiZmJjZDE4MDk1MDVlNDRkNThjYTI2ZDMzMjUwMTgwNGE2OGI2
MTdlLi5lNGE4MTU2ZmE0OTQ4YzNkZDQ3YzM2NzgyOGYwMzA2YTIyOGFkZDRkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VzZXItdGltaW5n
L2J1ZmZlcmVkLWZsYWcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91c2VyLXRpbWluZy9idWZmZXJlZC1mbGFn
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAogCi1IYXJuZXNzIEVycm9y
IChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBQZXJmb3JtYW5jZU9ic2VydmVy
IHdpdGggYnVmZmVyZWQgZmxhZyBzZWVzIHByZXZpb3VzIG1hcmtzIFRlc3QgdGltZWQgb3V0Ci1U
SU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlv
dXMgbWVhc3VyZXMgVGVzdCB0aW1lZCBvdXQKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRo
IGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBtYXJrcyAKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBtZWFzdXJlcyAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406844</attachid>
            <date>2020-08-19 08:32:42 -0700</date>
            <delta_ts>2020-08-19 09:22:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214883-20200819173240.patch</filename>
            <type>text/plain</type>
            <size>5351</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1ODU0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAzMGQ4N2M3MjJlZGU0MWJkMDgyODliZmQxNDNjYWQzYmU5YmJlODc1Li5hMTViOWQ2ZGE1
ZjYwZDUxMmM0ZWQ2ZmI0ZDY1NmFhMzVjM2ZhZjZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wOC0xOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZl
cmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ4
ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTeW5j
IGNhc2Utc2Vuc2l0aXZpdHkuYW55LmpzIHdoaWNoIHdhcyB1cHN0cmVhbWVkIHRvIFdQVAorICAg
ICAgICBhIGJpdCBkaWZmZXJlbnRseSB0aGFuIGluIHIyNjUzOTAgYW5kIHNwZWNpZmljYWxseSBt
YW5hZ2VkIHRvCisgICAgICAgIHVzZSBvbmUgdGltZW91dCBpbnN0ZWFkIG9mIG11bHRpcGxlLCBt
YWtpbmcgaXQgYSBmYXN0ZXIgdGVzdC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BlcmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vu
c2l0aXZpdHkuYW55LmpzOgorICAgICAgICAoYXN5bmNfdGVzdCk6CisKIDIwMjAtMDgtMTkgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE9wdGltaXNlIHJlc29s
dXRpb24gb2YgcHJvbWlzZXMgd2l0aCB2YWx1ZXMgaW4gUmVhZGFibGVTdHJlYW0gaW1wbGVtZW50
YXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0eS5hbnktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3Jt
YW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS1leHBlY3RlZC50eHQKaW5kZXggNThj
OWQ5NTFkNGNmNjBmOGI5Nzc2NDAyNGM3YzVjNzU0ZTA5MWRjYi4uMTkxNmFlMjhiYThjM2E4YjFl
MmYxZDEzMWJhM2RiMmY1ZmJhNzhkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2
aXR5LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS1l
eHBlY3RlZC50eHQKQEAgLTEsOCArMSw1IEBACiAKIFBBU1MgZ2V0RW50cmllc0J5VHlwZSB2YWx1
ZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlIAogUEFTUyBnZXRFbnRyaWVzQnlOYW1lIHZhbHVlcyBhcmUg
Y2FzZSBzZW5zaXRpdmUgCi1QQVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3Ig
dHlwZXMuIAotUEFTUyBvYnNlcnZlKCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHR5cGVzIHdp
dGggYnVmZmVyZWQ9dHJ1ZS4gCi1QQVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBm
b3IgZW50cnlUeXBlcy4gCi1QQVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3Ig
ZW50cnlUeXBlcyAyLiAKK1BBU1Mgb2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciB0
eXBlcy9lbnRyeVR5cGVzIGFuZCBidWZmZXJlZC4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2Fz
ZS1zZW5zaXRpdml0eS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BlcmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHkuYW55LmpzCmlu
ZGV4IGEwNzA5ZDA3Yjg3NWJkZTk1M2RiZDlhYjE4MTFjNTMzNGIyYTNlN2UuLjNhOTg1MDVhZTY3
ZjdkZjZmNjE3ZDZiOWZkZTRhZjM2NzUwMzI3OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1z
ZW5zaXRpdml0eS5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS5qcwpA
QCAtMjksNzIgKzI5LDM2IEBACiAgIH0sICJnZXRFbnRyaWVzQnlOYW1lIHZhbHVlcyBhcmUgY2Fz
ZSBzZW5zaXRpdmUiKTsKIAogICBhc3luY190ZXN0KGZ1bmN0aW9uICh0KSB7Ci0gICAgbGV0IG9i
c2VydmVyQ2FsbGVkID0gZmFsc2U7Ci0gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFu
Y2VPYnNlcnZlcigKKyAgICAvLyBUZXN0IHR5cGUvYnVmZmVyZWQgY2FzZSBzZW5zaXRpdml0eS4K
KyAgICBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKAogICAgICAgdC5zdGVwX2Z1
bmMoZnVuY3Rpb24gKGVudHJ5TGlzdCwgb2JzKSB7Ci0gICAgICAgIG9ic2VydmVyQ2FsbGVkID0g
dHJ1ZTsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiT2JzZXJ2ZXIodHlwZSkgc2hvdWxkIG5v
dCBiZSBjYWxsZWQuIik7CiAgICAgICB9KQogICAgICk7CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7
dHlwZTogIk1hcmsifSk7CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogIk1lYXN1cmUifSk7
CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogIk1BUksifSk7CiAgICAgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh7dHlwZTogIk1FQVNVUkUifSk7Ci0gICAgc2VsZi5wZXJmb3JtYW5jZS5tYXJrKCJtYXJr
MSIpOwotICAgIHNlbGYucGVyZm9ybWFuY2UubWVhc3VyZSgibWVhc3VyZTEiKTsKLSAgICB0LnN0
ZXBfdGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlckNhbGxl
ZCwgIk9ic2VydmVyIHNob3VsZCBub3QgYmUgY2FsbGVkLiIpOwotICAgICAgdC5kb25lKCk7Ci0g
ICAgfSwgMTAwMCk7Ci19ICAsICJvYnNlcnZlKCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHR5
cGVzLiIpOwotCi0gIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKLSAgICBsZXQgb2JzZXJ2ZXJD
YWxsZWQgPSBmYWxzZTsKLSAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24gKGVudHJ5TGlzdCwgb2JzKSB7Ci0gICAg
ICAgIG9ic2VydmVyQ2FsbGVkID0gdHJ1ZTsKLSAgICAgIH0pCi0gICAgKTsKICAgICBvYnNlcnZl
ci5vYnNlcnZlKHt0eXBlOiAiTWFyayIsIGJ1ZmZlcmVkOiB0cnVlfSk7CiAgICAgb2JzZXJ2ZXIu
b2JzZXJ2ZSh7dHlwZTogIk1lYXN1cmUiLCBidWZmZXJlZDogdHJ1ZX0pOwogICAgIG9ic2VydmVy
Lm9ic2VydmUoe3R5cGU6ICJNQVJLIiwgYnVmZmVyZWQ6IHRydWV9KTsKICAgICBvYnNlcnZlci5v
YnNlcnZlKHt0eXBlOiAiTUVBU1VSRSIsIGJ1ZmZlcmVkOiB0cnVlfSk7CiAgICAgc2VsZi5wZXJm
b3JtYW5jZS5tYXJrKCJtYXJrMSIpOwogICAgIHNlbGYucGVyZm9ybWFuY2UubWVhc3VyZSgibWVh
c3VyZTEiKTsKLSAgICB0LnN0ZXBfdGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgIGFzc2VydF9m
YWxzZShvYnNlcnZlckNhbGxlZCwgIk9ic2VydmVyIHNob3VsZCBub3QgYmUgY2FsbGVkLiIpOwot
ICAgICAgdC5kb25lKCk7Ci0gICAgfSwgMTAwMCk7Ci0gIH0sICJvYnNlcnZlKCkgYW5kIGNhc2Ug
c2Vuc2l0aXZpdHkgZm9yIHR5cGVzIHdpdGggYnVmZmVyZWQ9dHJ1ZS4iKTsKIAotICBhc3luY190
ZXN0KGZ1bmN0aW9uICh0KSB7Ci0gICAgbGV0IG9ic2VydmVyQ2FsbGVkID0gZmFsc2U7Ci0gICAg
Y29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigKKyAgICAvLyBUZXN0IGVu
dHJ5VHlwZXMgY2FzZSBzZW5zaXRpdml0eS4KKyAgICBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyKAogICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24gKGVudHJ5TGlzdCwgb2JzKSB7
Ci0gICAgICAgIG9ic2VydmVyQ2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hl
ZCgiT2JzZXJ2ZXIoZW50cnlUeXBlcykgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIik7CiAgICAgICB9
KQogICAgICk7CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJNYXJrIiwgIk1l
YXN1cmUiXX0pOwotICAgIHNlbGYucGVyZm9ybWFuY2UubWFyaygibWFyazEiKTsKLSAgICBzZWxm
LnBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUxIik7Ci0gICAgdC5zdGVwX3RpbWVvdXQoZnVu
Y3Rpb24oKSB7Ci0gICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZXJDYWxsZWQsICJPYnNlcnZlciBz
aG91bGQgbm90IGJlIGNhbGxlZC4iKTsKLSAgICAgIHQuZG9uZSgpOwotICAgIH0sIDEwMDApOwot
ICB9LCAib2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciBlbnRyeVR5cGVzLiIpOwot
Ci0gIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKLSAgICBsZXQgb2JzZXJ2ZXJDYWxsZWQgPSBm
YWxzZTsKLSAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKAotICAg
ICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24gKGVudHJ5TGlzdCwgb2JzKSB7Ci0gICAgICAgIG9ic2Vy
dmVyQ2FsbGVkID0gdHJ1ZTsKLSAgICAgIH0pCi0gICAgKTsKICAgICBvYnNlcnZlci5vYnNlcnZl
KHtlbnRyeVR5cGVzOiBbIk1BUksiLCAiTUVBU1VSRSJdfSk7CiAgICAgc2VsZi5wZXJmb3JtYW5j
ZS5tYXJrKCJtYXJrMSIpOwogICAgIHNlbGYucGVyZm9ybWFuY2UubWVhc3VyZSgibWVhc3VyZTEi
KTsKKwogICAgIHQuc3RlcF90aW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgYXNzZXJ0X2ZhbHNl
KG9ic2VydmVyQ2FsbGVkLCAiT2JzZXJ2ZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIik7CiAgICAg
ICB0LmRvbmUoKTsKICAgICB9LCAxMDAwKTsKLSAgfSwgIm9ic2VydmUoKSBhbmQgY2FzZSBzZW5z
aXRpdml0eSBmb3IgZW50cnlUeXBlcyAyLiIpOwogCisgIH0sICJvYnNlcnZlKCkgYW5kIGNhc2Ug
c2Vuc2l0aXZpdHkgZm9yIHR5cGVzL2VudHJ5VHlwZXMgYW5kIGJ1ZmZlcmVkLiIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406847</attachid>
            <date>2020-08-19 09:22:16 -0700</date>
            <delta_ts>2020-08-19 10:07:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214883-20200819182215.patch</filename>
            <type>text/plain</type>
            <size>6408</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1ODU0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAzMGQ4N2M3MjJlZGU0MWJkMDgyODliZmQxNDNjYWQzYmU5YmJlODc1Li5lMzcwZDdkY2Q2
YmViM2RlNzYwZTU0MDIwNmJlNTUyZDFmNThiNmFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wOC0xOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBQZXJmb21hbmNlT2JzZXJ2ZXJJbml0LmJ1ZmZl
cmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ4
ODMKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBTeW5jIGNh
c2Utc2Vuc2l0aXZpdHkuYW55LmpzIHdoaWNoIHdhcyB1cHN0cmVhbWVkIHRvIFdQVAorICAgICAg
ICBhIGJpdCBkaWZmZXJlbnRseSB0aGFuIGluIHIyNjUzOTAgYW5kIHNwZWNpZmljYWxseSBtYW5h
Z2VkIHRvCisgICAgICAgIHVzZSBvbmUgdGltZW91dCBpbnN0ZWFkIG9mIG11bHRpcGxlLCBtYWtp
bmcgaXQgYSBmYXN0ZXIgdGVzdC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJm
b3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BlcmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0
aXZpdHkuYW55LmpzOgorICAgICAgICAoYXN5bmNfdGVzdCk6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3BlcmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHkuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDgtMTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIE9wdGltaXNlIHJlc29sdXRpb24gb2YgcHJvbWlzZXMgd2l0aCB2
YWx1ZXMgaW4gUmVhZGFibGVTdHJlYW0gaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxp
bmUvY2FzZS1zZW5zaXRpdml0eS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNp
dGl2aXR5LmFueS1leHBlY3RlZC50eHQKaW5kZXggNThjOWQ5NTFkNGNmNjBmOGI5Nzc2NDAyNGM3
YzVjNzU0ZTA5MWRjYi4uMTkxNmFlMjhiYThjM2E4YjFlMmYxZDEzMWJhM2RiMmY1ZmJhNzhkZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
ZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5j
ZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS1leHBlY3RlZC50eHQKQEAgLTEsOCArMSw1
IEBACiAKIFBBU1MgZ2V0RW50cmllc0J5VHlwZSB2YWx1ZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlIAog
UEFTUyBnZXRFbnRyaWVzQnlOYW1lIHZhbHVlcyBhcmUgY2FzZSBzZW5zaXRpdmUgCi1QQVNTIG9i
c2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgdHlwZXMuIAotUEFTUyBvYnNlcnZlKCkg
YW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHR5cGVzIHdpdGggYnVmZmVyZWQ9dHJ1ZS4gCi1QQVNT
IG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgZW50cnlUeXBlcy4gCi1QQVNTIG9i
c2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgZW50cnlUeXBlcyAyLiAKK1BBU1Mgb2Jz
ZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciB0eXBlcy9lbnRyeVR5cGVzIGFuZCBidWZm
ZXJlZC4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0eS5hbnkuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BlcmZvcm1hbmNlLXRp
bWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHkuYW55LmpzCmluZGV4IGEwNzA5ZDA3Yjg3NWJkZTk1M2Ri
ZDlhYjE4MTFjNTMzNGIyYTNlN2UuLjNhOTg1MDVhZTY3ZjdkZjZmNjE3ZDZiOWZkZTRhZjM2NzUw
MzI3OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0eS5hbnkuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10
aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5LmFueS5qcwpAQCAtMjksNzIgKzI5LDM2IEBACiAgIH0s
ICJnZXRFbnRyaWVzQnlOYW1lIHZhbHVlcyBhcmUgY2FzZSBzZW5zaXRpdmUiKTsKIAogICBhc3lu
Y190ZXN0KGZ1bmN0aW9uICh0KSB7Ci0gICAgbGV0IG9ic2VydmVyQ2FsbGVkID0gZmFsc2U7Ci0g
ICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigKKyAgICAvLyBUZXN0
IHR5cGUvYnVmZmVyZWQgY2FzZSBzZW5zaXRpdml0eS4KKyAgICBvYnNlcnZlciA9IG5ldyBQZXJm
b3JtYW5jZU9ic2VydmVyKAogICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24gKGVudHJ5TGlzdCwg
b2JzKSB7Ci0gICAgICAgIG9ic2VydmVyQ2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgYXNzZXJ0X3Vu
cmVhY2hlZCgiT2JzZXJ2ZXIodHlwZSkgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIik7CiAgICAgICB9
KQogICAgICk7CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogIk1hcmsifSk7CiAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogIk1lYXN1cmUifSk7CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7
dHlwZTogIk1BUksifSk7CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogIk1FQVNVUkUifSk7
Ci0gICAgc2VsZi5wZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOwotICAgIHNlbGYucGVyZm9ybWFu
Y2UubWVhc3VyZSgibWVhc3VyZTEiKTsKLSAgICB0LnN0ZXBfdGltZW91dChmdW5jdGlvbigpIHsK
LSAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlckNhbGxlZCwgIk9ic2VydmVyIHNob3VsZCBub3Qg
YmUgY2FsbGVkLiIpOwotICAgICAgdC5kb25lKCk7Ci0gICAgfSwgMTAwMCk7Ci19ICAsICJvYnNl
cnZlKCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHR5cGVzLiIpOwotCi0gIGFzeW5jX3Rlc3Qo
ZnVuY3Rpb24gKHQpIHsKLSAgICBsZXQgb2JzZXJ2ZXJDYWxsZWQgPSBmYWxzZTsKLSAgICBjb25z
dCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKAotICAgICAgdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24gKGVudHJ5TGlzdCwgb2JzKSB7Ci0gICAgICAgIG9ic2VydmVyQ2FsbGVkID0gdHJ1
ZTsKLSAgICAgIH0pCi0gICAgKTsKICAgICBvYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAiTWFyayIs
IGJ1ZmZlcmVkOiB0cnVlfSk7CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogIk1lYXN1cmUi
LCBidWZmZXJlZDogdHJ1ZX0pOwogICAgIG9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICJNQVJLIiwg
YnVmZmVyZWQ6IHRydWV9KTsKICAgICBvYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAiTUVBU1VSRSIs
IGJ1ZmZlcmVkOiB0cnVlfSk7CiAgICAgc2VsZi5wZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOwog
ICAgIHNlbGYucGVyZm9ybWFuY2UubWVhc3VyZSgibWVhc3VyZTEiKTsKLSAgICB0LnN0ZXBfdGlt
ZW91dChmdW5jdGlvbigpIHsKLSAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlckNhbGxlZCwgIk9i
c2VydmVyIHNob3VsZCBub3QgYmUgY2FsbGVkLiIpOwotICAgICAgdC5kb25lKCk7Ci0gICAgfSwg
MTAwMCk7Ci0gIH0sICJvYnNlcnZlKCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHR5cGVzIHdp
dGggYnVmZmVyZWQ9dHJ1ZS4iKTsKIAotICBhc3luY190ZXN0KGZ1bmN0aW9uICh0KSB7Ci0gICAg
bGV0IG9ic2VydmVyQ2FsbGVkID0gZmFsc2U7Ci0gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVy
Zm9ybWFuY2VPYnNlcnZlcigKKyAgICAvLyBUZXN0IGVudHJ5VHlwZXMgY2FzZSBzZW5zaXRpdml0
eS4KKyAgICBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKAogICAgICAgdC5zdGVw
X2Z1bmMoZnVuY3Rpb24gKGVudHJ5TGlzdCwgb2JzKSB7Ci0gICAgICAgIG9ic2VydmVyQ2FsbGVk
ID0gdHJ1ZTsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiT2JzZXJ2ZXIoZW50cnlUeXBlcykg
c2hvdWxkIG5vdCBiZSBjYWxsZWQuIik7CiAgICAgICB9KQogICAgICk7CiAgICAgb2JzZXJ2ZXIu
b2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJNYXJrIiwgIk1lYXN1cmUiXX0pOwotICAgIHNlbGYucGVy
Zm9ybWFuY2UubWFyaygibWFyazEiKTsKLSAgICBzZWxmLnBlcmZvcm1hbmNlLm1lYXN1cmUoIm1l
YXN1cmUxIik7Ci0gICAgdC5zdGVwX3RpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICBhc3NlcnRf
ZmFsc2Uob2JzZXJ2ZXJDYWxsZWQsICJPYnNlcnZlciBzaG91bGQgbm90IGJlIGNhbGxlZC4iKTsK
LSAgICAgIHQuZG9uZSgpOwotICAgIH0sIDEwMDApOwotICB9LCAib2JzZXJ2ZSgpIGFuZCBjYXNl
IHNlbnNpdGl2aXR5IGZvciBlbnRyeVR5cGVzLiIpOwotCi0gIGFzeW5jX3Rlc3QoZnVuY3Rpb24g
KHQpIHsKLSAgICBsZXQgb2JzZXJ2ZXJDYWxsZWQgPSBmYWxzZTsKLSAgICBjb25zdCBvYnNlcnZl
ciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKAotICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24g
KGVudHJ5TGlzdCwgb2JzKSB7Ci0gICAgICAgIG9ic2VydmVyQ2FsbGVkID0gdHJ1ZTsKLSAgICAg
IH0pCi0gICAgKTsKICAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIk1BUksiLCAi
TUVBU1VSRSJdfSk7CiAgICAgc2VsZi5wZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOwogICAgIHNl
bGYucGVyZm9ybWFuY2UubWVhc3VyZSgibWVhc3VyZTEiKTsKKwogICAgIHQuc3RlcF90aW1lb3V0
KGZ1bmN0aW9uKCkgewotICAgICAgYXNzZXJ0X2ZhbHNlKG9ic2VydmVyQ2FsbGVkLCAiT2JzZXJ2
ZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQuIik7CiAgICAgICB0LmRvbmUoKTsKICAgICB9LCAxMDAw
KTsKLSAgfSwgIm9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgZW50cnlUeXBlcyAy
LiIpOwogCisgIH0sICJvYnNlcnZlKCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHR5cGVzL2Vu
dHJ5VHlwZXMgYW5kIGJ1ZmZlcmVkLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNp
dGl2aXR5LmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJmb3JtYW5jZS10aW1lbGluZS9jYXNlLXNlbnNpdGl2aXR5
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDU4YzlkOTUxZDRjZjYwZjhiOTc3NjQwMjRj
N2M1Yzc1NGUwOTFkY2IuLjE5MTZhZTI4YmE4YzNhOGIxZTJmMWQxMzFiYTNkYjJmNWZiYTc4ZGQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGVyZm9ybWFuY2UtdGltZWxpbmUvY2FzZS1zZW5zaXRpdml0eS5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bl
cmZvcm1hbmNlLXRpbWVsaW5lL2Nhc2Utc2Vuc2l0aXZpdHkuYW55Lndvcmtlci1leHBlY3RlZC50
eHQKQEAgLTEsOCArMSw1IEBACiAKIFBBU1MgZ2V0RW50cmllc0J5VHlwZSB2YWx1ZXMgYXJlIGNh
c2Ugc2Vuc2l0aXZlIAogUEFTUyBnZXRFbnRyaWVzQnlOYW1lIHZhbHVlcyBhcmUgY2FzZSBzZW5z
aXRpdmUgCi1QQVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgdHlwZXMuIAot
UEFTUyBvYnNlcnZlKCkgYW5kIGNhc2Ugc2Vuc2l0aXZpdHkgZm9yIHR5cGVzIHdpdGggYnVmZmVy
ZWQ9dHJ1ZS4gCi1QQVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgZW50cnlU
eXBlcy4gCi1QQVNTIG9ic2VydmUoKSBhbmQgY2FzZSBzZW5zaXRpdml0eSBmb3IgZW50cnlUeXBl
cyAyLiAKK1BBU1Mgb2JzZXJ2ZSgpIGFuZCBjYXNlIHNlbnNpdGl2aXR5IGZvciB0eXBlcy9lbnRy
eVR5cGVzIGFuZCBidWZmZXJlZC4gCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>