<?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>212322</bug_id>
          
          <creation_ts>2020-05-24 05:50:01 -0700</creation_ts>
          <short_desc>[GTK4] Implement file chooser</short_desc>
          <delta_ts>2020-06-03 03:08:27 -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>WebKitGTK</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>210100</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>santosh.mahto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1655701</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-05-24 05:50:01 -0700</bug_when>
    <thetext>It just needs to be ported</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657840</commentid>
    <comment_count>1</comment_count>
      <attachid>400723</attachid>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-01 00:34:38 -0700</bug_when>
    <thetext>Created attachment 400723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657841</commentid>
    <comment_count>2</comment_count>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-01 00:35:17 -0700</bug_when>
    <thetext>Would be nice if anyone could review it, Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657842</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-06-01 00:35:39 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657854</commentid>
    <comment_count>4</comment_count>
      <attachid>400723</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-06-01 02:10:15 -0700</bug_when>
    <thetext>Comment on attachment 400723
Patch

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

&gt; Source/WebCore/ChangeLog:7
&gt; +        to port FileChooser seemlessly.

Typo: seemlessly → seamlessly

&gt; Source/WebCore/platform/gtk/GtkVersioning.h:166
&gt; +        return gtk_file_chooser_select_file(chooser, g_file_new_for_path(filename), NULL);

This leaks the GFile returned by g_file_new_for_path(), please store its return
value in a GRefPtr&lt;GFile&gt; before passing it to gtk_file_chooser_select_file() to
ensure that it will be unref&apos;d properly.

&gt; Source/WebCore/platform/gtk/GtkVersioning.h:178
&gt; +        gchar* uri = g_file_get_path(static_cast&lt;GFile*&gt;(node-&gt;data));

The documentation for gtk_file_chooser_get_filenames() says:

   “If files in the current folder cannot be represented as
    local filenames they will be ignored.“

Therefore we need to check here whether the GFile is local or
not, and skip adding the non-local ones to the result list. I
think that using g_file_is_native() would fit well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657868</commentid>
    <comment_count>5</comment_count>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-01 03:49:28 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #4)
&gt; Comment on attachment 400723 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=400723&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:7
&gt; &gt; +        to port FileChooser seemlessly.
&gt; 
&gt; Typo: seemlessly → seamlessly
&gt; 

 thanks, will update.

&gt; &gt; Source/WebCore/platform/gtk/GtkVersioning.h:166
&gt; &gt; +        return gtk_file_chooser_select_file(chooser, g_file_new_for_path(filename), NULL);
&gt; 
&gt; This leaks the GFile returned by g_file_new_for_path(), please store its
&gt; return
&gt; value in a GRefPtr&lt;GFile&gt; before passing it to
&gt; gtk_file_chooser_select_file() to
&gt; ensure that it will be unref&apos;d properly.
&gt; 

Thanks for pointing this.

&gt; &gt; Source/WebCore/platform/gtk/GtkVersioning.h:178
&gt; &gt; +        gchar* uri = g_file_get_path(static_cast&lt;GFile*&gt;(node-&gt;data));
&gt; 
&gt; The documentation for gtk_file_chooser_get_filenames() says:
&gt; 
&gt;    “If files in the current folder cannot be represented as
&gt;     local filenames they will be ignored.“
&gt; 
&gt; Therefore we need to check here whether the GFile is local or
&gt; not, and skip adding the non-local ones to the result list. I
&gt; think that using g_file_is_native() would fit well.

As per doc g_file_get_path seems to only return localname
&quot;Gets the local pathname for GFile, if one exists. If non-NULL, this is guaranteed to be an absolute, canonical path. It might contain symlinks.&quot;.

Even gtk3 implementation of gtk_file_chooser_get_filenames seems to be doing the same (filtering  local filename by call to g_file_get_path) :
https://gitlab.gnome.org/GNOME/gtk/-/blob/3.24.20/gtk/gtkfilechooser.c#L867</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657889</commentid>
    <comment_count>6</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-06-01 06:56:19 -0700</bug_when>
    <thetext>(In reply to Santosh Mahto from comment #5)
&gt; (In reply to Adrian Perez from comment #4)
&gt; &gt;
&gt; &gt; [...]
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/gtk/GtkVersioning.h:178
&gt; &gt; &gt; +        gchar* uri = g_file_get_path(static_cast&lt;GFile*&gt;(node-&gt;data));
&gt; &gt; 
&gt; &gt; The documentation for gtk_file_chooser_get_filenames() says:
&gt; &gt; 
&gt; &gt;    “If files in the current folder cannot be represented as
&gt; &gt;     local filenames they will be ignored.“
&gt; &gt; 
&gt; &gt; Therefore we need to check here whether the GFile is local or
&gt; &gt; not, and skip adding the non-local ones to the result list. I
&gt; &gt; think that using g_file_is_native() would fit well.
&gt; 
&gt; As per doc g_file_get_path seems to only return localname
&gt; &quot;Gets the local pathname for GFile, if one exists. If non-NULL, this is
&gt; guaranteed to be an absolute, canonical path. It might contain symlinks.&quot;.

Good point. I should have read the documentation for g_file_get_path()
before assuming it would return non-NULL for non-local files. No need to
change this, then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657903</commentid>
    <comment_count>7</comment_count>
      <attachid>400733</attachid>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-01 07:44:38 -0700</bug_when>
    <thetext>Created attachment 400733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657906</commentid>
    <comment_count>8</comment_count>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-01 07:53:35 -0700</bug_when>
    <thetext>Thanks Adrian Perez.
Updated the patch again with some cleanups, so request you to look again.

btw, gtk-ews fails to compile this patch, but it looks like its building wrongly, seems like USE_GTK4 is enabled but GTK3 based sdk are used. Do we have EWS enabled 
for GTK4 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658198</commentid>
    <comment_count>9</comment_count>
      <attachid>400733</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-06-02 01:13:50 -0700</bug_when>
    <thetext>Comment on attachment 400733
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +
&gt; +        Added two function in GtkVersioning.h required
&gt; +        to make FileChooser working with gtk4.
&gt; +
&gt; +        Covered by existing tests.

You should keep the Reviewed by nobody line in the changelog, it will be filled automatically once the patch is accepted.

&gt; Source/WebKit/ChangeLog:7
&gt; +
&gt; +        Enable FileChooser launch with gtk4.
&gt; +

Ditto.

&gt; Source/WebCore/platform/gtk/GtkVersioning.h:23
&gt; +#include &lt;wtf/glib/GRefPtr.h&gt;

We have avoided other dependencies to this file, keeping it gtk only. Maybe wtf could be the only acceptable dep since all other layers depend on wtf.

&gt; Source/WebCore/platform/gtk/GtkVersioning.h:166
&gt; +    if (filename) {

gtk_file_chooser_select_filename in gtk3 doesn&apos;t allow to pass a null filename, so we shouldn&apos;t here either. Add g_return macros to check parameters instead.

&gt; Source/WebCore/platform/gtk/GtkVersioning.h:168
&gt; +        return gtk_file_chooser_select_file(chooser, file.get(), NULL);

This is also present in gtk3, so I think it&apos;s better to use gtk_file_chooser_select_file instead of adding gtk_file_chooser_select_filename definition.

&gt; Source/WebCore/platform/gtk/GtkVersioning.h:178
&gt; +    files = gtk_file_chooser_get_files(chooser);

Same here. We can just use gtk_file_chooser_get_files() for both gtk3 and gtk4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658203</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-06-02 01:15:29 -0700</bug_when>
    <thetext>(In reply to Santosh Mahto from comment #8)
&gt; Thanks Adrian Perez.
&gt; Updated the patch again with some cleanups, so request you to look again.
&gt; 
&gt; btw, gtk-ews fails to compile this patch, but it looks like its building
&gt; wrongly, seems like USE_GTK4 is enabled but GTK3 based sdk are used. Do we
&gt; have EWS enabled 
&gt; for GTK4 ?

I think you need to update WebKit and rebase the patch, there&apos;s now and #else in GtkVersioning.h, it seems the new functions are added after the #else, so for GTK3. We don&apos;t EWS for GTK4 yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658219</commentid>
    <comment_count>11</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-06-02 02:24:02 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #10)
&gt; (In reply to Santosh Mahto from comment #8)
&gt; &gt; Thanks Adrian Perez.
&gt; &gt; Updated the patch again with some cleanups, so request you to look again.
&gt; &gt; 
&gt; &gt; btw, gtk-ews fails to compile this patch, but it looks like its building
&gt; &gt; wrongly, seems like USE_GTK4 is enabled but GTK3 based sdk are used. Do we
&gt; &gt; have EWS enabled 
&gt; &gt; for GTK4 ?
&gt; 
&gt; I think you need to update WebKit and rebase the patch, there&apos;s now and
&gt; #else in GtkVersioning.h, it seems the new functions are added after the
&gt; #else, so for GTK3. We don&apos;t EWS for GTK4 yet.

Yes, that is exactly the problem. I tried applying the patch locally and
the new functions get added after the #else.

Santosh, could you please make sure to pull the latest changes from the
repository and update the patch? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658245</commentid>
    <comment_count>12</comment_count>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-02 05:11:12 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #9)
&gt; Comment on attachment 400733 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=400733&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +
&gt; &gt; +        Added two function in GtkVersioning.h required
&gt; &gt; +        to make FileChooser working with gtk4.
&gt; &gt; +
&gt; &gt; +        Covered by existing tests.
&gt; 
&gt; You should keep the Reviewed by nobody line in the changelog, it will be
&gt; filled automatically once the patch is accepted.
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:7
&gt; &gt; +
&gt; &gt; +        Enable FileChooser launch with gtk4.
&gt; &gt; +
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/gtk/GtkVersioning.h:23
&gt; &gt; +#include &lt;wtf/glib/GRefPtr.h&gt;
&gt; 
&gt; We have avoided other dependencies to this file, keeping it gtk only. Maybe
&gt; wtf could be the only acceptable dep since all other layers depend on wtf.
&gt; 
&gt; &gt; Source/WebCore/platform/gtk/GtkVersioning.h:166
&gt; &gt; +    if (filename) {
&gt; 
&gt; gtk_file_chooser_select_filename in gtk3 doesn&apos;t allow to pass a null
&gt; filename, so we shouldn&apos;t here either. Add g_return macros to check
&gt; parameters instead.
&gt; 
&gt; &gt; Source/WebCore/platform/gtk/GtkVersioning.h:168
&gt; &gt; +        return gtk_file_chooser_select_file(chooser, file.get(), NULL);
&gt; 
&gt; This is also present in gtk3, so I think it&apos;s better to use
&gt; gtk_file_chooser_select_file instead of adding
&gt; gtk_file_chooser_select_filename definition.
&gt; 
&gt; &gt; Source/WebCore/platform/gtk/GtkVersioning.h:178
&gt; &gt; +    files = gtk_file_chooser_get_files(chooser);
&gt; 
&gt; Same here. We can just use gtk_file_chooser_get_files() for both gtk3 and
&gt; gtk4.


Good idea, this way we don&apos;t need to add new functions in GtkVersioning.h, thanks for hinting that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658256</commentid>
    <comment_count>13</comment_count>
      <attachid>400811</attachid>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-02 06:00:24 -0700</bug_when>
    <thetext>Created attachment 400811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658261</commentid>
    <comment_count>14</comment_count>
      <attachid>400811</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-06-02 06:15:12 -0700</bug_when>
    <thetext>Comment on attachment 400811
Patch

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

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:57
&gt;          GRefPtr&lt;GPtrArray&gt; filesArray = adoptGRef(g_ptr_array_new());

This is an existing issue, but I think we were leaking the filenames. I think we should use g_ptr_array_new_with_free_func(g_free)

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:60
&gt; +            gchar* filename = g_file_get_path(static_cast&lt;GFile*&gt;(file-&gt;data));
&gt; +            if (filename)

if (gchar* filename = g_file_get_path(G_FILE(file-&gt;data))

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:63
&gt;          g_ptr_array_add(filesArray.get(), 0);

Now that we are changing this, use nullptr here instead of 0, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658278</commentid>
    <comment_count>15</comment_count>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-02 07:07:26 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #14)
&gt; Comment on attachment 400811 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=400811&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:57
&gt; &gt;          GRefPtr&lt;GPtrArray&gt; filesArray = adoptGRef(g_ptr_array_new());
&gt; 
&gt; This is an existing issue, but I think we were leaking the filenames. I
&gt; think we should use g_ptr_array_new_with_free_func(g_free)

Looks like you are right, we were leaking filename here, I will update patch  to use g_ptr_array_new_with_free_func.

&gt; &gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:60
&gt; &gt; +            gchar* filename = g_file_get_path(static_cast&lt;GFile*&gt;(file-&gt;data));
&gt; &gt; +            if (filename)
&gt; 
&gt; if (gchar* filename = g_file_get_path(G_FILE(file-&gt;data))
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:63
&gt; &gt;          g_ptr_array_add(filesArray.get(), 0);
&gt; 
&gt; Now that we are changing this, use nullptr here instead of 0, please.

Sure will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658303</commentid>
    <comment_count>16</comment_count>
      <attachid>400822</attachid>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-02 08:25:49 -0700</bug_when>
    <thetext>Created attachment 400822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658653</commentid>
    <comment_count>17</comment_count>
      <attachid>400822</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-06-03 02:00:57 -0700</bug_when>
    <thetext>Comment on attachment 400822
Patch

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

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:60
&gt; +            gchar* filename = g_file_get_path(static_cast&lt;GFile*&gt;(file-&gt;data));
&gt; +            if (filename)

if (gchar* filename = g_file_get_path(G_FILE(file-&gt;data))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658657</commentid>
    <comment_count>18</comment_count>
      <attachid>400908</attachid>
    <who name="Santosh Mahto">santosh.mahto</who>
    <bug_when>2020-06-03 02:17:16 -0700</bug_when>
    <thetext>Created attachment 400908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658660</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-03 03:08:25 -0700</bug_when>
    <thetext>Committed r262483: &lt;https://trac.webkit.org/changeset/262483&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400908.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400723</attachid>
            <date>2020-06-01 00:34:38 -0700</date>
            <delta_ts>2020-06-01 07:44:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212322-20200601130436.patch</filename>
            <type>text/plain</type>
            <size>4294</size>
            <attacher name="Santosh Mahto">santosh.mahto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZjNTNmMWJhZmViZTk0
NGViOTU0ZTg4MzlkY2U4NGY4YWI4OGMzMi4uM2QwNGZiODhlMWEzYzE0Y2E4YTk4YTI5Y2U1OWUz
MTFhZTE3YTE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTAxICBTYW50
b3NoIE1haHRvICA8c2FudG9zaC5tYWh0b0Bjb2xsYWJvcmEuY29tPgorCisgICAgICAgIFtHVEs0
XSBJbXBsZW1lbnQgZmlsZSBjaG9vc2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTIzMjIKKworICAgICAgICBBZGRlZCB0d28gZnVuY3Rpb24gaW4g
R3RrVmVyc2lvbmluZy5oLCByZXF1aXJlZAorICAgICAgICB0byBwb3J0IEZpbGVDaG9vc2VyIHNl
ZW1sZXNzbHkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmg6CisgICAgICAgIChndGtfZmlsZV9jaG9v
c2VyX3NlbGVjdF9maWxlbmFtZSk6CisgICAgICAgIChndGtfZmlsZV9jaG9vc2VyX2dldF9maWxl
bmFtZXMpOgorCiAyMDIwLTA1LTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSBhbiBPcHRpb25hbDw+IGZvciBMYXllckZyYWdtZW50Ojpib3Vu
ZGluZ0JveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCA3ZjdkZThkNjg4NGVkMzdhMTJmNjhlYzk2NzEwNjU2NjAxN2Ew
MDMwLi4wMzQzOTIyYzVlYTMzNzQzNjc0NWMyN2IzYjM3MDFlNGM4MTQ2ZmEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDIwLTA2LTAxICBTYW50b3NoIE1haHRvICA8c2FudG9zaC5tYWh0
b0Bjb2xsYWJvcmEuY29tPgorCisgICAgICAgIFtHVEs0XSBJbXBsZW1lbnQgZmlsZSBjaG9vc2Vy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIzMjIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdHdGsuY3BwOgorICAgICAgICAoZmlsZUNob29zZXJE
aWFsb2dSZXNwb25zZUNhbGxiYWNrKToKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdSdW5GaWxlQ2hv
b3Nlcik6CisKIDIwMjAtMDUtMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBFeHBvc2UgbW9yZSBuZXR3b3JrIG1ldHJpY3MgdG8gV2ViQ29y
ZU5TVVJMU2Vzc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0
a1ZlcnNpb25pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5n
LmgKaW5kZXggMWM0Mjg5NjlhY2VlNzg5ZTg4OWUyN2IyZjg1MjY3ZGU3YzI3YTk3MC4uNGFlMWRk
OGMxOWM0NGI3YWFkZjI5ZjAzMjI3YzFlMzViNjkyODY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oCkBAIC0xNTksNCArMTU5LDI5IEBAIGdka19ldmVu
dF9nZXRfa2V5Y29kZShjb25zdCBHZGtFdmVudCogZXZlbnQsIGd1aW50MTYqIGtleWNvZGUpCiAg
ICAgcmV0dXJuIFRSVUU7CiB9CiAKK3N0YXRpYyBpbmxpbmUgZ2Jvb2xlYW4KK2d0a19maWxlX2No
b29zZXJfc2VsZWN0X2ZpbGVuYW1lKEd0a0ZpbGVDaG9vc2VyKiBjaG9vc2VyLCBjb25zdCBnY2hh
ciogZmlsZW5hbWUpCit7CisgICAgaWYgKGZpbGVuYW1lKQorICAgICAgICByZXR1cm4gZ3RrX2Zp
bGVfY2hvb3Nlcl9zZWxlY3RfZmlsZShjaG9vc2VyLCBnX2ZpbGVfbmV3X2Zvcl9wYXRoKGZpbGVu
YW1lKSwgTlVMTCk7CisgICAgcmV0dXJuIEZBTFNFOworfQorCitzdGF0aWMgaW5saW5lIEdTTGlz
dCoKK2d0a19maWxlX2Nob29zZXJfZ2V0X2ZpbGVuYW1lcyhHdGtGaWxlQ2hvb3NlciogY2hvb3Nl
cikKK3sKKyAgICBHU0xpc3QqIGZpbGVzLCAqcmVzdWx0ID0gbnVsbHB0cjsKKworICAgIGZpbGVz
ID0gZ3RrX2ZpbGVfY2hvb3Nlcl9nZXRfZmlsZXMoY2hvb3Nlcik7CisgICAgZm9yIChHU0xpc3Qq
IG5vZGUgPSBmaWxlczsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHQpCisgICAgeworICAgICAgICBn
Y2hhciogdXJpID0gZ19maWxlX2dldF9wYXRoKHN0YXRpY19jYXN0PEdGaWxlKj4obm9kZS0+ZGF0
YSkpOworICAgICAgICBpZiAodXJpKQorICAgICAgICAgICAgcmVzdWx0ID0gZ19zbGlzdF9wcmVw
ZW5kKHJlc3VsdCwgdXJpKTsKKyAgICB9CisgICAgZ19zbGlzdF9mcmVlX2Z1bGwoZmlsZXMsIGdf
b2JqZWN0X3VucmVmKTsKKworICAgIHJldHVybiBnX3NsaXN0X3JldmVyc2UocmVzdWx0KTsKK30K
KwogI2VuZGlmIC8vIFVTRShHVEs0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0d0ay5jcHAKaW5kZXggODcwNDMyNDhiY2QzMTI3M2UwMmRk
MzljYjQxZWY3MjAwNWYwNDYzMy4uODE3NjEzMzMzZjM1MjY3YTVkYWZiMTc1Y2VhZTA0NWU4OTRl
MTJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXdHdGsuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiV2ViS2l0V2ViVmll
d1ByaXZhdGUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9HdGtVdGlsaXRpZXMuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0d0a1ZlcnNpb25pbmcuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRGlzcGxheS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxh
dGZvcm1TY3JlZW4uaD4KICNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgpAQCAtNTMsNyArNTQs
NiBAQCBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3U2NyaXB0RGlhbG9nKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcsIFdlYktpdFNjcmlwdERpYWxvZyogcwogICAgIHJldHVybiBUUlVFOwogfQogCi0jaWYg
IVVTRShHVEs0KQogc3RhdGljIHZvaWQgZmlsZUNob29zZXJEaWFsb2dSZXNwb25zZUNhbGxiYWNr
KEd0a0ZpbGVDaG9vc2VyKiBkaWFsb2csIGdpbnQgcmVzcG9uc2VJRCwgV2ViS2l0RmlsZUNob29z
ZXJSZXF1ZXN0KiByZXF1ZXN0KQogewogICAgIEdSZWZQdHI8V2ViS2l0RmlsZUNob29zZXJSZXF1
ZXN0PiBhZG9wdGVkUmVxdWVzdCA9IGFkb3B0R1JlZihyZXF1ZXN0KTsKQEAgLTY5LDExICs2OSw5
IEBAIHN0YXRpYyB2b2lkIGZpbGVDaG9vc2VyRGlhbG9nUmVzcG9uc2VDYWxsYmFjayhHdGtGaWxl
Q2hvb3NlciogZGlhbG9nLCBnaW50IHJlc3BvCiAKICAgICBnX29iamVjdF91bnJlZihkaWFsb2cp
OwogfQotI2VuZGlmCiAKIGdib29sZWFuIHdlYmtpdFdlYlZpZXdSdW5GaWxlQ2hvb3NlcihXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3QqIHJlcXVlc3QpCiB7
Ci0jaWYgIVVTRShHVEs0KQogICAgIEd0a1dpZGdldCogdG9wbGV2ZWwgPSBndGtfd2lkZ2V0X2dl
dF90b3BsZXZlbChHVEtfV0lER0VUKHdlYlZpZXcpKTsKICAgICBpZiAoIVdlYkNvcmU6OndpZGdl
dElzT25zY3JlZW5Ub3BsZXZlbFdpbmRvdyh0b3BsZXZlbCkpCiAgICAgICAgIHRvcGxldmVsID0g
MDsKQEAgLTk1LDcgKzkzLDYgQEAgZ2Jvb2xlYW4gd2Via2l0V2ViVmlld1J1bkZpbGVDaG9vc2Vy
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdEZpbGVDaG9vc2VyUmUKICAgICBnX3NpZ25h
bF9jb25uZWN0KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFDSyhmaWxlQ2hvb3NlckRpYWxv
Z1Jlc3BvbnNlQ2FsbGJhY2spLCBnX29iamVjdF9yZWYocmVxdWVzdCkpOwogCiAgICAgZ3RrX25h
dGl2ZV9kaWFsb2dfc2hvdyhHVEtfTkFUSVZFX0RJQUxPRyhkaWFsb2cpKTsKLSNlbmRpZgogCiAg
ICAgcmV0dXJuIFRSVUU7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400733</attachid>
            <date>2020-06-01 07:44:38 -0700</date>
            <delta_ts>2020-06-02 06:00:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212322-20200601201436.patch</filename>
            <type>text/plain</type>
            <size>4473</size>
            <attacher name="Santosh Mahto">santosh.mahto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZjNTNmMWJhZmViZTk0
NGViOTU0ZTg4MzlkY2U4NGY4YWI4OGMzMi4uY2FhYzBkN2JiNThlMTViNzQwY2IwMjgxOWRkMDVk
Y2M1MDNiMzIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTAxICBTYW50
b3NoIE1haHRvICA8c2FudG9zaC5tYWh0b0Bjb2xsYWJvcmEuY29tPgorCisgICAgICAgIFtHVEs0
XSBJbXBsZW1lbnQgZmlsZSBjaG9vc2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTIzMjIKKworICAgICAgICBBZGRlZCB0d28gZnVuY3Rpb24gaW4g
R3RrVmVyc2lvbmluZy5oIHJlcXVpcmVkCisgICAgICAgIHRvIG1ha2UgRmlsZUNob29zZXIgd29y
a2luZyB3aXRoIGd0azQuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmg6CisgICAgICAgIChndGtfZmls
ZV9jaG9vc2VyX3NlbGVjdF9maWxlbmFtZSk6CisgICAgICAgIChndGtfZmlsZV9jaG9vc2VyX2dl
dF9maWxlbmFtZXMpOgorCiAyMDIwLTA1LTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBhbiBPcHRpb25hbDw+IGZvciBMYXllckZyYWdtZW50
Ojpib3VuZGluZ0JveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3ZjdkZThkNjg4NGVkMzdhMTJmNjhlYzk2NzEwNjU2
NjAxN2EwMDMwLi5iNzgyNjdiNTk4NTIyMzczMzZiOWFmODMxMTI1YjA1ODkzZTllZmZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA2LTAxICBTYW50b3NoIE1haHRvICA8c2FudG9z
aC5tYWh0b0Bjb2xsYWJvcmEuY29tPgorCisgICAgICAgIFtHVEs0XSBJbXBsZW1lbnQgZmlsZSBj
aG9vc2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTIzMjIKKworICAgICAgICBFbmFibGUgRmlsZUNob29zZXIgbGF1bmNoIHdpdGggZ3RrNC4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdHdGsuY3BwOgorICAgICAg
ICAoZmlsZUNob29zZXJEaWFsb2dSZXNwb25zZUNhbGxiYWNrKToKKyAgICAgICAgKHdlYmtpdFdl
YlZpZXdSdW5GaWxlQ2hvb3Nlcik6CisKIDIwMjAtMDUtMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBFeHBvc2UgbW9yZSBuZXR3b3JrIG1l
dHJpY3MgdG8gV2ViQ29yZU5TVVJMU2Vzc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9HdGtWZXJzaW9uaW5nLmgKaW5kZXggMWM0Mjg5NjlhY2VlNzg5ZTg4OWUyN2IyZjg1MjY3ZGU3
YzI3YTk3MC4uYTU2MjJiOWI2MzllNmQ0Y2NjYzc5NTBjOWEzNjk2YTgzODU3YzdlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oCkBAIC0yMCw2ICsyMCw3
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPGd0ay9ndGsuaD4KIAogI2lmIFVTRShHVEs0KQpAQCAtMTU5LDQgKzE2MCwzMCBAQCBn
ZGtfZXZlbnRfZ2V0X2tleWNvZGUoY29uc3QgR2RrRXZlbnQqIGV2ZW50LCBndWludDE2KiBrZXlj
b2RlKQogICAgIHJldHVybiBUUlVFOwogfQogCitzdGF0aWMgaW5saW5lIGdib29sZWFuCitndGtf
ZmlsZV9jaG9vc2VyX3NlbGVjdF9maWxlbmFtZShHdGtGaWxlQ2hvb3NlciogY2hvb3NlciwgY29u
c3QgZ2NoYXIqIGZpbGVuYW1lKQoreworICAgIGlmIChmaWxlbmFtZSkgeworICAgICAgICBHUmVm
UHRyPEdGaWxlPiBmaWxlID0gYWRvcHRHUmVmKGdfZmlsZV9uZXdfZm9yX3BhdGgoZmlsZW5hbWUp
KTsKKyAgICAgICAgcmV0dXJuIGd0a19maWxlX2Nob29zZXJfc2VsZWN0X2ZpbGUoY2hvb3Nlciwg
ZmlsZS5nZXQoKSwgTlVMTCk7CisgICAgfQorICAgIHJldHVybiBGQUxTRTsKK30KKworc3RhdGlj
IGlubGluZSBHU0xpc3QqCitndGtfZmlsZV9jaG9vc2VyX2dldF9maWxlbmFtZXMoR3RrRmlsZUNo
b29zZXIqIGNob29zZXIpCit7CisgICAgR1NMaXN0KiBmaWxlcywgKnJlc3VsdCA9IG51bGxwdHI7
CisKKyAgICBmaWxlcyA9IGd0a19maWxlX2Nob29zZXJfZ2V0X2ZpbGVzKGNob29zZXIpOworICAg
IGZvciAoR1NMaXN0KiBub2RlID0gZmlsZXM7IG5vZGU7IG5vZGUgPSBub2RlLT5uZXh0KSB7Cisg
ICAgICAgIGdjaGFyKiB1cmkgPSBnX2ZpbGVfZ2V0X3BhdGgoc3RhdGljX2Nhc3Q8R0ZpbGUqPihu
b2RlLT5kYXRhKSk7CisgICAgICAgIGlmICh1cmkpCisgICAgICAgICAgICByZXN1bHQgPSBnX3Ns
aXN0X3ByZXBlbmQocmVzdWx0LCB1cmkpOworICAgIH0KKyAgICBnX3NsaXN0X2ZyZWVfZnVsbChm
aWxlcywgZ19vYmplY3RfdW5yZWYpOworCisgICAgcmV0dXJuIGdfc2xpc3RfcmV2ZXJzZShyZXN1
bHQpOworfQorCiAjZW5kaWYgLy8gVVNFKEdUSzQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdHdGsuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3R3RrLmNwcAppbmRleCA4NzA0MzI0OGJjZDMx
MjczZTAyZGQzOWNiNDFlZjcyMDA1ZjA0NjMzLi44MTc2MTMzMzNmMzUyNjdhNWRhZmIxNzVjZWFl
MDQ1ZTg5NGUxMmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0d0ay5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJXZWJL
aXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0d0a1V0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvR3RrVmVyc2lvbmlu
Zy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1EaXNwbGF5Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF0Zm9ybVNjcmVlbi5oPgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CkBAIC01
Myw3ICs1NCw2IEBAIGdib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHREaWFsb2coV2ViS2l0V2Vi
Vmlldyogd2ViVmlldywgV2ViS2l0U2NyaXB0RGlhbG9nKiBzCiAgICAgcmV0dXJuIFRSVUU7CiB9
CiAKLSNpZiAhVVNFKEdUSzQpCiBzdGF0aWMgdm9pZCBmaWxlQ2hvb3NlckRpYWxvZ1Jlc3BvbnNl
Q2FsbGJhY2soR3RrRmlsZUNob29zZXIqIGRpYWxvZywgZ2ludCByZXNwb25zZUlELCBXZWJLaXRG
aWxlQ2hvb3NlclJlcXVlc3QqIHJlcXVlc3QpCiB7CiAgICAgR1JlZlB0cjxXZWJLaXRGaWxlQ2hv
b3NlclJlcXVlc3Q+IGFkb3B0ZWRSZXF1ZXN0ID0gYWRvcHRHUmVmKHJlcXVlc3QpOwpAQCAtNjks
MTEgKzY5LDkgQEAgc3RhdGljIHZvaWQgZmlsZUNob29zZXJEaWFsb2dSZXNwb25zZUNhbGxiYWNr
KEd0a0ZpbGVDaG9vc2VyKiBkaWFsb2csIGdpbnQgcmVzcG8KIAogICAgIGdfb2JqZWN0X3VucmVm
KGRpYWxvZyk7CiB9Ci0jZW5kaWYKIAogZ2Jvb2xlYW4gd2Via2l0V2ViVmlld1J1bkZpbGVDaG9v
c2VyKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdEZpbGVDaG9vc2VyUmVxdWVzdCogcmVx
dWVzdCkKIHsKLSNpZiAhVVNFKEdUSzQpCiAgICAgR3RrV2lkZ2V0KiB0b3BsZXZlbCA9IGd0a193
aWRnZXRfZ2V0X3RvcGxldmVsKEdUS19XSURHRVQod2ViVmlldykpOwogICAgIGlmICghV2ViQ29y
ZTo6d2lkZ2V0SXNPbnNjcmVlblRvcGxldmVsV2luZG93KHRvcGxldmVsKSkKICAgICAgICAgdG9w
bGV2ZWwgPSAwOwpAQCAtOTUsNyArOTMsNiBAQCBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3UnVuRmls
ZUNob29zZXIoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0RmlsZUNob29zZXJSZQogICAg
IGdfc2lnbmFsX2Nvbm5lY3QoZGlhbG9nLCAicmVzcG9uc2UiLCBHX0NBTExCQUNLKGZpbGVDaG9v
c2VyRGlhbG9nUmVzcG9uc2VDYWxsYmFjayksIGdfb2JqZWN0X3JlZihyZXF1ZXN0KSk7CiAKICAg
ICBndGtfbmF0aXZlX2RpYWxvZ19zaG93KEdUS19OQVRJVkVfRElBTE9HKGRpYWxvZykpOwotI2Vu
ZGlmCiAKICAgICByZXR1cm4gVFJVRTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400811</attachid>
            <date>2020-06-02 06:00:24 -0700</date>
            <delta_ts>2020-06-02 08:25:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212322-20200602183022.patch</filename>
            <type>text/plain</type>
            <size>3772</size>
            <attacher name="Santosh Mahto">santosh.mahto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA0MzExMzZmMDk1MDhkODM2
ODYwMjU5ODQ2ODI4NjFiYjZmNmQ4ODMuLjNjOTY0NTJjYzU2MDUyN2ZjNmZmYjlhYjI1ZjllMGRm
ZDFhOTdiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMDIgIFNhbnRvc2gg
TWFodG8gIDxzYW50b3NoLm1haHRvQGNvbGxhYm9yYS5jb20+CisKKyAgICAgICAgW0dUSzRdIElt
cGxlbWVudCBmaWxlIGNob29zZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMjMyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgRmlsZUNob29zZXIgdG8gZ3RrNCwgTm93IEZpbGVDaG9vc2VyIHVz
ZXMgdW5kZXByZWNhdGVkIGFwaSdzLgorICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3Rz
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0d0ay5jcHA6Cisg
ICAgICAgIChmaWxlQ2hvb3NlckRpYWxvZ1Jlc3BvbnNlQ2FsbGJhY2spOgorICAgICAgICAod2Vi
a2l0V2ViVmlld1J1bkZpbGVDaG9vc2VyKToKKwogMjAyMC0wNi0wMSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aHJlYWQtc2FmZXR5IGlzc3VlIGluIFtX
S1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX2hhbmRsZUJhY2tncm91bmRU
YXNrRXhwaXJhdGlvbl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0d0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdHdGsuY3BwCmluZGV4IGQ0YTU1YzU1NWJlYWRlNWU3NTExMWRmOTA5MmU4
Y2FhNGY0OTA3ODIuLmUxMGYxNTZkOTU4ZjVkOGI5YWMxODFiMzFjMjBjMTI3ZThhZDJlNGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0d0
ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
R3RrLmNwcApAQCAtNDksMjcgKzQ5LDI4IEBAIGdib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHRE
aWFsb2coV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0U2NyaXB0RGlhbG9nKiBzCiAgICAg
cmV0dXJuIFRSVUU7CiB9CiAKLSNpZiAhVVNFKEdUSzQpCiBzdGF0aWMgdm9pZCBmaWxlQ2hvb3Nl
ckRpYWxvZ1Jlc3BvbnNlQ2FsbGJhY2soR3RrRmlsZUNob29zZXIqIGRpYWxvZywgZ2ludCByZXNw
b25zZUlELCBXZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3QqIHJlcXVlc3QpCiB7CiAgICAgR1JlZlB0
cjxXZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3Q+IGFkb3B0ZWRSZXF1ZXN0ID0gYWRvcHRHUmVmKHJl
cXVlc3QpOwogICAgIGlmIChyZXNwb25zZUlEID09IEdUS19SRVNQT05TRV9BQ0NFUFQpIHsKLSAg
ICAgICAgR1VuaXF1ZVB0cjxHU0xpc3Q+IGZpbGVzTGlzdChndGtfZmlsZV9jaG9vc2VyX2dldF9m
aWxlbmFtZXMoZGlhbG9nKSk7CisgICAgICAgIEdTTGlzdCogZmlsZXNMaXN0ID0gZ3RrX2ZpbGVf
Y2hvb3Nlcl9nZXRfZmlsZXMoZGlhbG9nKTsKICAgICAgICAgR1JlZlB0cjxHUHRyQXJyYXk+IGZp
bGVzQXJyYXkgPSBhZG9wdEdSZWYoZ19wdHJfYXJyYXlfbmV3KCkpOwotICAgICAgICBmb3IgKEdT
TGlzdCogZmlsZSA9IGZpbGVzTGlzdC5nZXQoKTsgZmlsZTsgZmlsZSA9IGdfc2xpc3RfbmV4dChm
aWxlKSkKLSAgICAgICAgICAgIGdfcHRyX2FycmF5X2FkZChmaWxlc0FycmF5LmdldCgpLCBmaWxl
LT5kYXRhKTsKKyAgICAgICAgZm9yIChHU0xpc3QqIGZpbGUgPSBmaWxlc0xpc3Q7IGZpbGU7IGZp
bGUgPSBnX3NsaXN0X25leHQoZmlsZSkpIHsKKyAgICAgICAgICAgIGdjaGFyKiBmaWxlbmFtZSA9
IGdfZmlsZV9nZXRfcGF0aChzdGF0aWNfY2FzdDxHRmlsZSo+KGZpbGUtPmRhdGEpKTsKKyAgICAg
ICAgICAgIGlmIChmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBnX3B0cl9hcnJheV9hZGQoZmls
ZXNBcnJheS5nZXQoKSwgZmlsZW5hbWUpOworICAgICAgICB9CiAgICAgICAgIGdfcHRyX2FycmF5
X2FkZChmaWxlc0FycmF5LmdldCgpLCAwKTsKKyAgICAgICAgZ19zbGlzdF9mcmVlX2Z1bGwoZmls
ZXNMaXN0LCBnX29iamVjdF91bnJlZik7CiAgICAgICAgIHdlYmtpdF9maWxlX2Nob29zZXJfcmVx
dWVzdF9zZWxlY3RfZmlsZXMoYWRvcHRlZFJlcXVlc3QuZ2V0KCksIHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgZ2NoYXIqIGNvbnN0Kj4oZmlsZXNBcnJheS0+cGRhdGEpKTsKICAgICB9IGVsc2UKICAg
ICAgICAgd2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2NhbmNlbChhZG9wdGVkUmVxdWVzdC5n
ZXQoKSk7CiAKICAgICBnX29iamVjdF91bnJlZihkaWFsb2cpOwogfQotI2VuZGlmCiAKIGdib29s
ZWFuIHdlYmtpdFdlYlZpZXdSdW5GaWxlQ2hvb3NlcihXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBX
ZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3QqIHJlcXVlc3QpCiB7Ci0jaWYgIVVTRShHVEs0KQogICAg
IEd0a1dpZGdldCogdG9wbGV2ZWwgPSBndGtfd2lkZ2V0X2dldF90b3BsZXZlbChHVEtfV0lER0VU
KHdlYlZpZXcpKTsKICAgICBpZiAoIVdlYkNvcmU6OndpZGdldElzT25zY3JlZW5Ub3BsZXZlbFdp
bmRvdyh0b3BsZXZlbCkpCiAgICAgICAgIHRvcGxldmVsID0gMDsKQEAgLTg1LDEzICs4NiwxNCBA
QCBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3UnVuRmlsZUNob29zZXIoV2ViS2l0V2ViVmlldyogd2Vi
VmlldywgV2ViS2l0RmlsZUNob29zZXJSZQogICAgICAgICBndGtfZmlsZV9jaG9vc2VyX3NldF9m
aWx0ZXIoR1RLX0ZJTEVfQ0hPT1NFUihkaWFsb2cpLCBmaWx0ZXIpOwogICAgIGd0a19maWxlX2No
b29zZXJfc2V0X3NlbGVjdF9tdWx0aXBsZShHVEtfRklMRV9DSE9PU0VSKGRpYWxvZyksIGFsbG93
c011bHRpcGxlU2VsZWN0aW9uKTsKIAotICAgIGlmIChjb25zdCBnY2hhciogY29uc3QqIHNlbGVj
dGVkRmlsZXMgPSB3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZ2V0X3NlbGVjdGVkX2ZpbGVz
KHJlcXVlc3QpKQotICAgICAgICBndGtfZmlsZV9jaG9vc2VyX3NlbGVjdF9maWxlbmFtZShHVEtf
RklMRV9DSE9PU0VSKGRpYWxvZyksIHNlbGVjdGVkRmlsZXNbMF0pOworICAgIGlmIChjb25zdCBn
Y2hhciogY29uc3QqIHNlbGVjdGVkRmlsZXMgPSB3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3Rf
Z2V0X3NlbGVjdGVkX2ZpbGVzKHJlcXVlc3QpKSB7CisgICAgICAgIEdSZWZQdHI8R0ZpbGU+IGZp
bGUgPSBhZG9wdEdSZWYoZ19maWxlX25ld19mb3JfcGF0aChzZWxlY3RlZEZpbGVzWzBdKSk7Cisg
ICAgICAgIGd0a19maWxlX2Nob29zZXJfc2VsZWN0X2ZpbGUoR1RLX0ZJTEVfQ0hPT1NFUihkaWFs
b2cpLCBmaWxlLmdldCgpLCBudWxscHRyKTsKKyAgICB9CiAKICAgICBnX3NpZ25hbF9jb25uZWN0
KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFDSyhmaWxlQ2hvb3NlckRpYWxvZ1Jlc3BvbnNl
Q2FsbGJhY2spLCBnX29iamVjdF9yZWYocmVxdWVzdCkpOwogCiAgICAgZ3RrX25hdGl2ZV9kaWFs
b2dfc2hvdyhHVEtfTkFUSVZFX0RJQUxPRyhkaWFsb2cpKTsKLSNlbmRpZgogCiAgICAgcmV0dXJu
IFRSVUU7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400822</attachid>
            <date>2020-06-02 08:25:49 -0700</date>
            <delta_ts>2020-06-03 02:17:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212322-20200602205547.patch</filename>
            <type>text/plain</type>
            <size>3917</size>
            <attacher name="Santosh Mahto">santosh.mahto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA0MzExMzZmMDk1MDhkODM2
ODYwMjU5ODQ2ODI4NjFiYjZmNmQ4ODMuLjNjOTY0NTJjYzU2MDUyN2ZjNmZmYjlhYjI1ZjllMGRm
ZDFhOTdiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMDIgIFNhbnRvc2gg
TWFodG8gIDxzYW50b3NoLm1haHRvQGNvbGxhYm9yYS5jb20+CisKKyAgICAgICAgW0dUSzRdIElt
cGxlbWVudCBmaWxlIGNob29zZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMjMyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgRmlsZUNob29zZXIgdG8gZ3RrNCwgTm93IEZpbGVDaG9vc2VyIHVz
ZXMgdW5kZXByZWNhdGVkIGFwaSdzLgorICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3Rz
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0d0ay5jcHA6Cisg
ICAgICAgIChmaWxlQ2hvb3NlckRpYWxvZ1Jlc3BvbnNlQ2FsbGJhY2spOgorICAgICAgICAod2Vi
a2l0V2ViVmlld1J1bkZpbGVDaG9vc2VyKToKKwogMjAyMC0wNi0wMSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aHJlYWQtc2FmZXR5IGlzc3VlIGluIFtX
S1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX2hhbmRsZUJhY2tncm91bmRU
YXNrRXhwaXJhdGlvbl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0d0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdHdGsuY3BwCmluZGV4IGQ0YTU1YzU1NWJlYWRlNWU3NTExMWRmOTA5MmU4
Y2FhNGY0OTA3ODIuLjEyMThiOWM1OGZmY2E3Y2RhNGZmZWUxZjRkYmZmYWE0ZWZkNzMwNDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0d0
ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
R3RrLmNwcApAQCAtNDksMjcgKzQ5LDI4IEBAIGdib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHRE
aWFsb2coV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0U2NyaXB0RGlhbG9nKiBzCiAgICAg
cmV0dXJuIFRSVUU7CiB9CiAKLSNpZiAhVVNFKEdUSzQpCiBzdGF0aWMgdm9pZCBmaWxlQ2hvb3Nl
ckRpYWxvZ1Jlc3BvbnNlQ2FsbGJhY2soR3RrRmlsZUNob29zZXIqIGRpYWxvZywgZ2ludCByZXNw
b25zZUlELCBXZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3QqIHJlcXVlc3QpCiB7CiAgICAgR1JlZlB0
cjxXZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3Q+IGFkb3B0ZWRSZXF1ZXN0ID0gYWRvcHRHUmVmKHJl
cXVlc3QpOwogICAgIGlmIChyZXNwb25zZUlEID09IEdUS19SRVNQT05TRV9BQ0NFUFQpIHsKLSAg
ICAgICAgR1VuaXF1ZVB0cjxHU0xpc3Q+IGZpbGVzTGlzdChndGtfZmlsZV9jaG9vc2VyX2dldF9m
aWxlbmFtZXMoZGlhbG9nKSk7Ci0gICAgICAgIEdSZWZQdHI8R1B0ckFycmF5PiBmaWxlc0FycmF5
ID0gYWRvcHRHUmVmKGdfcHRyX2FycmF5X25ldygpKTsKLSAgICAgICAgZm9yIChHU0xpc3QqIGZp
bGUgPSBmaWxlc0xpc3QuZ2V0KCk7IGZpbGU7IGZpbGUgPSBnX3NsaXN0X25leHQoZmlsZSkpCi0g
ICAgICAgICAgICBnX3B0cl9hcnJheV9hZGQoZmlsZXNBcnJheS5nZXQoKSwgZmlsZS0+ZGF0YSk7
Ci0gICAgICAgIGdfcHRyX2FycmF5X2FkZChmaWxlc0FycmF5LmdldCgpLCAwKTsKKyAgICAgICAg
R1NMaXN0KiBmaWxlc0xpc3QgPSBndGtfZmlsZV9jaG9vc2VyX2dldF9maWxlcyhkaWFsb2cpOwor
ICAgICAgICBHUmVmUHRyPEdQdHJBcnJheT4gZmlsZXNBcnJheSA9IGFkb3B0R1JlZihnX3B0cl9h
cnJheV9uZXdfd2l0aF9mcmVlX2Z1bmMoZ19mcmVlKSk7CisgICAgICAgIGZvciAoR1NMaXN0KiBm
aWxlID0gZmlsZXNMaXN0OyBmaWxlOyBmaWxlID0gZ19zbGlzdF9uZXh0KGZpbGUpKSB7CisgICAg
ICAgICAgICBnY2hhciogZmlsZW5hbWUgPSBnX2ZpbGVfZ2V0X3BhdGgoc3RhdGljX2Nhc3Q8R0Zp
bGUqPihmaWxlLT5kYXRhKSk7CisgICAgICAgICAgICBpZiAoZmlsZW5hbWUpCisgICAgICAgICAg
ICAgICAgZ19wdHJfYXJyYXlfYWRkKGZpbGVzQXJyYXkuZ2V0KCksIGZpbGVuYW1lKTsKKyAgICAg
ICAgfQorICAgICAgICBnX3B0cl9hcnJheV9hZGQoZmlsZXNBcnJheS5nZXQoKSwgbnVsbHB0cik7
CisgICAgICAgIGdfc2xpc3RfZnJlZV9mdWxsKGZpbGVzTGlzdCwgZ19vYmplY3RfdW5yZWYpOwog
ICAgICAgICB3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3Rfc2VsZWN0X2ZpbGVzKGFkb3B0ZWRS
ZXF1ZXN0LmdldCgpLCByZWludGVycHJldF9jYXN0PGNvbnN0IGdjaGFyKiBjb25zdCo+KGZpbGVz
QXJyYXktPnBkYXRhKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHdlYmtpdF9maWxlX2Nob29zZXJf
cmVxdWVzdF9jYW5jZWwoYWRvcHRlZFJlcXVlc3QuZ2V0KCkpOwogCiAgICAgZ19vYmplY3RfdW5y
ZWYoZGlhbG9nKTsKIH0KLSNlbmRpZgogCiBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3UnVuRmlsZUNo
b29zZXIoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0KiBy
ZXF1ZXN0KQogewotI2lmICFVU0UoR1RLNCkKICAgICBHdGtXaWRnZXQqIHRvcGxldmVsID0gZ3Rr
X3dpZGdldF9nZXRfdG9wbGV2ZWwoR1RLX1dJREdFVCh3ZWJWaWV3KSk7CiAgICAgaWYgKCFXZWJD
b3JlOjp3aWRnZXRJc09uc2NyZWVuVG9wbGV2ZWxXaW5kb3codG9wbGV2ZWwpKQogICAgICAgICB0
b3BsZXZlbCA9IDA7CkBAIC04NSwxMyArODYsMTQgQEAgZ2Jvb2xlYW4gd2Via2l0V2ViVmlld1J1
bkZpbGVDaG9vc2VyKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdEZpbGVDaG9vc2VyUmUK
ICAgICAgICAgZ3RrX2ZpbGVfY2hvb3Nlcl9zZXRfZmlsdGVyKEdUS19GSUxFX0NIT09TRVIoZGlh
bG9nKSwgZmlsdGVyKTsKICAgICBndGtfZmlsZV9jaG9vc2VyX3NldF9zZWxlY3RfbXVsdGlwbGUo
R1RLX0ZJTEVfQ0hPT1NFUihkaWFsb2cpLCBhbGxvd3NNdWx0aXBsZVNlbGVjdGlvbik7CiAKLSAg
ICBpZiAoY29uc3QgZ2NoYXIqIGNvbnN0KiBzZWxlY3RlZEZpbGVzID0gd2Via2l0X2ZpbGVfY2hv
b3Nlcl9yZXF1ZXN0X2dldF9zZWxlY3RlZF9maWxlcyhyZXF1ZXN0KSkKLSAgICAgICAgZ3RrX2Zp
bGVfY2hvb3Nlcl9zZWxlY3RfZmlsZW5hbWUoR1RLX0ZJTEVfQ0hPT1NFUihkaWFsb2cpLCBzZWxl
Y3RlZEZpbGVzWzBdKTsKKyAgICBpZiAoY29uc3QgZ2NoYXIqIGNvbnN0KiBzZWxlY3RlZEZpbGVz
ID0gd2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF9zZWxlY3RlZF9maWxlcyhyZXF1ZXN0
KSkgeworICAgICAgICBHUmVmUHRyPEdGaWxlPiBmaWxlID0gYWRvcHRHUmVmKGdfZmlsZV9uZXdf
Zm9yX3BhdGgoc2VsZWN0ZWRGaWxlc1swXSkpOworICAgICAgICBndGtfZmlsZV9jaG9vc2VyX3Nl
bGVjdF9maWxlKEdUS19GSUxFX0NIT09TRVIoZGlhbG9nKSwgZmlsZS5nZXQoKSwgbnVsbHB0cik7
CisgICAgfQogCiAgICAgZ19zaWduYWxfY29ubmVjdChkaWFsb2csICJyZXNwb25zZSIsIEdfQ0FM
TEJBQ0soZmlsZUNob29zZXJEaWFsb2dSZXNwb25zZUNhbGxiYWNrKSwgZ19vYmplY3RfcmVmKHJl
cXVlc3QpKTsKIAogICAgIGd0a19uYXRpdmVfZGlhbG9nX3Nob3coR1RLX05BVElWRV9ESUFMT0co
ZGlhbG9nKSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBUUlVFOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400908</attachid>
            <date>2020-06-03 02:17:16 -0700</date>
            <delta_ts>2020-06-03 03:08:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212322-20200603144714.patch</filename>
            <type>text/plain</type>
            <size>3881</size>
            <attacher name="Santosh Mahto">santosh.mahto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA0MzExMzZmMDk1MDhkODM2
ODYwMjU5ODQ2ODI4NjFiYjZmNmQ4ODMuLjNjOTY0NTJjYzU2MDUyN2ZjNmZmYjlhYjI1ZjllMGRm
ZDFhOTdiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMDIgIFNhbnRvc2gg
TWFodG8gIDxzYW50b3NoLm1haHRvQGNvbGxhYm9yYS5jb20+CisKKyAgICAgICAgW0dUSzRdIElt
cGxlbWVudCBmaWxlIGNob29zZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMjMyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgRmlsZUNob29zZXIgdG8gZ3RrNCwgTm93IEZpbGVDaG9vc2VyIHVz
ZXMgdW5kZXByZWNhdGVkIGFwaSdzLgorICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3Rz
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0d0ay5jcHA6Cisg
ICAgICAgIChmaWxlQ2hvb3NlckRpYWxvZ1Jlc3BvbnNlQ2FsbGJhY2spOgorICAgICAgICAod2Vi
a2l0V2ViVmlld1J1bkZpbGVDaG9vc2VyKToKKwogMjAyMC0wNi0wMSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aHJlYWQtc2FmZXR5IGlzc3VlIGluIFtX
S1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX2hhbmRsZUJhY2tncm91bmRU
YXNrRXhwaXJhdGlvbl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0d0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdHdGsuY3BwCmluZGV4IGQ0YTU1YzU1NWJlYWRlNWU3NTExMWRmOTA5MmU4
Y2FhNGY0OTA3ODIuLjljZjBlNmU1ZTUzNGVhNTUwMWNmMzRhOGEzNWJhY2I3ZjAwZDE0NzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0d0
ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
R3RrLmNwcApAQCAtNDksMjcgKzQ5LDI3IEBAIGdib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHRE
aWFsb2coV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0U2NyaXB0RGlhbG9nKiBzCiAgICAg
cmV0dXJuIFRSVUU7CiB9CiAKLSNpZiAhVVNFKEdUSzQpCiBzdGF0aWMgdm9pZCBmaWxlQ2hvb3Nl
ckRpYWxvZ1Jlc3BvbnNlQ2FsbGJhY2soR3RrRmlsZUNob29zZXIqIGRpYWxvZywgZ2ludCByZXNw
b25zZUlELCBXZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3QqIHJlcXVlc3QpCiB7CiAgICAgR1JlZlB0
cjxXZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3Q+IGFkb3B0ZWRSZXF1ZXN0ID0gYWRvcHRHUmVmKHJl
cXVlc3QpOwogICAgIGlmIChyZXNwb25zZUlEID09IEdUS19SRVNQT05TRV9BQ0NFUFQpIHsKLSAg
ICAgICAgR1VuaXF1ZVB0cjxHU0xpc3Q+IGZpbGVzTGlzdChndGtfZmlsZV9jaG9vc2VyX2dldF9m
aWxlbmFtZXMoZGlhbG9nKSk7Ci0gICAgICAgIEdSZWZQdHI8R1B0ckFycmF5PiBmaWxlc0FycmF5
ID0gYWRvcHRHUmVmKGdfcHRyX2FycmF5X25ldygpKTsKLSAgICAgICAgZm9yIChHU0xpc3QqIGZp
bGUgPSBmaWxlc0xpc3QuZ2V0KCk7IGZpbGU7IGZpbGUgPSBnX3NsaXN0X25leHQoZmlsZSkpCi0g
ICAgICAgICAgICBnX3B0cl9hcnJheV9hZGQoZmlsZXNBcnJheS5nZXQoKSwgZmlsZS0+ZGF0YSk7
Ci0gICAgICAgIGdfcHRyX2FycmF5X2FkZChmaWxlc0FycmF5LmdldCgpLCAwKTsKKyAgICAgICAg
R1NMaXN0KiBmaWxlc0xpc3QgPSBndGtfZmlsZV9jaG9vc2VyX2dldF9maWxlcyhkaWFsb2cpOwor
ICAgICAgICBHUmVmUHRyPEdQdHJBcnJheT4gZmlsZXNBcnJheSA9IGFkb3B0R1JlZihnX3B0cl9h
cnJheV9uZXdfd2l0aF9mcmVlX2Z1bmMoZ19mcmVlKSk7CisgICAgICAgIGZvciAoR1NMaXN0KiBm
aWxlID0gZmlsZXNMaXN0OyBmaWxlOyBmaWxlID0gZ19zbGlzdF9uZXh0KGZpbGUpKSB7CisgICAg
ICAgICAgICBpZiAoZ2NoYXIqIGZpbGVuYW1lID0gZ19maWxlX2dldF9wYXRoKEdfRklMRShmaWxl
LT5kYXRhKSkpCisgICAgICAgICAgICAgICAgZ19wdHJfYXJyYXlfYWRkKGZpbGVzQXJyYXkuZ2V0
KCksIGZpbGVuYW1lKTsKKyAgICAgICAgfQorICAgICAgICBnX3B0cl9hcnJheV9hZGQoZmlsZXNB
cnJheS5nZXQoKSwgbnVsbHB0cik7CisgICAgICAgIGdfc2xpc3RfZnJlZV9mdWxsKGZpbGVzTGlz
dCwgZ19vYmplY3RfdW5yZWYpOwogICAgICAgICB3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3Rf
c2VsZWN0X2ZpbGVzKGFkb3B0ZWRSZXF1ZXN0LmdldCgpLCByZWludGVycHJldF9jYXN0PGNvbnN0
IGdjaGFyKiBjb25zdCo+KGZpbGVzQXJyYXktPnBkYXRhKSk7CiAgICAgfSBlbHNlCiAgICAgICAg
IHdlYmtpdF9maWxlX2Nob29zZXJfcmVxdWVzdF9jYW5jZWwoYWRvcHRlZFJlcXVlc3QuZ2V0KCkp
OwogCiAgICAgZ19vYmplY3RfdW5yZWYoZGlhbG9nKTsKIH0KLSNlbmRpZgogCiBnYm9vbGVhbiB3
ZWJraXRXZWJWaWV3UnVuRmlsZUNob29zZXIoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0
RmlsZUNob29zZXJSZXF1ZXN0KiByZXF1ZXN0KQogewotI2lmICFVU0UoR1RLNCkKICAgICBHdGtX
aWRnZXQqIHRvcGxldmVsID0gZ3RrX3dpZGdldF9nZXRfdG9wbGV2ZWwoR1RLX1dJREdFVCh3ZWJW
aWV3KSk7CiAgICAgaWYgKCFXZWJDb3JlOjp3aWRnZXRJc09uc2NyZWVuVG9wbGV2ZWxXaW5kb3co
dG9wbGV2ZWwpKQogICAgICAgICB0b3BsZXZlbCA9IDA7CkBAIC04NSwxMyArODUsMTQgQEAgZ2Jv
b2xlYW4gd2Via2l0V2ViVmlld1J1bkZpbGVDaG9vc2VyKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcs
IFdlYktpdEZpbGVDaG9vc2VyUmUKICAgICAgICAgZ3RrX2ZpbGVfY2hvb3Nlcl9zZXRfZmlsdGVy
KEdUS19GSUxFX0NIT09TRVIoZGlhbG9nKSwgZmlsdGVyKTsKICAgICBndGtfZmlsZV9jaG9vc2Vy
X3NldF9zZWxlY3RfbXVsdGlwbGUoR1RLX0ZJTEVfQ0hPT1NFUihkaWFsb2cpLCBhbGxvd3NNdWx0
aXBsZVNlbGVjdGlvbik7CiAKLSAgICBpZiAoY29uc3QgZ2NoYXIqIGNvbnN0KiBzZWxlY3RlZEZp
bGVzID0gd2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF9zZWxlY3RlZF9maWxlcyhyZXF1
ZXN0KSkKLSAgICAgICAgZ3RrX2ZpbGVfY2hvb3Nlcl9zZWxlY3RfZmlsZW5hbWUoR1RLX0ZJTEVf
Q0hPT1NFUihkaWFsb2cpLCBzZWxlY3RlZEZpbGVzWzBdKTsKKyAgICBpZiAoY29uc3QgZ2NoYXIq
IGNvbnN0KiBzZWxlY3RlZEZpbGVzID0gd2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF9z
ZWxlY3RlZF9maWxlcyhyZXF1ZXN0KSkgeworICAgICAgICBHUmVmUHRyPEdGaWxlPiBmaWxlID0g
YWRvcHRHUmVmKGdfZmlsZV9uZXdfZm9yX3BhdGgoc2VsZWN0ZWRGaWxlc1swXSkpOworICAgICAg
ICBndGtfZmlsZV9jaG9vc2VyX3NlbGVjdF9maWxlKEdUS19GSUxFX0NIT09TRVIoZGlhbG9nKSwg
ZmlsZS5nZXQoKSwgbnVsbHB0cik7CisgICAgfQogCiAgICAgZ19zaWduYWxfY29ubmVjdChkaWFs
b2csICJyZXNwb25zZSIsIEdfQ0FMTEJBQ0soZmlsZUNob29zZXJEaWFsb2dSZXNwb25zZUNhbGxi
YWNrKSwgZ19vYmplY3RfcmVmKHJlcXVlc3QpKTsKIAogICAgIGd0a19uYXRpdmVfZGlhbG9nX3No
b3coR1RLX05BVElWRV9ESUFMT0coZGlhbG9nKSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBUUlVF
OwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>