<?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>210341</bug_id>
          
          <creation_ts>2020-04-10 09:36:45 -0700</creation_ts>
          <short_desc>[GStreamer][MSE] Implement the &quot;sequence&quot; mode in SourceBuffer for the GStreamer ports</short_desc>
          <delta_ts>2021-08-26 02:31:15 -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>Media</component>
          <version>WebKit Nightly Build</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=210498</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=167108</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>
          
          <blocked>228976</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Diego Pino">dpino</reporter>
          <assigned_to name="Enrique Ocaña">eocanha</assigned_to>
          <cc>aboya</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>crzwdjk</cc>
    
    <cc>eocanha</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1640218</commentid>
    <comment_count>0</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-04-10 09:36:45 -0700</bug_when>
    <thetext>See: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r259858%20(13277)/imported/w3c/web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps-crash-log.txt

Thread 1 (Thread 0x7f006ffff700 (LWP 23222)):
#0  0x00007f019f6ca243 in gst_gl_upload_transform_caps () at ../../Source/gst-plugins-base-1.16.1/gst-libs/gst/gl/gstglupload.c:1810
#1  gst_gl_upload_transform_caps () at ../../Source/gst-plugins-base-1.16.1/gst-libs/gst/gl/gstglupload.c:1783
#2  0x00007f019fa22751 in gst_base_transform_transform_caps () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:474
#3  0x00007f019fa25f4b in gst_base_transform_query_caps () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:650
#4  gst_base_transform_default_query () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1550
#5  0x00007f019f925c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#6  0x00007f019f92639b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
#7  0x00007f019f95c8b8 in query_caps_func () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2765
#8  0x00007f019f92480e in gst_pad_forward () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3008
#9  0x00007f019f95f37a in gst_pad_proxy_query_caps () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2815
#10 0x00007f019f9249f4 in gst_pad_query_caps_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3187
#11 gst_pad_query_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3415
#12 0x00007f019f925c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#13 0x00007f019f92639b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
#14 0x00007f019f95c8b8 in query_caps_func () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2765
#15 0x00007f019f92480e in gst_pad_forward () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3008
#16 0x00007f019f95f37a in gst_pad_proxy_query_caps () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2815
#17 0x00007f019f9249f4 in gst_pad_query_caps_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3187
#18 gst_pad_query_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3415
#19 0x00007f019f925c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#20 0x00007f019f92639b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
#21 0x00007f019f95c8b8 in query_caps_func () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2765
#22 0x00007f019f92480e in gst_pad_forward () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3008
#23 0x00007f019f95f37a in gst_pad_proxy_query_caps () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2815
#24 0x00007f019f9249f4 in gst_pad_query_caps_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3187
#25 gst_pad_query_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3415
#26 0x00007f019f925c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#27 0x00007f019f92639b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
#28 0x00007f019f962114 in gst_pad_peer_query_caps () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:3107
#29 0x00007f019fa260ae in gst_base_transform_query_caps () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:678
#30 gst_base_transform_default_query () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1550
#31 0x00007f019f925c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#32 0x00007f019f92639b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
#33 0x00007f019f962114 in gst_pad_peer_query_caps () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:3107
#34 0x00007f019fa260ae in gst_base_transform_query_caps () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:678
#35 gst_base_transform_default_query () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1550
#36 0x00007f019f925c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#37 0x00007f019f92639b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
#38 0x00007f019f962114 in gst_pad_peer_query_caps () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:3107
#39 0x00007f019fa260ae in gst_base_transform_query_caps () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:678
#40 gst_base_transform_default_query () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1550
#41 0x00007f019f925c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#42 0x00007f019f95fb34 in gst_pad_query_caps () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:3061
#43 0x00007f019fa2468f in gst_base_transform_find_transform () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1123
#44 gst_base_transform_setcaps () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1309
#45 0x00007f019fa2683d in gst_base_transform_sink_eventfunc () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1898
#46 0x00007f019f91e7c7 in gst_pad_send_event_unchecked () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:5766
#47 0x00007f019f91ece4 in gst_pad_push_event_unchecked () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:5411
#48 0x00007f019f91f154 in push_sticky () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3927
#49 0x00007f019f91cb48 in events_foreach () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:608
#50 0x00007f019f927e21 in check_sticky () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3986
#51 gst_pad_push_event () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:5542
#52 0x00007f019f9283b4 in event_forward_func () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3054
#53 0x00007f019f92480e in gst_pad_forward () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3008
#54 0x00007f019f92491d in gst_pad_event_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3105
#55 0x00007f014c1d4416 in gst_play_sink_convert_bin_sink_event () at ../../Source/gst-plugins-base-1.16.1/gst/playback/gstplaysinkconvertbin.c:260
#56 0x00007f019f91e7c7 in gst_pad_send_event_unchecked () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:5766
#57 0x00007f019f91ece4 in gst_pad_push_event_unchecked () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:5411
#58 0x00007f019f91f154 in push_sticky () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3927
#59 0x00007f019f91cb48 in events_foreach () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:608
#60 0x00007f019f927e21 in check_sticky () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3986
#61 gst_pad_push_event () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:5542
#62 0x00007f014c34011b in gst_queue_push_one () at ../../Source/gstreamer-1.16.1/plugins/elements/gstqueue.c:1455
#63 gst_queue_loop () at ../../Source/gstreamer-1.16.1/plugins/elements/gstqueue.c:1537
#64 0x00007f019f953dd1 in gst_task_func () at ../../Source/gstreamer-1.16.1/gst/gsttask.c:328
#65 0x00007f019d80d6a3 in g_thread_pool_thread_proxy () at ../../Source/glib-2.58.1/glib/gthreadpool.c:307
#66 0x00007f019d80cd45 in g_thread_proxy () at ../../Source/glib-2.58.1/glib/gthread.c:784
#67 0x00007f01a0b20fa3 in start_thread (arg=&lt;optimized out&gt;) at pthread_create.c:486
#68 0x00007f019d36d4cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640231</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-04-10 09:55:02 -0700</bug_when>
    <thetext>Consistent crash?

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f019f6ca243 in gst_gl_upload_transform_caps () at ../../Source/gst-plugins-base-1.16.1/gst-libs/gst/gl/gstglupload.c:1810
1810	        upload_methods[i]-&gt;transform_caps (upload-&gt;priv-&gt;upload_impl[i],</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641189</commentid>
    <comment_count>2</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-04-13 17:24:57 -0700</bug_when>
    <thetext>Crashes don&apos;t happen regularly, but some times. Other recent crashes happened in r258474 and r256096. Stacktrace for r258474 is the same as the one posted, r256096 seems unrelated.

r258474:

https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r258474%20(12975)/imported/w3c/web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps-crash-log.txt

r256096:

https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r256096%20(12608)/imported/w3c/web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747872</commentid>
    <comment_count>3</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2021-04-07 07:17:38 -0700</bug_when>
    <thetext>I can&apos;t repro the crash though I do see some random crashes at Wayland wk2 Release with x86 bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773799</commentid>
    <comment_count>4</comment_count>
      <attachid>432608</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2021-06-30 10:06:38 -0700</bug_when>
    <thetext>Created attachment 432608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773801</commentid>
    <comment_count>5</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2021-06-30 10:10:18 -0700</bug_when>
    <thetext>I couldn&apos;t reproduce the crashes either, but this test was failing, so I submitted a patch to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773837</commentid>
    <comment_count>6</comment_count>
      <attachid>432608</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-06-30 11:36:17 -0700</bug_when>
    <thetext>Comment on attachment 432608
Patch

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

LGTM, except for what I commented.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:147
&gt; +    if (type.endsWith(&quot;mp4&quot;) || type.endsWith(&quot;aac&quot;) || type.endsWith(&quot;mpeg&quot;))
&gt;          m_demux = makeGStreamerElement(&quot;qtdemux&quot;, nullptr);

There is a difference between container formats and audio formats. AAC audio can be packaged in a container such as MP4 -- in which case the caps will be audio/x-m4a or video/quicktime and would be handled by qtdemux), or it can be in a more barebones format, in which case the caps are audio/mpeg, mpegversion=4, stream-format=&lt;one of &quot;raw&quot;, &quot;adts&quot;, &quot;adif&quot; or &quot;loas&quot;&gt;, in which case it can be fed directly to a decoder that understands that stream-format. Using qtdemux in the latter case would fail to negotiate caps. Conversions between stream-formats can be done with aacparse. Regardless of the stream-format used, they all have in common that audio frames are *NOT* timestamped, and therefore only usable in &quot;sequence&quot; mode -- where the JS user sets the timestamp of a segment before appending it. This is also the case for MP3, whose caps are audio/mpeg, mpegversion=1, layer=3.

Currently, we don&apos;t support &quot;sequence&quot; mode, only &quot;segments&quot;. I am not aware of how much &quot;sequence&quot; mode is used in web apps. In any case, creating a qtdemux for this context is wrong, but we should handle attempts to use the unsupported mode gracefully. Maybe by throwing an error instead of an assert, or by ensuring that an error is reported earlier than that when the &quot;sequence&quot; mode is engaged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780789</commentid>
    <comment_count>7</comment_count>
      <attachid>434627</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2021-07-30 08:22:23 -0700</bug_when>
    <thetext>Created attachment 434627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780803</commentid>
    <comment_count>8</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2021-07-30 08:35:57 -0700</bug_when>
    <thetext>This patch implemented the &quot;sequence&quot; mode in SourceBuffer for the GStreamer port. I&apos;m renaming the bug to reflect this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780805</commentid>
    <comment_count>9</comment_count>
      <attachid>434632</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2021-07-30 08:39:22 -0700</bug_when>
    <thetext>Created attachment 434632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781261</commentid>
    <comment_count>10</comment_count>
      <attachid>434632</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-08-02 09:15:23 -0700</bug_when>
    <thetext>Comment on attachment 434632
Patch

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

It might make sense to rename m_demux to something more generic, like m_parser, which could be a demuxer or a filter parser (although that name may be already in use, which complicates things a bit).

I would expect imported/w3c/web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html to pass after implementing this feature. Can you check where it&apos;s failing?

&gt; Source/WebCore/ChangeLog:3
&gt; +        [GStreamer][MSE] Implemente the &quot;sequence&quot; mode in SourceBuffer for the GStreamer ports

typo: Implement

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:147
&gt; +    bool hasIdentityDemuxer = false;

mpegaudioparse is not an identity demuxer, it&apos;s a filter element, with static srcpads.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:154
&gt; +        m_demux = makeGStreamerElement(&quot;mpegaudioparse&quot;, nullptr);

m_demux becomes a bit of a misleading case since in this case we have a parser that is not a demuxer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783604</commentid>
    <comment_count>11</comment_count>
    <who name="Arcady Goldmints-Orlov">crzwdjk</who>
    <bug_when>2021-08-11 12:52:40 -0700</bug_when>
    <thetext>*** Bug 228976 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784469</commentid>
    <comment_count>12</comment_count>
      <attachid>434632</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-08-16 04:46:48 -0700</bug_when>
    <thetext>Comment on attachment 434632
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:153
&gt; +    else if (type == &quot;audio/mpeg&quot;) {

Depending on the mpegversion caps field I think you should either add mpegaudioparse or aacparse? mpegaudioparse supports only MPEG-1, AFAICT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784769</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-08-17 01:46:23 -0700</bug_when>
    <thetext>(In reply to Arcady Goldmints-Orlov from comment #11)
&gt; *** Bug 228976 has been marked as a duplicate of this bug. ***

The patch should un-flag the test gardened in that bug ^^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786784</commentid>
    <comment_count>14</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2021-08-24 10:13:39 -0700</bug_when>
    <thetext>I&apos;m about to attach a new version of the patch, but before doing it I checked imported/w3c/web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html (commented by Alicia) and media/media-source/media-mp4-h264-sequence-mode.html (referred by #228976, commented by Phil).

In the first case, the test fails because of a 0.095 difference in the PTS. In the second case, the test fails because of a 0.041666 difference (even in appends done in &quot;segments&quot; mode!). I think both failures might be related to how the demuxer generates the PTS and if it implements edit lists properly.

IMHO, this kind of problem is out of the scope of the basic sequence mode implemetnation addressed in this bug and should be analyzed independently in their respective bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786814</commentid>
    <comment_count>15</comment_count>
      <attachid>436307</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2021-08-24 10:48:22 -0700</bug_when>
    <thetext>Created attachment 436307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787158</commentid>
    <comment_count>16</comment_count>
      <attachid>436307</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-08-25 07:36:57 -0700</bug_when>
    <thetext>Comment on attachment 436307
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        aacparse for mpeg layer 3 and 4). The existing createOptionalParserForFormat()

s/3/2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787184</commentid>
    <comment_count>17</comment_count>
      <attachid>436307</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-08-25 09:22:32 -0700</bug_when>
    <thetext>Comment on attachment 436307
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        A parser element is needed to process the data (mpegaudioparse for mpeg layer 1,

MPEG Audio Version 1. MPEG version 1 includes layer 1, layer 2 and layer 3, the last one most commonly known as MP3.

&gt; Source/WebCore/ChangeLog:13
&gt; +        aacparse for mpeg layer 3 and 4). The existing createOptionalParserForFormat()

MPEG Audio Versions 2 and 4, both commonly referred to as AAC. There is no concept of layers in MPEG Audio Versions 2 and 4, instead profiles are used.

Yes, MPEG nomenclature is quite confusing.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:199
&gt; +void MediaSampleGStreamer::setTimestamps(const MediaTime&amp; presentationTime, const MediaTime&amp; decodeTime)
&gt; +{
&gt; +    m_pts = presentationTime;
&gt; +    m_dts = decodeTime;
&gt; +}

You&apos;re updating the timestamps in WebKit but not in GStreamer, which means they will played at the wrong time in the playback pipeline.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:182
&gt; +                GRefPtr&lt;GstCaps&gt; caps = gst_pad_get_current_caps(pad);
&gt; +                if (!caps)
&gt; +                    return GST_PAD_PROBE_DROP;

In the hypothetical case that a segment is sent before caps, it would be lost, which could confuse downstream. Maybe it makes more sense to drop any buffers before caps are received, but not anything else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787190</commentid>
    <comment_count>18</comment_count>
      <attachid>436307</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2021-08-25 09:54:44 -0700</bug_when>
    <thetext>Comment on attachment 436307
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:199
&gt;&gt; +}
&gt; 
&gt; You&apos;re updating the timestamps in WebKit but not in GStreamer, which means they will played at the wrong time in the playback pipeline.

This slip was indeed important. When I corrected it (locally), it fixed the use case of appending the same audio multiple times in reverse order (from higer to lower timestampOffsets) and having it playing back properly. Thanks for having noticed it!

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:182
&gt;&gt; +                    return GST_PAD_PROBE_DROP;
&gt; 
&gt; In the hypothetical case that a segment is sent before caps, it would be lost, which could confuse downstream. Maybe it makes more sense to drop any buffers before caps are received, but not anything else.

Have into account that it&apos;s a GST_PAD_PROBE_TYPE_BUFFER probe, and therefore shouldn&apos;t be processing (and dropping) events or anything that&apos;s not a buffer. The only possible buffers without caps that might be traversing the pipeline are the dummy ones that have EndOfAppendMeta and are used to detect the end of appends. Those buffers are captured and dropped in the appsrc src pad, and shouldn&apos;t ever reach the identity element that is in place of the demuxer in the case of uncontainerized audio.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787196</commentid>
    <comment_count>19</comment_count>
      <attachid>436400</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2021-08-25 10:07:28 -0700</bug_when>
    <thetext>Created attachment 436400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787516</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-26 02:30:09 -0700</bug_when>
    <thetext>Committed r281617 (240973@main): &lt;https://commits.webkit.org/240973@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436400.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787517</commentid>
    <comment_count>21</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-26 02:31:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/82380870&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432608</attachid>
            <date>2021-06-30 10:06:38 -0700</date>
            <delta_ts>2021-07-30 08:22:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210341-20210630190637.patch</filename>
            <type>text/plain</type>
            <size>7989</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc1YmQwMzNiNDEyNWU4
MzgwMTVkODVjY2E1NTgxNDc2MGMwZWRkNS4uOWZhZWRkN2QxOTU0OTcwNDNmZGFkNzEyMDkxMTll
ZjIwYzI1YTFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA2LTMwICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVk
aWFzb3VyY2Utc291cmNlYnVmZmVyLW1vZGUtdGltZXN0YW1wcy5odG1sIHNvbWV0aW1lcyBjcmFz
aGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAz
NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNs
YXJlIGF1ZGlvL21wZWcgc3VwcG9ydCB3aGVuIG1wNCBpcyBzdXBwb3J0ZWQgYW5kIGhhbmRsZSBp
dCBwcm9wZXJseSBvbiBBcHBlbmRQaXBlbGluZS4KKworICAgICAgICBSZXR1cm4gVHlwZUVycm9y
IGluIFNvdXJjZUJ1ZmZlcjo6c2V0TW9kZSgpLCBpbnN0ZWFkIG9mIEludmFsaWRBY2Nlc3NFcnJv
ci4gVGhlIE1TRSBzcGVjCisgICAgICAgIGNoYW5nZWQgdGhpcyBiZWhhdmlvdXIgYXQgc29tZSBw
b2ludCBiZWZvcmUgSnVuZSAyMDE2IGFuZCB0aGUgV2ViS2l0IGNvZGUgbmV2ZXIgcmVmbGVjdGVk
CisgICAgICAgIHRoZSBjaGFuZ2UsIHN0aWxsIHJldHVybmluZyB0aGUgZGVwcmVjYXRlZCBJbnZh
bGlkQWNjZXNzRXJyb3Igd2hlbiBnZW5lcmF0ZSB0aW1lc3RhbXBzCisgICAgICAgIGZsYWcgZXF1
YWxzIHRydWUgYW5kIG5ldyBtb2RlIGVxdWFscyAic2VnbWVudHMiLgorCisgICAgICAgIENvdmVy
ZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNldE1vZGUp
OiBSZXR1cm4gVHlwZUVycm9yLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9HU3RyZWFtZXJSZWdpc3RyeVNjYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVh
bWVyUmVnaXN0cnlTY2FubmVyOjppbml0aWFsaXplRGVjb2RlcnMpOiBEZWNsYXJlIGF1ZGlvL21w
ZWcgc3VwcG9ydCB3aGVuIG1wNCBpcyBzdXBwb3J0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUpOiBQcm9wZXJseSBoYW5kbGUgYXVkaW8v
bXBlZy4KKwogMjAyMS0wNi0xOCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIG1pc3NpbmcgZXhjZXB0aW9uIGNoZWNrcyBpbiBTY3JpcHRNb2R1bGVMb2FkZXIg
YW5kIEpTRE9NUHJvbWlzZURlZmVycmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IDVkMzYwZWJlN2RkYWJhNzI3ZTY5
MDQ0M2ZjNDllZjhjNTdlYWVjZTAuLjY3YTYxYmM4NDFkZGJmOTQ5MTc3Y2ExZWRlNzFlZWMwNzg5
MDdiZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHAKQEAgLTEyMzcsNyArMTIzNyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNv
dXJjZUJ1ZmZlcjo6c2V0TW9kZShBcHBlbmRNb2RlIG5ld01vZGUpCiAgICAgLy8gMS4gTGV0IG5l
dyBtb2RlIGVxdWFsIHRoZSBuZXcgdmFsdWUgYmVpbmcgYXNzaWduZWQgdG8gdGhpcyBhdHRyaWJ1
dGUuCiAgICAgLy8gMi4gSWYgZ2VuZXJhdGUgdGltZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlIGFu
ZCBuZXcgbW9kZSBlcXVhbHMgInNlZ21lbnRzIiwgdGhlbiB0aHJvdyBhbiBJbnZhbGlkQWNjZXNz
RXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgICBpZiAobV9zaG91bGRH
ZW5lcmF0ZVRpbWVzdGFtcHMgJiYgbmV3TW9kZSA9PSBBcHBlbmRNb2RlOjpTZWdtZW50cykKLSAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OworICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CiAKICAgICAvLyAzLiBJZiB0aGlzIG9iamVj
dCBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIHNvdXJjZUJ1ZmZlcnMgYXR0cmlidXRlIG9mIHRo
ZSBwYXJlbnQgbWVkaWEgc291cmNlLCB0aGVuIHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIGV4
Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCiAgICAgLy8gNC4gSWYgdGhlIHVwZGF0aW5n
IGF0dHJpYnV0ZSBlcXVhbHMgdHJ1ZSwgdGhlbiB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciBl
eGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVy
UmVnaXN0cnlTY2FubmVyLmNwcAppbmRleCBlOWRmYmEwYTdjNjc1YmQyZTlkZmZjOGUxNjQ1ZGNm
Y2ZmMTAxODAzLi5lODA2ZGQ4YzhiOGYwMTM1NzE4YmQ4MDBjYTQyNjg1NGI3YmY3NmMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVh
bWVyUmVnaXN0cnlTY2FubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyUmVnaXN0cnlTY2FubmVyLmNwcApAQCAtMjU1LDYgKzI1
NSw4IEBAIHZvaWQgR1N0cmVhbWVyUmVnaXN0cnlTY2FubmVyOjppbml0aWFsaXplRGVjb2RlcnMo
Y29uc3QgR1N0cmVhbWVyUmVnaXN0cnlTY2FubmVyCiAgICAgICAgIG1fZGVjb2Rlck1pbWVUeXBl
U2V0LmFkZChBdG9tU3RyaW5nKCJhdWRpby9hYWMiKSk7CiAgICAgICAgIG1fZGVjb2Rlck1pbWVU
eXBlU2V0LmFkZChBdG9tU3RyaW5nKCJhdWRpby9tcDQiKSk7CiAgICAgICAgIG1fZGVjb2Rlck1p
bWVUeXBlU2V0LmFkZChBdG9tU3RyaW5nKCJhdWRpby94LW00YSIpKTsKKyAgICAgICAgbV9kZWNv
ZGVyTWltZVR5cGVTZXQuYWRkKEF0b21TdHJpbmcoImF1ZGlvL21wZWciKSk7CisgICAgICAgIG1f
ZGVjb2Rlck1pbWVUeXBlU2V0LmFkZChBdG9tU3RyaW5nKCJhdWRpby94LW1wZWciKSk7CiAgICAg
ICAgIG1fZGVjb2RlckNvZGVjTWFwLmFkZChBdG9tU3RyaW5nKCJtcGVnIiksIGZhbHNlKTsKICAg
ICAgICAgbV9kZWNvZGVyQ29kZWNNYXAuYWRkKEF0b21TdHJpbmcoIm1wNGEqIiksIGZhbHNlKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmluZGV4IDE2YWI5ZmU1MjY3
N2QwODc3MWMwZTM1MGUzYjc2MDQxZWZhYWVkYTQuLjk5ODUyYWQ0ZDUxOWI5NDdiMDU4ZjY3ZTcw
OGMzZWUxNjllYWMyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCkBAIC0x
NDMsNyArMTQzLDcgQEAgQXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5lKFNvdXJjZUJ1ZmZl
clByaXZhdGVHU3RyZWFtZXImIHNvdXJjZUJ1ZmZlclByaXZhdGUKIAogICAgIGNvbnN0IFN0cmlu
ZyYgdHlwZSA9IG1fc291cmNlQnVmZmVyUHJpdmF0ZS50eXBlKCkuY29udGFpbmVyVHlwZSgpOwog
ICAgIEdTVF9ERUJVRygiU291cmNlQnVmZmVyIGNvbnRhaW5lclR5cGU6ICVzIiwgdHlwZS51dGY4
KCkuZGF0YSgpKTsKLSAgICBpZiAodHlwZS5lbmRzV2l0aCgibXA0IikgfHwgdHlwZS5lbmRzV2l0
aCgiYWFjIikpCisgICAgaWYgKHR5cGUuZW5kc1dpdGgoIm1wNCIpIHx8IHR5cGUuZW5kc1dpdGgo
ImFhYyIpIHx8IHR5cGUuZW5kc1dpdGgoIm1wZWciKSkKICAgICAgICAgbV9kZW11eCA9IG1ha2VH
U3RyZWFtZXJFbGVtZW50KCJxdGRlbXV4IiwgbnVsbHB0cik7CiAgICAgZWxzZSBpZiAodHlwZS5l
bmRzV2l0aCgid2VibSIpKQogICAgICAgICBtX2RlbXV4ID0gbWFrZUdTdHJlYW1lckVsZW1lbnQo
Im1hdHJvc2thZGVtdXgiLCBudWxscHRyKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMjRlMTEwNTU0MWJiM2U2ZDY5ZDFm
YzkwYzgyOTQ2ZjZiNWJkYjMyLi5jNGM5M2U3NDFiMzU5ZDgwNDAyODAwM2M4ZWU5MjkwZTEwZjVm
Y2U0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDYtMzAgIEVucmlxdWUgT2Nhw7FhIEdv
bnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3Vy
Y2VidWZmZXItbW9kZS10aW1lc3RhbXBzLmh0bWwgc29tZXRpbWVzIGNyYXNoZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDM0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9U
ZXN0RXhwZWN0YXRpb25zOiBVbnNraXBwZWQgdGVzdC4KKwogMjAyMS0wNi0xOCAgTWFyayBMYW0g
IDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1pc3NpbmcgZXhjZXB0aW9uIGNo
ZWNrcyBpbiBTY3JpcHRNb2R1bGVMb2FkZXIgYW5kIEpTRE9NUHJvbWlzZURlZmVycmVkLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMWJmZWRhMzQyNTJiNTc2OWUyMDQ5YzJjOGQ4
N2JlMGIzYmI4NDc4Yi4uZTI0MzIwNDk4YTU1NjA3NjE4ZTI5MDRmYTdmMjRhYzk1NzAyZmMxNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDYt
MzAgIEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1N0cmVhbWVyXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXItbW9kZS10aW1lc3RhbXBzLmh0bWwgc29tZXRp
bWVzIGNyYXNoZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMDM0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2Vi
dWZmZXItbW9kZS10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dDogQWRkZWQgZXh0cmEgYmxhbmsgbGlu
ZSBpbiBleHBlY3RhdGlvbnMsIGxpa2UgaW4gbWFueSBvdGhlciBleHBlY3RhdGlvbnMgZmlsZXMu
CisKIDIwMjEtMDYtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBVcGRhdGUgV1BUIHRvb2xzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNl
LXNvdXJjZWJ1ZmZlci1tb2RlLXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Ut
c291cmNlYnVmZmVyLW1vZGUtdGltZXN0YW1wcy1leHBlY3RlZC50eHQKaW5kZXggM2JkYmEwYzdl
Y2I2N2ViMzRlZmJmODc1NTdkYjQ3OTY2N2RjNzVkYS4uYTQ2NWJiNTQ4OGFkYjE3YTBmYzY0YWJk
YmIxMmNmN2Y2MDEyNjhiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVyLW1v
ZGUtdGltZXN0YW1wcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVy
LW1vZGUtdGltZXN0YW1wcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgYXVk
aW8vYWFjIDogSWYgZ2VuZXJhdGUgdGltZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlIGFuZCBuZXcg
bW9kZSBlcXVhbHMgInNlZ21lbnRzIiwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24g
YW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogUEFTUyBhdWRpby9tcGVnIDogSWYgZ2VuZXJhdGUgdGlt
ZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlIGFuZCBuZXcgbW9kZSBlcXVhbHMgInNlZ21lbnRzIiwg
dGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGJkODY2
NjVmN2VlYzQyMzAyNWFjYTI4MzUwMzlmZDg0YmUyN2U4MS4uZmIzNTE0ZTUxNGE3YmUzMTk4OTQy
MmU4ZjliMGZhNTc0Y2MzZjk0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xp
Yi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtNTgzLDcgKzU4Myw2IEBAIHdlYmtpdC5vcmcvYi8xODA4MDMgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtZHVyCiB3
ZWJraXQub3JnL2IvMjI2ODA0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
c291cmNlL21lZGlhc291cmNlLWNoYW5nZXR5cGUtcGxheS5odG1sIFsgRmFpbHVyZSBdCiAKIHdl
YmtpdC5vcmcvYi8xNjcxMDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1z
b3VyY2UvbWVkaWFzb3VyY2UtdHJhY2tkZWZhdWx0bGlzdC5odG1sIFsgRmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvMjEwMzQxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291
cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLXRpbWVzdGFtcHMuaHRtbCBbIEZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzIxMDM0MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXItdHJhY2tkZWZhdWx0cy5odG1s
IFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY3MTA4IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXRyYWNrZGVmYXVsdC5odG1sIFsgRmFp
bHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434627</attachid>
            <date>2021-07-30 08:22:23 -0700</date>
            <delta_ts>2021-07-30 08:39:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210341-20210730172221.patch</filename>
            <type>text/plain</type>
            <size>15048</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc1YmQwMzNiNDEyNWU4
MzgwMTVkODVjY2E1NTgxNDc2MGMwZWRkNS4uZmNjNTBhNjEzZTlhNWQ0ZGZlYzJjNGNlYmM4OGZj
YzgwN2ZiZmNkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA3LTMwICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVk
aWFzb3VyY2Utc291cmNlYnVmZmVyLW1vZGUtdGltZXN0YW1wcy5odG1sIHNvbWV0aW1lcyBjcmFz
aGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAz
NDEKKworICAgICAgICBEZWNsYXJlIGF1ZGlvL21wZWcgc3VwcG9ydCBhbmQgaGFuZGxlIGl0IHBy
b3Blcmx5IGluIEFwcGVuZFBpcGVsaW5lLiBUaGlzIG1lZGlhIHR5cGUKKyAgICAgICAgZG9lc24n
dCBoYXZlIGFueSBjb250YWluZXIgZm9ybWF0LCBzbyBhbiBtcGVnYXVkaW9wYXJzZSBlbGVtZW50
IGFjdHMgYXMgYW4gaWRlbnRpdHkKKyAgICAgICAgZGVtdXhlciAoZHVtbXkgZGVtdXhlcikuIEFz
IHRoaXMgZWxlbWVudCBpc24ndCBhbiBhY3R1YWwgZGVtdXhlciwgdGhlIHN0YW5kYXJkIHBhZC1h
ZGRlZCwKKyAgICAgICAgcGFkLXJlbW92ZWQgYW5kIG5vLW1vcmUtcGFkcyBzaWduYWxzIGFyZW4n
dCBwcmVzZW50LCBzbyB0aGVpciBiZWhhdmlvdXIgaXMgc2ltdWxhdGVkIHdoZW4KKyAgICAgICAg
dGhlIGZpcnN0IGJ1ZmZlciBpcyBlbWl0dGVkIGJ5IHRoZSBlbGVtZW50IChkZXRlY3RlZCBieSBh
IHByb2JlKS4KKworICAgICAgICBSZXR1cm4gVHlwZUVycm9yIGluIFNvdXJjZUJ1ZmZlcjo6c2V0
TW9kZSgpLCBpbnN0ZWFkIG9mIEludmFsaWRBY2Nlc3NFcnJvci4gVGhlIE1TRSBzcGVjCisgICAg
ICAgIGNoYW5nZWQgdGhpcyBiZWhhdmlvdXIgYXQgc29tZSBwb2ludCBiZWZvcmUgSnVuZSAyMDE2
IGFuZCB0aGUgV2ViS2l0IGNvZGUgbmV2ZXIgcmVmbGVjdGVkCisgICAgICAgIHRoZSBjaGFuZ2Us
IHN0aWxsIHJldHVybmluZyB0aGUgZGVwcmVjYXRlZCBJbnZhbGlkQWNjZXNzRXJyb3Igd2hlbiBn
ZW5lcmF0ZSB0aW1lc3RhbXBzCisgICAgICAgIGZsYWcgZXF1YWxzIHRydWUgYW5kIG5ldyBtb2Rl
IGVxdWFscyAic2VnbWVudHMiLgorCisgICAgICAgIEZpbmFsbHksIHRoZSBNZWRpYVNhbXBsZTo6
c2V0VGltZXN0YW1wcygpIG1ldGhvZCBoYXMgYmVlbiBpbXBsZW1lbnRlZCBmb3IgdGhlIEdTdHJl
YW1lcgorICAgICAgICBwb3J0LiBJdCBoYWQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24gYW5kIG5v
IHByb2JsZW0gaGFkIGJlZW4gZGV0ZWN0ZWQgdW50aWwgbm93IGJlY2F1c2UKKyAgICAgICAgdGhl
ICJzZXF1ZW5jZSIgU291cmNlQnVmZmVyIG1vZGUgaGFkIG5ldmVyIGJlZW4gdXNlZCB1bnRpbCBu
b3cuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlcjo6c2V0TW9kZSk6IFJldHVybiBUeXBlRXJyb3IuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHU3RyZWFtZXJSZWdpc3RyeVNjYW5uZXI6OmluaXRpYWxpemVEZWNvZGVy
cyk6IERlY2xhcmUgYXVkaW8vbXBlZyBzdXBwb3J0LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVNhbXBsZUdTdHJlYW1lcjo6c2V0VGltZXN0YW1wcyk6IEltcGxlbWVudCBtZXRob2Qu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVh
bWVyLmg6IFJlbW92ZWQgc2V0VGltZXN0YW1wcygpIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5lKTogU3Vw
cG9ydCBhdWRpby9tcGVnIHVzaW5nIGFuIG1wZWdhdWRpb3BhcnNlciBhbmQgc2ltdWxhdGluZyB3
aGF0IHdvdWxkIGJlIGRvbmUgaW4gdGhlIHBhZC1hZGRlZCBhbmQgcGFkLXJlbW92ZWQgc2lnbmFs
IGhhbmRsZXJzLCBidXQgdXNpbmcgYSBwcm9iZSB0byBkZXRlY3QgdGhlIGZpcnN0IGJ1ZmZlciB0
cmF2ZXJzaW5nIHRoZSBwYXJzZXIuCisKIDIwMjEtMDYtMTggIE1hcmsgTGFtICA8bWFyay5sYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtaXNzaW5nIGV4Y2VwdGlvbiBjaGVja3MgaW4gU2Ny
aXB0TW9kdWxlTG9hZGVyIGFuZCBKU0RPTVByb21pc2VEZWZlcnJlZC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA1ZDM2
MGViZTdkZGFiYTcyN2U2OTA0NDNmYzQ5ZWY4YzU3ZWFlY2UwLi42N2E2MWJjODQxZGRiZjk0OTE3
N2NhMWVkZTcxZWVjMDc4OTA3YmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC0xMjM3LDcgKzEyMzcsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OnNldE1vZGUoQXBwZW5kTW9kZSBuZXdNb2RlKQog
ICAgIC8vIDEuIExldCBuZXcgbW9kZSBlcXVhbCB0aGUgbmV3IHZhbHVlIGJlaW5nIGFzc2lnbmVk
IHRvIHRoaXMgYXR0cmlidXRlLgogICAgIC8vIDIuIElmIGdlbmVyYXRlIHRpbWVzdGFtcHMgZmxh
ZyBlcXVhbHMgdHJ1ZSBhbmQgbmV3IG1vZGUgZXF1YWxzICJzZWdtZW50cyIsIHRoZW4gdGhyb3cg
YW4gSW52YWxpZEFjY2Vzc0Vycm9yIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCiAg
ICAgaWYgKG1fc2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBzICYmIG5ld01vZGUgPT0gQXBwZW5kTW9k
ZTo6U2VnbWVudHMpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJy
b3IgfTsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OwogCiAgICAgLy8g
My4gSWYgdGhpcyBvYmplY3QgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBzb3VyY2VCdWZmZXJz
IGF0dHJpYnV0ZSBvZiB0aGUgcGFyZW50IG1lZGlhIHNvdXJjZSwgdGhlbiB0aHJvdyBhbiBJbnZh
bGlkU3RhdGVFcnJvciBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogICAgIC8vIDQu
IElmIHRoZSB1cGRhdGluZyBhdHRyaWJ1dGUgZXF1YWxzIHRydWUsIHRoZW4gdGhyb3cgYW4gSW52
YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJS
ZWdpc3RyeVNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5jcHAKaW5kZXggZTlkZmJhMGE3YzY3NWJk
MmU5ZGZmYzhlMTY0NWRjZmNmZjEwMTgwMy4uZTgwNmRkOGM4YjhmMDEzNTcxOGJkODAwY2E0MjY4
NTRiN2JmNzZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5j
cHAKQEAgLTI1NSw2ICsyNTUsOCBAQCB2b2lkIEdTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lcjo6aW5p
dGlhbGl6ZURlY29kZXJzKGNvbnN0IEdTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lcgogICAgICAgICBt
X2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRvbVN0cmluZygiYXVkaW8vYWFjIikpOwogICAgICAg
ICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRvbVN0cmluZygiYXVkaW8vbXA0IikpOwogICAg
ICAgICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRvbVN0cmluZygiYXVkaW8veC1tNGEiKSk7
CisgICAgICAgIG1fZGVjb2Rlck1pbWVUeXBlU2V0LmFkZChBdG9tU3RyaW5nKCJhdWRpby9tcGVn
IikpOworICAgICAgICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRvbVN0cmluZygiYXVkaW8v
eC1tcGVnIikpOwogICAgICAgICBtX2RlY29kZXJDb2RlY01hcC5hZGQoQXRvbVN0cmluZygibXBl
ZyIpLCBmYWxzZSk7CiAgICAgICAgIG1fZGVjb2RlckNvZGVjTWFwLmFkZChBdG9tU3RyaW5nKCJt
cDRhKiIpLCBmYWxzZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5j
cHAKaW5kZXggOGYzZDViNTMyZTJmNjAzNTZmZTgwNDZhZjdlMTIzNzBiNzg3YmIwMy4uMTVlYzIx
YzMwMmZkYjVkY2U4ODU1ZjZmZGQ0NDE5Y2YzOGE1OTBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFT
YW1wbGVHU3RyZWFtZXIuY3BwCkBAIC0xOTIsNiArMTkyLDEyIEBAIHZvaWQgTWVkaWFTYW1wbGVH
U3RyZWFtZXI6OmV4dGVuZFRvVGhlQmVnaW5uaW5nKCkKICAgICBtX3B0cyA9IE1lZGlhVGltZTo6
emVyb1RpbWUoKTsKIH0KIAordm9pZCBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6c2V0VGltZXN0YW1w
cyhjb25zdCBNZWRpYVRpbWUmIHByZXNlbnRhdGlvblRpbWUsIGNvbnN0IE1lZGlhVGltZSYgZGVj
b2RlVGltZSkKK3sKKyAgICBtX3B0cyA9IHByZXNlbnRhdGlvblRpbWU7CisgICAgbV9kdHMgPSBk
ZWNvZGVUaW1lOworfQorCiB2b2lkIE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpvZmZzZXRUaW1lc3Rh
bXBzQnkoY29uc3QgTWVkaWFUaW1lJiB0aW1lc3RhbXBPZmZzZXQpCiB7CiAgICAgaWYgKCF0aW1l
c3RhbXBPZmZzZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5oCmluZGV4IDhmNjBk
OGFmOTVlY2JmZTE0NzY2NTUwNTEyNTQ1NmFlOThjZmQ1ZTEuLmQ3YTQ5Yjk2ZmMzMzM0MmZjMDM0
NTIzNDBiNTYxNGE2OWRmYzM4MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5o
CkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICBzaXplX3Qgc2l6ZUluQnl0ZXMoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX3NpemU7IH0KICAgICBGbG9hdFNpemUgcHJlc2VudGF0aW9u
U2l6ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHJlc2VudGF0aW9uU2l6ZTsgfQogICAg
IHZvaWQgb2Zmc2V0VGltZXN0YW1wc0J5KGNvbnN0IE1lZGlhVGltZSYpIG92ZXJyaWRlOwotICAg
IHZvaWQgc2V0VGltZXN0YW1wcyhjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKSBv
dmVycmlkZSB7IH0KKyAgICB2b2lkIHNldFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29u
c3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgc3RkOjpwYWlyPFJlZlB0cjxNZWRpYVNhbXBs
ZT4sIFJlZlB0cjxNZWRpYVNhbXBsZT4+IGRpdmlkZShjb25zdCBNZWRpYVRpbWUmLCBVc2VFbmRU
aW1lKSBvdmVycmlkZSAgeyByZXR1cm4geyBudWxscHRyLCBudWxscHRyIH07IH0KICAgICBSZWY8
TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNl
L0FwcGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmluZGV4IDE2YWI5ZmU1MjY3N2QwODc3MWMw
ZTM1MGUzYjc2MDQxZWZhYWVkYTQuLjQ4YWQyZTQ0NWE0MjIyMDEzYzNmODIzYTdmNjJiZGMwOTdm
Y2YxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCkBAIC04MSw2ICs4MSw4
IEBAIHN0YXRpYyBHc3RQYWRQcm9iZVJldHVybiBhcHBlbmRQaXBlbGluZURlbXV4ZXJCbGFja0hv
bGVQYWRQcm9iZShHc3RQYWQqLCBHc3RQYWRQCiAKIHN0YXRpYyBHc3RQYWRQcm9iZVJldHVybiBt
YXRyb3NrYWRlbXV4Rm9yY2VTZWdtZW50U3RhcnRUb0VxdWFsWmVybyhHc3RQYWQqLCBHc3RQYWRQ
cm9iZUluZm8qLCB2b2lkKik7CiAKK3N0YXRpYyBHUmVmUHRyPEdzdEVsZW1lbnQ+IGNyZWF0ZU9w
dGlvbmFsUGFyc2VyRm9yRm9ybWF0KEdzdFBhZCopOworCiAvLyBXcmFwcGVyIGZvciBnc3RfZWxl
bWVudF9zZXRfc3RhdGUoKSB0aGF0IGVtaXRzIGEgY3JpdGljYWwgaWYgdGhlIHN0YXRlIGNoYW5n
ZSBmYWlscyBvciBpcyBub3Qgc3luY2hyb25vdXMuCiBzdGF0aWMgdm9pZCBhc3NlcnRlZEVsZW1l
bnRTZXRTdGF0ZShHc3RFbGVtZW50KiBlbGVtZW50LCBHc3RTdGF0ZSBkZXNpcmVkU3RhdGUpCiB7
CkBAIC0xNDIsMTIgKzE0NCwxOCBAQCBBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUoU291
cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciYgc291cmNlQnVmZmVyUHJpdmF0ZQogICAgIH0sIHRo
aXMsIG51bGxwdHIpOwogCiAgICAgY29uc3QgU3RyaW5nJiB0eXBlID0gbV9zb3VyY2VCdWZmZXJQ
cml2YXRlLnR5cGUoKS5jb250YWluZXJUeXBlKCk7CisgICAgYm9vbCBoYXNJZGVudGl0eURlbXV4
ZXIgPSBmYWxzZTsKICAgICBHU1RfREVCVUcoIlNvdXJjZUJ1ZmZlciBjb250YWluZXJUeXBlOiAl
cyIsIHR5cGUudXRmOCgpLmRhdGEoKSk7CiAgICAgaWYgKHR5cGUuZW5kc1dpdGgoIm1wNCIpIHx8
IHR5cGUuZW5kc1dpdGgoImFhYyIpKQogICAgICAgICBtX2RlbXV4ID0gbWFrZUdTdHJlYW1lckVs
ZW1lbnQoInF0ZGVtdXgiLCBudWxscHRyKTsKICAgICBlbHNlIGlmICh0eXBlLmVuZHNXaXRoKCJ3
ZWJtIikpCiAgICAgICAgIG1fZGVtdXggPSBtYWtlR1N0cmVhbWVyRWxlbWVudCgibWF0cm9za2Fk
ZW11eCIsIG51bGxwdHIpOwotICAgIGVsc2UKKyAgICBlbHNlIGlmICh0eXBlID09ICJhdWRpby9t
cGVnIikgeworICAgICAgICBtX2RlbXV4ID0gbWFrZUdTdHJlYW1lckVsZW1lbnQoIm1wZWdhdWRp
b3BhcnNlIiwgbnVsbHB0cik7CisgICAgICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0
R1JlZihnc3RfY2Fwc19uZXdfc2ltcGxlKCJhdWRpby9tcGVnIiwgIm1wZWd2ZXJzaW9uIiwgR19U
WVBFX0lOVCwgMSwgbnVsbHB0cikpOworICAgICAgICBnc3RfYXBwX3NyY19zZXRfY2FwcyhHU1Rf
QVBQX1NSQyhtX2FwcHNyYy5nZXQoKSksIGNhcHMuZ2V0KCkpOworICAgICAgICBoYXNJZGVudGl0
eURlbXV4ZXIgPSB0cnVlOworICAgIH0gZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIAogICAgIG1fYXBwc2luayA9IG1ha2VHU3RyZWFtZXJFbGVtZW50KCJhcHBzaW5rIiwgbnVs
bHB0cik7CkBAIC0xOTYsMjAgKzIwNCwzNiBAQCBBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxp
bmUoU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciYgc291cmNlQnVmZmVyUHJpdmF0ZQogICAg
IG1fYXBwc2lua1BhZEV2ZW50UHJvYmVJbmZvcm1hdGlvbi5wcm9iZUlkID0gZ3N0X3BhZF9hZGRf
cHJvYmUoYXBwc2lua1BhZC5nZXQoKSwgR1NUX1BBRF9QUk9CRV9UWVBFX0VWRU5UX0RPV05TVFJF
QU0sIHJlaW50ZXJwcmV0X2Nhc3Q8R3N0UGFkUHJvYmVDYWxsYmFjaz4oYXBwZW5kUGlwZWxpbmVB
cHBzaW5rUGFkRXZlbnRQcm9iZSksICZtX2FwcHNpbmtQYWRFdmVudFByb2JlSW5mb3JtYXRpb24s
IG51bGxwdHIpOwogI2VuZGlmCiAKLSAgICAvLyBUaGVzZSBzaWduYWxzIHdvbid0IGJlIGNvbm5l
Y3RlZCBvdXRzaWRlIG9mIHRoZSBsaWZldGltZSBvZiAidGhpcyIuCi0gICAgZ19zaWduYWxfY29u
bmVjdChtX2RlbXV4LmdldCgpLCAicGFkLWFkZGVkIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVu
dCosIEdzdFBhZCogZGVtdXhlclNyY1BhZCwgQXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBpcGVsaW5l
KSB7Ci0gICAgICAgIGFwcGVuZFBpcGVsaW5lLT5jb25uZWN0RGVtdXhlclNyY1BhZFRvQXBwc2lu
a0Zyb21TdHJlYW1pbmdUaHJlYWQoZGVtdXhlclNyY1BhZCk7Ci0gICAgfSksIHRoaXMpOwotICAg
IGdfc2lnbmFsX2Nvbm5lY3QobV9kZW11eC5nZXQoKSwgInBhZC1yZW1vdmVkIiwgR19DQUxMQkFD
SygrW10oR3N0RWxlbWVudCosIEdzdFBhZCogZGVtdXhlclNyY1BhZCwgQXBwZW5kUGlwZWxpbmUq
IGFwcGVuZFBpcGVsaW5lKSB7Ci0gICAgICAgIGFwcGVuZFBpcGVsaW5lLT5kaXNjb25uZWN0RGVt
dXhlclNyY1BhZEZyb21BcHBzaW5rRnJvbUFueVRocmVhZChkZW11eGVyU3JjUGFkKTsKLSAgICB9
KSwgdGhpcyk7Ci0gICAgZ19zaWduYWxfY29ubmVjdChtX2RlbXV4LmdldCgpLCAibm8tbW9yZS1w
YWRzIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVudCosIEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQ
aXBlbGluZSkgewotICAgICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKLSAgICAgICAgR1NU
X0RFQlVHKCJQb3N0aW5nIG5vLW1vcmUtcGFkcyB0YXNrIHRvIG1haW4gdGhyZWFkIik7Ci0gICAg
ICAgIGFwcGVuZFBpcGVsaW5lLT5tX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbYXBwZW5kUGlwZWxp
bmVdKCkgewotICAgICAgICAgICAgYXBwZW5kUGlwZWxpbmUtPmRpZFJlY2VpdmVJbml0aWFsaXph
dGlvblNlZ21lbnQoKTsKLSAgICAgICAgfSk7Ci0gICAgfSksIHRoaXMpOworICAgIGlmICghaGFz
SWRlbnRpdHlEZW11eGVyKSB7CisgICAgICAgIC8vIFRoZXNlIHNpZ25hbHMgd29uJ3QgYmUgY29u
bmVjdGVkIG91dHNpZGUgb2YgdGhlIGxpZmV0aW1lIG9mICJ0aGlzIi4KKyAgICAgICAgZ19zaWdu
YWxfY29ubmVjdChtX2RlbXV4LmdldCgpLCAicGFkLWFkZGVkIiwgR19DQUxMQkFDSygrW10oR3N0
RWxlbWVudCosIEdzdFBhZCogZGVtdXhlclNyY1BhZCwgQXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBp
cGVsaW5lKSB7CisgICAgICAgICAgICBhcHBlbmRQaXBlbGluZS0+Y29ubmVjdERlbXV4ZXJTcmNQ
YWRUb0FwcHNpbmtGcm9tU3RyZWFtaW5nVGhyZWFkKGRlbXV4ZXJTcmNQYWQpOworICAgICAgICB9
KSwgdGhpcyk7CisgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9kZW11eC5nZXQoKSwgInBhZC1y
ZW1vdmVkIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVudCosIEdzdFBhZCogZGVtdXhlclNyY1Bh
ZCwgQXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBpcGVsaW5lKSB7CisgICAgICAgICAgICBhcHBlbmRQ
aXBlbGluZS0+ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zyb21BbnlUaHJlYWQo
ZGVtdXhlclNyY1BhZCk7CisgICAgICAgIH0pLCB0aGlzKTsKKyAgICAgICAgZ19zaWduYWxfY29u
bmVjdChtX2RlbXV4LmdldCgpLCAibm8tbW9yZS1wYWRzIiwgR19DQUxMQkFDSygrW10oR3N0RWxl
bWVudCosIEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQaXBlbGluZSkgeworICAgICAgICAgICAgQVNT
RVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAgICAgICAgICBHU1RfREVCVUcoIlBvc3Rpbmcgbm8t
bW9yZS1wYWRzIHRhc2sgdG8gbWFpbiB0aHJlYWQiKTsKKyAgICAgICAgICAgIGFwcGVuZFBpcGVs
aW5lLT5tX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbYXBwZW5kUGlwZWxpbmVdKCkgeworICAgICAg
ICAgICAgICAgIGFwcGVuZFBpcGVsaW5lLT5kaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50
KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSksIHRoaXMpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIEdSZWZQdHI8R3N0UGFkPiBkZW11eGVyU3JjUGFkID0gYWRvcHRHUmVmKGdzdF9lbGVt
ZW50X2dldF9zdGF0aWNfcGFkKG1fZGVtdXguZ2V0KCksICJzcmMiKSk7CisgICAgICAgIGdzdF9w
YWRfYWRkX3Byb2JlKGRlbXV4ZXJTcmNQYWQuZ2V0KCksIEdTVF9QQURfUFJPQkVfVFlQRV9CVUZG
RVIsIHJlaW50ZXJwcmV0X2Nhc3Q8R3N0UGFkUHJvYmVDYWxsYmFjaz4oCisgICAgICAgICAgICAr
W10oR3N0UGFkICpwYWQsIEdzdFBhZFByb2JlSW5mbyosIEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQ
aXBlbGluZSkgeworICAgICAgICAgICAgICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGdzdF9w
YWRfZ2V0X2N1cnJlbnRfY2FwcyhwYWQpOworICAgICAgICAgICAgICAgIGlmICghY2FwcykKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEdTVF9QQURfUFJPQkVfRFJPUDsKKyAgICAgICAgICAg
ICAgICBhcHBlbmRQaXBlbGluZS0+Y29ubmVjdERlbXV4ZXJTcmNQYWRUb0FwcHNpbmtGcm9tU3Ry
ZWFtaW5nVGhyZWFkKHBhZCk7CisgICAgICAgICAgICAgICAgYXBwZW5kUGlwZWxpbmUtPm1fdGFz
a1F1ZXVlLmVucXVldWVUYXNrKFthcHBlbmRQaXBlbGluZV0oKSB7CisgICAgICAgICAgICAgICAg
ICAgIGFwcGVuZFBpcGVsaW5lLT5kaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KCk7Cisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIEdTVF9QQURfUFJPQkVf
UkVNT1ZFOworICAgICAgICAgICAgfQorICAgICAgICApLCB0aGlzLCBudWxscHRyKTsKKyAgICB9
CiAgICAgZ19zaWduYWxfY29ubmVjdChtX2FwcHNpbmsuZ2V0KCksICJuZXctc2FtcGxlIiwgR19D
QUxMQkFDSygrW10oR3N0RWxlbWVudCogYXBwc2luaywgQXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBp
cGVsaW5lKSAtPiBHc3RGbG93UmV0dXJuIHsKICAgICAgICAgYXBwZW5kUGlwZWxpbmUtPmhhbmRs
ZUFwcHNpbmtOZXdTYW1wbGVGcm9tU3RyZWFtaW5nVGhyZWFkKGFwcHNpbmspOwogICAgICAgICBy
ZXR1cm4gR1NUX0ZMT1dfT0s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjI0ZTExMDU1NDFiYjNlNmQ2OWQxZmM5MGM4Mjk0
NmY2YjViZGIzMi4uMGY1YWIyNWVlNjZhYzU3ZjhjYjEyMzllOTc2MmI2ZTRmOWFiMGQ5NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTMwICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXog
IDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl0gaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVy
LW1vZGUtdGltZXN0YW1wcy5odG1sIHNvbWV0aW1lcyBjcmFzaGVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzNDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dsaWIvVGVzdEV4cGVj
dGF0aW9uczogVW5za2lwcGVkIHRlc3QKKwogMjAyMS0wNi0xOCAgTWFyayBMYW0gIDxtYXJrLmxh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1pc3NpbmcgZXhjZXB0aW9uIGNoZWNrcyBpbiBT
Y3JpcHRNb2R1bGVMb2FkZXIgYW5kIEpTRE9NUHJvbWlzZURlZmVycmVkLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggMWJmZWRhMzQyNTJiNTc2OWUyMDQ5YzJjOGQ4N2JlMGIzYmI4
NDc4Yi4uOWIxMzI0ZDNjMTgwZTdjODhlMGIxZjIxMWJhN2E2NTVlNDY3YTRmOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDctMzAgIEVucmlx
dWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0
cmVhbWVyXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRp
YXNvdXJjZS1zb3VyY2VidWZmZXItbW9kZS10aW1lc3RhbXBzLmh0bWwgc29tZXRpbWVzIGNyYXNo
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDM0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXItbW9k
ZS10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dDogQWRkZWQgZXh0cmEgYmxhbmsgbGluZSBpbiBleHBl
Y3RhdGlvbnMsIGxpa2UgaW4gbWFueSBvdGhlciBleHBlY3RhdGlvbnMgZmlsZXMuCisKIDIwMjEt
MDYtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUg
V1BUIHRvb2xzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1
ZmZlci1tb2RlLXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVm
ZmVyLW1vZGUtdGltZXN0YW1wcy1leHBlY3RlZC50eHQKaW5kZXggM2JkYmEwYzdlY2I2N2ViMzRl
ZmJmODc1NTdkYjQ3OTY2N2RjNzVkYS4uYTQ2NWJiNTQ4OGFkYjE3YTBmYzY0YWJkYmIxMmNmN2Y2
MDEyNjhiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVyLW1vZGUtdGltZXN0
YW1wcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVyLW1vZGUtdGlt
ZXN0YW1wcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgYXVkaW8vYWFjIDog
SWYgZ2VuZXJhdGUgdGltZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlIGFuZCBuZXcgbW9kZSBlcXVh
bHMgInNlZ21lbnRzIiwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24gYW5kIGFib3J0
IHRoZXNlIHN0ZXBzLgogUEFTUyBhdWRpby9tcGVnIDogSWYgZ2VuZXJhdGUgdGltZXN0YW1wcyBm
bGFnIGVxdWFscyB0cnVlIGFuZCBuZXcgbW9kZSBlcXVhbHMgInNlZ21lbnRzIiwgdGhlbiB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGJkODY2NjVmN2VlYzQy
MzAyNWFjYTI4MzUwMzlmZDg0YmUyN2U4MS4uZmIzNTE0ZTUxNGE3YmUzMTk4OTQyMmU4ZjliMGZh
NTc0Y2MzZjk0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNTgzLDcgKzU4Myw2IEBAIHdlYmtpdC5vcmcvYi8xODA4MDMgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtZHVyCiB3ZWJraXQub3Jn
L2IvMjI2ODA0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21l
ZGlhc291cmNlLWNoYW5nZXR5cGUtcGxheS5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcv
Yi8xNjcxMDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVk
aWFzb3VyY2UtdHJhY2tkZWZhdWx0bGlzdC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2Iv
MjEwMzQxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlh
c291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLXRpbWVzdGFtcHMuaHRtbCBbIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzIxMDM0MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXItdHJhY2tkZWZhdWx0cy5odG1sIFsgRmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMTY3MTA4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtc291cmNlL21lZGlhc291cmNlLXRyYWNrZGVmYXVsdC5odG1sIFsgRmFpbHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434632</attachid>
            <date>2021-07-30 08:39:22 -0700</date>
            <delta_ts>2021-08-24 10:48:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210341-20210730173921.patch</filename>
            <type>text/plain</type>
            <size>14949</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc1YmQwMzNiNDEyNWU4
MzgwMTVkODVjY2E1NTgxNDc2MGMwZWRkNS4uYjdlZjQ0M2JlYWZjMzljZjE1MDE2MzY0ODhhOTVm
NmY1ZGY2NzM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA3LTMwICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl1bTVNFXSBJbXBsZW1lbnRlIHRoZSAic2VxdWVuY2UiIG1vZGUgaW4gU291cmNlQnVm
ZmVyIGZvciB0aGUgR1N0cmVhbWVyIHBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzNDEKKworICAgICAgICBEZWNsYXJlIGF1ZGlvL21wZWcg
c3VwcG9ydCBhbmQgaGFuZGxlIGl0IHByb3Blcmx5IGluIEFwcGVuZFBpcGVsaW5lLiBUaGlzIG1l
ZGlhIHR5cGUKKyAgICAgICAgZG9lc24ndCBoYXZlIGFueSBjb250YWluZXIgZm9ybWF0LCBzbyBh
biBtcGVnYXVkaW9wYXJzZSBlbGVtZW50IGFjdHMgYXMgYW4gaWRlbnRpdHkKKyAgICAgICAgZGVt
dXhlciAoZHVtbXkgZGVtdXhlcikuIEFzIHRoaXMgZWxlbWVudCBpc24ndCBhbiBhY3R1YWwgZGVt
dXhlciwgdGhlIHN0YW5kYXJkIHBhZC1hZGRlZCwKKyAgICAgICAgcGFkLXJlbW92ZWQgYW5kIG5v
LW1vcmUtcGFkcyBzaWduYWxzIGFyZW4ndCBwcmVzZW50LCBzbyB0aGVpciBiZWhhdmlvdXIgaXMg
c2ltdWxhdGVkIHdoZW4KKyAgICAgICAgdGhlIGZpcnN0IGJ1ZmZlciBpcyBlbWl0dGVkIGJ5IHRo
ZSBlbGVtZW50IChkZXRlY3RlZCBieSBhIHByb2JlKS4KKworICAgICAgICBSZXR1cm4gVHlwZUVy
cm9yIGluIFNvdXJjZUJ1ZmZlcjo6c2V0TW9kZSgpLCBpbnN0ZWFkIG9mIEludmFsaWRBY2Nlc3NF
cnJvci4gVGhlIE1TRSBzcGVjCisgICAgICAgIGNoYW5nZWQgdGhpcyBiZWhhdmlvdXIgYXQgc29t
ZSBwb2ludCBiZWZvcmUgSnVuZSAyMDE2IGFuZCB0aGUgV2ViS2l0IGNvZGUgbmV2ZXIgcmVmbGVj
dGVkCisgICAgICAgIHRoZSBjaGFuZ2UsIHN0aWxsIHJldHVybmluZyB0aGUgZGVwcmVjYXRlZCBJ
bnZhbGlkQWNjZXNzRXJyb3Igd2hlbiBnZW5lcmF0ZSB0aW1lc3RhbXBzCisgICAgICAgIGZsYWcg
ZXF1YWxzIHRydWUgYW5kIG5ldyBtb2RlIGVxdWFscyAic2VnbWVudHMiLgorCisgICAgICAgIEZp
bmFsbHksIHRoZSBNZWRpYVNhbXBsZTo6c2V0VGltZXN0YW1wcygpIG1ldGhvZCBoYXMgYmVlbiBp
bXBsZW1lbnRlZCBmb3IgdGhlIEdTdHJlYW1lcgorICAgICAgICBwb3J0LiBJdCBoYWQgYW4gZW1w
dHkgaW1wbGVtZW50YXRpb24gYW5kIG5vIHByb2JsZW0gaGFkIGJlZW4gZGV0ZWN0ZWQgdW50aWwg
bm93IGJlY2F1c2UKKyAgICAgICAgdGhlICJzZXF1ZW5jZSIgU291cmNlQnVmZmVyIG1vZGUgaGFk
IG5ldmVyIGJlZW4gdXNlZCB1bnRpbCBub3cuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGlu
ZyB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c2V0TW9kZSk6IFJldHVybiBUeXBl
RXJyb3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclJl
Z2lzdHJ5U2Nhbm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFtZXJSZWdpc3RyeVNj
YW5uZXI6OmluaXRpYWxpemVEZWNvZGVycyk6IERlY2xhcmUgYXVkaW8vbXBlZyBzdXBwb3J0Lgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUdTdHJlYW1lcjo6c2V0VGltZXN0
YW1wcyk6IEltcGxlbWVudCBtZXRob2QuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmg6IFJlbW92ZWQgc2V0VGltZXN0YW1wcygpIGVt
cHR5IGltcGxlbWVudGF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlwZWxp
bmU6OkFwcGVuZFBpcGVsaW5lKTogU3VwcG9ydCBhdWRpby9tcGVnIHVzaW5nIGFuIG1wZWdhdWRp
b3BhcnNlciBhbmQgc2ltdWxhdGluZyB3aGF0IHdvdWxkIGJlIGRvbmUgaW4gdGhlIHBhZC1hZGRl
ZCBhbmQgcGFkLXJlbW92ZWQgc2lnbmFsIGhhbmRsZXJzLCBidXQgdXNpbmcgYSBwcm9iZSB0byBk
ZXRlY3QgdGhlIGZpcnN0IGJ1ZmZlciB0cmF2ZXJzaW5nIHRoZSBwYXJzZXIuCisKIDIwMjEtMDYt
MTggIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtaXNzaW5n
IGV4Y2VwdGlvbiBjaGVja3MgaW4gU2NyaXB0TW9kdWxlTG9hZGVyIGFuZCBKU0RPTVByb21pc2VE
ZWZlcnJlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmNwcAppbmRleCA1ZDM2MGViZTdkZGFiYTcyN2U2OTA0NDNmYzQ5ZWY4YzU3ZWFl
Y2UwLi42N2E2MWJjODQxZGRiZjk0OTE3N2NhMWVkZTcxZWVjMDc4OTA3YmU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBA
IC0xMjM3LDcgKzEyMzcsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OnNldE1v
ZGUoQXBwZW5kTW9kZSBuZXdNb2RlKQogICAgIC8vIDEuIExldCBuZXcgbW9kZSBlcXVhbCB0aGUg
bmV3IHZhbHVlIGJlaW5nIGFzc2lnbmVkIHRvIHRoaXMgYXR0cmlidXRlLgogICAgIC8vIDIuIElm
IGdlbmVyYXRlIHRpbWVzdGFtcHMgZmxhZyBlcXVhbHMgdHJ1ZSBhbmQgbmV3IG1vZGUgZXF1YWxz
ICJzZWdtZW50cyIsIHRoZW4gdGhyb3cgYW4gSW52YWxpZEFjY2Vzc0Vycm9yIGV4Y2VwdGlvbiBh
bmQgYWJvcnQgdGhlc2Ugc3RlcHMuCiAgICAgaWYgKG1fc2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBz
ICYmIG5ld01vZGUgPT0gQXBwZW5kTW9kZTo6U2VnbWVudHMpCi0gICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciB9OwogCiAgICAgLy8gMy4gSWYgdGhpcyBvYmplY3QgaGFzIGJlZW4gcmVtb3Zl
ZCBmcm9tIHRoZSBzb3VyY2VCdWZmZXJzIGF0dHJpYnV0ZSBvZiB0aGUgcGFyZW50IG1lZGlhIHNv
dXJjZSwgdGhlbiB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24gYW5kIGFib3J0
IHRoZXNlIHN0ZXBzLgogICAgIC8vIDQuIElmIHRoZSB1cGRhdGluZyBhdHRyaWJ1dGUgZXF1YWxz
IHRydWUsIHRoZW4gdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9y
dCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HU3RyZWFtZXJSZWdpc3RyeVNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5j
cHAKaW5kZXggZTlkZmJhMGE3YzY3NWJkMmU5ZGZmYzhlMTY0NWRjZmNmZjEwMTgwMy4uZTgwNmRk
OGM4YjhmMDEzNTcxOGJkODAwY2E0MjY4NTRiN2JmNzZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dT
dHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5jcHAKQEAgLTI1NSw2ICsyNTUsOCBAQCB2b2lkIEdTdHJl
YW1lclJlZ2lzdHJ5U2Nhbm5lcjo6aW5pdGlhbGl6ZURlY29kZXJzKGNvbnN0IEdTdHJlYW1lclJl
Z2lzdHJ5U2Nhbm5lcgogICAgICAgICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRvbVN0cmlu
ZygiYXVkaW8vYWFjIikpOwogICAgICAgICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRvbVN0
cmluZygiYXVkaW8vbXA0IikpOwogICAgICAgICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRv
bVN0cmluZygiYXVkaW8veC1tNGEiKSk7CisgICAgICAgIG1fZGVjb2Rlck1pbWVUeXBlU2V0LmFk
ZChBdG9tU3RyaW5nKCJhdWRpby9tcGVnIikpOworICAgICAgICBtX2RlY29kZXJNaW1lVHlwZVNl
dC5hZGQoQXRvbVN0cmluZygiYXVkaW8veC1tcGVnIikpOwogICAgICAgICBtX2RlY29kZXJDb2Rl
Y01hcC5hZGQoQXRvbVN0cmluZygibXBlZyIpLCBmYWxzZSk7CiAgICAgICAgIG1fZGVjb2RlckNv
ZGVjTWFwLmFkZChBdG9tU3RyaW5nKCJtcDRhKiIpLCBmYWxzZSk7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxl
R1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVNhbXBsZUdTdHJlYW1lci5jcHAKaW5kZXggOGYzZDViNTMyZTJmNjAzNTZmZTgwNDZh
ZjdlMTIzNzBiNzg3YmIwMy4uMTVlYzIxYzMwMmZkYjVkY2U4ODU1ZjZmZGQ0NDE5Y2YzOGE1OTBk
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhU2FtcGxlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwCkBAIC0xOTIsNiArMTky
LDEyIEBAIHZvaWQgTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmV4dGVuZFRvVGhlQmVnaW5uaW5nKCkK
ICAgICBtX3B0cyA9IE1lZGlhVGltZTo6emVyb1RpbWUoKTsKIH0KIAordm9pZCBNZWRpYVNhbXBs
ZUdTdHJlYW1lcjo6c2V0VGltZXN0YW1wcyhjb25zdCBNZWRpYVRpbWUmIHByZXNlbnRhdGlvblRp
bWUsIGNvbnN0IE1lZGlhVGltZSYgZGVjb2RlVGltZSkKK3sKKyAgICBtX3B0cyA9IHByZXNlbnRh
dGlvblRpbWU7CisgICAgbV9kdHMgPSBkZWNvZGVUaW1lOworfQorCiB2b2lkIE1lZGlhU2FtcGxl
R1N0cmVhbWVyOjpvZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1lJiB0aW1lc3RhbXBP
ZmZzZXQpCiB7CiAgICAgaWYgKCF0aW1lc3RhbXBPZmZzZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBs
ZUdTdHJlYW1lci5oCmluZGV4IDhmNjBkOGFmOTVlY2JmZTE0NzY2NTUwNTEyNTQ1NmFlOThjZmQ1
ZTEuLmQ3YTQ5Yjk2ZmMzMzM0MmZjMDM0NTIzNDBiNTYxNGE2OWRmYzM4MDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdT
dHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVNhbXBsZUdTdHJlYW1lci5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICBz
aXplX3Qgc2l6ZUluQnl0ZXMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3NpemU7IH0KICAg
ICBGbG9hdFNpemUgcHJlc2VudGF0aW9uU2l6ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1f
cHJlc2VudGF0aW9uU2l6ZTsgfQogICAgIHZvaWQgb2Zmc2V0VGltZXN0YW1wc0J5KGNvbnN0IE1l
ZGlhVGltZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgc2V0VGltZXN0YW1wcyhjb25zdCBNZWRpYVRp
bWUmLCBjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIHNldFRpbWVzdGFt
cHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7CiAgICAgYm9v
bCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgc3Rk
OjpwYWlyPFJlZlB0cjxNZWRpYVNhbXBsZT4sIFJlZlB0cjxNZWRpYVNhbXBsZT4+IGRpdmlkZShj
b25zdCBNZWRpYVRpbWUmLCBVc2VFbmRUaW1lKSBvdmVycmlkZSAgeyByZXR1cm4geyBudWxscHRy
LCBudWxscHRyIH07IH0KICAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRpc3BsYXlpbmdD
b3B5KCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmlu
ZGV4IDE2YWI5ZmU1MjY3N2QwODc3MWMwZTM1MGUzYjc2MDQxZWZhYWVkYTQuLjQ4YWQyZTQ0NWE0
MjIyMDEzYzNmODIzYTdmNjJiZGMwOTdmY2YxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlw
ZWxpbmUuY3BwCkBAIC04MSw2ICs4MSw4IEBAIHN0YXRpYyBHc3RQYWRQcm9iZVJldHVybiBhcHBl
bmRQaXBlbGluZURlbXV4ZXJCbGFja0hvbGVQYWRQcm9iZShHc3RQYWQqLCBHc3RQYWRQCiAKIHN0
YXRpYyBHc3RQYWRQcm9iZVJldHVybiBtYXRyb3NrYWRlbXV4Rm9yY2VTZWdtZW50U3RhcnRUb0Vx
dWFsWmVybyhHc3RQYWQqLCBHc3RQYWRQcm9iZUluZm8qLCB2b2lkKik7CiAKK3N0YXRpYyBHUmVm
UHRyPEdzdEVsZW1lbnQ+IGNyZWF0ZU9wdGlvbmFsUGFyc2VyRm9yRm9ybWF0KEdzdFBhZCopOwor
CiAvLyBXcmFwcGVyIGZvciBnc3RfZWxlbWVudF9zZXRfc3RhdGUoKSB0aGF0IGVtaXRzIGEgY3Jp
dGljYWwgaWYgdGhlIHN0YXRlIGNoYW5nZSBmYWlscyBvciBpcyBub3Qgc3luY2hyb25vdXMuCiBz
dGF0aWMgdm9pZCBhc3NlcnRlZEVsZW1lbnRTZXRTdGF0ZShHc3RFbGVtZW50KiBlbGVtZW50LCBH
c3RTdGF0ZSBkZXNpcmVkU3RhdGUpCiB7CkBAIC0xNDIsMTIgKzE0NCwxOCBAQCBBcHBlbmRQaXBl
bGluZTo6QXBwZW5kUGlwZWxpbmUoU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciYgc291cmNl
QnVmZmVyUHJpdmF0ZQogICAgIH0sIHRoaXMsIG51bGxwdHIpOwogCiAgICAgY29uc3QgU3RyaW5n
JiB0eXBlID0gbV9zb3VyY2VCdWZmZXJQcml2YXRlLnR5cGUoKS5jb250YWluZXJUeXBlKCk7Cisg
ICAgYm9vbCBoYXNJZGVudGl0eURlbXV4ZXIgPSBmYWxzZTsKICAgICBHU1RfREVCVUcoIlNvdXJj
ZUJ1ZmZlciBjb250YWluZXJUeXBlOiAlcyIsIHR5cGUudXRmOCgpLmRhdGEoKSk7CiAgICAgaWYg
KHR5cGUuZW5kc1dpdGgoIm1wNCIpIHx8IHR5cGUuZW5kc1dpdGgoImFhYyIpKQogICAgICAgICBt
X2RlbXV4ID0gbWFrZUdTdHJlYW1lckVsZW1lbnQoInF0ZGVtdXgiLCBudWxscHRyKTsKICAgICBl
bHNlIGlmICh0eXBlLmVuZHNXaXRoKCJ3ZWJtIikpCiAgICAgICAgIG1fZGVtdXggPSBtYWtlR1N0
cmVhbWVyRWxlbWVudCgibWF0cm9za2FkZW11eCIsIG51bGxwdHIpOwotICAgIGVsc2UKKyAgICBl
bHNlIGlmICh0eXBlID09ICJhdWRpby9tcGVnIikgeworICAgICAgICBtX2RlbXV4ID0gbWFrZUdT
dHJlYW1lckVsZW1lbnQoIm1wZWdhdWRpb3BhcnNlIiwgbnVsbHB0cik7CisgICAgICAgIEdSZWZQ
dHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1JlZihnc3RfY2Fwc19uZXdfc2ltcGxlKCJhdWRpby9t
cGVnIiwgIm1wZWd2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwgbnVsbHB0cikpOworICAgICAgICBn
c3RfYXBwX3NyY19zZXRfY2FwcyhHU1RfQVBQX1NSQyhtX2FwcHNyYy5nZXQoKSksIGNhcHMuZ2V0
KCkpOworICAgICAgICBoYXNJZGVudGl0eURlbXV4ZXIgPSB0cnVlOworICAgIH0gZWxzZQogICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAogICAgIG1fYXBwc2luayA9IG1ha2VHU3RyZWFt
ZXJFbGVtZW50KCJhcHBzaW5rIiwgbnVsbHB0cik7CkBAIC0xOTYsMjAgKzIwNCwzNiBAQCBBcHBl
bmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUoU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciYg
c291cmNlQnVmZmVyUHJpdmF0ZQogICAgIG1fYXBwc2lua1BhZEV2ZW50UHJvYmVJbmZvcm1hdGlv
bi5wcm9iZUlkID0gZ3N0X3BhZF9hZGRfcHJvYmUoYXBwc2lua1BhZC5nZXQoKSwgR1NUX1BBRF9Q
Uk9CRV9UWVBFX0VWRU5UX0RPV05TVFJFQU0sIHJlaW50ZXJwcmV0X2Nhc3Q8R3N0UGFkUHJvYmVD
YWxsYmFjaz4oYXBwZW5kUGlwZWxpbmVBcHBzaW5rUGFkRXZlbnRQcm9iZSksICZtX2FwcHNpbmtQ
YWRFdmVudFByb2JlSW5mb3JtYXRpb24sIG51bGxwdHIpOwogI2VuZGlmCiAKLSAgICAvLyBUaGVz
ZSBzaWduYWxzIHdvbid0IGJlIGNvbm5lY3RlZCBvdXRzaWRlIG9mIHRoZSBsaWZldGltZSBvZiAi
dGhpcyIuCi0gICAgZ19zaWduYWxfY29ubmVjdChtX2RlbXV4LmdldCgpLCAicGFkLWFkZGVkIiwg
R19DQUxMQkFDSygrW10oR3N0RWxlbWVudCosIEdzdFBhZCogZGVtdXhlclNyY1BhZCwgQXBwZW5k
UGlwZWxpbmUqIGFwcGVuZFBpcGVsaW5lKSB7Ci0gICAgICAgIGFwcGVuZFBpcGVsaW5lLT5jb25u
ZWN0RGVtdXhlclNyY1BhZFRvQXBwc2lua0Zyb21TdHJlYW1pbmdUaHJlYWQoZGVtdXhlclNyY1Bh
ZCk7Ci0gICAgfSksIHRoaXMpOwotICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9kZW11eC5nZXQoKSwg
InBhZC1yZW1vdmVkIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVudCosIEdzdFBhZCogZGVtdXhl
clNyY1BhZCwgQXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBpcGVsaW5lKSB7Ci0gICAgICAgIGFwcGVu
ZFBpcGVsaW5lLT5kaXNjb25uZWN0RGVtdXhlclNyY1BhZEZyb21BcHBzaW5rRnJvbUFueVRocmVh
ZChkZW11eGVyU3JjUGFkKTsKLSAgICB9KSwgdGhpcyk7Ci0gICAgZ19zaWduYWxfY29ubmVjdCht
X2RlbXV4LmdldCgpLCAibm8tbW9yZS1wYWRzIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVudCos
IEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQaXBlbGluZSkgewotICAgICAgICBBU1NFUlQoIWlzTWFp
blRocmVhZCgpKTsKLSAgICAgICAgR1NUX0RFQlVHKCJQb3N0aW5nIG5vLW1vcmUtcGFkcyB0YXNr
IHRvIG1haW4gdGhyZWFkIik7Ci0gICAgICAgIGFwcGVuZFBpcGVsaW5lLT5tX3Rhc2tRdWV1ZS5l
bnF1ZXVlVGFzayhbYXBwZW5kUGlwZWxpbmVdKCkgewotICAgICAgICAgICAgYXBwZW5kUGlwZWxp
bmUtPmRpZFJlY2VpdmVJbml0aWFsaXphdGlvblNlZ21lbnQoKTsKLSAgICAgICAgfSk7Ci0gICAg
fSksIHRoaXMpOworICAgIGlmICghaGFzSWRlbnRpdHlEZW11eGVyKSB7CisgICAgICAgIC8vIFRo
ZXNlIHNpZ25hbHMgd29uJ3QgYmUgY29ubmVjdGVkIG91dHNpZGUgb2YgdGhlIGxpZmV0aW1lIG9m
ICJ0aGlzIi4KKyAgICAgICAgZ19zaWduYWxfY29ubmVjdChtX2RlbXV4LmdldCgpLCAicGFkLWFk
ZGVkIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVudCosIEdzdFBhZCogZGVtdXhlclNyY1BhZCwg
QXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBpcGVsaW5lKSB7CisgICAgICAgICAgICBhcHBlbmRQaXBl
bGluZS0+Y29ubmVjdERlbXV4ZXJTcmNQYWRUb0FwcHNpbmtGcm9tU3RyZWFtaW5nVGhyZWFkKGRl
bXV4ZXJTcmNQYWQpOworICAgICAgICB9KSwgdGhpcyk7CisgICAgICAgIGdfc2lnbmFsX2Nvbm5l
Y3QobV9kZW11eC5nZXQoKSwgInBhZC1yZW1vdmVkIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVu
dCosIEdzdFBhZCogZGVtdXhlclNyY1BhZCwgQXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBpcGVsaW5l
KSB7CisgICAgICAgICAgICBhcHBlbmRQaXBlbGluZS0+ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRG
cm9tQXBwc2lua0Zyb21BbnlUaHJlYWQoZGVtdXhlclNyY1BhZCk7CisgICAgICAgIH0pLCB0aGlz
KTsKKyAgICAgICAgZ19zaWduYWxfY29ubmVjdChtX2RlbXV4LmdldCgpLCAibm8tbW9yZS1wYWRz
IiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVudCosIEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQaXBl
bGluZSkgeworICAgICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAgICAgICAg
ICBHU1RfREVCVUcoIlBvc3Rpbmcgbm8tbW9yZS1wYWRzIHRhc2sgdG8gbWFpbiB0aHJlYWQiKTsK
KyAgICAgICAgICAgIGFwcGVuZFBpcGVsaW5lLT5tX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbYXBw
ZW5kUGlwZWxpbmVdKCkgeworICAgICAgICAgICAgICAgIGFwcGVuZFBpcGVsaW5lLT5kaWRSZWNl
aXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSks
IHRoaXMpOworICAgIH0gZWxzZSB7CisgICAgICAgIEdSZWZQdHI8R3N0UGFkPiBkZW11eGVyU3Jj
UGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKG1fZGVtdXguZ2V0KCks
ICJzcmMiKSk7CisgICAgICAgIGdzdF9wYWRfYWRkX3Byb2JlKGRlbXV4ZXJTcmNQYWQuZ2V0KCks
IEdTVF9QQURfUFJPQkVfVFlQRV9CVUZGRVIsIHJlaW50ZXJwcmV0X2Nhc3Q8R3N0UGFkUHJvYmVD
YWxsYmFjaz4oCisgICAgICAgICAgICArW10oR3N0UGFkICpwYWQsIEdzdFBhZFByb2JlSW5mbyos
IEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQaXBlbGluZSkgeworICAgICAgICAgICAgICAgIEdSZWZQ
dHI8R3N0Q2Fwcz4gY2FwcyA9IGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcyhwYWQpOworICAgICAg
ICAgICAgICAgIGlmICghY2FwcykKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdTVF9QQURf
UFJPQkVfRFJPUDsKKyAgICAgICAgICAgICAgICBhcHBlbmRQaXBlbGluZS0+Y29ubmVjdERlbXV4
ZXJTcmNQYWRUb0FwcHNpbmtGcm9tU3RyZWFtaW5nVGhyZWFkKHBhZCk7CisgICAgICAgICAgICAg
ICAgYXBwZW5kUGlwZWxpbmUtPm1fdGFza1F1ZXVlLmVucXVldWVUYXNrKFthcHBlbmRQaXBlbGlu
ZV0oKSB7CisgICAgICAgICAgICAgICAgICAgIGFwcGVuZFBpcGVsaW5lLT5kaWRSZWNlaXZlSW5p
dGlhbGl6YXRpb25TZWdtZW50KCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIEdTVF9QQURfUFJPQkVfUkVNT1ZFOworICAgICAgICAgICAgfQorICAgICAgICAp
LCB0aGlzLCBudWxscHRyKTsKKyAgICB9CiAgICAgZ19zaWduYWxfY29ubmVjdChtX2FwcHNpbmsu
Z2V0KCksICJuZXctc2FtcGxlIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVudCogYXBwc2luaywg
QXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBpcGVsaW5lKSAtPiBHc3RGbG93UmV0dXJuIHsKICAgICAg
ICAgYXBwZW5kUGlwZWxpbmUtPmhhbmRsZUFwcHNpbmtOZXdTYW1wbGVGcm9tU3RyZWFtaW5nVGhy
ZWFkKGFwcHNpbmspOwogICAgICAgICByZXR1cm4gR1NUX0ZMT1dfT0s7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjI0ZTEx
MDU1NDFiYjNlNmQ2OWQxZmM5MGM4Mjk0NmY2YjViZGIzMi4uNTZiZDliYjJlMGQ0MThjNGNkNGYx
ZWNmZDI1ZWQ1Njc4YWU4M2U2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTMwICBF
bnJpcXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dTdHJlYW1lcl1bTVNFXSBJbXBsZW1lbnRlIHRoZSAic2VxdWVuY2UiIG1vZGUgaW4gU291cmNl
QnVmZmVyIGZvciB0aGUgR1N0cmVhbWVyIHBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTAzNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9uczog
VW5za2lwcGVkIHRlc3QKKwogMjAyMS0wNi0xOCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIG1pc3NpbmcgZXhjZXB0aW9uIGNoZWNrcyBpbiBTY3JpcHRNb2R1
bGVMb2FkZXIgYW5kIEpTRE9NUHJvbWlzZURlZmVycmVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggMWJmZWRhMzQyNTJiNTc2OWUyMDQ5YzJjOGQ4N2JlMGIzYmI4NDc4Yi4uOTVk
NjUwZTY1YTcwOTFlZmUyOTViMTU0ZjZjM2VjNjQ3NjY5OGQ0MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDctMzAgIEVucmlxdWUgT2Nhw7Fh
IEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXVtN
U0VdIEltcGxlbWVudGUgdGhlICJzZXF1ZW5jZSIgbW9kZSBpbiBTb3VyY2VCdWZmZXIgZm9yIHRo
ZSBHU3RyZWFtZXIgcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMDM0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1z
b3VyY2VidWZmZXItbW9kZS10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dDogQWRkZWQgZXh0cmEgYmxh
bmsgbGluZSBpbiBleHBlY3RhdGlvbnMsIGxpa2UgaW4gbWFueSBvdGhlciBleHBlY3RhdGlvbnMg
ZmlsZXMuCisKIDIwMjEtMDYtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBVcGRhdGUgV1BUIHRvb2xzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlh
c291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFz
b3VyY2Utc291cmNlYnVmZmVyLW1vZGUtdGltZXN0YW1wcy1leHBlY3RlZC50eHQKaW5kZXggM2Jk
YmEwYzdlY2I2N2ViMzRlZmJmODc1NTdkYjQ3OTY2N2RjNzVkYS4uYTQ2NWJiNTQ4OGFkYjE3YTBm
YzY0YWJkYmIxMmNmN2Y2MDEyNjhiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVm
ZmVyLW1vZGUtdGltZXN0YW1wcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNl
YnVmZmVyLW1vZGUtdGltZXN0YW1wcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBB
U1MgYXVkaW8vYWFjIDogSWYgZ2VuZXJhdGUgdGltZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlIGFu
ZCBuZXcgbW9kZSBlcXVhbHMgInNlZ21lbnRzIiwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogUEFTUyBhdWRpby9tcGVnIDogSWYgZ2VuZXJh
dGUgdGltZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlIGFuZCBuZXcgbW9kZSBlcXVhbHMgInNlZ21l
bnRzIiwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0
ZXBzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
NGJkODY2NjVmN2VlYzQyMzAyNWFjYTI4MzUwMzlmZDg0YmUyN2U4MS4uZmIzNTE0ZTUxNGE3YmUz
MTk4OTQyMmU4ZjliMGZhNTc0Y2MzZjk0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNTgzLDcgKzU4Myw2IEBAIHdlYmtpdC5vcmcvYi8xODA4MDMg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Ut
ZHVyCiB3ZWJraXQub3JnL2IvMjI2ODA0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtc291cmNlL21lZGlhc291cmNlLWNoYW5nZXR5cGUtcGxheS5odG1sIFsgRmFpbHVyZSBd
CiAKIHdlYmtpdC5vcmcvYi8xNjcxMDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtdHJhY2tkZWZhdWx0bGlzdC5odG1sIFsgRmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvMjEwMzQxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLXRpbWVzdGFtcHMuaHRtbCBb
IEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxMDM0MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXItdHJhY2tkZWZhdWx0
cy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY3MTA4IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXRyYWNrZGVmYXVsdC5odG1s
IFsgRmFpbHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436307</attachid>
            <date>2021-08-24 10:48:22 -0700</date>
            <delta_ts>2021-08-25 10:07:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210341-20210824194821.patch</filename>
            <type>text/plain</type>
            <size>22084</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhkZmZiYjE2NzliYTMy
NDJlOWY2ZmJhYTljNzdlY2JjNzIzNjc1OC4uNTY5ZmNiM2I4YmE3OWUyMTQ2MDM3ZDQ0Y2Q3NjNh
Y2Q3NjVlZDg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDIxLTA4LTI0ICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl1bTVNFXSBJbXBsZW1lbnQgdGhlICJzZXF1ZW5jZSIgbW9kZSBpbiBTb3VyY2VCdWZm
ZXIgZm9yIHRoZSBHU3RyZWFtZXIgcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMDM0MQorCisgICAgICAgIERlY2xhcmUgYXVkaW8vbXBlZyBz
dXBwb3J0IGFuZCBoYW5kbGUgaXQgcHJvcGVybHkgaW4gQXBwZW5kUGlwZWxpbmUuIFRoaXMgbWVk
aWEgdHlwZQorICAgICAgICBkb2Vzbid0IGhhdmUgYW55IGNvbnRhaW5lciBmb3JtYXQsIHNvIGFu
IGlkZW50aXR5IGVsZW1lbnQgaXMgdXNlZCBpbiBwbGFjZSBvZiB0aGUKKyAgICAgICAgZGVtdXhl
ciAoZHVtbXkgZGVtdXhlcikuIEFzIHRoaXMgZWxlbWVudCBpc24ndCBhbiBhY3R1YWwgZGVtdXhl
ciwgdGhlIHN0YW5kYXJkCisgICAgICAgIG5vLW1vcmUtcGFkcyBzaWduYWwgaXNuJ3QgcHJlc2Vu
dCwgc28gaXRzIGJlaGF2aW91ciBpcyBzaW11bGF0ZWQgd2hlbiB0aGUgZmlyc3QgYnVmZmVyCisg
ICAgICAgIGlzIGVtaXR0ZWQgYnkgdGhlIGVsZW1lbnQgKGRldGVjdGVkIGJ5IGEgcHJvYmUpLgor
CisgICAgICAgIEEgcGFyc2VyIGVsZW1lbnQgaXMgbmVlZGVkIHRvIHByb2Nlc3MgdGhlIGRhdGEg
KG1wZWdhdWRpb3BhcnNlIGZvciBtcGVnIGxheWVyIDEsCisgICAgICAgIGFhY3BhcnNlIGZvciBt
cGVnIGxheWVyIDMgYW5kIDQpLiBUaGUgZXhpc3RpbmcgY3JlYXRlT3B0aW9uYWxQYXJzZXJGb3JG
b3JtYXQoKQorICAgICAgICBpbmZyYXN0cnVjdHVyZSBpcyB1c2VkIGZvciB0aGF0IGFmdGVyIGFu
YWx5emluZyB0aGUgY2FwcywgYW5kIGFuIGlkZW50aXR5IGVsZW1lbnQgaXMKKyAgICAgICAgbm93
IGFsc28gdXNlZCBpbnN0ZWFkIGluIHRoZSBjYXNlcyB3aGVuIGEgcGFyc2VyIGlzbid0IG5lZWRl
ZC4gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlCisgICAgICAgIHRoYXQgbGlua3MgdGhlIHBpcGVs
aW5lIGVsZW1lbnRzLCBhcyBub3cgdGhlcmUgYXJlbid0IGFueSBvcHRpb25hbCAobm9uIGV4aXN0
aW5nKQorICAgICAgICBlbGVtZW50cyBpbiBwbGFjZSwganVzdCBHc3RJZGVudGl0eSBpbnN0YW5j
ZXMgdGhlcmUuCisKKyAgICAgICAgU3RpbGwsIHRoZSBzZWxlY3Rpb24gb2YgdGhlIHByb3BlciBt
cGVnL2FhYyBwYXJzZXIgcmVxdWlyZXMgcHJlY2lzZSBjYXBzLiBBIG5ldyB0eXBlZmluZAorICAg
ICAgICBlbGVtZW50IGlzIG5vdyB1c2VkIGFmdGVyIHRoZSBhcHBzcmMgKHdoZW4gbmVlZGVkLCBh
bmQgYW5vdGhlciBpZGVudGl0eSBlbGVtZW50IHdoZW4KKyAgICAgICAgbm90KS4KKworICAgICAg
ICBSZXR1cm4gVHlwZUVycm9yIGluIFNvdXJjZUJ1ZmZlcjo6c2V0TW9kZSgpLCBpbnN0ZWFkIG9m
IEludmFsaWRBY2Nlc3NFcnJvci4gVGhlIE1TRSBzcGVjCisgICAgICAgIGNoYW5nZWQgdGhpcyBi
ZWhhdmlvdXIgYXQgc29tZSBwb2ludCBiZWZvcmUgSnVuZSAyMDE2IGFuZCB0aGUgV2ViS2l0IGNv
ZGUgbmV2ZXIgcmVmbGVjdGVkCisgICAgICAgIHRoZSBjaGFuZ2UsIHN0aWxsIHJldHVybmluZyB0
aGUgZGVwcmVjYXRlZCBJbnZhbGlkQWNjZXNzRXJyb3Igd2hlbiBnZW5lcmF0ZSB0aW1lc3RhbXBz
CisgICAgICAgIGZsYWcgZXF1YWxzIHRydWUgYW5kIG5ldyBtb2RlIGVxdWFscyAic2VnbWVudHMi
LgorCisgICAgICAgIEZpbmFsbHksIHRoZSBNZWRpYVNhbXBsZTo6c2V0VGltZXN0YW1wcygpIG1l
dGhvZCBoYXMgYmVlbiBpbXBsZW1lbnRlZCBmb3IgdGhlIEdTdHJlYW1lcgorICAgICAgICBwb3J0
LiBJdCBoYWQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24gYW5kIG5vIHByb2JsZW0gaGFkIGJlZW4g
ZGV0ZWN0ZWQgYmVmb3JlIGJlY2F1c2UKKyAgICAgICAgdGhlICJzZXF1ZW5jZSIgU291cmNlQnVm
ZmVyIG1vZGUgaGFkIG5ldmVyIGJlZW4gdXNlZCB1bnRpbCBub3cuCisKKyAgICAgICAgQ292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c2V0TW9kZSk6
IFJldHVybiBUeXBlRXJyb3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFt
ZXJSZWdpc3RyeVNjYW5uZXI6OmluaXRpYWxpemVEZWNvZGVycyk6IERlY2xhcmUgYXVkaW8vbXBl
ZyBzdXBwb3J0LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNh
bXBsZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNhbXBsZUdTdHJlYW1l
cjo6c2V0VGltZXN0YW1wcyk6IEltcGxlbWVudCBtZXRob2QuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmg6IFJlbW92ZWQgc2V0VGlt
ZXN0YW1wcygpIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5lKTogU3VwcG9ydCBhdWRpby9tcGVnIHVzaW5n
IGFuIG1wZWdhdWRpb3BhcnNlciBhbmQgc2ltdWxhdGluZyB3aGF0IHdvdWxkIGJlIGRvbmUgaW4g
dGhlIHBhZC1hZGRlZCBhbmQgcGFkLXJlbW92ZWQgc2lnbmFsIGhhbmRsZXJzLCBidXQgdXNpbmcg
YSBwcm9iZSB0byBkZXRlY3QgdGgkCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNldE1vZGUp
OiBSZXR1cm4gVHlwZUVycm9yLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9HU3RyZWFtZXJSZWdpc3RyeVNjYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVh
bWVyUmVnaXN0cnlTY2FubmVyOjppbml0aWFsaXplRGVjb2RlcnMpOiBEZWNsYXJlIGF1ZGlvL21w
ZWcgc3VwcG9ydC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFT
YW1wbGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVHU3RyZWFt
ZXI6OnNldFRpbWVzdGFtcHMpOiBJbXBsZW1lbnQgbWV0aG9kLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5oOiBSZW1vdmVkIHNldFRp
bWVzdGFtcHMoKSBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBlbGluZSk6IFN1cHBvcnQgYXVkaW8vbXBlZyBieSBp
bnN0YW5jaW5nIGEgdHlwZWZpbmQgZWxlbWVudCB3aGVuIG5lZWRlZCAob3IgaWRlbnRpdHkgd2hl
biBub3QpLCB1c2luZyBhbiBpZGVudGl0eSBlbGVtZW50IGluc3RlYWQgb2YgYSBkZW11eGVyIGFu
ZCBzaW11bGF0aW5nIHdoYXQgd291bGQgYmUgZG9uZSBpbiB0aGUgbm8tbW9yZS1wYWRzIHNpZ25h
bCBoYW5kbGVycywgYnV0IHVzaW5nIGEgcHJvYmUgdG8gZGV0ZWN0IHRoZSBmaXJzdCBidWZmZXIg
dHJhdmVyc2luZyB0aGUgcGFyc2VyLgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlT3B0aW9uYWxQ
YXJzZXJGb3JGb3JtYXQpOiBVc2UgdGhlIG1wZWd2ZXJzaW9uIGNhcHMgZmllbGQgdG8gaW5zdGFu
Y2UgdGhlIHJpZ2h0IGtpbmQgb2YgcGFyc2VyIHdoZW4gZGV0ZWN0aW5nIHRoZSBhdWRpby9tcGVn
IG1lZGlhIHR5cGUgaW4gdGhlIGNhcHMuIEFuIGlkZW50aXR5IGVsZW1lbnQgaXMgbm93IHJldHVy
bmVkIGluIGNhc2Ugbm8gcGFyc2VyIGlzIG5lZWRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGVu
ZFBpcGVsaW5lOjpUcmFjazo6aW5pdGlhbGl6ZUVsZW1lbnRzKTogU2ltcGxpZnkgZWxlbWVudCBs
aW5raW5nIG5vdyB0aGF0IHRoZSBwYXJzZXIgKG9yIGlkZW50aXR5KSBpcyBhbHdheXMgZ3VhcmFu
dGVlZCB0byBleGlzdC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGVuZFBpcGVsaW5lOjpzdHJlYW1U
eXBlVG9TdHJpbmcpOiBBZGRlZCBkZWZhdWx0IGJyYW5jaCB0byBzd2l0Y2ggdG8gZml4IGJ1aWxk
IHdhcm5pbmcuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBl
bmRQaXBlbGluZS5oOiBBZGRlZCBtX3R5cGVmaW5kLiBSZW9yZGVyZWQgc29tZSBhdHRyaWJ1dGVz
IGFuZCBhZGRlZCBjb21tZW50cyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5LgorCiAyMDIxLTA4LTIz
ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KIAogICAgICAgICBTdGlj
a3kgcG9zaXRpb24gc2hvdWxkIG5vdCB1c2UgdHJhbnNmb3JtZWQgcG9zaXRpb24gdG8gY29tcHV0
ZSBzdGlja3kgb2Zmc2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IDVkMzYwZWJlN2RkYWJhNzI3ZTY5MDQ0M2ZjNDll
ZjhjNTdlYWVjZTAuLjY3YTYxYmM4NDFkZGJmOTQ5MTc3Y2ExZWRlNzFlZWMwNzg5MDdiZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHAKQEAgLTEyMzcsNyArMTIzNyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNvdXJjZUJ1ZmZl
cjo6c2V0TW9kZShBcHBlbmRNb2RlIG5ld01vZGUpCiAgICAgLy8gMS4gTGV0IG5ldyBtb2RlIGVx
dWFsIHRoZSBuZXcgdmFsdWUgYmVpbmcgYXNzaWduZWQgdG8gdGhpcyBhdHRyaWJ1dGUuCiAgICAg
Ly8gMi4gSWYgZ2VuZXJhdGUgdGltZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlIGFuZCBuZXcgbW9k
ZSBlcXVhbHMgInNlZ21lbnRzIiwgdGhlbiB0aHJvdyBhbiBJbnZhbGlkQWNjZXNzRXJyb3IgZXhj
ZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgICBpZiAobV9zaG91bGRHZW5lcmF0ZVRp
bWVzdGFtcHMgJiYgbmV3TW9kZSA9PSBBcHBlbmRNb2RlOjpTZWdtZW50cykKLSAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OworICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgVHlwZUVycm9yIH07CiAKICAgICAvLyAzLiBJZiB0aGlzIG9iamVjdCBoYXMgYmVl
biByZW1vdmVkIGZyb20gdGhlIHNvdXJjZUJ1ZmZlcnMgYXR0cmlidXRlIG9mIHRoZSBwYXJlbnQg
bWVkaWEgc291cmNlLCB0aGVuIHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlvbiBh
bmQgYWJvcnQgdGhlc2Ugc3RlcHMuCiAgICAgLy8gNC4gSWYgdGhlIHVwZGF0aW5nIGF0dHJpYnV0
ZSBlcXVhbHMgdHJ1ZSwgdGhlbiB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24g
YW5kIGFib3J0IHRoZXNlIHN0ZXBzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyUmVnaXN0cnlT
Y2FubmVyLmNwcAppbmRleCBlOWRmYmEwYTdjNjc1YmQyZTlkZmZjOGUxNjQ1ZGNmY2ZmMTAxODAz
Li5lODA2ZGQ4YzhiOGYwMTM1NzE4YmQ4MDBjYTQyNjg1NGI3YmY3NmMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyUmVnaXN0
cnlTY2FubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyUmVnaXN0cnlTY2FubmVyLmNwcApAQCAtMjU1LDYgKzI1NSw4IEBAIHZv
aWQgR1N0cmVhbWVyUmVnaXN0cnlTY2FubmVyOjppbml0aWFsaXplRGVjb2RlcnMoY29uc3QgR1N0
cmVhbWVyUmVnaXN0cnlTY2FubmVyCiAgICAgICAgIG1fZGVjb2Rlck1pbWVUeXBlU2V0LmFkZChB
dG9tU3RyaW5nKCJhdWRpby9hYWMiKSk7CiAgICAgICAgIG1fZGVjb2Rlck1pbWVUeXBlU2V0LmFk
ZChBdG9tU3RyaW5nKCJhdWRpby9tcDQiKSk7CiAgICAgICAgIG1fZGVjb2Rlck1pbWVUeXBlU2V0
LmFkZChBdG9tU3RyaW5nKCJhdWRpby94LW00YSIpKTsKKyAgICAgICAgbV9kZWNvZGVyTWltZVR5
cGVTZXQuYWRkKEF0b21TdHJpbmcoImF1ZGlvL21wZWciKSk7CisgICAgICAgIG1fZGVjb2Rlck1p
bWVUeXBlU2V0LmFkZChBdG9tU3RyaW5nKCJhdWRpby94LW1wZWciKSk7CiAgICAgICAgIG1fZGVj
b2RlckNvZGVjTWFwLmFkZChBdG9tU3RyaW5nKCJtcGVnIiksIGZhbHNlKTsKICAgICAgICAgbV9k
ZWNvZGVyQ29kZWNNYXAuYWRkKEF0b21TdHJpbmcoIm1wNGEqIiksIGZhbHNlKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFTYW1wbGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNwcAppbmRleCA4ZjNkNWI1MzJlMmY2MDM1
NmZlODA0NmFmN2UxMjM3MGI3ODdiYjAzLi4xNWVjMjFjMzAyZmRiNWRjZTg4NTVmNmZkZDQ0MTlj
ZjM4YTU5MGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5jcHAKQEAgLTE5
Miw2ICsxOTIsMTIgQEAgdm9pZCBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6ZXh0ZW5kVG9UaGVCZWdp
bm5pbmcoKQogICAgIG1fcHRzID0gTWVkaWFUaW1lOjp6ZXJvVGltZSgpOwogfQogCit2b2lkIE1l
ZGlhU2FtcGxlR1N0cmVhbWVyOjpzZXRUaW1lc3RhbXBzKGNvbnN0IE1lZGlhVGltZSYgcHJlc2Vu
dGF0aW9uVGltZSwgY29uc3QgTWVkaWFUaW1lJiBkZWNvZGVUaW1lKQoreworICAgIG1fcHRzID0g
cHJlc2VudGF0aW9uVGltZTsKKyAgICBtX2R0cyA9IGRlY29kZVRpbWU7Cit9CisKIHZvaWQgTWVk
aWFTYW1wbGVHU3RyZWFtZXI6Om9mZnNldFRpbWVzdGFtcHNCeShjb25zdCBNZWRpYVRpbWUmIHRp
bWVzdGFtcE9mZnNldCkKIHsKICAgICBpZiAoIXRpbWVzdGFtcE9mZnNldCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdT
dHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhU2FtcGxlR1N0cmVhbWVyLmgKaW5kZXggOGY2MGQ4YWY5NWVjYmZlMTQ3NjY1NTA1MTI1NDU2
YWU5OGNmZDVlMS4uZDdhNDliOTZmYzMzMzQyZmMwMzQ1MjM0MGI1NjE0YTY5ZGZjMzgwMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
U2FtcGxlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGlj
OgogICAgIHNpemVfdCBzaXplSW5CeXRlcygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fc2l6
ZTsgfQogICAgIEZsb2F0U2l6ZSBwcmVzZW50YXRpb25TaXplKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9wcmVzZW50YXRpb25TaXplOyB9CiAgICAgdm9pZCBvZmZzZXRUaW1lc3RhbXBzQnko
Y29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRUaW1lc3RhbXBzKGNvbnN0
IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpIG92ZXJyaWRlIHsgfQorICAgIHZvaWQgc2V0
VGltZXN0YW1wcyhjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsK
ICAgICBib29sIGlzRGl2aXNhYmxlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICBzdGQ6OnBhaXI8UmVmUHRyPE1lZGlhU2FtcGxlPiwgUmVmUHRyPE1lZGlhU2FtcGxlPj4g
ZGl2aWRlKGNvbnN0IE1lZGlhVGltZSYsIFVzZUVuZFRpbWUpIG92ZXJyaWRlICB7IHJldHVybiB7
IG51bGxwdHIsIG51bGxwdHIgfTsgfQogICAgIFJlZjxNZWRpYVNhbXBsZT4gY3JlYXRlTm9uRGlz
cGxheWluZ0NvcHkoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGlu
ZS5jcHAKaW5kZXggM2ZlN2E3MWM4NGYxNDE2OGFmYzAyODRhZTVhYTNiYWNlMzkxOGQ0My4uOTlm
ODUxYjdlYzIxMTViNWJjYjNiYzZlMDRmN2Q2MGFiYjYyMmRiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9B
cHBlbmRQaXBlbGluZS5jcHAKQEAgLTc4LDEwICs3OCw5IEBAIHN0YXRpYyBHc3RQYWRQcm9iZVJl
dHVybiBhcHBlbmRQaXBlbGluZVBhZFByb2JlRGVidWdJbmZvcm1hdGlvbihHc3RQYWQqLCBHc3RQ
YWRQCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIHN0YXRpYyBHc3RQYWRQcm9iZVJldHVy
biBhcHBlbmRQaXBlbGluZUFwcHNpbmtQYWRFdmVudFByb2JlKEdzdFBhZCosIEdzdFBhZFByb2Jl
SW5mbyosIHN0cnVjdCBQYWRQcm9iZUluZm9ybWF0aW9uKik7CiAjZW5kaWYKLQogc3RhdGljIEdz
dFBhZFByb2JlUmV0dXJuIGFwcGVuZFBpcGVsaW5lRGVtdXhlckJsYWNrSG9sZVBhZFByb2JlKEdz
dFBhZCosIEdzdFBhZFByb2JlSW5mbyosIGdwb2ludGVyKTsKLQogc3RhdGljIEdzdFBhZFByb2Jl
UmV0dXJuIG1hdHJvc2thZGVtdXhGb3JjZVNlZ21lbnRTdGFydFRvRXF1YWxaZXJvKEdzdFBhZCos
IEdzdFBhZFByb2JlSW5mbyosIHZvaWQqKTsKK3N0YXRpYyBHUmVmUHRyPEdzdEVsZW1lbnQ+IGNy
ZWF0ZU9wdGlvbmFsUGFyc2VyRm9yRm9ybWF0KGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBHc3RD
YXBzKik7CiAKIC8vIFdyYXBwZXIgZm9yIGdzdF9lbGVtZW50X3NldF9zdGF0ZSgpIHRoYXQgZW1p
dHMgYSBjcml0aWNhbCBpZiB0aGUgc3RhdGUgY2hhbmdlIGZhaWxzIG9yIGlzIG5vdCBzeW5jaHJv
bm91cy4KIHN0YXRpYyB2b2lkIGFzc2VydGVkRWxlbWVudFNldFN0YXRlKEdzdEVsZW1lbnQqIGVs
ZW1lbnQsIEdzdFN0YXRlIGRlc2lyZWRTdGF0ZSkKQEAgLTE0MywxMSArMTQyLDE4IEBAIEFwcGVu
ZFBpcGVsaW5lOjpBcHBlbmRQaXBlbGluZShTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyJiBz
b3VyY2VCdWZmZXJQcml2YXRlCiAKICAgICBjb25zdCBTdHJpbmcmIHR5cGUgPSBtX3NvdXJjZUJ1
ZmZlclByaXZhdGUudHlwZSgpLmNvbnRhaW5lclR5cGUoKTsKICAgICBHU1RfREVCVUcoIlNvdXJj
ZUJ1ZmZlciBjb250YWluZXJUeXBlOiAlcyIsIHR5cGUudXRmOCgpLmRhdGEoKSk7Ci0gICAgaWYg
KHR5cGUuZW5kc1dpdGgoIm1wNCIpIHx8IHR5cGUuZW5kc1dpdGgoImFhYyIpKQorICAgIGJvb2wg
aGFzRGVtdXhlciA9IHRydWU7CisgICAgaWYgKHR5cGUuZW5kc1dpdGgoIm1wNCIpIHx8IHR5cGUu
ZW5kc1dpdGgoImFhYyIpKSB7CiAgICAgICAgIG1fZGVtdXggPSBtYWtlR1N0cmVhbWVyRWxlbWVu
dCgicXRkZW11eCIsIG51bGxwdHIpOwotICAgIGVsc2UgaWYgKHR5cGUuZW5kc1dpdGgoIndlYm0i
KSkKKyAgICAgICAgbV90eXBlZmluZCA9IG1ha2VHU3RyZWFtZXJFbGVtZW50KCJpZGVudGl0eSIs
IG51bGxwdHIpOworICAgIH0gZWxzZSBpZiAodHlwZS5lbmRzV2l0aCgid2VibSIpKSB7CiAgICAg
ICAgIG1fZGVtdXggPSBtYWtlR1N0cmVhbWVyRWxlbWVudCgibWF0cm9za2FkZW11eCIsIG51bGxw
dHIpOwotICAgIGVsc2UKKyAgICAgICAgbV90eXBlZmluZCA9IG1ha2VHU3RyZWFtZXJFbGVtZW50
KCJpZGVudGl0eSIsIG51bGxwdHIpOworICAgIH0gZWxzZSBpZiAodHlwZSA9PSAiYXVkaW8vbXBl
ZyIpIHsKKyAgICAgICAgbV9kZW11eCA9IG1ha2VHU3RyZWFtZXJFbGVtZW50KCJpZGVudGl0eSIs
IG51bGxwdHIpOworICAgICAgICBtX3R5cGVmaW5kID0gbWFrZUdTdHJlYW1lckVsZW1lbnQoInR5
cGVmaW5kIiwgbnVsbHB0cik7CisgICAgICAgIGhhc0RlbXV4ZXIgPSBmYWxzZTsKKyAgICB9IGVs
c2UKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKICNpZiAhTE9HX0RJU0FCTEVECkBA
IC0xNTcsMTkgKzE2MywzNSBAQCBBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUoU291cmNl
QnVmZmVyUHJpdmF0ZUdTdHJlYW1lciYgc291cmNlQnVmZmVyUHJpdmF0ZQogICAgIG1fZGVtdXhl
ckRhdGFFbnRlcmluZ1BhZFByb2JlSW5mb3JtYXRpb24ucHJvYmVJZCA9IGdzdF9wYWRfYWRkX3By
b2JlKGRlbXV4ZXJQYWQuZ2V0KCksIEdTVF9QQURfUFJPQkVfVFlQRV9CVUZGRVIsIHJlaW50ZXJw
cmV0X2Nhc3Q8R3N0UGFkUHJvYmVDYWxsYmFjaz4oYXBwZW5kUGlwZWxpbmVQYWRQcm9iZURlYnVn
SW5mb3JtYXRpb24pLCAmbV9kZW11eGVyRGF0YUVudGVyaW5nUGFkUHJvYmVJbmZvcm1hdGlvbiwg
bnVsbHB0cik7CiAjZW5kaWYKIAotICAgIC8vIFRoZXNlIHNpZ25hbHMgd29uJ3Qgb3V0bGl2ZSB0
aGUgbGlmZXRpbWUgb2YgYHRoaXNgLgotICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9kZW11eC5nZXQo
KSwgIm5vLW1vcmUtcGFkcyIsIEdfQ0FMTEJBQ0soK1tdKEdzdEVsZW1lbnQqLCBBcHBlbmRQaXBl
bGluZSogYXBwZW5kUGlwZWxpbmUpIHsKLSAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7
Ci0gICAgICAgIEdTVF9ERUJVRygiUG9zdGluZyBuby1tb3JlLXBhZHMgdGFzayB0byBtYWluIHRo
cmVhZCIpOwotICAgICAgICBhcHBlbmRQaXBlbGluZS0+bV90YXNrUXVldWUuZW5xdWV1ZVRhc2tB
bmRXYWl0PEFib3J0YWJsZVRhc2tRdWV1ZTo6Vm9pZD4oW2FwcGVuZFBpcGVsaW5lXSgpIHsKLSAg
ICAgICAgICAgIGFwcGVuZFBpcGVsaW5lLT5kaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50
KCk7Ci0gICAgICAgICAgICByZXR1cm4gQWJvcnRhYmxlVGFza1F1ZXVlOjpWb2lkKCk7Ci0gICAg
ICAgIH0pOwotICAgIH0pLCB0aGlzKTsKKyAgICBpZiAoaGFzRGVtdXhlcikgeworICAgICAgICAv
LyBUaGVzZSBzaWduYWxzIHdvbid0IG91dGxpdmUgdGhlIGxpZmV0aW1lIG9mIGB0aGlzYC4KKyAg
ICAgICAgZ19zaWduYWxfY29ubmVjdChtX2RlbXV4LmdldCgpLCAibm8tbW9yZS1wYWRzIiwgR19D
QUxMQkFDSygrW10oR3N0RWxlbWVudCosIEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQaXBlbGluZSkg
eworICAgICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAgICAgICAgICBHU1Rf
REVCVUcoIlBvc3Rpbmcgbm8tbW9yZS1wYWRzIHRhc2sgdG8gbWFpbiB0aHJlYWQiKTsKKyAgICAg
ICAgICAgIGFwcGVuZFBpcGVsaW5lLT5tX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFza0FuZFdhaXQ8QWJv
cnRhYmxlVGFza1F1ZXVlOjpWb2lkPihbYXBwZW5kUGlwZWxpbmVdKCkgeworICAgICAgICAgICAg
ICAgIGFwcGVuZFBpcGVsaW5lLT5kaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KCk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIEFib3J0YWJsZVRhc2tRdWV1ZTo6Vm9pZCgpOworICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0pLCB0aGlzKTsKKyAgICB9IGVsc2UgeworICAgICAgICBHUmVm
UHRyPEdzdFBhZD4gaWRlbnRpdHlTcmNQYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0
YXRpY19wYWQobV9kZW11eC5nZXQoKSwgInNyYyIpKTsKKyAgICAgICAgZ3N0X3BhZF9hZGRfcHJv
YmUoaWRlbnRpdHlTcmNQYWQuZ2V0KCksIEdTVF9QQURfUFJPQkVfVFlQRV9CVUZGRVIsIHJlaW50
ZXJwcmV0X2Nhc3Q8R3N0UGFkUHJvYmVDYWxsYmFjaz4oCisgICAgICAgICAgICArW10oR3N0UGFk
ICpwYWQsIEdzdFBhZFByb2JlSW5mbyosIEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQaXBlbGluZSkg
eworICAgICAgICAgICAgICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGdzdF9wYWRfZ2V0X2N1
cnJlbnRfY2FwcyhwYWQpOworICAgICAgICAgICAgICAgIGlmICghY2FwcykKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdTVF9QQURfUFJPQkVfRFJPUDsKKyAgICAgICAgICAgICAgICBhcHBl
bmRQaXBlbGluZS0+bV90YXNrUXVldWUuZW5xdWV1ZVRhc2tBbmRXYWl0PEFib3J0YWJsZVRhc2tR
dWV1ZTo6Vm9pZD4oW2FwcGVuZFBpcGVsaW5lXSgpIHsKKyAgICAgICAgICAgICAgICAgICAgYXBw
ZW5kUGlwZWxpbmUtPmRpZFJlY2VpdmVJbml0aWFsaXphdGlvblNlZ21lbnQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIEFib3J0YWJsZVRhc2tRdWV1ZTo6Vm9pZCgpOworICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgICAgIHJldHVybiBHU1RfUEFEX1BST0JFX1JFTU9WRTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgKSwgdGhpcywgbnVsbHB0cik7CisgICAgfQogCiAgICAg
Ly8gQWRkX21hbnkgd2lsbCB0YWtlIG93bmVyc2hpcCBvZiBhIHJlZmVyZW5jZS4gVGhhdCdzIHdo
eSB3ZSB1c2VkIGFuIGFzc2lnbm1lbnQgYmVmb3JlLgotICAgIGdzdF9iaW5fYWRkX21hbnkoR1NU
X0JJTihtX3BpcGVsaW5lLmdldCgpKSwgbV9hcHBzcmMuZ2V0KCksIG1fZGVtdXguZ2V0KCksIG51
bGxwdHIpOwotICAgIGdzdF9lbGVtZW50X2xpbmsobV9hcHBzcmMuZ2V0KCksIG1fZGVtdXguZ2V0
KCkpOworICAgIGdzdF9iaW5fYWRkX21hbnkoR1NUX0JJTihtX3BpcGVsaW5lLmdldCgpKSwgbV9h
cHBzcmMuZ2V0KCksIG1fdHlwZWZpbmQuZ2V0KCksIG1fZGVtdXguZ2V0KCksIG51bGxwdHIpOwor
ICAgIGdzdF9lbGVtZW50X2xpbmtfbWFueShtX2FwcHNyYy5nZXQoKSwgbV90eXBlZmluZC5nZXQo
KSwgbV9kZW11eC5nZXQoKSwgbnVsbHB0cik7CiAKICAgICBhc3NlcnRlZEVsZW1lbnRTZXRTdGF0
ZShtX3BpcGVsaW5lLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CiB9CkBAIC02MDUsMTkgKzYy
NywzMSBAQCBjcmVhdGVPcHRpb25hbFBhcnNlckZvckZvcm1hdChjb25zdCBBdG9tU3RyaW5nJiB0
cmFja0lkLCBjb25zdCBHc3RDYXBzKiBjYXBzKQogewogICAgIEdzdFN0cnVjdHVyZSogc3RydWN0
dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZShjYXBzLCAwKTsKICAgICBjb25zdCBjaGFyKiBt
ZWRpYVR5cGUgPSBnc3Rfc3RydWN0dXJlX2dldF9uYW1lKHN0cnVjdHVyZSk7Ci0KICAgICBHVW5p
cXVlUHRyPGNoYXI+IHBhcnNlck5hbWUoZ19zdHJkdXBfcHJpbnRmKCIlc19wYXJzZXIiLCB0cmFj
a0lkLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpKTsKLQotICAgIGlmICghZ19zdHJjbXAwKG1lZGlh
VHlwZSwgImF1ZGlvL3gtb3B1cyIpKSB7Ci0gICAgICAgIEdzdEVsZW1lbnQqIG9wdXNwYXJzZSA9
IG1ha2VHU3RyZWFtZXJFbGVtZW50KCJvcHVzcGFyc2UiLCBwYXJzZXJOYW1lLmdldCgpKTsKLSAg
ICAgICAgcmV0dXJuIEdSZWZQdHI8R3N0RWxlbWVudD4ob3B1c3BhcnNlKTsKLSAgICB9Ci0gICAg
aWYgKCFnX3N0cmNtcDAobWVkaWFUeXBlLCAidmlkZW8veC1oMjY0IikpIHsKLSAgICAgICAgR3N0
RWxlbWVudCogaDI2NHBhcnNlID0gbWFrZUdTdHJlYW1lckVsZW1lbnQoImgyNjRwYXJzZSIsIHBh
cnNlck5hbWUuZ2V0KCkpOwotICAgICAgICByZXR1cm4gR1JlZlB0cjxHc3RFbGVtZW50PihoMjY0
cGFyc2UpOworICAgIGNvbnN0IGdjaGFyKiBlbGVtZW50Q2xhc3MgPSAiaWRlbnRpdHkiOworCisg
ICAgaWYgKCFnX3N0cmNtcDAobWVkaWFUeXBlLCAiYXVkaW8veC1vcHVzIikpCisgICAgICAgIGVs
ZW1lbnRDbGFzcyA9ICJvcHVzcGFyc2UiOworICAgIGVsc2UgaWYgKCFnX3N0cmNtcDAobWVkaWFU
eXBlLCAidmlkZW8veC1oMjY0IikpCisgICAgICAgIGVsZW1lbnRDbGFzcyA9ICJoMjY0cGFyc2Ui
OworICAgIGVsc2UgaWYgKCFnX3N0cmNtcDAobWVkaWFUeXBlLCAiYXVkaW8vbXBlZyIpKSB7Cisg
ICAgICAgIGludCBtcGVndmVyc2lvbiA9IDA7CisgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2lu
dChzdHJ1Y3R1cmUsICJtcGVndmVyc2lvbiIsICZtcGVndmVyc2lvbik7CisgICAgICAgIHN3aXRj
aCAobXBlZ3ZlcnNpb24pIHsKKyAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAgZWxlbWVudENs
YXNzID0gIm1wZWdhdWRpb3BhcnNlIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IDI6CisgICAgICAgIGNhc2UgNDoKKyAgICAgICAgICAgIGVsZW1lbnRDbGFzcyA9ICJhYWNwYXJz
ZSI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDogeworICAgICAgICAgICAg
R1VuaXF1ZVB0cjxjaGFyPiBjYXBzU3RyaW5nKGdzdF9jYXBzX3RvX3N0cmluZyhjYXBzKSk7Cisg
ICAgICAgICAgICBHU1RfV0FSTklORygiVW5zdXBwb3J0ZWQgYXVkaW8gbXBlZyBjYXBzOiAlcyIs
IGNhcHNTdHJpbmcuZ2V0KCkpOworICAgICAgICB9CisgICAgICAgIH0KICAgICB9Ci0KLSAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gR1JlZlB0cjxHc3RFbGVtZW50PihtYWtlR1N0cmVh
bWVyRWxlbWVudChlbGVtZW50Q2xhc3MsIHBhcnNlck5hbWUuZ2V0KCkpKTsKIH0KIAogQXRvbVN0
cmluZyBBcHBlbmRQaXBlbGluZTo6Z2VuZXJhdGVUcmFja0lkKFN0cmVhbVR5cGUgc3RyZWFtVHlw
ZSwgaW50IHBhZEluZGV4KQpAQCAtNzU3LDcgKzc5MSw3IEBAIHZvaWQgQXBwZW5kUGlwZWxpbmU6
OlRyYWNrOjppbml0aWFsaXplRWxlbWVudHMoQXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBpcGVsaW5l
LCBHCiAKICAgICBnc3RfYmluX2FkZChHU1RfQklOKGFwcGVuZFBpcGVsaW5lLT5waXBlbGluZSgp
KSwgYXBwc2luay5nZXQoKSk7CiAgICAgZ3N0X2VsZW1lbnRfc3luY19zdGF0ZV93aXRoX3BhcmVu
dChhcHBzaW5rLmdldCgpKTsKLSAgICBlbnRyeVBhZCA9IGFwcHNpbmtQYWQgPSBhZG9wdEdSZWYo
Z3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQoYXBwc2luay5nZXQoKSwgInNpbmsiKSk7CisgICAg
YXBwc2lua1BhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChhcHBzaW5r
LmdldCgpLCAic2luayIpKTsKIAogI2lmICFMT0dfRElTQUJMRUQKICAgICBhcHBzaW5rRGF0YUVu
dGVyaW5nUGFkUHJvYmVJbmZvcm1hdGlvbi5hcHBlbmRQaXBlbGluZSA9IGFwcGVuZFBpcGVsaW5l
OwpAQCAtNzc0LDEzICs4MDgsMTMgQEAgdm9pZCBBcHBlbmRQaXBlbGluZTo6VHJhY2s6OmluaXRp
YWxpemVFbGVtZW50cyhBcHBlbmRQaXBlbGluZSogYXBwZW5kUGlwZWxpbmUsIEcKICAgICAvLyBT
b21lIGF1ZGlvIGZpbGVzIHVuaGVscGZ1bGx5IG9taXQgdGhlIGR1cmF0aW9uIG9mIGZyYW1lcyBp
biB0aGUgY29udGFpbmVyLiBXZSBuZWVkIHRvIHBhcnNlCiAgICAgLy8gdGhlIGNvbnRhaW5lZCBh
dWRpbyBzdHJlYW1zIGluIG9yZGVyIHRvIGtub3cgdGhlIGR1cmF0aW9uIG9mIHRoZSBmcmFtZXMu
CiAgICAgLy8gVGhpcyBpcyBrbm93biB0byBiZSBhbiBpc3N1ZSB3aXRoIFlvdVR1YmUgV2ViTSBm
aWxlcyBjb250YWluaW5nIE9wdXMgYXVkaW8gYXMgb2YgWVRUVjIwMTguCi0gICAgaWYgKChwYXJz
ZXIgPSBjcmVhdGVPcHRpb25hbFBhcnNlckZvckZvcm1hdCh0cmFja0lkLCBjYXBzLmdldCgpKSkp
IHsKLSAgICAgICAgZ3N0X2Jpbl9hZGQoYmluLCBwYXJzZXIuZ2V0KCkpOwotICAgICAgICBnc3Rf
ZWxlbWVudF9zeW5jX3N0YXRlX3dpdGhfcGFyZW50KHBhcnNlci5nZXQoKSk7Ci0gICAgICAgIGdz
dF9lbGVtZW50X2xpbmsocGFyc2VyLmdldCgpLCBhcHBzaW5rLmdldCgpKTsKLSAgICAgICAgQVNT
RVJUKEdTVF9QQURfSVNfTElOS0VEKGFwcHNpbmtQYWQuZ2V0KCkpKTsKLSAgICAgICAgZW50cnlQ
YWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQocGFyc2VyLmdldCgpLCAi
c2luayIpKTsKLSAgICB9CisgICAgLy8gSWYgbm8gcGFyc2VyIGlzIG5lZWRlZCwgYSBHc3RJZGVu
dGl0eSBlbGVtZW50IHdpbGwgYmUgY3JlYXRlZCBpbnN0ZWFkLgorICAgIHBhcnNlciA9IGNyZWF0
ZU9wdGlvbmFsUGFyc2VyRm9yRm9ybWF0KHRyYWNrSWQsIGNhcHMuZ2V0KCkpOworICAgIGdzdF9i
aW5fYWRkKGJpbiwgcGFyc2VyLmdldCgpKTsKKyAgICBnc3RfZWxlbWVudF9zeW5jX3N0YXRlX3dp
dGhfcGFyZW50KHBhcnNlci5nZXQoKSk7CisgICAgZ3N0X2VsZW1lbnRfbGluayhwYXJzZXIuZ2V0
KCksIGFwcHNpbmsuZ2V0KCkpOworICAgIEFTU0VSVChHU1RfUEFEX0lTX0xJTktFRChhcHBzaW5r
UGFkLmdldCgpKSk7CisgICAgZW50cnlQYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0
YXRpY19wYWQocGFyc2VyLmdldCgpLCAic2luayIpKTsKIH0KIAogdm9pZCBBcHBlbmRQaXBlbGlu
ZTo6aG9va1RyYWNrRXZlbnRzKFRyYWNrJiB0cmFjaykKQEAgLTg0MSw2ICs4NzUsOCBAQCBjb25z
dCBjaGFyKiBBcHBlbmRQaXBlbGluZTo6c3RyZWFtVHlwZVRvU3RyaW5nKFN0cmVhbVR5cGUgc3Ry
ZWFtVHlwZSkKICAgICAgICAgcmV0dXJuICJJbnZhbGlkIjsKICAgICBjYXNlIFN0cmVhbVR5cGU6
OlVua25vd246CiAgICAgICAgIHJldHVybiAiVW5rbm93biI7CisgICAgZGVmYXVsdDoKKyAgICAg
ICAgcmV0dXJuICIoVW5zdXBwb3J0ZWQgc3RyZWFtIHR5cGUpIjsKICAgICB9CiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9t
c2UvQXBwZW5kUGlwZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuaAppbmRleCAzOGQ3MzgwMTNkZjQxZDE2OTkxZmQ1
ZTI1OGE3ZGU4OTMxMWQ5YWU5Li4yNGQyYjdhOGZlMWI4NTQxZDEzYjAwZDM2NWExYjZjNzg3N2Mz
NmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5oCkBAIC04MSw5ICs4MSwxMCBAQCBw
cml2YXRlOgogICAgICAgICBHUmVmUHRyPEdzdENhcHM+IGNhcHM7CiAgICAgICAgIEZsb2F0U2l6
ZSBwcmVzZW50YXRpb25TaXplOwogCi0gICAgICAgIEdSZWZQdHI8R3N0UGFkPiBlbnRyeVBhZDsg
Ly8gU2luayBwYWQgb2YgdGhlIHBhcnNlciAoaWYgYW55KSBvciB0aGUgYXBwc2luay4KLSAgICAg
ICAgR1JlZlB0cjxHc3RFbGVtZW50PiBwYXJzZXI7IC8vIE9wdGlvbmFsIChuZWVkZWQgYnkgc29t
ZSBmb3JtYXRzKS4KKyAgICAgICAgLy8gTmVlZGVkIGJ5IHNvbWUgZm9ybWF0cy4gVG8gc2ltcGxp
ZnkgdGhlIGNvZGUsIHBhcnNlciBjYW4gYmUgYSBHc3RJZGVudGl0eSB3aGVuIG5vdCBuZWVkZWQu
CisgICAgICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gcGFyc2VyOwogICAgICAgICBHUmVmUHRyPEdz
dEVsZW1lbnQ+IGFwcHNpbms7CisgICAgICAgIEdSZWZQdHI8R3N0UGFkPiBlbnRyeVBhZDsgLy8g
U2luayBwYWQgb2YgdGhlIHBhcnNlci9Hc3RJZGVudGl0eS4KICAgICAgICAgR1JlZlB0cjxHc3RQ
YWQ+IGFwcHNpbmtQYWQ7CiAKICAgICAgICAgUmVmUHRyPFdlYkNvcmU6OlRyYWNrUHJpdmF0ZUJh
c2U+IHdlYktpdFRyYWNrOwpAQCAtMTQ5LDkgKzE1MCwxMSBAQCBwcml2YXRlOgogICAgIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSogbV9wbGF5ZXJQcml2YXRlOwogCiAgICAgTWVkaWFU
aW1lIG1faW5pdGlhbER1cmF0aW9uOwotICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gbV9hcHBzcmM7
CiAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX3BpcGVsaW5lOwogICAgIEdSZWZQdHI8R3N0QnVz
PiBtX2J1czsKKyAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IG1fYXBwc3JjOworICAgIC8vIFRvIHNp
bXBsaWZ5IHRoZSBjb2RlLCBtdHlwZWZpbmQgYW5kIG1fZGVtdXggY2FuIGJlIGEgR3N0SWRlbnRp
dHkgd2hlbiBub3QgbmVlZGVkLgorICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gbV90eXBlZmluZDsK
ICAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IG1fZGVtdXg7CiAKICAgICBWZWN0b3I8c3RkOjp1bmlx
dWVfcHRyPFRyYWNrPj4gbV90cmFja3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDBlNTAzNzMxMjdlZTc2YmE3YTI4NTk4
NTU1NzQxZmQyOWJiOTZjMS4uZGYwM2M2ZmVjMmM1ZTRjZDJlNWRjMDk1N2RlMWNmOTRmNzI0YWE3
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA4LTI0ICBFbnJpcXVlIE9jYcOxYSBHb256
w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl1bTVNFXSBJ
bXBsZW1lbnQgdGhlICJzZXF1ZW5jZSIgbW9kZSBpbiBTb3VyY2VCdWZmZXIgZm9yIHRoZSBHU3Ry
ZWFtZXIgcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMDM0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zOiBVbnNraXBwZWQgdGVzdAorCiAy
MDIxLTA4LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
S2l0MiBjYW4gb25seSBoYXZlIG9uZSBhY3RpdmUgbmF2aWdhdGlvbiBwb2xpY3kgY2hlY2sgZm9y
IGEgZ2l2ZW4gZnJhbWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGU4MzM0Yzhl
NWY2ZjdkNzFkYTk1ZDZkODlkYmMzMTRiYWRmMjRkZTMuLmExYjc2NGY2N2UzYWE1NmE5ODMwNGZl
NzhmNGNlYWQzNGVlMWI4MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDIxLTA4LTI0ICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2Nhbmhh
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl1bTVNFXSBJbXBsZW1lbnQgdGhlICJz
ZXF1ZW5jZSIgbW9kZSBpbiBTb3VyY2VCdWZmZXIgZm9yIHRoZSBHU3RyZWFtZXIgcG9ydHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDM0MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXItbW9kZS10aW1l
c3RhbXBzLWV4cGVjdGVkLnR4dDogQWRkZWQgZXh0cmEgYmxhbmsgbGluZSBpbiBleHBlY3RhdGlv
bnMsIGxpa2UgaW4gbWFueSBvdGhlciBleHBlY3RhdGlvbnMgZmlsZXMuCisKIDIwMjEtMDgtMjMg
IFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wb3J0IHBlcm1p
c3Npb25zIHRlc3RzIGZyb20gV1BUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZm
ZXItbW9kZS10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZl
ci1tb2RlLXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0CmluZGV4IDNiZGJhMGM3ZWNiNjdlYjM0ZWZi
Zjg3NTU3ZGI0Nzk2NjdkYzc1ZGEuLmE0NjViYjU0ODhhZGIxN2EwZmM2NGFiZGJiMTJjZjdmNjAx
MjY4YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLXRpbWVzdGFt
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLXRpbWVz
dGFtcHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogCiBQQVNTIGF1ZGlvL2FhYyA6IElm
IGdlbmVyYXRlIHRpbWVzdGFtcHMgZmxhZyBlcXVhbHMgdHJ1ZSBhbmQgbmV3IG1vZGUgZXF1YWxz
ICJzZWdtZW50cyIsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0
aGVzZSBzdGVwcy4KIFBBU1MgYXVkaW8vbXBlZyA6IElmIGdlbmVyYXRlIHRpbWVzdGFtcHMgZmxh
ZyBlcXVhbHMgdHJ1ZSBhbmQgbmV3IG1vZGUgZXF1YWxzICJzZWdtZW50cyIsIHRoZW4gdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDJkZjU5YWI5YjAyZmMyNWNj
OTFlNDAzZTk0MTFiZWE3NjkwMGRhZDYuLjJkNTFjZmM5ZTQ0OGJjZmM0YTVmOTc4MTFmZjA2ZmUy
NDc4ZGQyNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTYwNCw3ICs2MDQsNiBAQCB3ZWJraXQub3JnL2IvMTgwODAzIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWR1cgogd2Via2l0Lm9yZy9i
LzIyNjgwNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRp
YXNvdXJjZS1jaGFuZ2V0eXBlLXBsYXkuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2Iv
MTY3MTA4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlh
c291cmNlLXRyYWNrZGVmYXVsdGxpc3QuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIx
MDM0MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNv
dXJjZS1zb3VyY2VidWZmZXItbW9kZS10aW1lc3RhbXBzLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8yMTAzNDEgbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLW1wNC1oMjY0LXNlcXVlbmNl
LW1vZGUuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxMDM0MiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXIt
dHJhY2tkZWZhdWx0cy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY3MTA4IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXRyYWNr
ZGVmYXVsdC5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436400</attachid>
            <date>2021-08-25 10:07:28 -0700</date>
            <delta_ts>2021-08-26 02:30:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210341-20210825190727.patch</filename>
            <type>text/plain</type>
            <size>21523</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhkZmZiYjE2NzliYTMy
NDJlOWY2ZmJhYTljNzdlY2JjNzIzNjc1OC4uZTBkMzA1ZDU1ZjYxMzFjZjQ5OGNhNDYwNzJiMmE0
MzQ0NjVhZjg1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIxLTA4LTI0ICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl1bTVNFXSBJbXBsZW1lbnQgdGhlICJzZXF1ZW5jZSIgbW9kZSBpbiBTb3VyY2VCdWZm
ZXIgZm9yIHRoZSBHU3RyZWFtZXIgcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMDM0MQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsaWNpYSBC
b3lhIEdhcmNpYS4KKworICAgICAgICBEZWNsYXJlIGF1ZGlvL21wZWcgc3VwcG9ydCBhbmQgaGFu
ZGxlIGl0IHByb3Blcmx5IGluIEFwcGVuZFBpcGVsaW5lLiBUaGlzIG1lZGlhIHR5cGUKKyAgICAg
ICAgZG9lc24ndCBoYXZlIGFueSBjb250YWluZXIgZm9ybWF0LCBzbyBhbiBpZGVudGl0eSBlbGVt
ZW50IGlzIHVzZWQgaW4gcGxhY2Ugb2YgdGhlCisgICAgICAgIGRlbXV4ZXIgKGR1bW15IGRlbXV4
ZXIpLiBBcyB0aGlzIGVsZW1lbnQgaXNuJ3QgYW4gYWN0dWFsIGRlbXV4ZXIsIHRoZSBzdGFuZGFy
ZAorICAgICAgICBuby1tb3JlLXBhZHMgc2lnbmFsIGlzbid0IHByZXNlbnQsIHNvIGl0cyBiZWhh
dmlvdXIgaXMgc2ltdWxhdGVkIHdoZW4gdGhlIGZpcnN0IGJ1ZmZlcgorICAgICAgICBpcyBlbWl0
dGVkIGJ5IHRoZSBlbGVtZW50IChkZXRlY3RlZCBieSBhIHByb2JlKS4KKworICAgICAgICBBIHBh
cnNlciBlbGVtZW50IGlzIG5lZWRlZCB0byBwcm9jZXNzIHRoZSBkYXRhIChtcGVnYXVkaW9wYXJz
ZSBmb3IgbXBlZyBhdWRpbyB2MSwKKyAgICAgICAgYWFjcGFyc2UgZm9yIG1wZWcgYXVkaW8gdjIg
JiB2NCkuIFRoZSBleGlzdGluZyBjcmVhdGVPcHRpb25hbFBhcnNlckZvckZvcm1hdCgpCisgICAg
ICAgIGluZnJhc3RydWN0dXJlIGlzIHVzZWQgZm9yIHRoYXQgYWZ0ZXIgYW5hbHl6aW5nIHRoZSBj
YXBzLCBhbmQgYW4gaWRlbnRpdHkgZWxlbWVudCBpcworICAgICAgICBub3cgYWxzbyB1c2VkIGlu
c3RlYWQgaW4gdGhlIGNhc2VzIHdoZW4gYSBwYXJzZXIgaXNuJ3QgbmVlZGVkLiBUaGlzIHNpbXBs
aWZpZXMgdGhlIGNvZGUKKyAgICAgICAgdGhhdCBsaW5rcyB0aGUgcGlwZWxpbmUgZWxlbWVudHMs
IGFzIG5vdyB0aGVyZSBhcmVuJ3QgYW55IG9wdGlvbmFsIChub24gZXhpc3RpbmcpCisgICAgICAg
IGVsZW1lbnRzIGluIHBsYWNlLCBqdXN0IEdzdElkZW50aXR5IGluc3RhbmNlcyB0aGVyZS4KKwor
ICAgICAgICBTdGlsbCwgdGhlIHNlbGVjdGlvbiBvZiB0aGUgcHJvcGVyIG1wZWcvYWFjIHBhcnNl
ciByZXF1aXJlcyBwcmVjaXNlIGNhcHMuIEEgbmV3IHR5cGVmaW5kCisgICAgICAgIGVsZW1lbnQg
aXMgbm93IHVzZWQgYWZ0ZXIgdGhlIGFwcHNyYyAod2hlbiBuZWVkZWQsIGFuZCBhbm90aGVyIGlk
ZW50aXR5IGVsZW1lbnQgd2hlbgorICAgICAgICBub3QpLgorCisgICAgICAgIFJldHVybiBUeXBl
RXJyb3IgaW4gU291cmNlQnVmZmVyOjpzZXRNb2RlKCksIGluc3RlYWQgb2YgSW52YWxpZEFjY2Vz
c0Vycm9yLiBUaGUgTVNFIHNwZWMKKyAgICAgICAgY2hhbmdlZCB0aGlzIGJlaGF2aW91ciBhdCBz
b21lIHBvaW50IGJlZm9yZSBKdW5lIDIwMTYgYW5kIHRoZSBXZWJLaXQgY29kZSBuZXZlciByZWZs
ZWN0ZWQKKyAgICAgICAgdGhlIGNoYW5nZSwgc3RpbGwgcmV0dXJuaW5nIHRoZSBkZXByZWNhdGVk
IEludmFsaWRBY2Nlc3NFcnJvciB3aGVuIGdlbmVyYXRlIHRpbWVzdGFtcHMKKyAgICAgICAgZmxh
ZyBlcXVhbHMgdHJ1ZSBhbmQgbmV3IG1vZGUgZXF1YWxzICJzZWdtZW50cyIuCisKKyAgICAgICAg
RmluYWxseSwgdGhlIE1lZGlhU2FtcGxlOjpzZXRUaW1lc3RhbXBzKCkgbWV0aG9kIGhhcyBiZWVu
IGltcGxlbWVudGVkIGZvciB0aGUgR1N0cmVhbWVyCisgICAgICAgIHBvcnQuIEl0IGhhZCBhbiBl
bXB0eSBpbXBsZW1lbnRhdGlvbiBhbmQgbm8gcHJvYmxlbSBoYWQgYmVlbiBkZXRlY3RlZCBiZWZv
cmUgYmVjYXVzZQorICAgICAgICB0aGUgInNlcXVlbmNlIiBTb3VyY2VCdWZmZXIgbW9kZSBoYWQg
bmV2ZXIgYmVlbiB1c2VkIHVudGlsIG5vdy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5n
IHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpzZXRNb2RlKTogUmV0dXJuIFR5cGVF
cnJvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyUmVn
aXN0cnlTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclJlZ2lzdHJ5U2Nh
bm5lcjo6aW5pdGlhbGl6ZURlY29kZXJzKTogRGVjbGFyZSBhdWRpby9tcGVnIHN1cHBvcnQuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlR1N0cmVhbWVyOjpzZXRUaW1lc3Rh
bXBzKTogSW1wbGVtZW50IG1ldGhvZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaDogUmVtb3ZlZCBzZXRUaW1lc3RhbXBzKCkgZW1w
dHkgaW1wbGVtZW50YXRpb24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9BcHBlbmRQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGlu
ZTo6QXBwZW5kUGlwZWxpbmUpOiBTdXBwb3J0IGF1ZGlvL21wZWcgYnkgaW5zdGFuY2luZyBhIHR5
cGVmaW5kIGVsZW1lbnQgd2hlbiBuZWVkZWQgKG9yIGlkZW50aXR5IHdoZW4gbm90KSwgdXNpbmcg
YW4gaWRlbnRpdHkgZWxlbWVudCBpbnN0ZWFkIG9mIGEgZGVtdXhlciBhbmQgc2ltdWxhdGluZyB3
aGF0IHdvdWxkIGJlIGRvbmUgaW4gdGhlIG5vLW1vcmUtcGFkcyBzaWduYWwgaGFuZGxlcnMsIGJ1
dCB1c2luZyBhIHByb2JlIHRvIGRldGVjdCB0aGUgZmlyc3QgYnVmZmVyIHRyYXZlcnNpbmcgdGhl
IHBhcnNlci4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU9wdGlvbmFsUGFyc2VyRm9yRm9ybWF0
KTogVXNlIHRoZSBtcGVndmVyc2lvbiBjYXBzIGZpZWxkIHRvIGluc3RhbmNlIHRoZSByaWdodCBr
aW5kIG9mIHBhcnNlciB3aGVuIGRldGVjdGluZyB0aGUgYXVkaW8vbXBlZyBtZWRpYSB0eXBlIGlu
IHRoZSBjYXBzLiBBbiBpZGVudGl0eSBlbGVtZW50IGlzIG5vdyByZXR1cm5lZCBpbiBjYXNlIG5v
IHBhcnNlciBpcyBuZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGluZTo6VHJh
Y2s6OmluaXRpYWxpemVFbGVtZW50cyk6IFNpbXBsaWZ5IGVsZW1lbnQgbGlua2luZyBub3cgdGhh
dCB0aGUgcGFyc2VyIChvciBpZGVudGl0eSkgaXMgYWx3YXlzIGd1YXJhbnRlZWQgdG8gZXhpc3Qu
CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGluZTo6c3RyZWFtVHlwZVRvU3RyaW5nKTog
QWRkZWQgZGVmYXVsdCBicmFuY2ggdG8gc3dpdGNoIHRvIGZpeCBidWlsZCB3YXJuaW5nLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuaDog
QWRkZWQgbV90eXBlZmluZC4gUmVvcmRlcmVkIHNvbWUgYXR0cmlidXRlcyBhbmQgYWRkZWQgY29t
bWVudHMgdG8gaW1wcm92ZSByZWFkYWJpbGl0eS4KKwogMjAyMS0wOC0yMyAgTWFydGluIFJvYmlu
c29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3RpY2t5IHBvc2l0aW9uIHNo
b3VsZCBub3QgdXNlIHRyYW5zZm9ybWVkIHBvc2l0aW9uIHRvIGNvbXB1dGUgc3RpY2t5IG9mZnNl
dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcAppbmRleCA1ZDM2MGViZTdkZGFiYTcyN2U2OTA0NDNmYzQ5ZWY4YzU3ZWFlY2UwLi42
N2E2MWJjODQxZGRiZjk0OTE3N2NhMWVkZTcxZWVjMDc4OTA3YmU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC0xMjM3
LDcgKzEyMzcsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OnNldE1vZGUoQXBw
ZW5kTW9kZSBuZXdNb2RlKQogICAgIC8vIDEuIExldCBuZXcgbW9kZSBlcXVhbCB0aGUgbmV3IHZh
bHVlIGJlaW5nIGFzc2lnbmVkIHRvIHRoaXMgYXR0cmlidXRlLgogICAgIC8vIDIuIElmIGdlbmVy
YXRlIHRpbWVzdGFtcHMgZmxhZyBlcXVhbHMgdHJ1ZSBhbmQgbmV3IG1vZGUgZXF1YWxzICJzZWdt
ZW50cyIsIHRoZW4gdGhyb3cgYW4gSW52YWxpZEFjY2Vzc0Vycm9yIGV4Y2VwdGlvbiBhbmQgYWJv
cnQgdGhlc2Ugc3RlcHMuCiAgICAgaWYgKG1fc2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBzICYmIG5l
d01vZGUgPT0gQXBwZW5kTW9kZTo6U2VnbWVudHMpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciB9OwogCiAgICAgLy8gMy4gSWYgdGhpcyBvYmplY3QgaGFzIGJlZW4gcmVtb3ZlZCBmcm9t
IHRoZSBzb3VyY2VCdWZmZXJzIGF0dHJpYnV0ZSBvZiB0aGUgcGFyZW50IG1lZGlhIHNvdXJjZSwg
dGhlbiB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNl
IHN0ZXBzLgogICAgIC8vIDQuIElmIHRoZSB1cGRhdGluZyBhdHRyaWJ1dGUgZXF1YWxzIHRydWUs
IHRoZW4gdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVz
ZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9HU3RyZWFtZXJSZWdpc3RyeVNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5jcHAKaW5k
ZXggZTlkZmJhMGE3YzY3NWJkMmU5ZGZmYzhlMTY0NWRjZmNmZjEwMTgwMy4uZTgwNmRkOGM4Yjhm
MDEzNTcxOGJkODAwY2E0MjY4NTRiN2JmNzZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclJlZ2lzdHJ5U2Nhbm5lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1l
clJlZ2lzdHJ5U2Nhbm5lci5jcHAKQEAgLTI1NSw2ICsyNTUsOCBAQCB2b2lkIEdTdHJlYW1lclJl
Z2lzdHJ5U2Nhbm5lcjo6aW5pdGlhbGl6ZURlY29kZXJzKGNvbnN0IEdTdHJlYW1lclJlZ2lzdHJ5
U2Nhbm5lcgogICAgICAgICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRvbVN0cmluZygiYXVk
aW8vYWFjIikpOwogICAgICAgICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRvbVN0cmluZygi
YXVkaW8vbXA0IikpOwogICAgICAgICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQoQXRvbVN0cmlu
ZygiYXVkaW8veC1tNGEiKSk7CisgICAgICAgIG1fZGVjb2Rlck1pbWVUeXBlU2V0LmFkZChBdG9t
U3RyaW5nKCJhdWRpby9tcGVnIikpOworICAgICAgICBtX2RlY29kZXJNaW1lVHlwZVNldC5hZGQo
QXRvbVN0cmluZygiYXVkaW8veC1tcGVnIikpOwogICAgICAgICBtX2RlY29kZXJDb2RlY01hcC5h
ZGQoQXRvbVN0cmluZygibXBlZyIpLCBmYWxzZSk7CiAgICAgICAgIG1fZGVjb2RlckNvZGVjTWFw
LmFkZChBdG9tU3RyaW5nKCJtcDRhKiIpLCBmYWxzZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVh
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVNhbXBsZUdTdHJlYW1lci5jcHAKaW5kZXggOGYzZDViNTMyZTJmNjAzNTZmZTgwNDZhZjdlMTIz
NzBiNzg3YmIwMy4uZDA5NDcyZGMwZDJhN2U4YzA2NTIwNGFjNjVhYjBiNWYwNDFiOWM1YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
U2FtcGxlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwCkBAIC0xOTIsNiArMTkyLDE2IEBA
IHZvaWQgTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmV4dGVuZFRvVGhlQmVnaW5uaW5nKCkKICAgICBt
X3B0cyA9IE1lZGlhVGltZTo6emVyb1RpbWUoKTsKIH0KIAordm9pZCBNZWRpYVNhbXBsZUdTdHJl
YW1lcjo6c2V0VGltZXN0YW1wcyhjb25zdCBNZWRpYVRpbWUmIHByZXNlbnRhdGlvblRpbWUsIGNv
bnN0IE1lZGlhVGltZSYgZGVjb2RlVGltZSkKK3sKKyAgICBtX3B0cyA9IHByZXNlbnRhdGlvblRp
bWU7CisgICAgbV9kdHMgPSBkZWNvZGVUaW1lOworICAgIGlmIChhdXRvKiBidWZmZXIgPSBnc3Rf
c2FtcGxlX2dldF9idWZmZXIobV9zYW1wbGUuZ2V0KCkpKSB7CisgICAgICAgIEdTVF9CVUZGRVJf
UFRTKGJ1ZmZlcikgPSB0b0dzdENsb2NrVGltZShtX3B0cyk7CisgICAgICAgIEdTVF9CVUZGRVJf
RFRTKGJ1ZmZlcikgPSB0b0dzdENsb2NrVGltZShtX2R0cyk7CisgICAgfQorfQorCiB2b2lkIE1l
ZGlhU2FtcGxlR1N0cmVhbWVyOjpvZmZzZXRUaW1lc3RhbXBzQnkoY29uc3QgTWVkaWFUaW1lJiB0
aW1lc3RhbXBPZmZzZXQpCiB7CiAgICAgaWYgKCF0aW1lc3RhbXBPZmZzZXQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVH
U3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVNhbXBsZUdTdHJlYW1lci5oCmluZGV4IDhmNjBkOGFmOTVlY2JmZTE0NzY2NTUwNTEyNTQ1
NmFlOThjZmQ1ZTEuLmQ3YTQ5Yjk2ZmMzMzM0MmZjMDM0NTIzNDBiNTYxNGE2OWRmYzM4MDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVNhbXBsZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5oCkBAIC01MSw3ICs1MSw3IEBAIHB1Ymxp
YzoKICAgICBzaXplX3Qgc2l6ZUluQnl0ZXMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Np
emU7IH0KICAgICBGbG9hdFNpemUgcHJlc2VudGF0aW9uU2l6ZSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIG1fcHJlc2VudGF0aW9uU2l6ZTsgfQogICAgIHZvaWQgb2Zmc2V0VGltZXN0YW1wc0J5
KGNvbnN0IE1lZGlhVGltZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgc2V0VGltZXN0YW1wcyhjb25z
dCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIHNl
dFRpbWVzdGFtcHMoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7
CiAgICAgYm9vbCBpc0RpdmlzYWJsZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgc3RkOjpwYWlyPFJlZlB0cjxNZWRpYVNhbXBsZT4sIFJlZlB0cjxNZWRpYVNhbXBsZT4+
IGRpdmlkZShjb25zdCBNZWRpYVRpbWUmLCBVc2VFbmRUaW1lKSBvdmVycmlkZSAgeyByZXR1cm4g
eyBudWxscHRyLCBudWxscHRyIH07IH0KICAgICBSZWY8TWVkaWFTYW1wbGU+IGNyZWF0ZU5vbkRp
c3BsYXlpbmdDb3B5KCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxp
bmUuY3BwCmluZGV4IDNmZTdhNzFjODRmMTQxNjhhZmMwMjg0YWU1YWEzYmFjZTM5MThkNDMuLjk5
Zjg1MWI3ZWMyMTE1YjViY2IzYmM2ZTA0ZjdkNjBhYmI2MjJkYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
QXBwZW5kUGlwZWxpbmUuY3BwCkBAIC03OCwxMCArNzgsOSBAQCBzdGF0aWMgR3N0UGFkUHJvYmVS
ZXR1cm4gYXBwZW5kUGlwZWxpbmVQYWRQcm9iZURlYnVnSW5mb3JtYXRpb24oR3N0UGFkKiwgR3N0
UGFkUAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiBzdGF0aWMgR3N0UGFkUHJvYmVSZXR1
cm4gYXBwZW5kUGlwZWxpbmVBcHBzaW5rUGFkRXZlbnRQcm9iZShHc3RQYWQqLCBHc3RQYWRQcm9i
ZUluZm8qLCBzdHJ1Y3QgUGFkUHJvYmVJbmZvcm1hdGlvbiopOwogI2VuZGlmCi0KIHN0YXRpYyBH
c3RQYWRQcm9iZVJldHVybiBhcHBlbmRQaXBlbGluZURlbXV4ZXJCbGFja0hvbGVQYWRQcm9iZShH
c3RQYWQqLCBHc3RQYWRQcm9iZUluZm8qLCBncG9pbnRlcik7Ci0KIHN0YXRpYyBHc3RQYWRQcm9i
ZVJldHVybiBtYXRyb3NrYWRlbXV4Rm9yY2VTZWdtZW50U3RhcnRUb0VxdWFsWmVybyhHc3RQYWQq
LCBHc3RQYWRQcm9iZUluZm8qLCB2b2lkKik7CitzdGF0aWMgR1JlZlB0cjxHc3RFbGVtZW50PiBj
cmVhdGVPcHRpb25hbFBhcnNlckZvckZvcm1hdChjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgR3N0
Q2FwcyopOwogCiAvLyBXcmFwcGVyIGZvciBnc3RfZWxlbWVudF9zZXRfc3RhdGUoKSB0aGF0IGVt
aXRzIGEgY3JpdGljYWwgaWYgdGhlIHN0YXRlIGNoYW5nZSBmYWlscyBvciBpcyBub3Qgc3luY2hy
b25vdXMuCiBzdGF0aWMgdm9pZCBhc3NlcnRlZEVsZW1lbnRTZXRTdGF0ZShHc3RFbGVtZW50KiBl
bGVtZW50LCBHc3RTdGF0ZSBkZXNpcmVkU3RhdGUpCkBAIC0xNDMsMTEgKzE0MiwxOCBAQCBBcHBl
bmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUoU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciYg
c291cmNlQnVmZmVyUHJpdmF0ZQogCiAgICAgY29uc3QgU3RyaW5nJiB0eXBlID0gbV9zb3VyY2VC
dWZmZXJQcml2YXRlLnR5cGUoKS5jb250YWluZXJUeXBlKCk7CiAgICAgR1NUX0RFQlVHKCJTb3Vy
Y2VCdWZmZXIgY29udGFpbmVyVHlwZTogJXMiLCB0eXBlLnV0ZjgoKS5kYXRhKCkpOwotICAgIGlm
ICh0eXBlLmVuZHNXaXRoKCJtcDQiKSB8fCB0eXBlLmVuZHNXaXRoKCJhYWMiKSkKKyAgICBib29s
IGhhc0RlbXV4ZXIgPSB0cnVlOworICAgIGlmICh0eXBlLmVuZHNXaXRoKCJtcDQiKSB8fCB0eXBl
LmVuZHNXaXRoKCJhYWMiKSkgewogICAgICAgICBtX2RlbXV4ID0gbWFrZUdTdHJlYW1lckVsZW1l
bnQoInF0ZGVtdXgiLCBudWxscHRyKTsKLSAgICBlbHNlIGlmICh0eXBlLmVuZHNXaXRoKCJ3ZWJt
IikpCisgICAgICAgIG1fdHlwZWZpbmQgPSBtYWtlR1N0cmVhbWVyRWxlbWVudCgiaWRlbnRpdHki
LCBudWxscHRyKTsKKyAgICB9IGVsc2UgaWYgKHR5cGUuZW5kc1dpdGgoIndlYm0iKSkgewogICAg
ICAgICBtX2RlbXV4ID0gbWFrZUdTdHJlYW1lckVsZW1lbnQoIm1hdHJvc2thZGVtdXgiLCBudWxs
cHRyKTsKLSAgICBlbHNlCisgICAgICAgIG1fdHlwZWZpbmQgPSBtYWtlR1N0cmVhbWVyRWxlbWVu
dCgiaWRlbnRpdHkiLCBudWxscHRyKTsKKyAgICB9IGVsc2UgaWYgKHR5cGUgPT0gImF1ZGlvL21w
ZWciKSB7CisgICAgICAgIG1fZGVtdXggPSBtYWtlR1N0cmVhbWVyRWxlbWVudCgiaWRlbnRpdHki
LCBudWxscHRyKTsKKyAgICAgICAgbV90eXBlZmluZCA9IG1ha2VHU3RyZWFtZXJFbGVtZW50KCJ0
eXBlZmluZCIsIG51bGxwdHIpOworICAgICAgICBoYXNEZW11eGVyID0gZmFsc2U7CisgICAgfSBl
bHNlCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCiAjaWYgIUxPR19ESVNBQkxFRApA
QCAtMTU3LDE5ICsxNjMsMzUgQEAgQXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5lKFNvdXJj
ZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXImIHNvdXJjZUJ1ZmZlclByaXZhdGUKICAgICBtX2RlbXV4
ZXJEYXRhRW50ZXJpbmdQYWRQcm9iZUluZm9ybWF0aW9uLnByb2JlSWQgPSBnc3RfcGFkX2FkZF9w
cm9iZShkZW11eGVyUGFkLmdldCgpLCBHU1RfUEFEX1BST0JFX1RZUEVfQlVGRkVSLCByZWludGVy
cHJldF9jYXN0PEdzdFBhZFByb2JlQ2FsbGJhY2s+KGFwcGVuZFBpcGVsaW5lUGFkUHJvYmVEZWJ1
Z0luZm9ybWF0aW9uKSwgJm1fZGVtdXhlckRhdGFFbnRlcmluZ1BhZFByb2JlSW5mb3JtYXRpb24s
IG51bGxwdHIpOwogI2VuZGlmCiAKLSAgICAvLyBUaGVzZSBzaWduYWxzIHdvbid0IG91dGxpdmUg
dGhlIGxpZmV0aW1lIG9mIGB0aGlzYC4KLSAgICBnX3NpZ25hbF9jb25uZWN0KG1fZGVtdXguZ2V0
KCksICJuby1tb3JlLXBhZHMiLCBHX0NBTExCQUNLKCtbXShHc3RFbGVtZW50KiwgQXBwZW5kUGlw
ZWxpbmUqIGFwcGVuZFBpcGVsaW5lKSB7Ci0gICAgICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkp
OwotICAgICAgICBHU1RfREVCVUcoIlBvc3Rpbmcgbm8tbW9yZS1wYWRzIHRhc2sgdG8gbWFpbiB0
aHJlYWQiKTsKLSAgICAgICAgYXBwZW5kUGlwZWxpbmUtPm1fdGFza1F1ZXVlLmVucXVldWVUYXNr
QW5kV2FpdDxBYm9ydGFibGVUYXNrUXVldWU6OlZvaWQ+KFthcHBlbmRQaXBlbGluZV0oKSB7Ci0g
ICAgICAgICAgICBhcHBlbmRQaXBlbGluZS0+ZGlkUmVjZWl2ZUluaXRpYWxpemF0aW9uU2VnbWVu
dCgpOwotICAgICAgICAgICAgcmV0dXJuIEFib3J0YWJsZVRhc2tRdWV1ZTo6Vm9pZCgpOwotICAg
ICAgICB9KTsKLSAgICB9KSwgdGhpcyk7CisgICAgaWYgKGhhc0RlbXV4ZXIpIHsKKyAgICAgICAg
Ly8gVGhlc2Ugc2lnbmFscyB3b24ndCBvdXRsaXZlIHRoZSBsaWZldGltZSBvZiBgdGhpc2AuCisg
ICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9kZW11eC5nZXQoKSwgIm5vLW1vcmUtcGFkcyIsIEdf
Q0FMTEJBQ0soK1tdKEdzdEVsZW1lbnQqLCBBcHBlbmRQaXBlbGluZSogYXBwZW5kUGlwZWxpbmUp
IHsKKyAgICAgICAgICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgICAgICAgICAgR1NU
X0RFQlVHKCJQb3N0aW5nIG5vLW1vcmUtcGFkcyB0YXNrIHRvIG1haW4gdGhyZWFkIik7CisgICAg
ICAgICAgICBhcHBlbmRQaXBlbGluZS0+bV90YXNrUXVldWUuZW5xdWV1ZVRhc2tBbmRXYWl0PEFi
b3J0YWJsZVRhc2tRdWV1ZTo6Vm9pZD4oW2FwcGVuZFBpcGVsaW5lXSgpIHsKKyAgICAgICAgICAg
ICAgICBhcHBlbmRQaXBlbGluZS0+ZGlkUmVjZWl2ZUluaXRpYWxpemF0aW9uU2VnbWVudCgpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBBYm9ydGFibGVUYXNrUXVldWU6OlZvaWQoKTsKKyAgICAg
ICAgICAgIH0pOworICAgICAgICB9KSwgdGhpcyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgR1Jl
ZlB0cjxHc3RQYWQ+IGlkZW50aXR5U3JjUGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9z
dGF0aWNfcGFkKG1fZGVtdXguZ2V0KCksICJzcmMiKSk7CisgICAgICAgIGdzdF9wYWRfYWRkX3By
b2JlKGlkZW50aXR5U3JjUGFkLmdldCgpLCBHU1RfUEFEX1BST0JFX1RZUEVfQlVGRkVSLCByZWlu
dGVycHJldF9jYXN0PEdzdFBhZFByb2JlQ2FsbGJhY2s+KAorICAgICAgICAgICAgK1tdKEdzdFBh
ZCAqcGFkLCBHc3RQYWRQcm9iZUluZm8qLCBBcHBlbmRQaXBlbGluZSogYXBwZW5kUGlwZWxpbmUp
IHsKKyAgICAgICAgICAgICAgICBHUmVmUHRyPEdzdENhcHM+IGNhcHMgPSBnc3RfcGFkX2dldF9j
dXJyZW50X2NhcHMocGFkKTsKKyAgICAgICAgICAgICAgICBpZiAoIWNhcHMpCisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBHU1RfUEFEX1BST0JFX0RST1A7CisgICAgICAgICAgICAgICAgYXBw
ZW5kUGlwZWxpbmUtPm1fdGFza1F1ZXVlLmVucXVldWVUYXNrQW5kV2FpdDxBYm9ydGFibGVUYXNr
UXVldWU6OlZvaWQ+KFthcHBlbmRQaXBlbGluZV0oKSB7CisgICAgICAgICAgICAgICAgICAgIGFw
cGVuZFBpcGVsaW5lLT5kaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KCk7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBBYm9ydGFibGVUYXNrUXVldWU6OlZvaWQoKTsKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gR1NUX1BBRF9QUk9CRV9SRU1PVkU7
CisgICAgICAgICAgICB9CisgICAgICAgICksIHRoaXMsIG51bGxwdHIpOworICAgIH0KIAogICAg
IC8vIEFkZF9tYW55IHdpbGwgdGFrZSBvd25lcnNoaXAgb2YgYSByZWZlcmVuY2UuIFRoYXQncyB3
aHkgd2UgdXNlZCBhbiBhc3NpZ25tZW50IGJlZm9yZS4KLSAgICBnc3RfYmluX2FkZF9tYW55KEdT
VF9CSU4obV9waXBlbGluZS5nZXQoKSksIG1fYXBwc3JjLmdldCgpLCBtX2RlbXV4LmdldCgpLCBu
dWxscHRyKTsKLSAgICBnc3RfZWxlbWVudF9saW5rKG1fYXBwc3JjLmdldCgpLCBtX2RlbXV4Lmdl
dCgpKTsKKyAgICBnc3RfYmluX2FkZF9tYW55KEdTVF9CSU4obV9waXBlbGluZS5nZXQoKSksIG1f
YXBwc3JjLmdldCgpLCBtX3R5cGVmaW5kLmdldCgpLCBtX2RlbXV4LmdldCgpLCBudWxscHRyKTsK
KyAgICBnc3RfZWxlbWVudF9saW5rX21hbnkobV9hcHBzcmMuZ2V0KCksIG1fdHlwZWZpbmQuZ2V0
KCksIG1fZGVtdXguZ2V0KCksIG51bGxwdHIpOwogCiAgICAgYXNzZXJ0ZWRFbGVtZW50U2V0U3Rh
dGUobV9waXBlbGluZS5nZXQoKSwgR1NUX1NUQVRFX1BMQVlJTkcpOwogfQpAQCAtNjA1LDE5ICs2
MjcsMzEgQEAgY3JlYXRlT3B0aW9uYWxQYXJzZXJGb3JGb3JtYXQoY29uc3QgQXRvbVN0cmluZyYg
dHJhY2tJZCwgY29uc3QgR3N0Q2FwcyogY2FwcykKIHsKICAgICBHc3RTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUoY2FwcywgMCk7CiAgICAgY29uc3QgY2hhciog
bWVkaWFUeXBlID0gZ3N0X3N0cnVjdHVyZV9nZXRfbmFtZShzdHJ1Y3R1cmUpOwotCiAgICAgR1Vu
aXF1ZVB0cjxjaGFyPiBwYXJzZXJOYW1lKGdfc3RyZHVwX3ByaW50ZigiJXNfcGFyc2VyIiwgdHJh
Y2tJZC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKSk7Ci0KLSAgICBpZiAoIWdfc3RyY21wMChtZWRp
YVR5cGUsICJhdWRpby94LW9wdXMiKSkgewotICAgICAgICBHc3RFbGVtZW50KiBvcHVzcGFyc2Ug
PSBtYWtlR1N0cmVhbWVyRWxlbWVudCgib3B1c3BhcnNlIiwgcGFyc2VyTmFtZS5nZXQoKSk7Ci0g
ICAgICAgIHJldHVybiBHUmVmUHRyPEdzdEVsZW1lbnQ+KG9wdXNwYXJzZSk7Ci0gICAgfQotICAg
IGlmICghZ19zdHJjbXAwKG1lZGlhVHlwZSwgInZpZGVvL3gtaDI2NCIpKSB7Ci0gICAgICAgIEdz
dEVsZW1lbnQqIGgyNjRwYXJzZSA9IG1ha2VHU3RyZWFtZXJFbGVtZW50KCJoMjY0cGFyc2UiLCBw
YXJzZXJOYW1lLmdldCgpKTsKLSAgICAgICAgcmV0dXJuIEdSZWZQdHI8R3N0RWxlbWVudD4oaDI2
NHBhcnNlKTsKKyAgICBjb25zdCBnY2hhciogZWxlbWVudENsYXNzID0gImlkZW50aXR5IjsKKwor
ICAgIGlmICghZ19zdHJjbXAwKG1lZGlhVHlwZSwgImF1ZGlvL3gtb3B1cyIpKQorICAgICAgICBl
bGVtZW50Q2xhc3MgPSAib3B1c3BhcnNlIjsKKyAgICBlbHNlIGlmICghZ19zdHJjbXAwKG1lZGlh
VHlwZSwgInZpZGVvL3gtaDI2NCIpKQorICAgICAgICBlbGVtZW50Q2xhc3MgPSAiaDI2NHBhcnNl
IjsKKyAgICBlbHNlIGlmICghZ19zdHJjbXAwKG1lZGlhVHlwZSwgImF1ZGlvL21wZWciKSkgewor
ICAgICAgICBpbnQgbXBlZ3ZlcnNpb24gPSAwOworICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9p
bnQoc3RydWN0dXJlLCAibXBlZ3ZlcnNpb24iLCAmbXBlZ3ZlcnNpb24pOworICAgICAgICBzd2l0
Y2ggKG1wZWd2ZXJzaW9uKSB7CisgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgIGVsZW1lbnRD
bGFzcyA9ICJtcGVnYXVkaW9wYXJzZSI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSAyOgorICAgICAgICBjYXNlIDQ6CisgICAgICAgICAgICBlbGVtZW50Q2xhc3MgPSAiYWFjcGFy
c2UiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6IHsKKyAgICAgICAgICAg
IEdVbmlxdWVQdHI8Y2hhcj4gY2Fwc1N0cmluZyhnc3RfY2Fwc190b19zdHJpbmcoY2FwcykpOwor
ICAgICAgICAgICAgR1NUX1dBUk5JTkcoIlVuc3VwcG9ydGVkIGF1ZGlvIG1wZWcgY2FwczogJXMi
LCBjYXBzU3RyaW5nLmdldCgpKTsKKyAgICAgICAgfQorICAgICAgICB9CiAgICAgfQotCi0gICAg
cmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIEdSZWZQdHI8R3N0RWxlbWVudD4obWFrZUdTdHJl
YW1lckVsZW1lbnQoZWxlbWVudENsYXNzLCBwYXJzZXJOYW1lLmdldCgpKSk7CiB9CiAKIEF0b21T
dHJpbmcgQXBwZW5kUGlwZWxpbmU6OmdlbmVyYXRlVHJhY2tJZChTdHJlYW1UeXBlIHN0cmVhbVR5
cGUsIGludCBwYWRJbmRleCkKQEAgLTc1Nyw3ICs3OTEsNyBAQCB2b2lkIEFwcGVuZFBpcGVsaW5l
OjpUcmFjazo6aW5pdGlhbGl6ZUVsZW1lbnRzKEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQaXBlbGlu
ZSwgRwogCiAgICAgZ3N0X2Jpbl9hZGQoR1NUX0JJTihhcHBlbmRQaXBlbGluZS0+cGlwZWxpbmUo
KSksIGFwcHNpbmsuZ2V0KCkpOwogICAgIGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0aF9wYXJl
bnQoYXBwc2luay5nZXQoKSk7Ci0gICAgZW50cnlQYWQgPSBhcHBzaW5rUGFkID0gYWRvcHRHUmVm
KGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKGFwcHNpbmsuZ2V0KCksICJzaW5rIikpOworICAg
IGFwcHNpbmtQYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQoYXBwc2lu
ay5nZXQoKSwgInNpbmsiKSk7CiAKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgYXBwc2lua0RhdGFF
bnRlcmluZ1BhZFByb2JlSW5mb3JtYXRpb24uYXBwZW5kUGlwZWxpbmUgPSBhcHBlbmRQaXBlbGlu
ZTsKQEAgLTc3NCwxMyArODA4LDEzIEBAIHZvaWQgQXBwZW5kUGlwZWxpbmU6OlRyYWNrOjppbml0
aWFsaXplRWxlbWVudHMoQXBwZW5kUGlwZWxpbmUqIGFwcGVuZFBpcGVsaW5lLCBHCiAgICAgLy8g
U29tZSBhdWRpbyBmaWxlcyB1bmhlbHBmdWxseSBvbWl0IHRoZSBkdXJhdGlvbiBvZiBmcmFtZXMg
aW4gdGhlIGNvbnRhaW5lci4gV2UgbmVlZCB0byBwYXJzZQogICAgIC8vIHRoZSBjb250YWluZWQg
YXVkaW8gc3RyZWFtcyBpbiBvcmRlciB0byBrbm93IHRoZSBkdXJhdGlvbiBvZiB0aGUgZnJhbWVz
LgogICAgIC8vIFRoaXMgaXMga25vd24gdG8gYmUgYW4gaXNzdWUgd2l0aCBZb3VUdWJlIFdlYk0g
ZmlsZXMgY29udGFpbmluZyBPcHVzIGF1ZGlvIGFzIG9mIFlUVFYyMDE4LgotICAgIGlmICgocGFy
c2VyID0gY3JlYXRlT3B0aW9uYWxQYXJzZXJGb3JGb3JtYXQodHJhY2tJZCwgY2Fwcy5nZXQoKSkp
KSB7Ci0gICAgICAgIGdzdF9iaW5fYWRkKGJpbiwgcGFyc2VyLmdldCgpKTsKLSAgICAgICAgZ3N0
X2VsZW1lbnRfc3luY19zdGF0ZV93aXRoX3BhcmVudChwYXJzZXIuZ2V0KCkpOwotICAgICAgICBn
c3RfZWxlbWVudF9saW5rKHBhcnNlci5nZXQoKSwgYXBwc2luay5nZXQoKSk7Ci0gICAgICAgIEFT
U0VSVChHU1RfUEFEX0lTX0xJTktFRChhcHBzaW5rUGFkLmdldCgpKSk7Ci0gICAgICAgIGVudHJ5
UGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKHBhcnNlci5nZXQoKSwg
InNpbmsiKSk7Ci0gICAgfQorICAgIC8vIElmIG5vIHBhcnNlciBpcyBuZWVkZWQsIGEgR3N0SWRl
bnRpdHkgZWxlbWVudCB3aWxsIGJlIGNyZWF0ZWQgaW5zdGVhZC4KKyAgICBwYXJzZXIgPSBjcmVh
dGVPcHRpb25hbFBhcnNlckZvckZvcm1hdCh0cmFja0lkLCBjYXBzLmdldCgpKTsKKyAgICBnc3Rf
YmluX2FkZChiaW4sIHBhcnNlci5nZXQoKSk7CisgICAgZ3N0X2VsZW1lbnRfc3luY19zdGF0ZV93
aXRoX3BhcmVudChwYXJzZXIuZ2V0KCkpOworICAgIGdzdF9lbGVtZW50X2xpbmsocGFyc2VyLmdl
dCgpLCBhcHBzaW5rLmdldCgpKTsKKyAgICBBU1NFUlQoR1NUX1BBRF9JU19MSU5LRUQoYXBwc2lu
a1BhZC5nZXQoKSkpOworICAgIGVudHJ5UGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9z
dGF0aWNfcGFkKHBhcnNlci5nZXQoKSwgInNpbmsiKSk7CiB9CiAKIHZvaWQgQXBwZW5kUGlwZWxp
bmU6Omhvb2tUcmFja0V2ZW50cyhUcmFjayYgdHJhY2spCkBAIC04NDEsNiArODc1LDggQEAgY29u
c3QgY2hhciogQXBwZW5kUGlwZWxpbmU6OnN0cmVhbVR5cGVUb1N0cmluZyhTdHJlYW1UeXBlIHN0
cmVhbVR5cGUpCiAgICAgICAgIHJldHVybiAiSW52YWxpZCI7CiAgICAgY2FzZSBTdHJlYW1UeXBl
OjpVbmtub3duOgogICAgICAgICByZXR1cm4gIlVua25vd24iOworICAgIGRlZmF1bHQ6CisgICAg
ICAgIHJldHVybiAiKFVuc3VwcG9ydGVkIHN0cmVhbSB0eXBlKSI7CiAgICAgfQogfQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
bXNlL0FwcGVuZFBpcGVsaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmgKaW5kZXggMzhkNzM4MDEzZGY0MWQxNjk5MWZk
NWUyNThhN2RlODkzMTFkOWFlOS4uMjRkMmI3YThmZTFiODU0MWQxM2IwMGQzNjVhMWI2Yzc4Nzdj
MzZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9BcHBlbmRQaXBlbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuaApAQCAtODEsOSArODEsMTAgQEAg
cHJpdmF0ZToKICAgICAgICAgR1JlZlB0cjxHc3RDYXBzPiBjYXBzOwogICAgICAgICBGbG9hdFNp
emUgcHJlc2VudGF0aW9uU2l6ZTsKIAotICAgICAgICBHUmVmUHRyPEdzdFBhZD4gZW50cnlQYWQ7
IC8vIFNpbmsgcGFkIG9mIHRoZSBwYXJzZXIgKGlmIGFueSkgb3IgdGhlIGFwcHNpbmsuCi0gICAg
ICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gcGFyc2VyOyAvLyBPcHRpb25hbCAobmVlZGVkIGJ5IHNv
bWUgZm9ybWF0cykuCisgICAgICAgIC8vIE5lZWRlZCBieSBzb21lIGZvcm1hdHMuIFRvIHNpbXBs
aWZ5IHRoZSBjb2RlLCBwYXJzZXIgY2FuIGJlIGEgR3N0SWRlbnRpdHkgd2hlbiBub3QgbmVlZGVk
LgorICAgICAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IHBhcnNlcjsKICAgICAgICAgR1JlZlB0cjxH
c3RFbGVtZW50PiBhcHBzaW5rOworICAgICAgICBHUmVmUHRyPEdzdFBhZD4gZW50cnlQYWQ7IC8v
IFNpbmsgcGFkIG9mIHRoZSBwYXJzZXIvR3N0SWRlbnRpdHkuCiAgICAgICAgIEdSZWZQdHI8R3N0
UGFkPiBhcHBzaW5rUGFkOwogCiAgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpUcmFja1ByaXZhdGVC
YXNlPiB3ZWJLaXRUcmFjazsKQEAgLTE0OSw5ICsxNTAsMTEgQEAgcHJpdmF0ZToKICAgICBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UqIG1fcGxheWVyUHJpdmF0ZTsKIAogICAgIE1lZGlh
VGltZSBtX2luaXRpYWxEdXJhdGlvbjsKLSAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IG1fYXBwc3Jj
OwogICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gbV9waXBlbGluZTsKICAgICBHUmVmUHRyPEdzdEJ1
cz4gbV9idXM7CisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX2FwcHNyYzsKKyAgICAvLyBUbyBz
aW1wbGlmeSB0aGUgY29kZSwgbXR5cGVmaW5kIGFuZCBtX2RlbXV4IGNhbiBiZSBhIEdzdElkZW50
aXR5IHdoZW4gbm90IG5lZWRlZC4KKyAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IG1fdHlwZWZpbmQ7
CiAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX2RlbXV4OwogCiAgICAgVmVjdG9yPHN0ZDo6dW5p
cXVlX3B0cjxUcmFjaz4+IG1fdHJhY2tzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQwZTUwMzczMTI3ZWU3NmJhN2EyODU5
ODU1NTc0MWZkMjliYjk2YzEuLmNmYmMxMzJmZDhiOGFkMDU4Njg2OTU1MThjM2RjNWU3OThmNTc3
ZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0wOC0yNCAgRW5yaXF1ZSBPY2HDsWEgR29u
esOhbGV6ICA8ZW9jYW5oYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdW01TRV0g
SW1wbGVtZW50IHRoZSAic2VxdWVuY2UiIG1vZGUgaW4gU291cmNlQnVmZmVyIGZvciB0aGUgR1N0
cmVhbWVyIHBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTAzNDEKKworICAgICAgICBSZXZpZXdlZCBieSBBbGljaWEgQm95YSBHYXJjaWEuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnM6IFVuc2tpcHBlZCB0ZXN0
CisKIDIwMjEtMDgtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWJLaXQyIGNhbiBvbmx5IGhhdmUgb25lIGFjdGl2ZSBuYXZpZ2F0aW9uIHBvbGljeSBjaGVj
ayBmb3IgYSBnaXZlbiBmcmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZTgz
MzRjOGU1ZjZmN2Q3MWRhOTVkNmQ4OWRiYzMxNGJhZGYyNGRlMy4uNTQyZDc1YjEyMDcwNzIyZWNk
NjY5YzgzODVlYjJiYTQzODI3Y2U4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMjQgIEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVv
Y2FuaGFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXVtNU0VdIEltcGxlbWVudCB0
aGUgInNlcXVlbmNlIiBtb2RlIGluIFNvdXJjZUJ1ZmZlciBmb3IgdGhlIEdTdHJlYW1lciBwb3J0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwMzQx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxpY2lhIEJveWEgR2FyY2lhLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXIt
bW9kZS10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dDogQWRkZWQgZXh0cmEgYmxhbmsgbGluZSBpbiBl
eHBlY3RhdGlvbnMsIGxpa2UgaW4gbWFueSBvdGhlciBleHBlY3RhdGlvbnMgZmlsZXMuCisKIDIw
MjEtMDgtMjMgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1w
b3J0IHBlcm1pc3Npb25zIHRlc3RzIGZyb20gV1BUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1z
b3VyY2VidWZmZXItbW9kZS10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNv
dXJjZWJ1ZmZlci1tb2RlLXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0CmluZGV4IDNiZGJhMGM3ZWNi
NjdlYjM0ZWZiZjg3NTU3ZGI0Nzk2NjdkYzc1ZGEuLmE0NjViYjU0ODhhZGIxN2EwZmM2NGFiZGJi
MTJjZjdmNjAxMjY4YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1tb2Rl
LXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1t
b2RlLXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogCiBQQVNTIGF1ZGlv
L2FhYyA6IElmIGdlbmVyYXRlIHRpbWVzdGFtcHMgZmxhZyBlcXVhbHMgdHJ1ZSBhbmQgbmV3IG1v
ZGUgZXF1YWxzICJzZWdtZW50cyIsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGFu
ZCBhYm9ydCB0aGVzZSBzdGVwcy4KIFBBU1MgYXVkaW8vbXBlZyA6IElmIGdlbmVyYXRlIHRpbWVz
dGFtcHMgZmxhZyBlcXVhbHMgdHJ1ZSBhbmQgbmV3IG1vZGUgZXF1YWxzICJzZWdtZW50cyIsIHRo
ZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDJkZjU5YWI5
YjAyZmMyNWNjOTFlNDAzZTk0MTFiZWE3NjkwMGRhZDYuLjJkNTFjZmM5ZTQ0OGJjZmM0YTVmOTc4
MTFmZjA2ZmUyNDc4ZGQyNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTYwNCw3ICs2MDQsNiBAQCB3ZWJraXQub3JnL2IvMTgwODAzIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWR1cgogd2Vi
a2l0Lm9yZy9iLzIyNjgwNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9tZWRpYXNvdXJjZS1jaGFuZ2V0eXBlLXBsYXkuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJr
aXQub3JnL2IvMTY3MTA4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291
cmNlL21lZGlhc291cmNlLXRyYWNrZGVmYXVsdGxpc3QuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0
Lm9yZy9iLzIxMDM0MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJj
ZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXItbW9kZS10aW1lc3RhbXBzLmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMTAzNDEgbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLW1wNC1oMjY0
LXNlcXVlbmNlLW1vZGUuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxMDM0MiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3Vy
Y2VidWZmZXItdHJhY2tkZWZhdWx0cy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY3
MTA4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291
cmNlLXRyYWNrZGVmYXVsdC5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>