<?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>216039</bug_id>
          
          <creation_ts>2020-09-01 09:24:55 -0700</creation_ts>
          <short_desc>[MSE][GStreamer] Support Google Dynamic Ad Insertion (DAI)</short_desc>
          <delta_ts>2022-05-25 01:01:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrique Ocaña">eocanha</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>aboya</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>pnormand</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1684491</commentid>
    <comment_count>0</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-01 09:24:55 -0700</bug_when>
    <thetext>DAI inserts advertisements in the middle of a regular MSE video by appending the ad video data and letting it be played. Then, the regular video data continues being appended and played.

What happens on the DAI transitions between regular and advertisement videos (and back) on MP4 is that each track has a different stream id, so qtdemux doesn&apos;t reuse streams and created a new pad/stream/track for the new piece of video. Our current code only supports a single simultaneous track per SourceBuffer, so it &quot;disables&quot; the second (new) one by attaching a black hole probe which drops all the buffers. Right after the new pad is created, the old pad/stream/track is removed, so in the end only a single &quot;disabled&quot; track remains.

For more info and test cases about Google DAI, have a look at:
https://developers.google.com/interactive-media-ads/docs/sdks/html5/dai
https://github.com/googleads/googleads-ima-html5-dai</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684501</commentid>
    <comment_count>1</comment_count>
      <attachid>407688</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-01 09:37:29 -0700</bug_when>
    <thetext>Created attachment 407688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684790</commentid>
    <comment_count>2</comment_count>
      <attachid>407688</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-09-02 07:35:39 -0700</bug_when>
    <thetext>Comment on attachment 407688
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:221
&gt; +        if (appendPipeline-&gt;m_errorReceived || appendPipeline-&gt;m_demux-&gt;numpads &gt; 1)

s/numpads/numsrcpads ?

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:841
&gt; +        while (!done) {
&gt; +            switch (gst_iterator_next(iterator.get(), &amp;item)) {
&gt; +            case GST_ITERATOR_OK: {
&gt; +                remainingPad = GST_PAD(g_value_get_object(&amp;item));
&gt; +                done = true;
&gt; +                g_value_reset(&amp;item);
&gt; +                break;
&gt; +            }
&gt; +            case GST_ITERATOR_RESYNC:
&gt; +                gst_iterator_resync(iterator.get());
&gt; +                break;
&gt; +            case GST_ITERATOR_ERROR:
&gt; +            case GST_ITERATOR_DONE:
&gt; +                done = true;
&gt; +                break;
&gt; +            }
&gt; +        }
&gt; +        g_value_unset(&amp;item);

Might be simpler to access the first src pad through m_demux.get()-&gt;srcpads which is a GList?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684834</commentid>
    <comment_count>3</comment_count>
      <attachid>407771</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-02 09:04:33 -0700</bug_when>
    <thetext>Created attachment 407771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684845</commentid>
    <comment_count>4</comment_count>
      <attachid>407688</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2020-09-02 09:37:20 -0700</bug_when>
    <thetext>Comment on attachment 407688
Patch

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

Informal r+ with nits.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:820
&gt; +        GUniquePtr&lt;GstIterator&gt; iterator(gst_element_iterate_src_pads(m_demux.get()));

You don&apos;t need all this iterator code. You know there is only one srcpad (above) and the list of pads is not going to change while you&apos;re iterating it inside the synchronous pad-added handler. You can replace the whole thing with:

GstPad* remainingPad = GST_PAD(m_demux.get().srcpads-&gt;data);

And because you are not going to remove it from the element, there is no need to refcount it via GRefPtr&lt;GstPad&gt;.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:846
&gt; +            while (oldPeerPad &amp;&amp; gst_pad_is_linked(oldPeerPad.get())) {

I can&apos;t think of a situation where oldPeerPad becomes null, element would have to be a source or muxer element.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:853
&gt; +            if (oldPeerPad) {

Same. I would ASSERT(oldPeerPad); instead.

A comment about how this is fine because because pad removal and addition occur synchronously before samples flow would be nice, since it may not be obvious to the reader.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:856
&gt; +                gst_pad_unlink(demuxerSrcPad, oldPeerPad.get());

oldPeerPad is not linked at this point. In fact, it not being linked is the exit condition of the loop above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685718</commentid>
    <comment_count>5</comment_count>
      <attachid>407986</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-04 09:56:08 -0700</bug_when>
    <thetext>Created attachment 407986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686392</commentid>
    <comment_count>6</comment_count>
      <attachid>408186</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-07 10:51:07 -0700</bug_when>
    <thetext>Created attachment 408186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686396</commentid>
    <comment_count>7</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-07 11:01:18 -0700</bug_when>
    <thetext>The previous patch caused a regression on media/media-source/media-source-seek-detach-crash.html.

The new version I&apos;ve just submitted checks if the caps of the remaining qtdemux pad and the next element (parser/appsink) are compatible (have the same main media type), avoiding reconnection if they aren&apos;t.

With this last change there are no regressions in the media-source tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686515</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-09-08 01:31:58 -0700</bug_when>
    <thetext>EWS is red

FAILED: Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/gstreamer/mse/AppendPipeline.cpp.o 
/usr/bin/ccache /usr/bin/c++  -DBUILDING_GTK__=1 -DBUILDING_WEBKIT -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebCore -DGETTEXT_PACKAGE=\&quot;WebKit2GTK-4.0\&quot; -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DSTATICALLY_LINKED_WITH_PAL=1 -DSVN_REVISION=\&quot;r266702\&quot; -DWEBKITGTK_API_VERSION_STRING=\&quot;4.0\&quot; -I../../Source/WebCore/platform/graphics/libwpe -I. -IDerivedSources/WebCore -I../../Source/WebCore -I../../Source/WebCore/Modules/airplay -I../../Source/WebCore/Modules/applepay -I../../Source/WebCore/Modules/applepay/paymentrequest -I../../Source/WebCore/Modules/applicationmanifest -I../../Source/WebCore/Modules/async-clipboard -I../../Source/WebCore/Modules/beacon -I../../Source/WebCore/Modules/cache -I../../Source/WebCore/Modules/credentialmanagement -I../../Source/WebCore/Modules/encryptedmedia -I../../Source/WebCore/Modules/encryptedmedia/legacy -I../../Source/WebCore/Modules/entriesapi -I../../Source/WebCore/Modules/fetch -I../../Source/WebCore/Modules/geolocation -I../../Source/WebCore/Modules/highlight -I../../Source/WebCore/Modules/indexeddb -I../../Source/WebCore/Modules/indexeddb/client -I../../Source/WebCore/Modules/indexeddb/server -I../../Source/WebCore/Modules/indexeddb/shared -I../../Source/WebCore/Modules/mediacapabilities -I../../Source/WebCore/Modules/mediacontrols -I../../Source/WebCore/Modules/mediarecorder -I../../Source/WebCore/Modules/mediasession -I../../Source/WebCore/Modules/mediasource -I../../Source/WebCore/Modules/mediastream -I../../Source/WebCore/Modules/mediastream/libwebrtc -I../../Source/WebCore/Modules/navigatorcontentutils -I../../Source/WebCore/Modules/notifications -I../../Source/WebCore/Modules/paymentrequest -I../../Source/WebCore/Modules/pictureinpicture -I../../Source/WebCore/Modules/plugins -I../../Source/WebCore/Modules/quota -I../../Source/WebCore/Modules/remoteplayback -I../../Source/WebCore/Modules/speech -I../../Source/WebCore/Modules/streams -I../../Source/WebCore/Modules/webaudio -I../../Source/WebCore/Modules/webauthn -I../../Source/WebCore/Modules/webauthn/cbor -I../../Source/WebCore/Modules/webauthn/fido -I../../Source/WebCore/Modules/webdatabase -I../../Source/WebCore/Modules/webdriver -I../../Source/WebCore/Modules/webgpu -I../../Source/WebCore/Modules/webgpu/WHLSL -I../../Source/WebCore/Modules/webgpu/WHLSL/AST -I../../Source/WebCore/Modules/websockets -I../../Source/WebCore/Modules/webxr -I../../Source/WebCore/accessibility -I../../Source/WebCore/accessibility/isolatedtree -I../../Source/WebCore/animation -I../../Source/WebCore/bindings -I../../Source/WebCore/bindings/js -I../../Source/WebCore/bridge -I../../Source/WebCore/bridge/c -I../../Source/WebCore/bridge/jsc -I../../Source/WebCore/contentextensions -I../../Source/WebCore/crypto -I../../Source/WebCore/crypto/algorithms -I../../Source/WebCore/crypto/keys -I../../Source/WebCore/crypto/parameters -I../../Source/WebCore/css -I../../Source/WebCore/css/parser -I../../Source/WebCore/css/typedom -I../../Source/WebCore/cssjit -I../../Source/WebCore/dom -I../../Source/WebCore/dom/messageports -I../../Source/WebCore/domjit -I../../Source/WebCore/editing -I../../Source/WebCore/fileapi -I../../Source/WebCore/history -I../../Source/WebCore/html -I../../Source/WebCore/html/canvas -I../../Source/WebCore/html/forms -I../../Source/WebCore/html/parser -I../../Source/WebCore/html/shadow -I../../Source/WebCore/html/track -I../../Source/WebCore/inspector -I../../Source/WebCore/inspector/agents -I../../Source/WebCore/inspector/agents/page -I../../Source/WebCore/inspector/agents/worker -I../../Source/WebCore/layout -I../../Source/WebCore/layout/blockformatting -I../../Source/WebCore/layout/blockformatting/tablewrapper -I../../Source/WebCore/layout/displaytree -I../../Source/WebCore/layout/floats -I../../Source/WebCore/layout/inlineformatting -I../../Source/WebCore/layout/inlineformatting/text -I../../Source/WebCore/layout/integration -I../../Source/WebCore/layout/invalidation -I../../Source/WebCore/layout/layouttree -I../../Source/WebCore/layout/tableformatting -I../../Source/WebCore/loader -I../../Source/WebCore/loader/appcache -I../../Source/WebCore/loader/archive -I../../Source/WebCore/loader/archive/mhtml -I../../Source/WebCore/loader/cache -I../../Source/WebCore/loader/icon -I../../Source/WebCore/mathml -I../../Source/WebCore/page -I../../Source/WebCore/page/animation -I../../Source/WebCore/page/csp -I../../Source/WebCore/page/scrolling -I../../Source/WebCore/platform -I../../Source/WebCore/platform/animation -I../../Source/WebCore/platform/audio -I../../Source/WebCore/platform/encryptedmedia -I../../Source/WebCore/platform/gamepad -I../../Source/WebCore/platform/graphics -I../../Source/WebCore/platform/graphics/cpu/arm -I../../Source/WebCore/platform/graphics/cpu/arm/filters -I../../Source/WebCore/platform/graphics/displaylists -I../../Source/WebCore/platform/graphics/filters -I../../Source/WebCore/platform/graphics/iso -I../../Source/WebCore/platform/graphics/opentype -I../../Source/WebCore/platform/graphics/transforms -I../../Source/WebCore/platform/mediacapabilities -I../../Source/WebCore/platform/mediarecorder -I../../Source/WebCore/platform/mediasession -I../../Source/WebCore/platform/mediastream -I../../Source/WebCore/platform/mediastream/libwebrtc -I../../Source/WebCore/platform/mock -I../../Source/WebCore/platform/mock/mediasource -I../../Source/WebCore/platform/network -I../../Source/WebCore/platform/sql -I../../Source/WebCore/platform/text -I../../Source/WebCore/platform/xr -I../../Source/WebCore/plugins -I../../Source/WebCore/rendering -I../../Source/WebCore/rendering/line -I../../Source/WebCore/rendering/mathml -I../../Source/WebCore/rendering/shapes -I../../Source/WebCore/rendering/style -I../../Source/WebCore/rendering/svg -I../../Source/WebCore/rendering/updating -I../../Source/WebCore/replay -I../../Source/WebCore/storage -I../../Source/WebCore/style -I../../Source/WebCore/svg -I../../Source/WebCore/svg/animation -I../../Source/WebCore/svg/graphics -I../../Source/WebCore/svg/graphics/filters -I../../Source/WebCore/svg/properties -I../../Source/WebCore/websockets -I../../Source/WebCore/workers -I../../Source/WebCore/workers/service -I../../Source/WebCore/workers/service/context -I../../Source/WebCore/workers/service/server -I../../Source/WebCore/worklets -I../../Source/WebCore/xml -I../../Source/WebCore/xml/parser -I../../Source/WebCore/Modules/gamepad -I../../Source/WebCore/platform/graphics/gpu -I../../Source/ThirdParty/xdgmime/src -I../../Source/WebCore/platform/graphics/cairo -I../../Source/WebCore/platform/graphics/freetype -I../../Source/WebCore/platform/graphics/harfbuzz -I../../Source/WebCore/platform/graphics/harfbuzz/ng -I../../Source/WebCore/platform/graphics/gstreamer -I../../Source/WebCore/platform/graphics/gstreamer/mse -I../../Source/WebCore/platform/graphics/gstreamer/eme -I../../Source/WebCore/platform/audio/gstreamer -I../../Source/WebCore/platform/encryptedmedia/clearkey -I../../Source/WebCore/platform/image-decoders -I../../Source/WebCore/platform/image-decoders/bmp -I../../Source/WebCore/platform/image-decoders/gif -I../../Source/WebCore/platform/image-decoders/ico -I../../Source/WebCore/platform/image-decoders/jpeg -I../../Source/WebCore/platform/image-decoders/jpeg2000 -I../../Source/WebCore/platform/image-decoders/png -I../../Source/WebCore/platform/image-decoders/webp -I../../Source/WebCore/platform/network/soup -I../../Source/WebCore/platform/graphics/texmap -I../../Source/WebCore/platform/graphics/nicosia -I../../Source/WebCore/page/scrolling/nicosia -I../../Source/WebCore/platform/graphics/texmap/coordinated -I../../Source/WebCore/platform/graphics/nicosia/cairo -I../../Source/WebCore/platform/graphics/nicosia/texmap -I../../Source/WebCore/accessibility/atk -I../../Source/WebCore/editing/atk -I../../Source/WebCore/page/gtk -I../../Source/WebCore/platform/adwaita -I../../Source/WebCore/platform/generic -I../../Source/WebCore/platform/gtk -I../../Source/WebCore/platform/graphics/egl -I../../Source/WebCore/platform/graphics/glx -I../../Source/WebCore/platform/graphics/gtk -I../../Source/WebCore/platform/graphics/opengl -I../../Source/WebCore/platform/graphics/wayland -I../../Source/WebCore/platform/graphics/x11 -I../../Source/WebCore/platform/mediastream/gtk -I../../Source/WebCore/platform/mediastream/gstreamer -I../../Source/WebCore/platform/network/gtk -I../../Source/WebCore/platform/text/gtk -IDerivedSources/ForwardingHeaders -isystem ../../Source/ThirdParty/libwebrtc/Source -isystem ../../Source/ThirdParty/libwebrtc/Source/webrtc -isystem ../../Source/ThirdParty/libwebrtc/Source/third_party/abseil-cpp -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/lib/x86_64-linux-gnu/libffi-3.2.1/include -isystem /usr/include/orc-0.4 -isystem /usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -isystem /usr/include/libsoup-2.4 -isystem /usr/include/atk-1.0 -isystem /usr/include/enchant-2 -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/libsecret-1 -isystem /usr/include/libxml2 -isystem /usr/include/gtk-3.0 -isystem /usr/include/pango-1.0 -isystem /usr/include/harfbuzz -isystem /usr/include/fribidi -isystem /usr/include/freetype2 -isystem /usr/include/libpng16 -isystem /usr/include/cairo -isystem /usr/include/pixman-1 -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/at-spi2-atk/2.0 -isystem /usr/include/at-spi-2.0 -isystem /usr/include/dbus-1.0 -isystem /usr/lib/x86_64-linux-gnu/dbus-1.0/include -isystem /usr/include/openjpeg-2.3 -isystem /usr/include/wpe-1.0 -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare  -fno-strict-aliasing -fno-exceptions -fno-rtti -O3 -DNDEBUG -fPIC   -pthread -std=c++17 -MD -MT Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/gstreamer/mse/AppendPipeline.cpp.o -MF Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/gstreamer/mse/AppendPipeline.cpp.o.d -o Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/gstreamer/mse/AppendPipeline.cpp.o -c ../../Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp
../../Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp: In member function ‘void WebCore::AppendPipeline::disconnectDemuxerSrcPadFromAppsinkFromAnyThread(GstPad*)’:
../../Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:851:42: error: base operand of ‘-&gt;’ has non-pointer type ‘WebCore::SourceBufferPrivateGStreamer’</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686519</commentid>
    <comment_count>9</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-08 02:18:59 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #8)

&gt; EWS is red

I was using an outdated trunk that didn&apos;t have the patch from https://bugs.webkit.org/show_bug.cgi?id=214345, which changed m_sourceBufferPrivate from Ref&lt;SourceBufferPrivateGStreamer&gt; to SourceBufferPrivateGStreamer&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686532</commentid>
    <comment_count>10</comment_count>
      <attachid>408223</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-08 04:24:58 -0700</bug_when>
    <thetext>Created attachment 408223
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686536</commentid>
    <comment_count>11</comment_count>
      <attachid>408223</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-09-08 05:02:27 -0700</bug_when>
    <thetext>Comment on attachment 408223
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:818
&gt; +            GRefPtr&lt;GstPad&gt; oldPeerPad = adoptGRef(gst_element_get_static_pad(m_appsink.get(), &quot;sink&quot;));

nit: you could use auto in all places where the variable type can be deduced by the compiler, like here.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:838
&gt; +                oldPeerPadType = gst_structure_get_name(oldPeerPadCapsStructure);

indentation is off here

&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:843
&gt; +                remainingPadType = gst_structure_get_name(remainingPadCapsStructure);

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687316</commentid>
    <comment_count>12</comment_count>
      <attachid>408427</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-10 03:57:49 -0700</bug_when>
    <thetext>Created attachment 408427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687317</commentid>
    <comment_count>13</comment_count>
      <attachid>408223</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2020-09-10 04:04:59 -0700</bug_when>
    <thetext>Comment on attachment 408223
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:818
&gt;&gt; +            GRefPtr&lt;GstPad&gt; oldPeerPad = adoptGRef(gst_element_get_static_pad(m_appsink.get(), &quot;sink&quot;));
&gt; 
&gt; nit: you could use auto in all places where the variable type can be deduced by the compiler, like here.

As a human developer reading code (instead of as a compiler building it) it&apos;s harder for me to deduce the type of some variables if they are auto. Still, I&apos;ve changed the types as you suggest.

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:838
&gt;&gt; +                oldPeerPadType = gst_structure_get_name(oldPeerPadCapsStructure);
&gt; 
&gt; indentation is off here

Thanks! I had missed it completely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687335</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-10 05:44:15 -0700</bug_when>
    <thetext>Committed r266820: &lt;https://trac.webkit.org/changeset/266820&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408427.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687336</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-10 05:45:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/68638316&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867678</commentid>
    <comment_count>16</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2022-05-09 09:47:03 -0700</bug_when>
    <thetext>Unfortunately, after a recent AppendPipeline refactor, Google DAI is apparently not working anymore.

When using https://github.com/googleads/googleads-ima-html5-dai/blob/main/hls_js/simple/dai.html as a test case (properly served from a local web server with a git checkout), the video doesn&apos;t change from the first stream to the next one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1870938</commentid>
    <comment_count>17</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2022-05-21 09:23:38 -0700</bug_when>
    <thetext>(In reply to Enrique Ocaña from comment #16)
&gt; Unfortunately, after a recent AppendPipeline refactor, Google DAI is
&gt; apparently not working anymore.
&gt; 
&gt; When using
&gt; https://github.com/googleads/googleads-ima-html5-dai/blob/main/hls_js/simple/
&gt; dai.html as a test case (properly served from a local web server with a git
&gt; checkout), the video doesn&apos;t change from the first stream to the next one.

I started a patch. Most likely this broke when multi-track support was landed, ~9 months ago. We&apos;ll need a test otherwise it will break again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1871012</commentid>
    <comment_count>18</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2022-05-22 09:16:30 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/893</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1871678</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-25 01:01:13 -0700</bug_when>
    <thetext>Committed r294791 (250950@main): &lt;https://commits.webkit.org/250950@main&gt;

Reviewed commits have been landed. Closing PR #893 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407688</attachid>
            <date>2020-09-01 09:37:29 -0700</date>
            <delta_ts>2020-09-02 09:04:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216039-20200901183728.patch</filename>
            <type>text/plain</type>
            <size>6917</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcxYzgzMzE3ODIzNmZl
YzUxMWJkNGYwNzdjNjdjMThmMzEyOTFiYi4uYjhjMGQyZGFmM2RkZGZiNDNiYTVlOWI2NTllMDM1
ZjMwODM4YWEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAxICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW01T
RV1bR1N0cmVhbWVyXSBTdXBwb3J0IEdvb2dsZSBEeW5hbWljIEFkIEluc2VydGlvbiAoREFJKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDM5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hhdCBoYXBw
ZW5zIG9uIHRoZSBEQUkgdHJhbnNpdGlvbnMgYmV0d2VlbiByZWd1bGFyIGFuZCBhZHZlcnRpc2Vt
ZW50IHZpZGVvcworICAgICAgICAoYW5kIGJhY2spIG9uIE1QNCBpcyB0aGF0IGVhY2ggdHJhY2sg
aGFzIGEgZGlmZmVyZW50IHN0cmVhbSBpZCwgc28gcXRkZW11eAorICAgICAgICBkb2Vzbid0IHJl
dXNlIHN0cmVhbXMgYW5kIGNyZWF0ZWQgYSBuZXcgcGFkL3N0cmVhbS90cmFjayBmb3IgdGhlIG5l
dyBwaWVjZQorICAgICAgICBvZiB2aWRlby4gT3VyIGN1cnJlbnQgY29kZSBvbmx5IHN1cHBvcnRz
IGEgc2luZ2xlIHNpbXVsdGFuZW91cyB0cmFjayBwZXIKKyAgICAgICAgU291cmNlQnVmZmVyLCBz
byBpdCAiZGlzYWJsZXMiIHRoZSBzZWNvbmQgKG5ldykgb25lIGJ5IGF0dGFjaGluZyBhIGJsYWNr
ayBob2xlCisgICAgICAgIHByb2JlIHdoaWNoIGRyb3BzIGFsbCB0aGUgYnVmZmVycy4gUmlnaHQg
YWZ0ZXIgdGhlIG5ldyBwYWQgaXMgY3JlYXRlZCwgdGhlIG9sZAorICAgICAgICBwYWQvc3RyZWFt
L3RyYWNrIGlzIHJlbW92ZWQsIHNvIGluIHRoZSBlbmQgb25seSBhIHNpbmdsZSAiZGlzYWJsZWQi
IHRyYWNrCisgICAgICAgIHJlbWFpbnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkZXRlY3RzIHRo
YXQgc2l0dWF0aW9uIGFuZCByZWF0dGFjaGVzIHRoZSBzaW5nbGUgcmVtYWluaW5nIHBhZCB0bwor
ICAgICAgICB0aGUgZXhpc3RpbmcgZG93bnN0cmVhbSBlbGVtZW50cyBvZiB0aGUgQXBwZW5kUGlw
ZWxpbmUgKGFuIG9wdGlvbmFsIHBhcnNlciBhbmQKKyAgICAgICAgdGhlIGFwcHNpbmspLiBGb3Ig
YXBwc2luayB0byBrZWVwIHdvcmtpbmcgYWZ0ZXIgdGhlIEVPUyBjYXVzZWQgYnkgdGhlIG9sZCBw
YWQKKyAgICAgICAgcmVtb3ZhbCwgaXQgbXVzdCBiZSByZXNldCBieSBjaGFuZ2luZyBpdHMgc3Rh
dGUgdG8gTlVMTCBhbmQgdGhlbiB0byBQTEFZSU5HCisgICAgICAgIGFnYWluLgorCisgICAgICAg
IEZvciBtb3JlIGluZm8gYW5kIHRlc3QgY2FzZXMgYWJvdXQgR29vZ2xlIERBSSwgaGF2ZSBhIGxv
b2sgYXQ6CisgICAgICAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2ludGVyYWN0aXZl
LW1lZGlhLWFkcy9kb2NzL3Nka3MvaHRtbDUvZGFpCisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv
bS9nb29nbGVhZHMvZ29vZ2xlYWRzLWltYS1odG1sNS1kYWkKKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5lKTogSWdub3JlIEVPUyB3aGVuIHRo
ZXJlIGFyZSBtdWx0aXBsZSBkZW11eGVyIHBhZHMuCisgICAgICAgIEl0IGxpa2VseSBtZWFucyB0
aGF0IG9uZSBvZiB0aGUgcGFkcyBpcyBnb2luZyB0byBiZSByZW1vdmVkIChFT1MgbGVnaXRpbWFs
bHkgaGFwcGVucyByaWdodAorICAgICAgICBiZWZvcmUgdGhhdCkuCisgICAgICAgIChXZWJDb3Jl
OjpBcHBlbmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zyb21B
bnlUaHJlYWQpOiBSZWNvbm5lY3QgdGhlCisgICAgICAgIHJlbWFpbmluZyBkZW11eGVyIHBhZCB3
aGVuIGl0J3MgdGhlIGxhc3Qgb25lIHJlbWFpbmluZyBhZnRlciBzb21lIG90aGVyIGhhcyBiZWVu
IHJlbW92ZWQuCisKIDIwMjAtMDYtMTIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtURkNdIEFkZCBzdXBwb3J0IGZvciBtaW4vbWF4LXdpZHRoCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0Fw
cGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmluZGV4IGUyMDIyN2ExYjVmNzFmOTQzYjVlZjA2
Yzg4ZWY2NzgwYThkN2Q3NDUuLjAyNTExMjY4OWIwZjQwZmRiYmViZTM3ZjhkNjk4Zjk1MDc0Yzlj
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCkBAIC0yMTYsNyArMjE2LDkg
QEAgQXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5lKFJlZjxNZWRpYVNvdXJjZUNsaWVudEdT
dHJlYW1lck1TRT4gbWVkaWFTb3VyY2VDbGkKICAgICAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwog
ICAgIH0pLCB0aGlzKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KG1fYXBwc2luay5nZXQoKSwgImVv
cyIsIEdfQ0FMTEJBQ0soK1tdKEdzdEVsZW1lbnQqLCBBcHBlbmRQaXBlbGluZSogYXBwZW5kUGlw
ZWxpbmUpIHsKLSAgICAgICAgaWYgKGFwcGVuZFBpcGVsaW5lLT5tX2Vycm9yUmVjZWl2ZWQpCisg
ICAgICAgIC8vIEp1c3QgaWdub3JlIEVPUyB3aGVuIGhhdmluZyBtb3JlIHRoYW4gb25lIHBhZC4g
SXQgbGlrZWx5IG1lYW5zIHRoYXQgb25lIG9mIHRoZSBwYWRzIGlzCisgICAgICAgIC8vIGdvaW5n
IHRvIGJlIHJlbW92ZWQgYW5kIHRoZSByZW1haW5pbmcgb25lIHdpbGwgYmUgcmVhdHRhY2hlZC4K
KyAgICAgICAgaWYgKGFwcGVuZFBpcGVsaW5lLT5tX2Vycm9yUmVjZWl2ZWQgfHwgYXBwZW5kUGlw
ZWxpbmUtPm1fZGVtdXgtPm51bXBhZHMgPiAxKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAg
ICAgIEdTVF9FUlJPUigiQXBwZW5kUGlwZWxpbmUncyBhcHBzaW5rIHJlY2VpdmVkIEVPUy4gVGhp
cyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbiBpbnZhbGlkIGluaXRpYWxpemF0aW9uIHNlZ21lbnQu
Iik7CkBAIC04MDUsMTMgKzgwNyw2OSBAQCB2b2lkIEFwcGVuZFBpcGVsaW5lOjpjb25uZWN0RGVt
dXhlclNyY1BhZFRvQXBwc2luayhHc3RQYWQqIGRlbXV4ZXJTcmNQYWQpCiAgICAgbV9wbGF5ZXJQ
cml2YXRlLT50cmFja0RldGVjdGVkKHRoaXMsIG1fdHJhY2ssIHRydWUpOwogfQogCi12b2lkIEFw
cGVuZFBpcGVsaW5lOjpkaXNjb25uZWN0RGVtdXhlclNyY1BhZEZyb21BcHBzaW5rRnJvbUFueVRo
cmVhZChHc3RQYWQqKQordm9pZCBBcHBlbmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQ
YWRGcm9tQXBwc2lua0Zyb21BbnlUaHJlYWQoR3N0UGFkKiBkZW11eGVyU3JjUGFkKQogewogICAg
IC8vIE5vdGU6IFRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBlaXRoZXIgZnJvbSB0aGUgc3Ry
ZWFtaW5nIHRocmVhZCAoZS5nLiBpZiBhIHN0cmFuZ2UgaW5pdGlhbGl6YXRpb24gc2VnbWVudCB3
aXRoCiAgICAgLy8gaW5jb21wYXRpYmxlIHRyYWNrcyBpcyBhcHBlbmRlZCBhbmQgdGhlIHNyY3Bh
ZCBkaXNjb25uZWN0ZWQpIG9yIC0tIG1vcmUgdXN1YWxseSAtLSBmcm9tIHRoZSBtYWluIHRocmVh
ZCwgd2hlbgogICAgIC8vIGEgc3RhdGUgY2hhbmdlIGlzIG1hZGUgdG8gYnJpbmcgdGhlIGRlbXV4
ZXIgZG93bi4gKFN0YXRlIGNoYW5nZSBvcGVyYXRpb25zIHJ1biBpbiB0aGUgbWFpbiB0aHJlYWQu
KQogICAgIEdTVF9ERUJVR19CSU5fVE9fRE9UX0ZJTEVfV0lUSF9UUyhHU1RfQklOKG1fcGlwZWxp
bmUuZ2V0KCkpLCBHU1RfREVCVUdfR1JBUEhfU0hPV19BTEwsICJwYWQtcmVtb3ZlZC1iZWZvcmUi
KTsKIAorICAgIC8vIFJlY29ubmVjdCB0aGUgb3RoZXIgcGFkIGlmIGl0J3MgdGhlIG9ubHkgcmVt
YWluaW5nIGFmdGVyIHJlbW92aW5nIHRoaXMgb25lIGFuZCB3YXNuJ3QgY29ubmVjdGVkIHlldCAo
aGFzIGEgYmxhY2sgaG9sZSBwcm9iZSkuCisgICAgaWYgKG1fZGVtdXgtPm51bXNyY3BhZHMgPT0g
MSkgeworICAgICAgICBHUmVmUHRyPEdzdFBhZD4gcmVtYWluaW5nUGFkOworICAgICAgICBHVW5p
cXVlUHRyPEdzdEl0ZXJhdG9yPiBpdGVyYXRvcihnc3RfZWxlbWVudF9pdGVyYXRlX3NyY19wYWRz
KG1fZGVtdXguZ2V0KCkpKTsKKyAgICAgICAgR1ZhbHVlIGl0ZW0gPSBHX1ZBTFVFX0lOSVQ7Cisg
ICAgICAgIGJvb2wgZG9uZSA9IGZhbHNlOworCisgICAgICAgIHdoaWxlICghZG9uZSkgeworICAg
ICAgICAgICAgc3dpdGNoIChnc3RfaXRlcmF0b3JfbmV4dChpdGVyYXRvci5nZXQoKSwgJml0ZW0p
KSB7CisgICAgICAgICAgICBjYXNlIEdTVF9JVEVSQVRPUl9PSzogeworICAgICAgICAgICAgICAg
IHJlbWFpbmluZ1BhZCA9IEdTVF9QQUQoZ192YWx1ZV9nZXRfb2JqZWN0KCZpdGVtKSk7CisgICAg
ICAgICAgICAgICAgZG9uZSA9IHRydWU7CisgICAgICAgICAgICAgICAgZ192YWx1ZV9yZXNldCgm
aXRlbSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBjYXNlIEdTVF9JVEVSQVRPUl9SRVNZTkM6CisgICAgICAgICAgICAgICAgZ3N0X2l0ZXJhdG9y
X3Jlc3luYyhpdGVyYXRvci5nZXQoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIEdTVF9JVEVSQVRPUl9FUlJPUjoKKyAgICAgICAgICAgIGNhc2UgR1NUX0lURVJB
VE9SX0RPTkU6CisgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZ192YWx1ZV91bnNldCgm
aXRlbSk7CisKKyAgICAgICAgZ3Vsb25nIHByb2JlSWQgPSBHUE9JTlRFUl9UT19VTE9ORyhnX29i
amVjdF9nZXRfZGF0YShHX09CSkVDVChyZW1haW5pbmdQYWQuZ2V0KCkpLCAiYmxhY2tIb2xlUHJv
YmVJZCIpKTsKKyAgICAgICAgaWYgKHJlbWFpbmluZ1BhZCAmJiBwcm9iZUlkKSB7CisgICAgICAg
ICAgICBHUmVmUHRyPEdzdFBhZD4gb2xkUGVlclBhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9n
ZXRfc3RhdGljX3BhZChtX2FwcHNpbmsuZ2V0KCksICJzaW5rIikpOworICAgICAgICAgICAgd2hp
bGUgKG9sZFBlZXJQYWQgJiYgZ3N0X3BhZF9pc19saW5rZWQob2xkUGVlclBhZC5nZXQoKSkpIHsK
KyAgICAgICAgICAgICAgICAvLyBHZXQgc2luayBwYWQgb2YgdGhlIHBhcnNlciBiZWZvcmUgYXBw
c2luay4KKyAgICAgICAgICAgICAgICBvbGRQZWVyUGFkID0gYWRvcHRHUmVmKGdzdF9wYWRfZ2V0
X3BlZXIob2xkUGVlclBhZC5nZXQoKSkpOworICAgICAgICAgICAgICAgIEdSZWZQdHI8R3N0RWxl
bWVudD4gZWxlbWVudCA9IGFkb3B0R1JlZihnc3RfcGFkX2dldF9wYXJlbnRfZWxlbWVudChvbGRQ
ZWVyUGFkLmdldCgpKSk7CisgICAgICAgICAgICAgICAgb2xkUGVlclBhZCA9IGFkb3B0R1JlZihn
c3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChlbGVtZW50LmdldCgpLCAic2luayIpKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgaWYgKG9sZFBlZXJQYWQpIHsKKyAgICAgICAgICAgICAg
ICBHU1RfREVCVUcoIlRoZSByZW1haW5pbmcgcGFkIGhhcyBhIGJsYWNrSG9sZVByb2JlLCByZWNv
bm5lY3RpbmcgYXMgbWFpbiBwYWQuIG9sZFBhZDogJSIgR1NUX1BUUl9GT1JNQVQgIiwgbmV3UGFk
OiAlIiBHU1RfUFRSX0ZPUk1BVCAiLCBwZWVyUGFkOiAlIiBHU1RfUFRSX0ZPUk1BVCwgZGVtdXhl
clNyY1BhZCwgcmVtYWluaW5nUGFkLmdldCgpLCBvbGRQZWVyUGFkLmdldCgpKTsKKworICAgICAg
ICAgICAgICAgIGdzdF9wYWRfdW5saW5rKGRlbXV4ZXJTcmNQYWQsIG9sZFBlZXJQYWQuZ2V0KCkp
OworICAgICAgICAgICAgICAgIGdzdF9wYWRfbGluayhyZW1haW5pbmdQYWQuZ2V0KCksIG9sZFBl
ZXJQYWQuZ2V0KCkpOworICAgICAgICAgICAgICAgIGdzdF9wYWRfcmVtb3ZlX3Byb2JlKHJlbWFp
bmluZ1BhZC5nZXQoKSwgcHJvYmVJZCk7CisgICAgICAgICAgICAgICAgaWYgKG1fcGFyc2VyKQor
ICAgICAgICAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9wYXJzZXIuZ2V0KCks
IEdTVF9TVEFURV9OVUxMKTsKKyAgICAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUo
bV9hcHBzaW5rLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7CisgICAgICAgICAgICAgICAgZ3N0X2Vs
ZW1lbnRfc2V0X3N0YXRlKG1fYXBwc2luay5nZXQoKSwgR1NUX1NUQVRFX1BMQVlJTkcpOworICAg
ICAgICAgICAgICAgIGlmIChtX3BhcnNlcikKKyAgICAgICAgICAgICAgICAgICAgZ3N0X2VsZW1l
bnRfc2V0X3N0YXRlKG1fcGFyc2VyLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CisKKyAgICAg
ICAgICAgICAgICBHU1RfREVCVUdfQklOX1RPX0RPVF9GSUxFX1dJVEhfVFMoR1NUX0JJTihtX3Bp
cGVsaW5lLmdldCgpKSwgR1NUX0RFQlVHX0dSQVBIX1NIT1dfQUxMLCAid2Via2l0LWFmdGVyLXJl
bGluayIpOworCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgfQorCiAgICAgR1NUX0RFQlVHKCJEaXNjb25uZWN0aW5nIGFwcHNpbmsiKTsKIAog
ICAgIGlmIChtX3BhcnNlcikgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407771</attachid>
            <date>2020-09-02 09:04:33 -0700</date>
            <delta_ts>2020-09-04 09:56:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216039-20200902180431.patch</filename>
            <type>text/plain</type>
            <size>6210</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcxYzgzMzE3ODIzNmZl
YzUxMWJkNGYwNzdjNjdjMThmMzEyOTFiYi4uZGExZjgyZTVhYmY0NGRlNmUwNmIwZDEzMmFhOTk3
ZDM3MzNjMDM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAyICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW01T
RV1bR1N0cmVhbWVyXSBTdXBwb3J0IEdvb2dsZSBEeW5hbWljIEFkIEluc2VydGlvbiAoREFJKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDM5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hhdCBoYXBw
ZW5zIG9uIHRoZSBEQUkgdHJhbnNpdGlvbnMgYmV0d2VlbiByZWd1bGFyIGFuZCBhZHZlcnRpc2Vt
ZW50IHZpZGVvcworICAgICAgICAoYW5kIGJhY2spIG9uIE1QNCBpcyB0aGF0IGVhY2ggdHJhY2sg
aGFzIGEgZGlmZmVyZW50IHN0cmVhbSBpZCwgc28gcXRkZW11eAorICAgICAgICBkb2Vzbid0IHJl
dXNlIHN0cmVhbXMgYW5kIGNyZWF0ZWQgYSBuZXcgcGFkL3N0cmVhbS90cmFjayBmb3IgdGhlIG5l
dyBwaWVjZQorICAgICAgICBvZiB2aWRlby4gT3VyIGN1cnJlbnQgY29kZSBvbmx5IHN1cHBvcnRz
IGEgc2luZ2xlIHNpbXVsdGFuZW91cyB0cmFjayBwZXIKKyAgICAgICAgU291cmNlQnVmZmVyLCBz
byBpdCAiZGlzYWJsZXMiIHRoZSBzZWNvbmQgKG5ldykgb25lIGJ5IGF0dGFjaGluZyBhIGJsYWNr
ayBob2xlCisgICAgICAgIHByb2JlIHdoaWNoIGRyb3BzIGFsbCB0aGUgYnVmZmVycy4gUmlnaHQg
YWZ0ZXIgdGhlIG5ldyBwYWQgaXMgY3JlYXRlZCwgdGhlIG9sZAorICAgICAgICBwYWQvc3RyZWFt
L3RyYWNrIGlzIHJlbW92ZWQsIHNvIGluIHRoZSBlbmQgb25seSBhIHNpbmdsZSAiZGlzYWJsZWQi
IHRyYWNrCisgICAgICAgIHJlbWFpbnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkZXRlY3RzIHRo
YXQgc2l0dWF0aW9uIGFuZCByZWF0dGFjaGVzIHRoZSBzaW5nbGUgcmVtYWluaW5nIHBhZCB0bwor
ICAgICAgICB0aGUgZXhpc3RpbmcgZG93bnN0cmVhbSBlbGVtZW50cyBvZiB0aGUgQXBwZW5kUGlw
ZWxpbmUgKGFuIG9wdGlvbmFsIHBhcnNlciBhbmQKKyAgICAgICAgdGhlIGFwcHNpbmspLiBGb3Ig
YXBwc2luayB0byBrZWVwIHdvcmtpbmcgYWZ0ZXIgdGhlIEVPUyBjYXVzZWQgYnkgdGhlIG9sZCBw
YWQKKyAgICAgICAgcmVtb3ZhbCwgaXQgbXVzdCBiZSByZXNldCBieSBjaGFuZ2luZyBpdHMgc3Rh
dGUgdG8gTlVMTCBhbmQgdGhlbiB0byBQTEFZSU5HCisgICAgICAgIGFnYWluLgorCisgICAgICAg
IEZvciBtb3JlIGluZm8gYW5kIHRlc3QgY2FzZXMgYWJvdXQgR29vZ2xlIERBSSwgaGF2ZSBhIGxv
b2sgYXQ6CisgICAgICAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2ludGVyYWN0aXZl
LW1lZGlhLWFkcy9kb2NzL3Nka3MvaHRtbDUvZGFpCisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv
bS9nb29nbGVhZHMvZ29vZ2xlYWRzLWltYS1odG1sNS1kYWkKKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5lKTogSWdub3JlIEVPUyB3aGVuIHRo
ZXJlIGFyZSBtdWx0aXBsZSBkZW11eGVyIHNyYyBwYWRzLgorICAgICAgICBJdCBsaWtlbHkgbWVh
bnMgdGhhdCBvbmUgb2YgdGhlIHBhZHMgaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZCAoRU9TIGxlZ2l0
aW1hbGx5IGhhcHBlbnMgcmlnaHQKKyAgICAgICAgYmVmb3JlIHRoYXQpLgorICAgICAgICAoV2Vi
Q29yZTo6QXBwZW5kUGlwZWxpbmU6OmRpc2Nvbm5lY3REZW11eGVyU3JjUGFkRnJvbUFwcHNpbmtG
cm9tQW55VGhyZWFkKTogUmVjb25uZWN0IHRoZQorICAgICAgICByZW1haW5pbmcgZGVtdXhlciBw
YWQgd2hlbiBpdCdzIHRoZSBsYXN0IG9uZSByZW1haW5pbmcgYWZ0ZXIgc29tZSBvdGhlciBoYXMg
YmVlbiByZW1vdmVkLgorCiAyMDIwLTA2LTEyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0xGQ11bVEZDXSBBZGQgc3VwcG9ydCBmb3IgbWluL21heC13aWR0aApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9BcHBlbmRQaXBlbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcAppbmRleCBlMjAyMjdhMWI1ZjcxZjk0M2I1
ZWYwNmM4OGVmNjc4MGE4ZDdkNzQ1Li45YTQ2ZGYwNGIwYzc2MDdkM2NjNTNlNzE5NTk0YzU4ZjNm
MzZiMGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcApAQCAtMjE2LDcgKzIx
Niw5IEBAIEFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBlbGluZShSZWY8TWVkaWFTb3VyY2VDbGll
bnRHU3RyZWFtZXJNU0U+IG1lZGlhU291cmNlQ2xpCiAgICAgICAgIHJldHVybiBHU1RfRkxPV19P
SzsKICAgICB9KSwgdGhpcyk7CiAgICAgZ19zaWduYWxfY29ubmVjdChtX2FwcHNpbmsuZ2V0KCks
ICJlb3MiLCBHX0NBTExCQUNLKCtbXShHc3RFbGVtZW50KiwgQXBwZW5kUGlwZWxpbmUqIGFwcGVu
ZFBpcGVsaW5lKSB7Ci0gICAgICAgIGlmIChhcHBlbmRQaXBlbGluZS0+bV9lcnJvclJlY2VpdmVk
KQorICAgICAgICAvLyBKdXN0IGlnbm9yZSBFT1Mgd2hlbiBoYXZpbmcgbW9yZSB0aGFuIG9uZSBw
YWQuIEl0IGxpa2VseSBtZWFucyB0aGF0IG9uZSBvZiB0aGUgcGFkcyBpcworICAgICAgICAvLyBn
b2luZyB0byBiZSByZW1vdmVkIGFuZCB0aGUgcmVtYWluaW5nIG9uZSB3aWxsIGJlIHJlYXR0YWNo
ZWQuCisgICAgICAgIGlmIChhcHBlbmRQaXBlbGluZS0+bV9lcnJvclJlY2VpdmVkIHx8IGFwcGVu
ZFBpcGVsaW5lLT5tX2RlbXV4LT5udW1zcmNwYWRzID4gMSkKICAgICAgICAgICAgIHJldHVybjsK
IAogICAgICAgICBHU1RfRVJST1IoIkFwcGVuZFBpcGVsaW5lJ3MgYXBwc2luayByZWNlaXZlZCBF
T1MuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW4gaW52YWxpZCBpbml0aWFsaXphdGlvbiBz
ZWdtZW50LiIpOwpAQCAtODA1LDEzICs4MDcsNDcgQEAgdm9pZCBBcHBlbmRQaXBlbGluZTo6Y29u
bmVjdERlbXV4ZXJTcmNQYWRUb0FwcHNpbmsoR3N0UGFkKiBkZW11eGVyU3JjUGFkKQogICAgIG1f
cGxheWVyUHJpdmF0ZS0+dHJhY2tEZXRlY3RlZCh0aGlzLCBtX3RyYWNrLCB0cnVlKTsKIH0KIAot
dm9pZCBBcHBlbmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zy
b21BbnlUaHJlYWQoR3N0UGFkKikKK3ZvaWQgQXBwZW5kUGlwZWxpbmU6OmRpc2Nvbm5lY3REZW11
eGVyU3JjUGFkRnJvbUFwcHNpbmtGcm9tQW55VGhyZWFkKEdzdFBhZCogZGVtdXhlclNyY1BhZCkK
IHsKICAgICAvLyBOb3RlOiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZWl0aGVyIGZyb20g
dGhlIHN0cmVhbWluZyB0aHJlYWQgKGUuZy4gaWYgYSBzdHJhbmdlIGluaXRpYWxpemF0aW9uIHNl
Z21lbnQgd2l0aAogICAgIC8vIGluY29tcGF0aWJsZSB0cmFja3MgaXMgYXBwZW5kZWQgYW5kIHRo
ZSBzcmNwYWQgZGlzY29ubmVjdGVkKSBvciAtLSBtb3JlIHVzdWFsbHkgLS0gZnJvbSB0aGUgbWFp
biB0aHJlYWQsIHdoZW4KICAgICAvLyBhIHN0YXRlIGNoYW5nZSBpcyBtYWRlIHRvIGJyaW5nIHRo
ZSBkZW11eGVyIGRvd24uIChTdGF0ZSBjaGFuZ2Ugb3BlcmF0aW9ucyBydW4gaW4gdGhlIG1haW4g
dGhyZWFkLikKICAgICBHU1RfREVCVUdfQklOX1RPX0RPVF9GSUxFX1dJVEhfVFMoR1NUX0JJTiht
X3BpcGVsaW5lLmdldCgpKSwgR1NUX0RFQlVHX0dSQVBIX1NIT1dfQUxMLCAicGFkLXJlbW92ZWQt
YmVmb3JlIik7CiAKKyAgICAvLyBSZWNvbm5lY3QgdGhlIG90aGVyIHBhZCBpZiBpdCdzIHRoZSBv
bmx5IHJlbWFpbmluZyBhZnRlciByZW1vdmluZyB0aGlzIG9uZSBhbmQgd2Fzbid0IGNvbm5lY3Rl
ZCB5ZXQgKGhhcyBhIGJsYWNrIGhvbGUgcHJvYmUpLgorICAgIGlmIChtX2RlbXV4LT5udW1zcmNw
YWRzID09IDEpIHsKKyAgICAgICAgR1JlZlB0cjxHc3RQYWQ+IHJlbWFpbmluZ1BhZCA9IHN0YXRp
Y19jYXN0PEdzdFBhZCo+KG1fZGVtdXgtPnNyY3BhZHMtPmRhdGEpOworCisgICAgICAgIGd1bG9u
ZyBwcm9iZUlkID0gR1BPSU5URVJfVE9fVUxPTkcoZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpFQ1Qo
cmVtYWluaW5nUGFkLmdldCgpKSwgImJsYWNrSG9sZVByb2JlSWQiKSk7CisgICAgICAgIGlmIChy
ZW1haW5pbmdQYWQgJiYgcHJvYmVJZCkgeworICAgICAgICAgICAgR1JlZlB0cjxHc3RQYWQ+IG9s
ZFBlZXJQYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQobV9hcHBzaW5r
LmdldCgpLCAic2luayIpKTsKKyAgICAgICAgICAgIHdoaWxlIChvbGRQZWVyUGFkICYmIGdzdF9w
YWRfaXNfbGlua2VkKG9sZFBlZXJQYWQuZ2V0KCkpKSB7CisgICAgICAgICAgICAgICAgLy8gR2V0
IHNpbmsgcGFkIG9mIHRoZSBwYXJzZXIgYmVmb3JlIGFwcHNpbmsuCisgICAgICAgICAgICAgICAg
b2xkUGVlclBhZCA9IGFkb3B0R1JlZihnc3RfcGFkX2dldF9wZWVyKG9sZFBlZXJQYWQuZ2V0KCkp
KTsKKyAgICAgICAgICAgICAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IGVsZW1lbnQgPSBhZG9wdEdS
ZWYoZ3N0X3BhZF9nZXRfcGFyZW50X2VsZW1lbnQob2xkUGVlclBhZC5nZXQoKSkpOworICAgICAg
ICAgICAgICAgIG9sZFBlZXJQYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19w
YWQoZWxlbWVudC5nZXQoKSwgInNpbmsiKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGlmIChvbGRQZWVyUGFkKSB7CisgICAgICAgICAgICAgICAgR1NUX0RFQlVHKCJUaGUgcmVtYWlu
aW5nIHBhZCBoYXMgYSBibGFja0hvbGVQcm9iZSwgcmVjb25uZWN0aW5nIGFzIG1haW4gcGFkLiBv
bGRQYWQ6ICUiIEdTVF9QVFJfRk9STUFUICIsIG5ld1BhZDogJSIgR1NUX1BUUl9GT1JNQVQgIiwg
cGVlclBhZDogJSIgR1NUX1BUUl9GT1JNQVQsIGRlbXV4ZXJTcmNQYWQsIHJlbWFpbmluZ1BhZC5n
ZXQoKSwgb2xkUGVlclBhZC5nZXQoKSk7CisKKyAgICAgICAgICAgICAgICBnc3RfcGFkX3VubGlu
ayhkZW11eGVyU3JjUGFkLCBvbGRQZWVyUGFkLmdldCgpKTsKKyAgICAgICAgICAgICAgICBnc3Rf
cGFkX2xpbmsocmVtYWluaW5nUGFkLmdldCgpLCBvbGRQZWVyUGFkLmdldCgpKTsKKyAgICAgICAg
ICAgICAgICBnc3RfcGFkX3JlbW92ZV9wcm9iZShyZW1haW5pbmdQYWQuZ2V0KCksIHByb2JlSWQp
OworICAgICAgICAgICAgICAgIGlmIChtX3BhcnNlcikKKyAgICAgICAgICAgICAgICAgICAgZ3N0
X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGFyc2VyLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7CisgICAg
ICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fYXBwc2luay5nZXQoKSwgR1NUX1NU
QVRFX05VTEwpOworICAgICAgICAgICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX2FwcHNp
bmsuZ2V0KCksIEdTVF9TVEFURV9QTEFZSU5HKTsKKyAgICAgICAgICAgICAgICBpZiAobV9wYXJz
ZXIpCisgICAgICAgICAgICAgICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BhcnNlci5n
ZXQoKSwgR1NUX1NUQVRFX1BMQVlJTkcpOworCisgICAgICAgICAgICAgICAgR1NUX0RFQlVHX0JJ
Tl9UT19ET1RfRklMRV9XSVRIX1RTKEdTVF9CSU4obV9waXBlbGluZS5nZXQoKSksIEdTVF9ERUJV
R19HUkFQSF9TSE9XX0FMTCwgIndlYmtpdC1hZnRlci1yZWxpbmsiKTsKKworICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKwogICAgIEdTVF9E
RUJVRygiRGlzY29ubmVjdGluZyBhcHBzaW5rIik7CiAKICAgICBpZiAobV9wYXJzZXIpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407986</attachid>
            <date>2020-09-04 09:56:08 -0700</date>
            <delta_ts>2020-09-07 10:51:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216039-20200904185607.patch</filename>
            <type>text/plain</type>
            <size>6150</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcxYzgzMzE3ODIzNmZl
YzUxMWJkNGYwNzdjNjdjMThmMzEyOTFiYi4uZGExZjgyZTVhYmY0NGRlNmUwNmIwZDEzMmFhOTk3
ZDM3MzNjMDM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAyICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW01T
RV1bR1N0cmVhbWVyXSBTdXBwb3J0IEdvb2dsZSBEeW5hbWljIEFkIEluc2VydGlvbiAoREFJKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDM5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hhdCBoYXBw
ZW5zIG9uIHRoZSBEQUkgdHJhbnNpdGlvbnMgYmV0d2VlbiByZWd1bGFyIGFuZCBhZHZlcnRpc2Vt
ZW50IHZpZGVvcworICAgICAgICAoYW5kIGJhY2spIG9uIE1QNCBpcyB0aGF0IGVhY2ggdHJhY2sg
aGFzIGEgZGlmZmVyZW50IHN0cmVhbSBpZCwgc28gcXRkZW11eAorICAgICAgICBkb2Vzbid0IHJl
dXNlIHN0cmVhbXMgYW5kIGNyZWF0ZWQgYSBuZXcgcGFkL3N0cmVhbS90cmFjayBmb3IgdGhlIG5l
dyBwaWVjZQorICAgICAgICBvZiB2aWRlby4gT3VyIGN1cnJlbnQgY29kZSBvbmx5IHN1cHBvcnRz
IGEgc2luZ2xlIHNpbXVsdGFuZW91cyB0cmFjayBwZXIKKyAgICAgICAgU291cmNlQnVmZmVyLCBz
byBpdCAiZGlzYWJsZXMiIHRoZSBzZWNvbmQgKG5ldykgb25lIGJ5IGF0dGFjaGluZyBhIGJsYWNr
ayBob2xlCisgICAgICAgIHByb2JlIHdoaWNoIGRyb3BzIGFsbCB0aGUgYnVmZmVycy4gUmlnaHQg
YWZ0ZXIgdGhlIG5ldyBwYWQgaXMgY3JlYXRlZCwgdGhlIG9sZAorICAgICAgICBwYWQvc3RyZWFt
L3RyYWNrIGlzIHJlbW92ZWQsIHNvIGluIHRoZSBlbmQgb25seSBhIHNpbmdsZSAiZGlzYWJsZWQi
IHRyYWNrCisgICAgICAgIHJlbWFpbnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkZXRlY3RzIHRo
YXQgc2l0dWF0aW9uIGFuZCByZWF0dGFjaGVzIHRoZSBzaW5nbGUgcmVtYWluaW5nIHBhZCB0bwor
ICAgICAgICB0aGUgZXhpc3RpbmcgZG93bnN0cmVhbSBlbGVtZW50cyBvZiB0aGUgQXBwZW5kUGlw
ZWxpbmUgKGFuIG9wdGlvbmFsIHBhcnNlciBhbmQKKyAgICAgICAgdGhlIGFwcHNpbmspLiBGb3Ig
YXBwc2luayB0byBrZWVwIHdvcmtpbmcgYWZ0ZXIgdGhlIEVPUyBjYXVzZWQgYnkgdGhlIG9sZCBw
YWQKKyAgICAgICAgcmVtb3ZhbCwgaXQgbXVzdCBiZSByZXNldCBieSBjaGFuZ2luZyBpdHMgc3Rh
dGUgdG8gTlVMTCBhbmQgdGhlbiB0byBQTEFZSU5HCisgICAgICAgIGFnYWluLgorCisgICAgICAg
IEZvciBtb3JlIGluZm8gYW5kIHRlc3QgY2FzZXMgYWJvdXQgR29vZ2xlIERBSSwgaGF2ZSBhIGxv
b2sgYXQ6CisgICAgICAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2ludGVyYWN0aXZl
LW1lZGlhLWFkcy9kb2NzL3Nka3MvaHRtbDUvZGFpCisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv
bS9nb29nbGVhZHMvZ29vZ2xlYWRzLWltYS1odG1sNS1kYWkKKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5lKTogSWdub3JlIEVPUyB3aGVuIHRo
ZXJlIGFyZSBtdWx0aXBsZSBkZW11eGVyIHNyYyBwYWRzLgorICAgICAgICBJdCBsaWtlbHkgbWVh
bnMgdGhhdCBvbmUgb2YgdGhlIHBhZHMgaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZCAoRU9TIGxlZ2l0
aW1hbGx5IGhhcHBlbnMgcmlnaHQKKyAgICAgICAgYmVmb3JlIHRoYXQpLgorICAgICAgICAoV2Vi
Q29yZTo6QXBwZW5kUGlwZWxpbmU6OmRpc2Nvbm5lY3REZW11eGVyU3JjUGFkRnJvbUFwcHNpbmtG
cm9tQW55VGhyZWFkKTogUmVjb25uZWN0IHRoZQorICAgICAgICByZW1haW5pbmcgZGVtdXhlciBw
YWQgd2hlbiBpdCdzIHRoZSBsYXN0IG9uZSByZW1haW5pbmcgYWZ0ZXIgc29tZSBvdGhlciBoYXMg
YmVlbiByZW1vdmVkLgorCiAyMDIwLTA2LTEyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0xGQ11bVEZDXSBBZGQgc3VwcG9ydCBmb3IgbWluL21heC13aWR0aApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9BcHBlbmRQaXBlbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcAppbmRleCBlMjAyMjdhMWI1ZjcxZjk0M2I1
ZWYwNmM4OGVmNjc4MGE4ZDdkNzQ1Li4yZTEyODIxNzRjMWI0NDg0MjRhNjdhZjZiYWU3MmMxM2Iw
YTI5ZmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcApAQCAtMjE2LDcgKzIx
Niw5IEBAIEFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBlbGluZShSZWY8TWVkaWFTb3VyY2VDbGll
bnRHU3RyZWFtZXJNU0U+IG1lZGlhU291cmNlQ2xpCiAgICAgICAgIHJldHVybiBHU1RfRkxPV19P
SzsKICAgICB9KSwgdGhpcyk7CiAgICAgZ19zaWduYWxfY29ubmVjdChtX2FwcHNpbmsuZ2V0KCks
ICJlb3MiLCBHX0NBTExCQUNLKCtbXShHc3RFbGVtZW50KiwgQXBwZW5kUGlwZWxpbmUqIGFwcGVu
ZFBpcGVsaW5lKSB7Ci0gICAgICAgIGlmIChhcHBlbmRQaXBlbGluZS0+bV9lcnJvclJlY2VpdmVk
KQorICAgICAgICAvLyBKdXN0IGlnbm9yZSBFT1Mgd2hlbiBoYXZpbmcgbW9yZSB0aGFuIG9uZSBw
YWQuIEl0IGxpa2VseSBtZWFucyB0aGF0IG9uZSBvZiB0aGUgcGFkcyBpcworICAgICAgICAvLyBn
b2luZyB0byBiZSByZW1vdmVkIGFuZCB0aGUgcmVtYWluaW5nIG9uZSB3aWxsIGJlIHJlYXR0YWNo
ZWQuCisgICAgICAgIGlmIChhcHBlbmRQaXBlbGluZS0+bV9lcnJvclJlY2VpdmVkIHx8IGFwcGVu
ZFBpcGVsaW5lLT5tX2RlbXV4LT5udW1zcmNwYWRzID4gMSkKICAgICAgICAgICAgIHJldHVybjsK
IAogICAgICAgICBHU1RfRVJST1IoIkFwcGVuZFBpcGVsaW5lJ3MgYXBwc2luayByZWNlaXZlZCBF
T1MuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW4gaW52YWxpZCBpbml0aWFsaXphdGlvbiBz
ZWdtZW50LiIpOwpAQCAtODA1LDEzICs4MDcsNDYgQEAgdm9pZCBBcHBlbmRQaXBlbGluZTo6Y29u
bmVjdERlbXV4ZXJTcmNQYWRUb0FwcHNpbmsoR3N0UGFkKiBkZW11eGVyU3JjUGFkKQogICAgIG1f
cGxheWVyUHJpdmF0ZS0+dHJhY2tEZXRlY3RlZCh0aGlzLCBtX3RyYWNrLCB0cnVlKTsKIH0KIAot
dm9pZCBBcHBlbmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zy
b21BbnlUaHJlYWQoR3N0UGFkKikKK3ZvaWQgQXBwZW5kUGlwZWxpbmU6OmRpc2Nvbm5lY3REZW11
eGVyU3JjUGFkRnJvbUFwcHNpbmtGcm9tQW55VGhyZWFkKEdzdFBhZCogZGVtdXhlclNyY1BhZCkK
IHsKICAgICAvLyBOb3RlOiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZWl0aGVyIGZyb20g
dGhlIHN0cmVhbWluZyB0aHJlYWQgKGUuZy4gaWYgYSBzdHJhbmdlIGluaXRpYWxpemF0aW9uIHNl
Z21lbnQgd2l0aAogICAgIC8vIGluY29tcGF0aWJsZSB0cmFja3MgaXMgYXBwZW5kZWQgYW5kIHRo
ZSBzcmNwYWQgZGlzY29ubmVjdGVkKSBvciAtLSBtb3JlIHVzdWFsbHkgLS0gZnJvbSB0aGUgbWFp
biB0aHJlYWQsIHdoZW4KICAgICAvLyBhIHN0YXRlIGNoYW5nZSBpcyBtYWRlIHRvIGJyaW5nIHRo
ZSBkZW11eGVyIGRvd24uIChTdGF0ZSBjaGFuZ2Ugb3BlcmF0aW9ucyBydW4gaW4gdGhlIG1haW4g
dGhyZWFkLikKICAgICBHU1RfREVCVUdfQklOX1RPX0RPVF9GSUxFX1dJVEhfVFMoR1NUX0JJTiht
X3BpcGVsaW5lLmdldCgpKSwgR1NUX0RFQlVHX0dSQVBIX1NIT1dfQUxMLCAicGFkLXJlbW92ZWQt
YmVmb3JlIik7CiAKKyAgICAvLyBSZWNvbm5lY3QgdGhlIG90aGVyIHBhZCBpZiBpdCdzIHRoZSBv
bmx5IHJlbWFpbmluZyBhZnRlciByZW1vdmluZyB0aGlzIG9uZSBhbmQgd2Fzbid0IGNvbm5lY3Rl
ZCB5ZXQgKGhhcyBhIGJsYWNrIGhvbGUgcHJvYmUpLgorICAgIGlmIChtX2RlbXV4LT5udW1zcmNw
YWRzID09IDEpIHsKKyAgICAgICAgR3N0UGFkKiByZW1haW5pbmdQYWQgPSBHU1RfUEFEKG1fZGVt
dXgtPnNyY3BhZHMtPmRhdGEpOworCisgICAgICAgIGd1bG9uZyBwcm9iZUlkID0gR1BPSU5URVJf
VE9fVUxPTkcoZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpFQ1QocmVtYWluaW5nUGFkKSwgImJsYWNr
SG9sZVByb2JlSWQiKSk7CisgICAgICAgIGlmIChyZW1haW5pbmdQYWQgJiYgcHJvYmVJZCkgewor
ICAgICAgICAgICAgR1JlZlB0cjxHc3RQYWQ+IG9sZFBlZXJQYWQgPSBhZG9wdEdSZWYoZ3N0X2Vs
ZW1lbnRfZ2V0X3N0YXRpY19wYWQobV9hcHBzaW5rLmdldCgpLCAic2luayIpKTsKKyAgICAgICAg
ICAgIHdoaWxlIChnc3RfcGFkX2lzX2xpbmtlZChvbGRQZWVyUGFkLmdldCgpKSkgeworICAgICAg
ICAgICAgICAgIC8vIEdldCBzaW5rIHBhZCBvZiB0aGUgcGFyc2VyIGJlZm9yZSBhcHBzaW5rLgor
ICAgICAgICAgICAgICAgIC8vIEFsbCB0aGUgZXhwZWN0ZWQgZWxlbWVudHMgYmV0d2VlbiB0aGUg
ZGVtdXhlciBhbmQgYXBwc2luayBhcmUgc3VwcG9zZWQgdG8gaGF2ZSBwYWRzIG5hbWVkICJzaW5r
Ii4KKyAgICAgICAgICAgICAgICBvbGRQZWVyUGFkID0gYWRvcHRHUmVmKGdzdF9wYWRfZ2V0X3Bl
ZXIob2xkUGVlclBhZC5nZXQoKSkpOworICAgICAgICAgICAgICAgIEdSZWZQdHI8R3N0RWxlbWVu
dD4gZWxlbWVudCA9IGFkb3B0R1JlZihnc3RfcGFkX2dldF9wYXJlbnRfZWxlbWVudChvbGRQZWVy
UGFkLmdldCgpKSk7CisgICAgICAgICAgICAgICAgb2xkUGVlclBhZCA9IGFkb3B0R1JlZihnc3Rf
ZWxlbWVudF9nZXRfc3RhdGljX3BhZChlbGVtZW50LmdldCgpLCAic2luayIpKTsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQob2xkUGVlclBhZCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IEdTVF9ERUJVRygiVGhlIHJlbWFpbmluZyBwYWQgaGFzIGEgYmxhY2tIb2xlUHJvYmUsIHJlY29u
bmVjdGluZyBhcyBtYWluIHBhZC4gb2xkUGFkOiAlIiBHU1RfUFRSX0ZPUk1BVCAiLCBuZXdQYWQ6
ICUiIEdTVF9QVFJfRk9STUFUICIsIHBlZXJQYWQ6ICUiIEdTVF9QVFJfRk9STUFULCBkZW11eGVy
U3JjUGFkLCByZW1haW5pbmdQYWQsIG9sZFBlZXJQYWQuZ2V0KCkpOworCisgICAgICAgICAgICBn
c3RfcGFkX2xpbmsocmVtYWluaW5nUGFkLCBvbGRQZWVyUGFkLmdldCgpKTsKKyAgICAgICAgICAg
IGdzdF9wYWRfcmVtb3ZlX3Byb2JlKHJlbWFpbmluZ1BhZCwgcHJvYmVJZCk7CisgICAgICAgICAg
ICBpZiAobV9wYXJzZXIpCisgICAgICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1f
cGFyc2VyLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7CisgICAgICAgICAgICBnc3RfZWxlbWVudF9z
ZXRfc3RhdGUobV9hcHBzaW5rLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7CisgICAgICAgICAgICBn
c3RfZWxlbWVudF9zZXRfc3RhdGUobV9hcHBzaW5rLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7
CisgICAgICAgICAgICBpZiAobV9wYXJzZXIpCisgICAgICAgICAgICAgICAgZ3N0X2VsZW1lbnRf
c2V0X3N0YXRlKG1fcGFyc2VyLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CisKKyAgICAgICAg
ICAgIEdTVF9ERUJVR19CSU5fVE9fRE9UX0ZJTEVfV0lUSF9UUyhHU1RfQklOKG1fcGlwZWxpbmUu
Z2V0KCkpLCBHU1RfREVCVUdfR1JBUEhfU0hPV19BTEwsICJ3ZWJraXQtYWZ0ZXItcmVsaW5rIik7
CisKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKwogICAgIEdTVF9ERUJV
RygiRGlzY29ubmVjdGluZyBhcHBzaW5rIik7CiAKICAgICBpZiAobV9wYXJzZXIpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408186</attachid>
            <date>2020-09-07 10:51:07 -0700</date>
            <delta_ts>2020-09-08 04:24:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216039-20200907195106.patch</filename>
            <type>text/plain</type>
            <size>7662</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcxYzgzMzE3ODIzNmZl
YzUxMWJkNGYwNzdjNjdjMThmMzEyOTFiYi4uYzllYTU5MjlmMDRjZGNkODY0YTZkNGZiMDI2M2Yx
ODRkNWEzOWFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAyICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW01T
RV1bR1N0cmVhbWVyXSBTdXBwb3J0IEdvb2dsZSBEeW5hbWljIEFkIEluc2VydGlvbiAoREFJKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDM5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hhdCBoYXBw
ZW5zIG9uIHRoZSBEQUkgdHJhbnNpdGlvbnMgYmV0d2VlbiByZWd1bGFyIGFuZCBhZHZlcnRpc2Vt
ZW50IHZpZGVvcworICAgICAgICAoYW5kIGJhY2spIG9uIE1QNCBpcyB0aGF0IGVhY2ggdHJhY2sg
aGFzIGEgZGlmZmVyZW50IHN0cmVhbSBpZCwgc28gcXRkZW11eAorICAgICAgICBkb2Vzbid0IHJl
dXNlIHN0cmVhbXMgYW5kIGNyZWF0ZWQgYSBuZXcgcGFkL3N0cmVhbS90cmFjayBmb3IgdGhlIG5l
dyBwaWVjZQorICAgICAgICBvZiB2aWRlby4gT3VyIGN1cnJlbnQgY29kZSBvbmx5IHN1cHBvcnRz
IGEgc2luZ2xlIHNpbXVsdGFuZW91cyB0cmFjayBwZXIKKyAgICAgICAgU291cmNlQnVmZmVyLCBz
byBpdCAiZGlzYWJsZXMiIHRoZSBzZWNvbmQgKG5ldykgb25lIGJ5IGF0dGFjaGluZyBhIGJsYWNr
ayBob2xlCisgICAgICAgIHByb2JlIHdoaWNoIGRyb3BzIGFsbCB0aGUgYnVmZmVycy4gUmlnaHQg
YWZ0ZXIgdGhlIG5ldyBwYWQgaXMgY3JlYXRlZCwgdGhlIG9sZAorICAgICAgICBwYWQvc3RyZWFt
L3RyYWNrIGlzIHJlbW92ZWQsIHNvIGluIHRoZSBlbmQgb25seSBhIHNpbmdsZSAiZGlzYWJsZWQi
IHRyYWNrCisgICAgICAgIHJlbWFpbnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkZXRlY3RzIHRo
YXQgc2l0dWF0aW9uIGFuZCByZWF0dGFjaGVzIHRoZSBzaW5nbGUgcmVtYWluaW5nIHBhZCB0bwor
ICAgICAgICB0aGUgZXhpc3RpbmcgZG93bnN0cmVhbSBlbGVtZW50cyBvZiB0aGUgQXBwZW5kUGlw
ZWxpbmUgKGFuIG9wdGlvbmFsIHBhcnNlciBhbmQKKyAgICAgICAgdGhlIGFwcHNpbmspIGFzIGxv
bmcgYXMgdGhlIG9sZCBhbmQgbmV3IGNhcHMgYXJlIGNvbXBhdGlibGUuIEZvciBhcHBzaW5rIHRv
CisgICAgICAgIGtlZXAgd29ya2luZyBhZnRlciB0aGUgRU9TIGNhdXNlZCBieSB0aGUgb2xkIHBh
ZCByZW1vdmFsLCBpdCBtdXN0IGJlIHJlc2V0IGJ5CisgICAgICAgIGNoYW5naW5nIGl0cyBzdGF0
ZSB0byBOVUxMIGFuZCB0aGVuIHRvIFBMQVlJTkcgYWdhaW4uCisKKyAgICAgICAgRm9yIG1vcmUg
aW5mbyBhbmQgdGVzdCBjYXNlcyBhYm91dCBHb29nbGUgREFJLCBoYXZlIGEgbG9vayBhdDoKKyAg
ICAgICAgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vaW50ZXJhY3RpdmUtbWVkaWEtYWRz
L2RvY3Mvc2Rrcy9odG1sNS9kYWkKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZWFk
cy9nb29nbGVhZHMtaW1hLWh0bWw1LWRhaQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBl
bmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUpOiBJZ25vcmUgRU9TIHdoZW4gdGhlcmUgYXJlIG11
bHRpcGxlIGRlbXV4ZXIgc3JjIHBhZHMuCisgICAgICAgIEl0IGxpa2VseSBtZWFucyB0aGF0IG9u
ZSBvZiB0aGUgcGFkcyBpcyBnb2luZyB0byBiZSByZW1vdmVkIChFT1MgbGVnaXRpbWFsbHkgaGFw
cGVucyByaWdodAorICAgICAgICBiZWZvcmUgdGhhdCkuCisgICAgICAgIChXZWJDb3JlOjpBcHBl
bmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zyb21BbnlUaHJl
YWQpOiBSZWNvbm5lY3QgdGhlCisgICAgICAgIHJlbWFpbmluZyBkZW11eGVyIHBhZCB3aGVuIGl0
J3MgdGhlIGxhc3Qgb25lIHJlbWFpbmluZyBhZnRlciBzb21lIG90aGVyIGhhcyBiZWVuIHJlbW92
ZWQuCisKIDIwMjAtMDYtMTIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTEZDXVtURkNdIEFkZCBzdXBwb3J0IGZvciBtaW4vbWF4LXdpZHRoCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBp
cGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9t
c2UvQXBwZW5kUGlwZWxpbmUuY3BwCmluZGV4IGUyMDIyN2ExYjVmNzFmOTQzYjVlZjA2Yzg4ZWY2
NzgwYThkN2Q3NDUuLjQzYWY0ZmFjOGU0ZDg3YWZjNjMwZmVkOTM2NmM5MTc0NDFhODEyYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
QXBwZW5kUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCkBAIC0yMTYsNyArMjE2LDkgQEAgQXBw
ZW5kUGlwZWxpbmU6OkFwcGVuZFBpcGVsaW5lKFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1l
ck1TRT4gbWVkaWFTb3VyY2VDbGkKICAgICAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwogICAgIH0p
LCB0aGlzKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KG1fYXBwc2luay5nZXQoKSwgImVvcyIsIEdf
Q0FMTEJBQ0soK1tdKEdzdEVsZW1lbnQqLCBBcHBlbmRQaXBlbGluZSogYXBwZW5kUGlwZWxpbmUp
IHsKLSAgICAgICAgaWYgKGFwcGVuZFBpcGVsaW5lLT5tX2Vycm9yUmVjZWl2ZWQpCisgICAgICAg
IC8vIEp1c3QgaWdub3JlIEVPUyB3aGVuIGhhdmluZyBtb3JlIHRoYW4gb25lIHBhZC4gSXQgbGlr
ZWx5IG1lYW5zIHRoYXQgb25lIG9mIHRoZSBwYWRzIGlzCisgICAgICAgIC8vIGdvaW5nIHRvIGJl
IHJlbW92ZWQgYW5kIHRoZSByZW1haW5pbmcgb25lIHdpbGwgYmUgcmVhdHRhY2hlZC4KKyAgICAg
ICAgaWYgKGFwcGVuZFBpcGVsaW5lLT5tX2Vycm9yUmVjZWl2ZWQgfHwgYXBwZW5kUGlwZWxpbmUt
Pm1fZGVtdXgtPm51bXNyY3BhZHMgPiAxKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IEdTVF9FUlJPUigiQXBwZW5kUGlwZWxpbmUncyBhcHBzaW5rIHJlY2VpdmVkIEVPUy4gVGhpcyBp
cyB1c3VhbGx5IGNhdXNlZCBieSBhbiBpbnZhbGlkIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuIik7
CkBAIC04MDUsMTMgKzgwNyw3MiBAQCB2b2lkIEFwcGVuZFBpcGVsaW5lOjpjb25uZWN0RGVtdXhl
clNyY1BhZFRvQXBwc2luayhHc3RQYWQqIGRlbXV4ZXJTcmNQYWQpCiAgICAgbV9wbGF5ZXJQcml2
YXRlLT50cmFja0RldGVjdGVkKHRoaXMsIG1fdHJhY2ssIHRydWUpOwogfQogCi12b2lkIEFwcGVu
ZFBpcGVsaW5lOjpkaXNjb25uZWN0RGVtdXhlclNyY1BhZEZyb21BcHBzaW5rRnJvbUFueVRocmVh
ZChHc3RQYWQqKQordm9pZCBBcHBlbmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRG
cm9tQXBwc2lua0Zyb21BbnlUaHJlYWQoR3N0UGFkKiBkZW11eGVyU3JjUGFkKQogewogICAgIC8v
IE5vdGU6IFRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBlaXRoZXIgZnJvbSB0aGUgc3RyZWFt
aW5nIHRocmVhZCAoZS5nLiBpZiBhIHN0cmFuZ2UgaW5pdGlhbGl6YXRpb24gc2VnbWVudCB3aXRo
CiAgICAgLy8gaW5jb21wYXRpYmxlIHRyYWNrcyBpcyBhcHBlbmRlZCBhbmQgdGhlIHNyY3BhZCBk
aXNjb25uZWN0ZWQpIG9yIC0tIG1vcmUgdXN1YWxseSAtLSBmcm9tIHRoZSBtYWluIHRocmVhZCwg
d2hlbgogICAgIC8vIGEgc3RhdGUgY2hhbmdlIGlzIG1hZGUgdG8gYnJpbmcgdGhlIGRlbXV4ZXIg
ZG93bi4gKFN0YXRlIGNoYW5nZSBvcGVyYXRpb25zIHJ1biBpbiB0aGUgbWFpbiB0aHJlYWQuKQog
ICAgIEdTVF9ERUJVR19CSU5fVE9fRE9UX0ZJTEVfV0lUSF9UUyhHU1RfQklOKG1fcGlwZWxpbmUu
Z2V0KCkpLCBHU1RfREVCVUdfR1JBUEhfU0hPV19BTEwsICJwYWQtcmVtb3ZlZC1iZWZvcmUiKTsK
IAorICAgIC8vIFJlY29ubmVjdCB0aGUgb3RoZXIgcGFkIGlmIGl0J3MgdGhlIG9ubHkgcmVtYWlu
aW5nIGFmdGVyIHJlbW92aW5nIHRoaXMgb25lIGFuZCB3YXNuJ3QgY29ubmVjdGVkIHlldCAoaGFz
IGEgYmxhY2sgaG9sZSBwcm9iZSkuCisgICAgaWYgKG1fZGVtdXgtPm51bXNyY3BhZHMgPT0gMSkg
eworICAgICAgICBHc3RQYWQqIHJlbWFpbmluZ1BhZCA9IEdTVF9QQUQobV9kZW11eC0+c3JjcGFk
cy0+ZGF0YSk7CisKKyAgICAgICAgZ3Vsb25nIHByb2JlSWQgPSBHUE9JTlRFUl9UT19VTE9ORyhn
X29iamVjdF9nZXRfZGF0YShHX09CSkVDVChyZW1haW5pbmdQYWQpLCAiYmxhY2tIb2xlUHJvYmVJ
ZCIpKTsKKyAgICAgICAgaWYgKHJlbWFpbmluZ1BhZCAmJiBwcm9iZUlkKSB7CisgICAgICAgICAg
ICBHUmVmUHRyPEdzdFBhZD4gb2xkUGVlclBhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9nZXRf
c3RhdGljX3BhZChtX2FwcHNpbmsuZ2V0KCksICJzaW5rIikpOworICAgICAgICAgICAgd2hpbGUg
KGdzdF9wYWRfaXNfbGlua2VkKG9sZFBlZXJQYWQuZ2V0KCkpKSB7CisgICAgICAgICAgICAgICAg
Ly8gR2V0IHNpbmsgcGFkIG9mIHRoZSBwYXJzZXIgYmVmb3JlIGFwcHNpbmsuCisgICAgICAgICAg
ICAgICAgLy8gQWxsIHRoZSBleHBlY3RlZCBlbGVtZW50cyBiZXR3ZWVuIHRoZSBkZW11eGVyIGFu
ZCBhcHBzaW5rIGFyZSBzdXBwb3NlZCB0byBoYXZlIHBhZHMgbmFtZWQgInNpbmsiLgorICAgICAg
ICAgICAgICAgIG9sZFBlZXJQYWQgPSBhZG9wdEdSZWYoZ3N0X3BhZF9nZXRfcGVlcihvbGRQZWVy
UGFkLmdldCgpKSk7CisgICAgICAgICAgICAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBlbGVtZW50
ID0gYWRvcHRHUmVmKGdzdF9wYWRfZ2V0X3BhcmVudF9lbGVtZW50KG9sZFBlZXJQYWQuZ2V0KCkp
KTsKKyAgICAgICAgICAgICAgICBvbGRQZWVyUGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dl
dF9zdGF0aWNfcGFkKGVsZW1lbnQuZ2V0KCksICJzaW5rIikpOworICAgICAgICAgICAgICAgIEFT
U0VSVChvbGRQZWVyUGFkKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZ3N0X3BhZF9y
ZW1vdmVfcHJvYmUocmVtYWluaW5nUGFkLCBwcm9iZUlkKTsKKworICAgICAgICAgICAgR1JlZlB0
cjxHc3RDYXBzPiBvbGRQZWVyUGFkQ2FwcyA9IGFkb3B0R1JlZihnc3RfcGFkX2dldF9jdXJyZW50
X2NhcHMob2xkUGVlclBhZC5nZXQoKSkpOworICAgICAgICAgICAgR1JlZlB0cjxHc3RDYXBzPiBy
ZW1haW5pbmdQYWRDYXBzID0gYWRvcHRHUmVmKGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcyhyZW1h
aW5pbmdQYWQpKTsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIG9sZFBlZXJQYWRUeXBlID0gbnVs
bHB0cjsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIHJlbWFpbmluZ1BhZFR5cGUgPSBudWxscHRy
OworCisgICAgICAgICAgICBpZiAob2xkUGVlclBhZENhcHMpIHsKKyAgICAgICAgICAgICAgICBj
b25zdCBHc3RTdHJ1Y3R1cmUqIG9sZFBlZXJQYWRDYXBzU3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0
X3N0cnVjdHVyZShvbGRQZWVyUGFkQ2Fwcy5nZXQoKSwgMCk7CisgICAgICAgICAgICAgICAgaWYg
KG9sZFBlZXJQYWRDYXBzU3RydWN0dXJlKQorICAgICAgICAgICAgICAgIG9sZFBlZXJQYWRUeXBl
ID0gZ3N0X3N0cnVjdHVyZV9nZXRfbmFtZShvbGRQZWVyUGFkQ2Fwc1N0cnVjdHVyZSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBpZiAocmVtYWluaW5nUGFkQ2FwcykgeworICAgICAgICAg
ICAgICAgIGNvbnN0IEdzdFN0cnVjdHVyZSogcmVtYWluaW5nUGFkQ2Fwc1N0cnVjdHVyZSA9IGdz
dF9jYXBzX2dldF9zdHJ1Y3R1cmUocmVtYWluaW5nUGFkQ2Fwcy5nZXQoKSwgMCk7CisgICAgICAg
ICAgICAgICAgaWYgKHJlbWFpbmluZ1BhZENhcHNTdHJ1Y3R1cmUpCisgICAgICAgICAgICAgICAg
cmVtYWluaW5nUGFkVHlwZSA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X25hbWUocmVtYWluaW5nUGFkQ2Fw
c1N0cnVjdHVyZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChnX3N0cmNtcDAo
b2xkUGVlclBhZFR5cGUsIHJlbWFpbmluZ1BhZFR5cGUpKSB7CisgICAgICAgICAgICAgICAgR1NU
X0VSUk9SKCJUaGUgcmVtYWluaW5nIHBhZCBoYXMgYSBibGFja0hvbGVQcm9iZSwgYnV0IGNhbid0
IHJlY29ubmVjdCBhcyBtYWluIHBhZCBiZWNhdXNlIHRoZSBjYXBzIHR5cGVzIGFyZSBpbmNvbXBh
dGlibGU6IG9sZFBlZXJQYWRDYXBzOiAlIiBHU1RfUFRSX0ZPUk1BVCAiLCByZW1haW5pbmdQYWRD
YXBzOiAlIiBHU1RfUFRSX0ZPUk1BVCwgb2xkUGVlclBhZENhcHMuZ2V0KCksIHJlbWFpbmluZ1Bh
ZENhcHMuZ2V0KCkpOworICAgICAgICAgICAgICAgIGlmICghaXNNYWluVGhyZWFkKCkpCisgICAg
ICAgICAgICAgICAgICAgIGhhbmRsZUVycm9yQ29uZGl0aW9uRnJvbVN0cmVhbWluZ1RocmVhZCgp
OworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbV9zb3VyY2VCdWZm
ZXJQcml2YXRlLT5hcHBlbmRQYXJzaW5nRmFpbGVkKCk7CisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBHU1RfREVCVUcoIlRoZSByZW1haW5pbmcg
cGFkIGhhcyBhIGJsYWNrSG9sZVByb2JlLCByZWNvbm5lY3RpbmcgYXMgbWFpbiBwYWQuIG9sZFBh
ZDogJSIgR1NUX1BUUl9GT1JNQVQgIiwgbmV3UGFkOiAlIiBHU1RfUFRSX0ZPUk1BVCAiLCBwZWVy
UGFkOiAlIiBHU1RfUFRSX0ZPUk1BVCwgZGVtdXhlclNyY1BhZCwgcmVtYWluaW5nUGFkLCBvbGRQ
ZWVyUGFkLmdldCgpKTsKKworICAgICAgICAgICAgZ3N0X3BhZF9saW5rKHJlbWFpbmluZ1BhZCwg
b2xkUGVlclBhZC5nZXQoKSk7CisgICAgICAgICAgICBpZiAobV9wYXJzZXIpCisgICAgICAgICAg
ICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGFyc2VyLmdldCgpLCBHU1RfU1RBVEVfTlVM
TCk7CisgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9hcHBzaW5rLmdldCgpLCBH
U1RfU1RBVEVfTlVMTCk7CisgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9hcHBz
aW5rLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CisgICAgICAgICAgICBpZiAobV9wYXJzZXIp
CisgICAgICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGFyc2VyLmdldCgpLCBH
U1RfU1RBVEVfUExBWUlORyk7CisKKyAgICAgICAgICAgIEdTVF9ERUJVR19CSU5fVE9fRE9UX0ZJ
TEVfV0lUSF9UUyhHU1RfQklOKG1fcGlwZWxpbmUuZ2V0KCkpLCBHU1RfREVCVUdfR1JBUEhfU0hP
V19BTEwsICJ3ZWJraXQtYWZ0ZXItcmVsaW5rIik7CisKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIEdTVF9ERUJVRygiRGlzY29ubmVjdGluZyBhcHBzaW5rIik7
CiAKICAgICBpZiAobV9wYXJzZXIpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408223</attachid>
            <date>2020-09-08 04:24:58 -0700</date>
            <delta_ts>2020-09-10 03:57:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216039-20200908132457.patch</filename>
            <type>text/plain</type>
            <size>7694</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M3N2JiZjIzZjcwNjU2
YjIxZTNiYjBlZWJhYjQ5ZGQyYTI2NGZkMy4uMmY0ZDRmZGE4ZWZkM2U0NDQ2YmQ2Y2RiYTQ0NDMw
MzEzNTAzZmViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAyICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW01T
RV1bR1N0cmVhbWVyXSBTdXBwb3J0IEdvb2dsZSBEeW5hbWljIEFkIEluc2VydGlvbiAoREFJKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDM5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hhdCBoYXBw
ZW5zIG9uIHRoZSBEQUkgdHJhbnNpdGlvbnMgYmV0d2VlbiByZWd1bGFyIGFuZCBhZHZlcnRpc2Vt
ZW50IHZpZGVvcworICAgICAgICAoYW5kIGJhY2spIG9uIE1QNCBpcyB0aGF0IGVhY2ggdHJhY2sg
aGFzIGEgZGlmZmVyZW50IHN0cmVhbSBpZCwgc28gcXRkZW11eAorICAgICAgICBkb2Vzbid0IHJl
dXNlIHN0cmVhbXMgYW5kIGNyZWF0ZWQgYSBuZXcgcGFkL3N0cmVhbS90cmFjayBmb3IgdGhlIG5l
dyBwaWVjZQorICAgICAgICBvZiB2aWRlby4gT3VyIGN1cnJlbnQgY29kZSBvbmx5IHN1cHBvcnRz
IGEgc2luZ2xlIHNpbXVsdGFuZW91cyB0cmFjayBwZXIKKyAgICAgICAgU291cmNlQnVmZmVyLCBz
byBpdCAiZGlzYWJsZXMiIHRoZSBzZWNvbmQgKG5ldykgb25lIGJ5IGF0dGFjaGluZyBhIGJsYWNr
ayBob2xlCisgICAgICAgIHByb2JlIHdoaWNoIGRyb3BzIGFsbCB0aGUgYnVmZmVycy4gUmlnaHQg
YWZ0ZXIgdGhlIG5ldyBwYWQgaXMgY3JlYXRlZCwgdGhlIG9sZAorICAgICAgICBwYWQvc3RyZWFt
L3RyYWNrIGlzIHJlbW92ZWQsIHNvIGluIHRoZSBlbmQgb25seSBhIHNpbmdsZSAiZGlzYWJsZWQi
IHRyYWNrCisgICAgICAgIHJlbWFpbnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkZXRlY3RzIHRo
YXQgc2l0dWF0aW9uIGFuZCByZWF0dGFjaGVzIHRoZSBzaW5nbGUgcmVtYWluaW5nIHBhZCB0bwor
ICAgICAgICB0aGUgZXhpc3RpbmcgZG93bnN0cmVhbSBlbGVtZW50cyBvZiB0aGUgQXBwZW5kUGlw
ZWxpbmUgKGFuIG9wdGlvbmFsIHBhcnNlciBhbmQKKyAgICAgICAgdGhlIGFwcHNpbmspIGFzIGxv
bmcgYXMgdGhlIG9sZCBhbmQgbmV3IGNhcHMgYXJlIGNvbXBhdGlibGUuIEZvciBhcHBzaW5rIHRv
CisgICAgICAgIGtlZXAgd29ya2luZyBhZnRlciB0aGUgRU9TIGNhdXNlZCBieSB0aGUgb2xkIHBh
ZCByZW1vdmFsLCBpdCBtdXN0IGJlIHJlc2V0IGJ5CisgICAgICAgIGNoYW5naW5nIGl0cyBzdGF0
ZSB0byBOVUxMIGFuZCB0aGVuIHRvIFBMQVlJTkcgYWdhaW4uCisKKyAgICAgICAgRm9yIG1vcmUg
aW5mbyBhbmQgdGVzdCBjYXNlcyBhYm91dCBHb29nbGUgREFJLCBoYXZlIGEgbG9vayBhdDoKKyAg
ICAgICAgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vaW50ZXJhY3RpdmUtbWVkaWEtYWRz
L2RvY3Mvc2Rrcy9odG1sNS9kYWkKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZWFk
cy9nb29nbGVhZHMtaW1hLWh0bWw1LWRhaQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBl
bmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUpOiBJZ25vcmUgRU9TIHdoZW4gdGhlcmUgYXJlIG11
bHRpcGxlIGRlbXV4ZXIgc3JjIHBhZHMuCisgICAgICAgIEl0IGxpa2VseSBtZWFucyB0aGF0IG9u
ZSBvZiB0aGUgcGFkcyBpcyBnb2luZyB0byBiZSByZW1vdmVkIChFT1MgbGVnaXRpbWFsbHkgaGFw
cGVucyByaWdodAorICAgICAgICBiZWZvcmUgdGhhdCkuCisgICAgICAgIChXZWJDb3JlOjpBcHBl
bmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zyb21BbnlUaHJl
YWQpOiBSZWNvbm5lY3QgdGhlCisgICAgICAgIHJlbWFpbmluZyBkZW11eGVyIHBhZCB3aGVuIGl0
J3MgdGhlIGxhc3Qgb25lIHJlbWFpbmluZyBhZnRlciBzb21lIG90aGVyIGhhcyBiZWVuIHJlbW92
ZWQuCisKIDIwMjAtMDktMDggIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIENvbXBhcmluZyBzdHlsZXMgd2l0aCBsYXJnZSBidXQgaWRlbnRpY2FsIGN1c3RvbSBw
cm9wZXJ0eSBtYXBzIGlzIHNsb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAKaW5k
ZXggMTcwOTZmODZlNmI5NDYxZTYwNzFiYWE3MmZiOTRmNGIxOTZiNmFlYS4uNzA3YzA0OTczNWY0
M2VmZGNkMGRiN2FjZGE1NmY3NmNkNjY1ZWYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBl
bGluZS5jcHAKQEAgLTIxNSw3ICsyMTUsOSBAQCBBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxp
bmUoU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciYgc291cmNlQnVmZmVyUHJpdmF0ZQogICAg
ICAgICByZXR1cm4gR1NUX0ZMT1dfT0s7CiAgICAgfSksIHRoaXMpOwogICAgIGdfc2lnbmFsX2Nv
bm5lY3QobV9hcHBzaW5rLmdldCgpLCAiZW9zIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVudCos
IEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQaXBlbGluZSkgewotICAgICAgICBpZiAoYXBwZW5kUGlw
ZWxpbmUtPm1fZXJyb3JSZWNlaXZlZCkKKyAgICAgICAgLy8gSnVzdCBpZ25vcmUgRU9TIHdoZW4g
aGF2aW5nIG1vcmUgdGhhbiBvbmUgcGFkLiBJdCBsaWtlbHkgbWVhbnMgdGhhdCBvbmUgb2YgdGhl
IHBhZHMgaXMKKyAgICAgICAgLy8gZ29pbmcgdG8gYmUgcmVtb3ZlZCBhbmQgdGhlIHJlbWFpbmlu
ZyBvbmUgd2lsbCBiZSByZWF0dGFjaGVkLgorICAgICAgICBpZiAoYXBwZW5kUGlwZWxpbmUtPm1f
ZXJyb3JSZWNlaXZlZCB8fCBhcHBlbmRQaXBlbGluZS0+bV9kZW11eC0+bnVtc3JjcGFkcyA+IDEp
CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgR1NUX0VSUk9SKCJBcHBlbmRQaXBlbGlu
ZSdzIGFwcHNpbmsgcmVjZWl2ZWQgRU9TLiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFuIGlu
dmFsaWQgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKQEAgLTgwMCwxMyArODAyLDcyIEBAIHZv
aWQgQXBwZW5kUGlwZWxpbmU6OmNvbm5lY3REZW11eGVyU3JjUGFkVG9BcHBzaW5rKEdzdFBhZCog
ZGVtdXhlclNyY1BhZCkKICAgICBtX3BsYXllclByaXZhdGUtPnRyYWNrRGV0ZWN0ZWQoKnRoaXMs
IG1fdHJhY2ssIHRydWUpOwogfQogCi12b2lkIEFwcGVuZFBpcGVsaW5lOjpkaXNjb25uZWN0RGVt
dXhlclNyY1BhZEZyb21BcHBzaW5rRnJvbUFueVRocmVhZChHc3RQYWQqKQordm9pZCBBcHBlbmRQ
aXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zyb21BbnlUaHJlYWQo
R3N0UGFkKiBkZW11eGVyU3JjUGFkKQogewogICAgIC8vIE5vdGU6IFRoaXMgZnVuY3Rpb24gY2Fu
IGJlIGNhbGxlZCBlaXRoZXIgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCAoZS5nLiBpZiBhIHN0
cmFuZ2UgaW5pdGlhbGl6YXRpb24gc2VnbWVudCB3aXRoCiAgICAgLy8gaW5jb21wYXRpYmxlIHRy
YWNrcyBpcyBhcHBlbmRlZCBhbmQgdGhlIHNyY3BhZCBkaXNjb25uZWN0ZWQpIG9yIC0tIG1vcmUg
dXN1YWxseSAtLSBmcm9tIHRoZSBtYWluIHRocmVhZCwgd2hlbgogICAgIC8vIGEgc3RhdGUgY2hh
bmdlIGlzIG1hZGUgdG8gYnJpbmcgdGhlIGRlbXV4ZXIgZG93bi4gKFN0YXRlIGNoYW5nZSBvcGVy
YXRpb25zIHJ1biBpbiB0aGUgbWFpbiB0aHJlYWQuKQogICAgIEdTVF9ERUJVR19CSU5fVE9fRE9U
X0ZJTEVfV0lUSF9UUyhHU1RfQklOKG1fcGlwZWxpbmUuZ2V0KCkpLCBHU1RfREVCVUdfR1JBUEhf
U0hPV19BTEwsICJwYWQtcmVtb3ZlZC1iZWZvcmUiKTsKIAorICAgIC8vIFJlY29ubmVjdCB0aGUg
b3RoZXIgcGFkIGlmIGl0J3MgdGhlIG9ubHkgcmVtYWluaW5nIGFmdGVyIHJlbW92aW5nIHRoaXMg
b25lIGFuZCB3YXNuJ3QgY29ubmVjdGVkIHlldCAoaGFzIGEgYmxhY2sgaG9sZSBwcm9iZSkuCisg
ICAgaWYgKG1fZGVtdXgtPm51bXNyY3BhZHMgPT0gMSkgeworICAgICAgICBHc3RQYWQqIHJlbWFp
bmluZ1BhZCA9IEdTVF9QQUQobV9kZW11eC0+c3JjcGFkcy0+ZGF0YSk7CisKKyAgICAgICAgZ3Vs
b25nIHByb2JlSWQgPSBHUE9JTlRFUl9UT19VTE9ORyhnX29iamVjdF9nZXRfZGF0YShHX09CSkVD
VChyZW1haW5pbmdQYWQpLCAiYmxhY2tIb2xlUHJvYmVJZCIpKTsKKyAgICAgICAgaWYgKHJlbWFp
bmluZ1BhZCAmJiBwcm9iZUlkKSB7CisgICAgICAgICAgICBHUmVmUHRyPEdzdFBhZD4gb2xkUGVl
clBhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChtX2FwcHNpbmsuZ2V0
KCksICJzaW5rIikpOworICAgICAgICAgICAgd2hpbGUgKGdzdF9wYWRfaXNfbGlua2VkKG9sZFBl
ZXJQYWQuZ2V0KCkpKSB7CisgICAgICAgICAgICAgICAgLy8gR2V0IHNpbmsgcGFkIG9mIHRoZSBw
YXJzZXIgYmVmb3JlIGFwcHNpbmsuCisgICAgICAgICAgICAgICAgLy8gQWxsIHRoZSBleHBlY3Rl
ZCBlbGVtZW50cyBiZXR3ZWVuIHRoZSBkZW11eGVyIGFuZCBhcHBzaW5rIGFyZSBzdXBwb3NlZCB0
byBoYXZlIHBhZHMgbmFtZWQgInNpbmsiLgorICAgICAgICAgICAgICAgIG9sZFBlZXJQYWQgPSBh
ZG9wdEdSZWYoZ3N0X3BhZF9nZXRfcGVlcihvbGRQZWVyUGFkLmdldCgpKSk7CisgICAgICAgICAg
ICAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBlbGVtZW50ID0gYWRvcHRHUmVmKGdzdF9wYWRfZ2V0
X3BhcmVudF9lbGVtZW50KG9sZFBlZXJQYWQuZ2V0KCkpKTsKKyAgICAgICAgICAgICAgICBvbGRQ
ZWVyUGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKGVsZW1lbnQuZ2V0
KCksICJzaW5rIikpOworICAgICAgICAgICAgICAgIEFTU0VSVChvbGRQZWVyUGFkKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZ3N0X3BhZF9yZW1vdmVfcHJvYmUocmVtYWluaW5nUGFk
LCBwcm9iZUlkKTsKKworICAgICAgICAgICAgR1JlZlB0cjxHc3RDYXBzPiBvbGRQZWVyUGFkQ2Fw
cyA9IGFkb3B0R1JlZihnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMob2xkUGVlclBhZC5nZXQoKSkp
OworICAgICAgICAgICAgR1JlZlB0cjxHc3RDYXBzPiByZW1haW5pbmdQYWRDYXBzID0gYWRvcHRH
UmVmKGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcyhyZW1haW5pbmdQYWQpKTsKKyAgICAgICAgICAg
IGNvbnN0IGNoYXIqIG9sZFBlZXJQYWRUeXBlID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGNvbnN0
IGNoYXIqIHJlbWFpbmluZ1BhZFR5cGUgPSBudWxscHRyOworCisgICAgICAgICAgICBpZiAob2xk
UGVlclBhZENhcHMpIHsKKyAgICAgICAgICAgICAgICBjb25zdCBHc3RTdHJ1Y3R1cmUqIG9sZFBl
ZXJQYWRDYXBzU3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZShvbGRQZWVyUGFkQ2Fw
cy5nZXQoKSwgMCk7CisgICAgICAgICAgICAgICAgaWYgKG9sZFBlZXJQYWRDYXBzU3RydWN0dXJl
KQorICAgICAgICAgICAgICAgIG9sZFBlZXJQYWRUeXBlID0gZ3N0X3N0cnVjdHVyZV9nZXRfbmFt
ZShvbGRQZWVyUGFkQ2Fwc1N0cnVjdHVyZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAocmVtYWluaW5nUGFkQ2FwcykgeworICAgICAgICAgICAgICAgIGNvbnN0IEdzdFN0cnVjdHVy
ZSogcmVtYWluaW5nUGFkQ2Fwc1N0cnVjdHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUocmVt
YWluaW5nUGFkQ2Fwcy5nZXQoKSwgMCk7CisgICAgICAgICAgICAgICAgaWYgKHJlbWFpbmluZ1Bh
ZENhcHNTdHJ1Y3R1cmUpCisgICAgICAgICAgICAgICAgcmVtYWluaW5nUGFkVHlwZSA9IGdzdF9z
dHJ1Y3R1cmVfZ2V0X25hbWUocmVtYWluaW5nUGFkQ2Fwc1N0cnVjdHVyZSk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGlmIChnX3N0cmNtcDAob2xkUGVlclBhZFR5cGUsIHJlbWFpbmlu
Z1BhZFR5cGUpKSB7CisgICAgICAgICAgICAgICAgR1NUX0VSUk9SKCJUaGUgcmVtYWluaW5nIHBh
ZCBoYXMgYSBibGFja0hvbGVQcm9iZSwgYnV0IGNhbid0IHJlY29ubmVjdCBhcyBtYWluIHBhZCBi
ZWNhdXNlIHRoZSBjYXBzIHR5cGVzIGFyZSBpbmNvbXBhdGlibGU6IG9sZFBlZXJQYWRDYXBzOiAl
IiBHU1RfUFRSX0ZPUk1BVCAiLCByZW1haW5pbmdQYWRDYXBzOiAlIiBHU1RfUFRSX0ZPUk1BVCwg
b2xkUGVlclBhZENhcHMuZ2V0KCksIHJlbWFpbmluZ1BhZENhcHMuZ2V0KCkpOworICAgICAgICAg
ICAgICAgIGlmICghaXNNYWluVGhyZWFkKCkpCisgICAgICAgICAgICAgICAgICAgIGhhbmRsZUVy
cm9yQ29uZGl0aW9uRnJvbVN0cmVhbWluZ1RocmVhZCgpOworICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlLmFwcGVuZFBhcnNpbmdG
YWlsZWQoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIEdTVF9ERUJVRygiVGhlIHJlbWFpbmluZyBwYWQgaGFzIGEgYmxhY2tIb2xlUHJvYmUs
IHJlY29ubmVjdGluZyBhcyBtYWluIHBhZC4gb2xkUGFkOiAlIiBHU1RfUFRSX0ZPUk1BVCAiLCBu
ZXdQYWQ6ICUiIEdTVF9QVFJfRk9STUFUICIsIHBlZXJQYWQ6ICUiIEdTVF9QVFJfRk9STUFULCBk
ZW11eGVyU3JjUGFkLCByZW1haW5pbmdQYWQsIG9sZFBlZXJQYWQuZ2V0KCkpOworCisgICAgICAg
ICAgICBnc3RfcGFkX2xpbmsocmVtYWluaW5nUGFkLCBvbGRQZWVyUGFkLmdldCgpKTsKKyAgICAg
ICAgICAgIGlmIChtX3BhcnNlcikKKyAgICAgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3Rh
dGUobV9wYXJzZXIuZ2V0KCksIEdTVF9TVEFURV9OVUxMKTsKKyAgICAgICAgICAgIGdzdF9lbGVt
ZW50X3NldF9zdGF0ZShtX2FwcHNpbmsuZ2V0KCksIEdTVF9TVEFURV9OVUxMKTsKKyAgICAgICAg
ICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX2FwcHNpbmsuZ2V0KCksIEdTVF9TVEFURV9QTEFZ
SU5HKTsKKyAgICAgICAgICAgIGlmIChtX3BhcnNlcikKKyAgICAgICAgICAgICAgICBnc3RfZWxl
bWVudF9zZXRfc3RhdGUobV9wYXJzZXIuZ2V0KCksIEdTVF9TVEFURV9QTEFZSU5HKTsKKworICAg
ICAgICAgICAgR1NUX0RFQlVHX0JJTl9UT19ET1RfRklMRV9XSVRIX1RTKEdTVF9CSU4obV9waXBl
bGluZS5nZXQoKSksIEdTVF9ERUJVR19HUkFQSF9TSE9XX0FMTCwgIndlYmtpdC1hZnRlci1yZWxp
bmsiKTsKKworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAgICAgR1NU
X0RFQlVHKCJEaXNjb25uZWN0aW5nIGFwcHNpbmsiKTsKIAogICAgIGlmIChtX3BhcnNlcikgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408427</attachid>
            <date>2020-09-10 03:57:49 -0700</date>
            <delta_ts>2020-09-10 05:44:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216039-20200910125747.patch</filename>
            <type>text/plain</type>
            <size>7617</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M3N2JiZjIzZjcwNjU2
YjIxZTNiYjBlZWJhYjQ5ZGQyYTI2NGZkMy4uMmY0ZDRmZGE4ZWZkM2U0NDQ2YmQ2Y2RiYTQ0NDMw
MzEzNTAzZmViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAyICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW01T
RV1bR1N0cmVhbWVyXSBTdXBwb3J0IEdvb2dsZSBEeW5hbWljIEFkIEluc2VydGlvbiAoREFJKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDM5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hhdCBoYXBw
ZW5zIG9uIHRoZSBEQUkgdHJhbnNpdGlvbnMgYmV0d2VlbiByZWd1bGFyIGFuZCBhZHZlcnRpc2Vt
ZW50IHZpZGVvcworICAgICAgICAoYW5kIGJhY2spIG9uIE1QNCBpcyB0aGF0IGVhY2ggdHJhY2sg
aGFzIGEgZGlmZmVyZW50IHN0cmVhbSBpZCwgc28gcXRkZW11eAorICAgICAgICBkb2Vzbid0IHJl
dXNlIHN0cmVhbXMgYW5kIGNyZWF0ZWQgYSBuZXcgcGFkL3N0cmVhbS90cmFjayBmb3IgdGhlIG5l
dyBwaWVjZQorICAgICAgICBvZiB2aWRlby4gT3VyIGN1cnJlbnQgY29kZSBvbmx5IHN1cHBvcnRz
IGEgc2luZ2xlIHNpbXVsdGFuZW91cyB0cmFjayBwZXIKKyAgICAgICAgU291cmNlQnVmZmVyLCBz
byBpdCAiZGlzYWJsZXMiIHRoZSBzZWNvbmQgKG5ldykgb25lIGJ5IGF0dGFjaGluZyBhIGJsYWNr
ayBob2xlCisgICAgICAgIHByb2JlIHdoaWNoIGRyb3BzIGFsbCB0aGUgYnVmZmVycy4gUmlnaHQg
YWZ0ZXIgdGhlIG5ldyBwYWQgaXMgY3JlYXRlZCwgdGhlIG9sZAorICAgICAgICBwYWQvc3RyZWFt
L3RyYWNrIGlzIHJlbW92ZWQsIHNvIGluIHRoZSBlbmQgb25seSBhIHNpbmdsZSAiZGlzYWJsZWQi
IHRyYWNrCisgICAgICAgIHJlbWFpbnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkZXRlY3RzIHRo
YXQgc2l0dWF0aW9uIGFuZCByZWF0dGFjaGVzIHRoZSBzaW5nbGUgcmVtYWluaW5nIHBhZCB0bwor
ICAgICAgICB0aGUgZXhpc3RpbmcgZG93bnN0cmVhbSBlbGVtZW50cyBvZiB0aGUgQXBwZW5kUGlw
ZWxpbmUgKGFuIG9wdGlvbmFsIHBhcnNlciBhbmQKKyAgICAgICAgdGhlIGFwcHNpbmspIGFzIGxv
bmcgYXMgdGhlIG9sZCBhbmQgbmV3IGNhcHMgYXJlIGNvbXBhdGlibGUuIEZvciBhcHBzaW5rIHRv
CisgICAgICAgIGtlZXAgd29ya2luZyBhZnRlciB0aGUgRU9TIGNhdXNlZCBieSB0aGUgb2xkIHBh
ZCByZW1vdmFsLCBpdCBtdXN0IGJlIHJlc2V0IGJ5CisgICAgICAgIGNoYW5naW5nIGl0cyBzdGF0
ZSB0byBOVUxMIGFuZCB0aGVuIHRvIFBMQVlJTkcgYWdhaW4uCisKKyAgICAgICAgRm9yIG1vcmUg
aW5mbyBhbmQgdGVzdCBjYXNlcyBhYm91dCBHb29nbGUgREFJLCBoYXZlIGEgbG9vayBhdDoKKyAg
ICAgICAgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vaW50ZXJhY3RpdmUtbWVkaWEtYWRz
L2RvY3Mvc2Rrcy9odG1sNS9kYWkKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZWFk
cy9nb29nbGVhZHMtaW1hLWh0bWw1LWRhaQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBl
bmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUpOiBJZ25vcmUgRU9TIHdoZW4gdGhlcmUgYXJlIG11
bHRpcGxlIGRlbXV4ZXIgc3JjIHBhZHMuCisgICAgICAgIEl0IGxpa2VseSBtZWFucyB0aGF0IG9u
ZSBvZiB0aGUgcGFkcyBpcyBnb2luZyB0byBiZSByZW1vdmVkIChFT1MgbGVnaXRpbWFsbHkgaGFw
cGVucyByaWdodAorICAgICAgICBiZWZvcmUgdGhhdCkuCisgICAgICAgIChXZWJDb3JlOjpBcHBl
bmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zyb21BbnlUaHJl
YWQpOiBSZWNvbm5lY3QgdGhlCisgICAgICAgIHJlbWFpbmluZyBkZW11eGVyIHBhZCB3aGVuIGl0
J3MgdGhlIGxhc3Qgb25lIHJlbWFpbmluZyBhZnRlciBzb21lIG90aGVyIGhhcyBiZWVuIHJlbW92
ZWQuCisKIDIwMjAtMDktMDggIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIENvbXBhcmluZyBzdHlsZXMgd2l0aCBsYXJnZSBidXQgaWRlbnRpY2FsIGN1c3RvbSBw
cm9wZXJ0eSBtYXBzIGlzIHNsb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAKaW5k
ZXggMTcwOTZmODZlNmI5NDYxZTYwNzFiYWE3MmZiOTRmNGIxOTZiNmFlYS4uYjhmNThhMzNlNzU3
ZWJhMzNmMjAyYzlhNmQyNjhlMGZmM2YyMjViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBl
bGluZS5jcHAKQEAgLTIxNSw3ICsyMTUsOSBAQCBBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxp
bmUoU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciYgc291cmNlQnVmZmVyUHJpdmF0ZQogICAg
ICAgICByZXR1cm4gR1NUX0ZMT1dfT0s7CiAgICAgfSksIHRoaXMpOwogICAgIGdfc2lnbmFsX2Nv
bm5lY3QobV9hcHBzaW5rLmdldCgpLCAiZW9zIiwgR19DQUxMQkFDSygrW10oR3N0RWxlbWVudCos
IEFwcGVuZFBpcGVsaW5lKiBhcHBlbmRQaXBlbGluZSkgewotICAgICAgICBpZiAoYXBwZW5kUGlw
ZWxpbmUtPm1fZXJyb3JSZWNlaXZlZCkKKyAgICAgICAgLy8gSnVzdCBpZ25vcmUgRU9TIHdoZW4g
aGF2aW5nIG1vcmUgdGhhbiBvbmUgcGFkLiBJdCBsaWtlbHkgbWVhbnMgdGhhdCBvbmUgb2YgdGhl
IHBhZHMgaXMKKyAgICAgICAgLy8gZ29pbmcgdG8gYmUgcmVtb3ZlZCBhbmQgdGhlIHJlbWFpbmlu
ZyBvbmUgd2lsbCBiZSByZWF0dGFjaGVkLgorICAgICAgICBpZiAoYXBwZW5kUGlwZWxpbmUtPm1f
ZXJyb3JSZWNlaXZlZCB8fCBhcHBlbmRQaXBlbGluZS0+bV9kZW11eC0+bnVtc3JjcGFkcyA+IDEp
CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgR1NUX0VSUk9SKCJBcHBlbmRQaXBlbGlu
ZSdzIGFwcHNpbmsgcmVjZWl2ZWQgRU9TLiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFuIGlu
dmFsaWQgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKQEAgLTgwMCwxMyArODAyLDcyIEBAIHZv
aWQgQXBwZW5kUGlwZWxpbmU6OmNvbm5lY3REZW11eGVyU3JjUGFkVG9BcHBzaW5rKEdzdFBhZCog
ZGVtdXhlclNyY1BhZCkKICAgICBtX3BsYXllclByaXZhdGUtPnRyYWNrRGV0ZWN0ZWQoKnRoaXMs
IG1fdHJhY2ssIHRydWUpOwogfQogCi12b2lkIEFwcGVuZFBpcGVsaW5lOjpkaXNjb25uZWN0RGVt
dXhlclNyY1BhZEZyb21BcHBzaW5rRnJvbUFueVRocmVhZChHc3RQYWQqKQordm9pZCBBcHBlbmRQ
aXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zyb21BbnlUaHJlYWQo
R3N0UGFkKiBkZW11eGVyU3JjUGFkKQogewogICAgIC8vIE5vdGU6IFRoaXMgZnVuY3Rpb24gY2Fu
IGJlIGNhbGxlZCBlaXRoZXIgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCAoZS5nLiBpZiBhIHN0
cmFuZ2UgaW5pdGlhbGl6YXRpb24gc2VnbWVudCB3aXRoCiAgICAgLy8gaW5jb21wYXRpYmxlIHRy
YWNrcyBpcyBhcHBlbmRlZCBhbmQgdGhlIHNyY3BhZCBkaXNjb25uZWN0ZWQpIG9yIC0tIG1vcmUg
dXN1YWxseSAtLSBmcm9tIHRoZSBtYWluIHRocmVhZCwgd2hlbgogICAgIC8vIGEgc3RhdGUgY2hh
bmdlIGlzIG1hZGUgdG8gYnJpbmcgdGhlIGRlbXV4ZXIgZG93bi4gKFN0YXRlIGNoYW5nZSBvcGVy
YXRpb25zIHJ1biBpbiB0aGUgbWFpbiB0aHJlYWQuKQogICAgIEdTVF9ERUJVR19CSU5fVE9fRE9U
X0ZJTEVfV0lUSF9UUyhHU1RfQklOKG1fcGlwZWxpbmUuZ2V0KCkpLCBHU1RfREVCVUdfR1JBUEhf
U0hPV19BTEwsICJwYWQtcmVtb3ZlZC1iZWZvcmUiKTsKIAorICAgIC8vIFJlY29ubmVjdCB0aGUg
b3RoZXIgcGFkIGlmIGl0J3MgdGhlIG9ubHkgcmVtYWluaW5nIGFmdGVyIHJlbW92aW5nIHRoaXMg
b25lIGFuZCB3YXNuJ3QgY29ubmVjdGVkIHlldCAoaGFzIGEgYmxhY2sgaG9sZSBwcm9iZSkuCisg
ICAgaWYgKG1fZGVtdXgtPm51bXNyY3BhZHMgPT0gMSkgeworICAgICAgICBhdXRvIHJlbWFpbmlu
Z1BhZCA9IEdTVF9QQUQobV9kZW11eC0+c3JjcGFkcy0+ZGF0YSk7CisKKyAgICAgICAgYXV0byBw
cm9iZUlkID0gR1BPSU5URVJfVE9fVUxPTkcoZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpFQ1QocmVt
YWluaW5nUGFkKSwgImJsYWNrSG9sZVByb2JlSWQiKSk7CisgICAgICAgIGlmIChyZW1haW5pbmdQ
YWQgJiYgcHJvYmVJZCkgeworICAgICAgICAgICAgYXV0byBvbGRQZWVyUGFkID0gYWRvcHRHUmVm
KGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKG1fYXBwc2luay5nZXQoKSwgInNpbmsiKSk7Cisg
ICAgICAgICAgICB3aGlsZSAoZ3N0X3BhZF9pc19saW5rZWQob2xkUGVlclBhZC5nZXQoKSkpIHsK
KyAgICAgICAgICAgICAgICAvLyBHZXQgc2luayBwYWQgb2YgdGhlIHBhcnNlciBiZWZvcmUgYXBw
c2luay4KKyAgICAgICAgICAgICAgICAvLyBBbGwgdGhlIGV4cGVjdGVkIGVsZW1lbnRzIGJldHdl
ZW4gdGhlIGRlbXV4ZXIgYW5kIGFwcHNpbmsgYXJlIHN1cHBvc2VkIHRvIGhhdmUgcGFkcyBuYW1l
ZCAic2luayIuCisgICAgICAgICAgICAgICAgb2xkUGVlclBhZCA9IGFkb3B0R1JlZihnc3RfcGFk
X2dldF9wZWVyKG9sZFBlZXJQYWQuZ2V0KCkpKTsKKyAgICAgICAgICAgICAgICBhdXRvIGVsZW1l
bnQgPSBhZG9wdEdSZWYoZ3N0X3BhZF9nZXRfcGFyZW50X2VsZW1lbnQob2xkUGVlclBhZC5nZXQo
KSkpOworICAgICAgICAgICAgICAgIG9sZFBlZXJQYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRf
Z2V0X3N0YXRpY19wYWQoZWxlbWVudC5nZXQoKSwgInNpbmsiKSk7CisgICAgICAgICAgICAgICAg
QVNTRVJUKG9sZFBlZXJQYWQpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBnc3RfcGFk
X3JlbW92ZV9wcm9iZShyZW1haW5pbmdQYWQsIHByb2JlSWQpOworCisgICAgICAgICAgICBhdXRv
IG9sZFBlZXJQYWRDYXBzID0gYWRvcHRHUmVmKGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcyhvbGRQ
ZWVyUGFkLmdldCgpKSk7CisgICAgICAgICAgICBhdXRvIHJlbWFpbmluZ1BhZENhcHMgPSBhZG9w
dEdSZWYoZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKHJlbWFpbmluZ1BhZCkpOworICAgICAgICAg
ICAgY29uc3QgY2hhciogb2xkUGVlclBhZFR5cGUgPSBudWxscHRyOworICAgICAgICAgICAgY29u
c3QgY2hhciogcmVtYWluaW5nUGFkVHlwZSA9IG51bGxwdHI7CisKKyAgICAgICAgICAgIGlmIChv
bGRQZWVyUGFkQ2FwcykgeworICAgICAgICAgICAgICAgIGF1dG8gb2xkUGVlclBhZENhcHNTdHJ1
Y3R1cmUgPSBnc3RfY2Fwc19nZXRfc3RydWN0dXJlKG9sZFBlZXJQYWRDYXBzLmdldCgpLCAwKTsK
KyAgICAgICAgICAgICAgICBpZiAob2xkUGVlclBhZENhcHNTdHJ1Y3R1cmUpCisgICAgICAgICAg
ICAgICAgICAgIG9sZFBlZXJQYWRUeXBlID0gZ3N0X3N0cnVjdHVyZV9nZXRfbmFtZShvbGRQZWVy
UGFkQ2Fwc1N0cnVjdHVyZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAocmVtYWlu
aW5nUGFkQ2FwcykgeworICAgICAgICAgICAgICAgIGF1dG8gcmVtYWluaW5nUGFkQ2Fwc1N0cnVj
dHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUocmVtYWluaW5nUGFkQ2Fwcy5nZXQoKSwgMCk7
CisgICAgICAgICAgICAgICAgaWYgKHJlbWFpbmluZ1BhZENhcHNTdHJ1Y3R1cmUpCisgICAgICAg
ICAgICAgICAgICAgIHJlbWFpbmluZ1BhZFR5cGUgPSBnc3Rfc3RydWN0dXJlX2dldF9uYW1lKHJl
bWFpbmluZ1BhZENhcHNTdHJ1Y3R1cmUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAoZ19zdHJjbXAwKG9sZFBlZXJQYWRUeXBlLCByZW1haW5pbmdQYWRUeXBlKSkgeworICAgICAg
ICAgICAgICAgIEdTVF9FUlJPUigiVGhlIHJlbWFpbmluZyBwYWQgaGFzIGEgYmxhY2tIb2xlUHJv
YmUsIGJ1dCBjYW4ndCByZWNvbm5lY3QgYXMgbWFpbiBwYWQgYmVjYXVzZSB0aGUgY2FwcyB0eXBl
cyBhcmUgaW5jb21wYXRpYmxlOiBvbGRQZWVyUGFkQ2FwczogJSIgR1NUX1BUUl9GT1JNQVQgIiwg
cmVtYWluaW5nUGFkQ2FwczogJSIgR1NUX1BUUl9GT1JNQVQsIG9sZFBlZXJQYWRDYXBzLmdldCgp
LCByZW1haW5pbmdQYWRDYXBzLmdldCgpKTsKKyAgICAgICAgICAgICAgICBpZiAoIWlzTWFpblRo
cmVhZCgpKQorICAgICAgICAgICAgICAgICAgICBoYW5kbGVFcnJvckNvbmRpdGlvbkZyb21TdHJl
YW1pbmdUaHJlYWQoKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
IG1fc291cmNlQnVmZmVyUHJpdmF0ZS5hcHBlbmRQYXJzaW5nRmFpbGVkKCk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBHU1RfREVCVUcoIlRo
ZSByZW1haW5pbmcgcGFkIGhhcyBhIGJsYWNrSG9sZVByb2JlLCByZWNvbm5lY3RpbmcgYXMgbWFp
biBwYWQuIG9sZFBhZDogJSIgR1NUX1BUUl9GT1JNQVQgIiwgbmV3UGFkOiAlIiBHU1RfUFRSX0ZP
Uk1BVCAiLCBwZWVyUGFkOiAlIiBHU1RfUFRSX0ZPUk1BVCwgZGVtdXhlclNyY1BhZCwgcmVtYWlu
aW5nUGFkLCBvbGRQZWVyUGFkLmdldCgpKTsKKworICAgICAgICAgICAgZ3N0X3BhZF9saW5rKHJl
bWFpbmluZ1BhZCwgb2xkUGVlclBhZC5nZXQoKSk7CisgICAgICAgICAgICBpZiAobV9wYXJzZXIp
CisgICAgICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGFyc2VyLmdldCgpLCBH
U1RfU1RBVEVfTlVMTCk7CisgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9hcHBz
aW5rLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7CisgICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRf
c3RhdGUobV9hcHBzaW5rLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CisgICAgICAgICAgICBp
ZiAobV9wYXJzZXIpCisgICAgICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGFy
c2VyLmdldCgpLCBHU1RfU1RBVEVfUExBWUlORyk7CisKKyAgICAgICAgICAgIEdTVF9ERUJVR19C
SU5fVE9fRE9UX0ZJTEVfV0lUSF9UUyhHU1RfQklOKG1fcGlwZWxpbmUuZ2V0KCkpLCBHU1RfREVC
VUdfR1JBUEhfU0hPV19BTEwsICJ3ZWJraXQtYWZ0ZXItcmVsaW5rIik7CisKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKwogICAgIEdTVF9ERUJVRygiRGlzY29ubmVjdGlu
ZyBhcHBzaW5rIik7CiAKICAgICBpZiAobV9wYXJzZXIpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>