<?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>219995</bug_id>
          
          <creation_ts>2020-12-17 14:14:12 -0800</creation_ts>
          <short_desc>[GTK][WPE] Expose setCORSDisablingPatterns</short_desc>
          <delta_ts>2021-08-01 20:45:45 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=193489</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=228695</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>220366</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jan-Michael Brummer">jan.brummer</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1715549</commentid>
    <comment_count>0</comment_count>
    <who name="Jan-Michael Brummer">jan.brummer</who>
    <bug_when>2020-12-17 14:14:12 -0800</bug_when>
    <thetext>Expose setCORSDisablingPatterns within gtk part so that we can allow webextension:/// uri schemes in Epiphany.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715552</commentid>
    <comment_count>1</comment_count>
      <attachid>416469</attachid>
    <who name="Jan-Michael Brummer">jan.brummer</who>
    <bug_when>2020-12-17 14:21:27 -0800</bug_when>
    <thetext>Created attachment 416469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715554</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-12-17 14:22:11 -0800</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 https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715564</commentid>
    <comment_count>3</comment_count>
      <attachid>416469</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-12-17 14:40:06 -0800</bug_when>
    <thetext>Comment on attachment 416469
Patch

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

I like it!

&gt; Source/WebKit/ChangeLog:8
&gt; +        No new tests (OOPS!).

Constructing a test for this will be a lot harder than just implementing the API, but it&apos;s required to land new WebKit API.

Something very simple in WebViewTest.cpp should suffice.

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebView.h:594
&gt; +                                                      const gchar * const       *patternList);

gchar* (the * hangs on the type)

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:469
&gt; +void webkit_web_view_set_cors_disabling_patterns(WebKitWebView* webView, const gchar * const *patternList)

Needs a doc comment with introspection annotations and a Since: 2.32 tag.

Also, remember that in WebKit (and most C++ projects) the * hangs on the type, not the variable name. So it&apos;s: const gchar* const * patternList

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:477
&gt; +    for (size_t i = 0; patternList[i]; ++i)

We normally use: i++

(Unless there is really some good reason to use prefix increment, which in this case, there is not.)

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:480
&gt; +    auto&amp; page = *webkitWebViewBaseGetPage(reinterpret_cast&lt;WebKitWebViewBase*&gt;(webView));

I was going to say: you can use a GObject cast: WEBKIT_WEB_VIEW_BASE(webView)

But: actually you can&apos;t, because WebKitWebViewBase doesn&apos;t exist for WPE port. So you&apos;d need an #if PLATFORM(GTK) condition. Then I got confused: why is the WPE EWS green? Finally, I noticed you added this to WebKitWebViewGtk.cpp.

OK, well, there is nothing GTK-specific here. So move this to Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp instead. Then, use getPage(webView) to get the page without having to type WebKitWebViewBase directly, and now this will work for WPE. And lastly, modify Source/WebKit/UIProcess/API/wpe/WebKitWebView.h.

&gt; Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:293
&gt; +webkit_web_view_set_cors_disabling_patterns

Needs to be added to WPE docs as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715569</commentid>
    <comment_count>4</comment_count>
      <attachid>416469</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-12-17 14:54:39 -0800</bug_when>
    <thetext>Comment on attachment 416469
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebView.h:594
&gt;&gt; +                                                      const gchar * const       *patternList);
&gt; 
&gt; gchar* (the * hangs on the type)

Oops, that&apos;s totally wrong because WebKit code style does not apply in the public headers. You had this correct already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715581</commentid>
    <comment_count>5</comment_count>
      <attachid>416474</attachid>
    <who name="Jan-Michael Brummer">jan.brummer</who>
    <bug_when>2020-12-17 15:21:19 -0800</bug_when>
    <thetext>Created attachment 416474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715583</commentid>
    <comment_count>6</comment_count>
    <who name="Jan-Michael Brummer">jan.brummer</who>
    <bug_when>2020-12-17 15:21:48 -0800</bug_when>
    <thetext>Updated version with fixed review findings, EXCEPT test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715675</commentid>
    <comment_count>7</comment_count>
      <attachid>416474</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-12-18 01:46:59 -0800</bug_when>
    <thetext>Comment on attachment 416474
Patch

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

r- because we need an API test. Thanks Jan-Michael!

&gt; Source/WebKit/ChangeLog:8
&gt; +        No new tests (OOPS!).

Remove this line.

&gt; Source/WebKit/ChangeLog:13
&gt; +        * UIProcess/API/gtk/WebKitWebView.h:
&gt; +        * UIProcess/API/gtk/WebKitWebViewGtk.cpp:
&gt; +        (webkit_web_view_set_cors_disabling_patterns):
&gt; +        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:

You should regenerate the changelog, since there are more files modified.

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4717
&gt; + * webkit_web_view_set_cors_disabling_patterns:

what about webkit_web_view_set_cors_allow_list()?

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4719
&gt; + * @patterns: a NULL-terminated list of patterns.

(array zero-terminated=1) (element-type utf8) (transfer none) (nullable): a %NULL-terminated list of patterns

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4721
&gt; + * Sets @pattern for which CORS checks are disabled in @web_view.

I think we need more documentation here. It&apos;s not clear to me what a valid pattern is (check UserContentURLPattern::parse()).

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4729
&gt; +    if (!patterns || !g_strv_length(const_cast&lt;char**&gt;(patterns)))

I don&apos;t think we should return early in this case. Setting an empty list is the only way to reset the patterns. That&apos;s what updateCORSDisablingPatterns() does. I think we should mark patterns as nullable and document that if it&apos;s NULL or empty the patterns will be reset. I think this is consistent with webkit_user_script_new().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715703</commentid>
    <comment_count>8</comment_count>
      <attachid>416511</attachid>
    <who name="Jan-Michael Brummer">jan.brummer</who>
    <bug_when>2020-12-18 06:11:39 -0800</bug_when>
    <thetext>Created attachment 416511
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715704</commentid>
    <comment_count>9</comment_count>
    <who name="Jan-Michael Brummer">jan.brummer</who>
    <bug_when>2020-12-18 06:12:28 -0800</bug_when>
    <thetext>Updated version with fixed review findings, again without test as earlyoom kills my test api enabled webkit build...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715705</commentid>
    <comment_count>10</comment_count>
      <attachid>416511</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-12-18 06:25:43 -0800</bug_when>
    <thetext>Comment on attachment 416511
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4735
&gt; +    if (!allowList)
&gt; +        allowListVector = Vector&lt;String&gt;();

This is not needed, the vector has already been constructed in previous line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715724</commentid>
    <comment_count>11</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-12-18 08:37:58 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #7)
&gt; Comment on attachment 416474 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=416474&amp;action=review
&gt;
&gt; [...]
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4717
&gt; &gt; + * webkit_web_view_set_cors_disabling_patterns:
&gt; 
&gt; what about webkit_web_view_set_cors_allow_list()?

I also like _set_cors_allow_list() better, as it is more consistent having
a name used elsewhere in the public API =) 

&gt; &gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4729
&gt; &gt; +    if (!patterns || !g_strv_length(const_cast&lt;char**&gt;(patterns)))
&gt; 
&gt; I don&apos;t think we should return early in this case. Setting an empty list is
&gt; the only way to reset the patterns. That&apos;s what
&gt; updateCORSDisablingPatterns() does. I think we should mark patterns as
&gt; nullable and document that if it&apos;s NULL or empty the patterns will be reset.
&gt; I think this is consistent with webkit_user_script_new().

Agreed as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715725</commentid>
    <comment_count>12</comment_count>
      <attachid>416521</attachid>
    <who name="Jan-Michael Brummer">jan.brummer</who>
    <bug_when>2020-12-18 08:41:37 -0800</bug_when>
    <thetext>Created attachment 416521
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715726</commentid>
    <comment_count>13</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-12-18 08:41:43 -0800</bug_when>
    <thetext>(By the way, you can take my previous comment as a second review
agreeing on the API addition, I think!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720413</commentid>
    <comment_count>14</comment_count>
      <attachid>416521</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-18 14:17:44 -0800</bug_when>
    <thetext>Comment on attachment 416521
Patch

r- for now so we don&apos;t forget that we need to implement the test. (The API itself looks good.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720414</commentid>
    <comment_count>15</comment_count>
      <attachid>416521</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-01-18 14:18:44 -0800</bug_when>
    <thetext>Comment on attachment 416521
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4725
&gt; + * Sets @allow_list for which CORS (Cross-Origin Resource Sharing) checks are disabled in @web_view.
&gt; + * Passing a %NULL as @allow_list implies that no URIs are disabled for CORS checks.
&gt; + * URI patterns must be of the form `[protocol]://[host]/[path]`, where the
&gt; + * *host* and *path* components can contain the wildcard character (`*`) to
&gt; + * represent zero or more other characters.

We should clarify that requests *to* resources that match the allowed patterns bypass CORS, not requests *from* resources that match the allowed patterns. Otherwise, it&apos;s not clear which. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765575</commentid>
    <comment_count>16</comment_count>
      <attachid>416521</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-06-01 05:01:50 -0700</bug_when>
    <thetext>Comment on attachment 416521
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4727
&gt; + * Since: 2.32

Let&apos;s not forget to update this to 2.34 now

&gt; Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:1488
&gt; +static void testWebViewCORSAllowList(WebViewTest* test, gconstpointer)
&gt; +{
&gt; +}

I will think about how to write a test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766384</commentid>
    <comment_count>17</comment_count>
      <attachid>416521</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-06-03 07:56:18 -0700</bug_when>
    <thetext>Comment on attachment 416521
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4717
&gt; + * webkit_web_view_set_cors_allow_list:

I&apos;m also going to change this to allowlist rather than allow_list, since it recently became common to use it as one word.

&gt;&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4725
&gt;&gt; + * represent zero or more other characters.
&gt; 
&gt; We should clarify that requests *to* resources that match the allowed patterns bypass CORS, not requests *from* resources that match the allowed patterns. Otherwise, it&apos;s not clear which. :)

I&apos;ve expanded this documentation a bit:

 * Sets the @allowlist for which
 * [Cross-Origin Resource Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
 * checks are disabled in @web_view. Passing a %NULL as @allowlist
 * implies that no URIs are disabled for CORS checks. URI patterns must
 * be of the form `[protocol]://[host]/[path]`, where the *host* and
 * *path* components may contain the wildcard character (`*`) to
 * represent zero or more other characters.
 *
 * Disabling CORS checks permits resources from other origins to load
 * allowlisted resources. It does not permit the allowlisted resources
 * to load resources from other origins.
 *
 * If this function is called multiple times, only the allowlist set by
 * the most recent call will be effective.

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:1488
&gt;&gt; +}
&gt; 
&gt; I will think about how to write a test for this.

Going to try to write a test now....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766466</commentid>
    <comment_count>18</comment_count>
      <attachid>430490</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-06-03 11:31:25 -0700</bug_when>
    <thetext>Created attachment 430490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766754</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-04 07:22:49 -0700</bug_when>
    <thetext>Committed r278456 (238476@main): &lt;https://commits.webkit.org/238476@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430490.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416469</attachid>
            <date>2020-12-17 14:21:27 -0800</date>
            <delta_ts>2020-12-17 15:21:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219995-20201217232126.patch</filename>
            <type>text/plain</type>
            <size>3399</size>
            <attacher name="Jan-Michael Brummer">jan.brummer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdjNDA5MDA1MTRhZDU2NGVl
YmJhNDEyMzEwYmVmMmRhNWQ5M2NmZDUuLjM4NDNmYThhN2EzMWNjZjU5YzI4MGI1ODQ2MTU1ZTNh
OTVlYTFhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMTItMTcgIEphbi1NaWNo
YWVsIEJydW1tZXIgIDxqYW4uYnJ1bW1lckB0YWJvcy5vcmc+CisKKyAgICAgICAgW0dUS10gRXhw
b3NlIHNldENPUlNEaXNhYmxpbmdQYXR0ZXJucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5OTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0d0ay5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfc2V0
X2NvcnNfZGlzYWJsaW5nX3BhdHRlcm5zKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9k
b2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dDoKKwogMjAyMC0xMi0wMyAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEludHJvZHVjZSBu
ZXcgZG93bmxvYWQgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5oCmluZGV4IGFjNTE2ODNiNjc1ZDVhOThiNjY1NTMyM2Y5YTUxYzQ5ZTc2MjNh
MWUuLmQwYzU3Nzk2NzQ0MzZhNDk2ZjJmMjVjNzM2MmEzZjNhNzEyYzJiZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCkBAIC01ODksNiAr
NTg5LDEwIEBAIHdlYmtpdF93ZWJfdmlld19nZXRfaW5wdXRfbWV0aG9kX2NvbnRleHQgICAgICAg
ICAgICAgKFdlYktpdFdlYlZpZXcKIFdFQktJVF9BUEkgV2ViS2l0V2Vic2l0ZVBvbGljaWVzICoK
IHdlYmtpdF93ZWJfdmlld19nZXRfd2Vic2l0ZV9wb2xpY2llcyAgICAgICAgICAgICAgICAgKFdl
YktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3KTsKIAorV0VCS0lUX0FQSSB2b2lkCit3
ZWJraXRfd2ViX3ZpZXdfc2V0X2NvcnNfZGlzYWJsaW5nX3BhdHRlcm5zICAgICAgICAgIChXZWJL
aXRXZWJWaWV3ICAgICAgICAgICAgICp3ZWJfdmlldywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICogY29uc3QgICAgICAg
KnBhdHRlcm5MaXN0KTsKKwogCiBHX0VORF9ERUNMUwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdHdGsuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3R3RrLmNwcAppbmRleCA4YjBjODkwYzIx
YmQyZTUzZDc4MDNmMjBlOGRmYTQwYzdjMjEwMmJjLi4zMTk2NDY5YjQwYzcxNWE4NGMwN2RhYjUw
ZTM2YTZjYTViMjY5YWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXdHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0d0ay5jcHAKQEAgLTQ2NSwzICs0NjUsMTggQEAgdm9pZCB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X2JhY2tncm91bmRfY29sb3IoV2ViS2l0V2ViVmlldyogd2ViVmlldywg
R2RrUkdCQSogcmdiYSkKICAgICBhdXRvJiBwYWdlID0gKndlYmtpdFdlYlZpZXdCYXNlR2V0UGFn
ZShyZWludGVycHJldF9jYXN0PFdlYktpdFdlYlZpZXdCYXNlKj4od2ViVmlldykpOwogICAgICpy
Z2JhID0gcGFnZS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZU9yKFdlYkNvcmU6OkNvbG9yOjp3aGl0
ZSk7CiB9CisKK3ZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9jb3JzX2Rpc2FibGluZ19wYXR0ZXJu
cyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBnY2hhciAqIGNvbnN0ICpwYXR0ZXJuTGlz
dCkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7
CisKKyAgICBpZiAoIXBhdHRlcm5MaXN0IHx8ICFnX3N0cnZfbGVuZ3RoKGNvbnN0X2Nhc3Q8Y2hh
cioqPihwYXR0ZXJuTGlzdCkpKQorICAgICAgICByZXR1cm47CisKKyAgICBWZWN0b3I8U3RyaW5n
PiBwYXR0ZXJuczsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgcGF0dGVybkxpc3RbaV07ICsraSkK
KyAgICAgICAgcGF0dGVybnMuYXBwZW5kKFN0cmluZzo6ZnJvbVVURjgocGF0dGVybkxpc3RbaV0p
KTsKKworICAgIGF1dG8mIHBhZ2UgPSAqd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKHJlaW50ZXJw
cmV0X2Nhc3Q8V2ViS2l0V2ViVmlld0Jhc2UqPih3ZWJWaWV3KSk7CisgICAgcGFnZS5zZXRDT1JT
RGlzYWJsaW5nUGF0dGVybnMoV1RGTW92ZShwYXR0ZXJucykpOworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25z
LnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQu
MC1zZWN0aW9ucy50eHQKaW5kZXggZjZmNWI4YzUxZTZjOThiY2JiNmU1ODk0YTBiNjg3OGUyMWNj
ODc1Yi4uZjk0M2I2NzdmOWY4ZjM4MDU4YTU0ZDgxNTViNDZmODZiNzllOGYwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNl
Y3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Vi
a2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CkBAIC0yOTAsNiArMjkwLDggQEAgd2Via2l0X3dlYl92
aWV3X3NlbmRfbWVzc2FnZV90b19wYWdlX2ZpbmlzaAogd2Via2l0X3dlYl92aWV3X3NldF9pbnB1
dF9tZXRob2RfY29udGV4dAogd2Via2l0X3dlYl92aWV3X2dldF9pbnB1dF9tZXRob2RfY29udGV4
dAogd2Via2l0X3dlYl92aWV3X2dldF93ZWJzaXRlX3BvbGljaWVzCit3ZWJraXRfd2ViX3ZpZXdf
c2V0X2NvcnNfZGlzYWJsaW5nX3BhdHRlcm5zCisKIAogPFNVQlNFQ1RJT04gV2ViS2l0SmF2YXNj
cmlwdFJlc3VsdD4KIFdlYktpdEphdmFzY3JpcHRSZXN1bHQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416474</attachid>
            <date>2020-12-17 15:21:19 -0800</date>
            <delta_ts>2020-12-18 06:11:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219995-20201218002118.patch</filename>
            <type>text/plain</type>
            <size>4842</size>
            <attacher name="Jan-Michael Brummer">jan.brummer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdjNDA5MDA1MTRhZDU2NGVl
YmJhNDEyMzEwYmVmMmRhNWQ5M2NmZDUuLjM4NDNmYThhN2EzMWNjZjU5YzI4MGI1ODQ2MTU1ZTNh
OTVlYTFhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMTItMTcgIEphbi1NaWNo
YWVsIEJydW1tZXIgIDxqYW4uYnJ1bW1lckB0YWJvcy5vcmc+CisKKyAgICAgICAgW0dUS10gRXhw
b3NlIHNldENPUlNEaXNhYmxpbmdQYXR0ZXJucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5OTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0d0ay5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfc2V0
X2NvcnNfZGlzYWJsaW5nX3BhdHRlcm5zKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9k
b2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dDoKKwogMjAyMC0xMi0wMyAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEludHJvZHVjZSBu
ZXcgZG93bmxvYWQgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IGIzYzdjMDgyNzc0N2ZlZDc4ZGQ5ZTM1NWFkMDJkMDg5
Y2UwNTlhMWIuLjExZDc1ZDY1ZWMzYWMyZjg2NmRhYjE0N2E1YTliZTUxOTdjZmFlNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3Bw
CkBAIC00NzEyLDMgKzQ3MTIsMjYgQEAgV2ViS2l0V2Vic2l0ZVBvbGljaWVzKiB3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X3dlYnNpdGVfcG9saWNpZXMoV2ViS2l0V2ViVmlldyogd2ViVmkKIAogICAgIHJl
dHVybiB3ZWJWaWV3LT5wcml2LT53ZWJzaXRlUG9saWNpZXMuZ2V0KCk7CiB9CisKKy8qKgorICog
d2Via2l0X3dlYl92aWV3X3NldF9jb3JzX2Rpc2FibGluZ19wYXR0ZXJuczoKKyAqIEB3ZWJfdmll
dzogYSAjV2ViS2l0V2ViVmlldworICogQHBhdHRlcm5zOiBhIE5VTEwtdGVybWluYXRlZCBsaXN0
IG9mIHBhdHRlcm5zLgorICoKKyAqIFNldHMgQHBhdHRlcm4gZm9yIHdoaWNoIENPUlMgY2hlY2tz
IGFyZSBkaXNhYmxlZCBpbiBAd2ViX3ZpZXcuCisgKgorICogU2luY2U6IDIuMzIKKyAqLwordm9p
ZCB3ZWJraXRfd2ViX3ZpZXdfc2V0X2NvcnNfZGlzYWJsaW5nX3BhdHRlcm5zKFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcsIGNvbnN0IGdjaGFyKiBjb25zdCogcGF0dGVybnMpCit7CisgICAgZ19yZXR1
cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOworCisgICAgaWYgKCFwYXR0
ZXJucyB8fCAhZ19zdHJ2X2xlbmd0aChjb25zdF9jYXN0PGNoYXIqKj4ocGF0dGVybnMpKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgVmVjdG9yPFN0cmluZz4gcGF0dGVyblZlY3RvcjsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgcGF0dGVybnNbaV07IGkrKykKKyAgICAgICAgcGF0dGVyblZlY3Rv
ci5hcHBlbmQoU3RyaW5nOjpmcm9tVVRGOChwYXR0ZXJuc1tpXSkpOworCisgICAgZ2V0UGFnZSh3
ZWJWaWV3KS5zZXRDT1JTRGlzYWJsaW5nUGF0dGVybnMoV1RGTW92ZShwYXR0ZXJuVmVjdG9yKSk7
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5o
CmluZGV4IGFjNTE2ODNiNjc1ZDVhOThiNjY1NTMyM2Y5YTUxYzQ5ZTc2MjNhMWUuLjhmMzFkMTlh
NjAwMDU1NzU3NjQ1ZjI3MzJhZjkxOTMxNjU5NzU3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCkBAIC01ODksNiArNTg5LDkgQEAgd2Vi
a2l0X3dlYl92aWV3X2dldF9pbnB1dF9tZXRob2RfY29udGV4dCAgICAgICAgICAgICAoV2ViS2l0
V2ViVmlldwogV0VCS0lUX0FQSSBXZWJLaXRXZWJzaXRlUG9saWNpZXMgKgogd2Via2l0X3dlYl92
aWV3X2dldF93ZWJzaXRlX3BvbGljaWVzICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAg
ICAgICAgICAgICAqd2ViX3ZpZXcpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJfdmll
d19zZXRfY29yc19kaXNhYmxpbmdfcGF0dGVybnMgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAg
ICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKiBjb25zdCAgICAgICAqcGF0dGVybnMpOwog
CiBHX0VORF9ERUNMUwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dAppbmRleCBmNmY1
YjhjNTFlNmM5OGJjYmI2ZTU4OTRhMGI2ODc4ZTIxY2M4NzViLi5mOTQzYjY3N2Y5ZjhmMzgwNThh
NTRkODE1NWI0NmY4NmI3OWU4ZjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQK
QEAgLTI5MCw2ICsyOTAsOCBAQCB3ZWJraXRfd2ViX3ZpZXdfc2VuZF9tZXNzYWdlX3RvX3BhZ2Vf
ZmluaXNoCiB3ZWJraXRfd2ViX3ZpZXdfc2V0X2lucHV0X21ldGhvZF9jb250ZXh0CiB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X2lucHV0X21ldGhvZF9jb250ZXh0CiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3dl
YnNpdGVfcG9saWNpZXMKK3dlYmtpdF93ZWJfdmlld19zZXRfY29yc19kaXNhYmxpbmdfcGF0dGVy
bnMKKwogCiA8U1VCU0VDVElPTiBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0PgogV2ViS2l0SmF2YXNj
cmlwdFJlc3VsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9X
ZWJLaXRXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdl
YlZpZXcuaAppbmRleCAyMzE0OWIwYmY3NGFkMGI2NjgzOTFmZjlkNmNmMWQ5OGZiYzE1OGE4Li5m
NGNmNTA2NDJkYWExZmY5Mzc2YzkwNjI5NDIyNmQwYjAxYjJkMzU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXcuaApAQCAtNTY1LDYgKzU2NSwx
MCBAQCB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2lucHV0X21ldGhvZF9jb250ZXh0ICAgICAgICAgICAg
IChXZWJLaXRXZWJWaWV3CiBXRUJLSVRfQVBJIFdlYktpdFdlYnNpdGVQb2xpY2llcyAqCiB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X3dlYnNpdGVfcG9saWNpZXMgICAgICAgICAgICAgICAgIChXZWJLaXRX
ZWJWaWV3ICAgICAgICAgICAgICp3ZWJfdmlldyk7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0
X3dlYl92aWV3X3NldF9jb3JzX2Rpc2FibGluZ19wYXR0ZXJucyAgICAgICAgICAoV2ViS2l0V2Vi
VmlldyAgICAgICAgICAgICAqd2ViX3ZpZXcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqIGNvbnN0ICAgICAgICpwYXR0
ZXJucyk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0IGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CmluZGV4IDBl
ZTI1MGU1NjMzOGNkYTczMzJkNzA1MDg1ODJhNTlhN2FkMjFjODAuLmM4YWE4NGIxZTVjNzFjMGM5
MTQwMzViYWUzYzJkMzRhYzNlMGRmNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKQEAgLTI2Miw2ICsy
NjIsNyBAQCB3ZWJraXRfd2ViX3ZpZXdfc2VuZF9tZXNzYWdlX3RvX3BhZ2VfZmluaXNoCiB3ZWJr
aXRfd2ViX3ZpZXdfc2V0X2lucHV0X21ldGhvZF9jb250ZXh0CiB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X2lucHV0X21ldGhvZF9jb250ZXh0CiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3dlYnNpdGVfcG9saWNp
ZXMKK3dlYmtpdF93ZWJfdmlld19zZXRfY29yc19kaXNhYmxpbmdfcGF0dGVybnMKIAogPFNVQlNF
Q1RJT04gV2ViS2l0SmF2YXNjcmlwdFJlc3VsdD4KIFdlYktpdEphdmFzY3JpcHRSZXN1bHQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416511</attachid>
            <date>2020-12-18 06:11:39 -0800</date>
            <delta_ts>2020-12-18 08:41:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219995-20201218151137.patch</filename>
            <type>text/plain</type>
            <size>6978</size>
            <attacher name="Jan-Michael Brummer">jan.brummer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdjNDA5MDA1MTRhZDU2NGVl
YmJhNDEyMzEwYmVmMmRhNWQ5M2NmZDUuLjllMzM5ZWYwNWUwNzQ4NzNkODIyNzBjNTAwMzU1ZTYz
MjA1MjMzYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMTItMTggIEphbi1NaWNo
YWVsIEJydW1tZXIgIDxqYW4uYnJ1bW1lckB0YWJvcy5vcmc+CisKKyAgICAgICAgW0dUS11bV1BF
XSBFeHBvc2Ugc2V0Q09SU0Rpc2FibGluZ1BhdHRlcm5zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk5OTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd19saXN0KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQ6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQ6CisKIDIwMjAtMTItMDMgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbnRy
b2R1Y2UgbmV3IGRvd25sb2FkIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBiM2M3YzA4Mjc3NDdmZWQ3OGRkOWUzNTVh
ZDAyZDA4OWNlMDU5YTFiLi44Y2FiMWEzMDNmYjg5ZjQzMzk2YWIzMGJlYzcxZWFmNGY4MjA0NDYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcApAQCAtNDcxMiwzICs0NzEyLDMwIEBAIFdlYktpdFdlYnNpdGVQb2xpY2llcyogd2Vi
a2l0X3dlYl92aWV3X2dldF93ZWJzaXRlX3BvbGljaWVzKFdlYktpdFdlYlZpZXcqIHdlYlZpCiAK
ICAgICByZXR1cm4gd2ViVmlldy0+cHJpdi0+d2Vic2l0ZVBvbGljaWVzLmdldCgpOwogfQorCisv
KioKKyAqIHdlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd19saXN0OgorICogQHdlYl92aWV3
OiBhICNXZWJLaXRXZWJWaWV3CisgKiBAYWxsb3dfbGlzdDogKGFycmF5IHplcm8tdGVybWluYXRl
ZD0xKSAoZWxlbWVudC10eXBlIHV0ZjgpICh0cmFuc2ZlciBub25lKSAobnVsbGFibGUpOiBhbiBh
bGxvd19saXN0IG9mIFVSSSBwYXR0ZXJucyBvciAlTlVMTAorICoKKyAqIFNldHMgQGFsbG93X2xp
c3QgZm9yIHdoaWNoIENPUlMgKENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nKSBjaGVja3Mg
YXJlIGRpc2FibGVkIGluIEB3ZWJfdmlldy4KKyAqIFBhc3NpbmcgYSAlTlVMTCBhcyBAYWxsb3df
bGlzdCBpbXBsaWVzIHRoYXQgbm8gVVJJcyBhcmUgZGlzYWJsZWQgZm9yIENPUlMgY2hlY2tzLgor
ICogVVJJIHBhdHRlcm5zIG11c3QgYmUgb2YgdGhlIGZvcm0gYFtwcm90b2NvbF06Ly9baG9zdF0v
W3BhdGhdYCwgd2hlcmUgdGhlCisgKiAqaG9zdCogYW5kICpwYXRoKiBjb21wb25lbnRzIGNhbiBj
b250YWluIHRoZSB3aWxkY2FyZCBjaGFyYWN0ZXIgKGAqYCkgdG8KKyAqIHJlcHJlc2VudCB6ZXJv
IG9yIG1vcmUgb3RoZXIgY2hhcmFjdGVycy4KKyAqCisgKiBTaW5jZTogMi4zMgorICovCit2b2lk
IHdlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd19saXN0KFdlYktpdFdlYlZpZXcqIHdlYlZp
ZXcsIGNvbnN0IGdjaGFyKiBjb25zdCogYWxsb3dMaXN0KQoreworICAgIGdfcmV0dXJuX2lmX2Zh
aWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpKTsKKworICAgIFZlY3RvcjxTdHJpbmc+IGFs
bG93TGlzdFZlY3RvcjsKKyAgICBpZiAoIWFsbG93TGlzdCkKKyAgICAgICAgYWxsb3dMaXN0VmVj
dG9yID0gVmVjdG9yPFN0cmluZz4oKTsKKyAgICBlbHNlCisgICAgICAgIGZvciAoYXV0byBzdHIg
PSBhbGxvd0xpc3Q7ICpzdHI7ICsrc3RyKQorICAgICAgICAgICAgYWxsb3dMaXN0VmVjdG9yLmFw
cGVuZChTdHJpbmc6OmZyb21VVEY4KCpzdHIpKTsKKworICAgIGdldFBhZ2Uod2ViVmlldykuc2V0
Q09SU0Rpc2FibGluZ1BhdHRlcm5zKFdURk1vdmUoYWxsb3dMaXN0VmVjdG9yKSk7Cit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCmluZGV4IGFj
NTE2ODNiNjc1ZDVhOThiNjY1NTMyM2Y5YTUxYzQ5ZTc2MjNhMWUuLjg5NTAwOTEwMzIzZDExZGYz
OWNkODRkNDc3NjZkMWZmMjkwYjBiZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCkBAIC01ODksNiArNTg5LDkgQEAgd2Via2l0X3dlYl92
aWV3X2dldF9pbnB1dF9tZXRob2RfY29udGV4dCAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldwog
V0VCS0lUX0FQSSBXZWJLaXRXZWJzaXRlUG9saWNpZXMgKgogd2Via2l0X3dlYl92aWV3X2dldF93
ZWJzaXRlX3BvbGljaWVzICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICAg
ICAqd2ViX3ZpZXcpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJfdmlld19zZXRfY29y
c19hbGxvd19saXN0ICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAg
KndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgZ2NoYXIgKiBjb25zdCAgICAgICAqYWxsb3dfbGlzdCk7CiAKIEdfRU5E
X0RFQ0xTCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9j
cy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CmluZGV4IGY2ZjViOGM1MWU2
Yzk4YmNiYjZlNTg5NGEwYjY4NzhlMjFjYzg3NWIuLjFhMDdjMjhhYjY3ODQ4OWVlYmE2OTU2NzVm
NDIwYTI4NDg2MjM0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dApAQCAtMjkw
LDYgKzI5MCw4IEBAIHdlYmtpdF93ZWJfdmlld19zZW5kX21lc3NhZ2VfdG9fcGFnZV9maW5pc2gK
IHdlYmtpdF93ZWJfdmlld19zZXRfaW5wdXRfbWV0aG9kX2NvbnRleHQKIHdlYmtpdF93ZWJfdmll
d19nZXRfaW5wdXRfbWV0aG9kX2NvbnRleHQKIHdlYmtpdF93ZWJfdmlld19nZXRfd2Vic2l0ZV9w
b2xpY2llcword2Via2l0X3dlYl92aWV3X3NldF9jb3JzX2FsbG93X2xpc3QKKwogCiA8U1VCU0VD
VElPTiBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0PgogV2ViS2l0SmF2YXNjcmlwdFJlc3VsdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXcuaAppbmRleCAy
MzE0OWIwYmY3NGFkMGI2NjgzOTFmZjlkNmNmMWQ5OGZiYzE1OGE4Li5hOWEyZTNhNzI0MGI3Yzkw
OGEzMzg3YjhlNGZhYTk0M2VjZTI3ZTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL1dlYktpdFdlYlZpZXcuaApAQCAtNTY1LDYgKzU2NSwxMCBAQCB3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X2lucHV0X21ldGhvZF9jb250ZXh0ICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3
CiBXRUJLSVRfQVBJIFdlYktpdFdlYnNpdGVQb2xpY2llcyAqCiB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X3dlYnNpdGVfcG9saWNpZXMgICAgICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAg
ICAgICp3ZWJfdmlldyk7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYl92aWV3X3NldF9j
b3JzX2FsbG93X2xpc3QgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICAg
ICAqd2ViX3ZpZXcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBnY2hhciAqIGNvbnN0ICAgICAgICphbGxvd19saXN0KTsKKwogR19F
TkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKaW5kZXggMGVlMjUwZTU2MzM4Y2Rh
NzMzMmQ3MDUwODU4MmE1OWE3YWQyMWM4MC4uY2VhMGNlYjNhOWM2MmU1YWYzZjg4MDc2Zjc4NjFm
MDRlMzllMTYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dApAQCAtMjYyLDYgKzI2Miw3IEBAIHdlYmtp
dF93ZWJfdmlld19zZW5kX21lc3NhZ2VfdG9fcGFnZV9maW5pc2gKIHdlYmtpdF93ZWJfdmlld19z
ZXRfaW5wdXRfbWV0aG9kX2NvbnRleHQKIHdlYmtpdF93ZWJfdmlld19nZXRfaW5wdXRfbWV0aG9k
X2NvbnRleHQKIHdlYmtpdF93ZWJfdmlld19nZXRfd2Vic2l0ZV9wb2xpY2llcword2Via2l0X3dl
Yl92aWV3X3NldF9jb3JzX2FsbG93X2xpc3QKIAogPFNVQlNFQ1RJT04gV2ViS2l0SmF2YXNjcmlw
dFJlc3VsdD4KIFdlYktpdEphdmFzY3JpcHRSZXN1bHQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0MDQ1NTdlYzRkN2QyZThmNWUwMGM3NjAzZTkz
ODdjY2NkYWE2ZjNhLi5hYjM1OGRlNDhlYjc2OTU5NThiYTU2Y2YxMzAwOGU4ODVkOGFiYzVhIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjAtMTItMTggIEphbi1NaWNoYWVsIEJydW1tZXIgIDxqYW4uYnJ1bW1lckB0
YWJvcy5vcmc+CisKKyAgICAgICAgW0dUS11bV1BFXSBFeHBvc2Ugc2V0Q09SU0Rpc2FibGluZ1Bh
dHRlcm5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTk5OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViVmlldy5jcHA6Cisg
ICAgICAgICh0ZXN0V2ViVmlld0NPUlNBbGxvd0xpc3QpOgorICAgICAgICAoYmVmb3JlQWxsKToK
KwogMjAyMC0xMi0wMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEludHJvZHVjZSBuZXcgZG93bmxvYWQgU1BJCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZpZXcuY3BwIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNw
cAppbmRleCA5ZWRmY2Y2M2M4OWFkYTllYjFjODk0Y2IxOTNkZDIwM2FiZTlhNmRjLi5hMjUwOWE0
NjJlMThkODVkZGFjMWMwODUxZWE5Y2U2NjRjNGQ2YmE4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZpZXcuY3BwCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViVmlldy5jcHAK
QEAgLTE0ODMsNiArMTQ4MywxMCBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld0V4dGVybmFsQXVk
aW9SZW5kZXJpbmcoQXVkaW9SZW5kZXJpbmdXZWJWaWV3VGVzdCogdGVzdCwgZwogfQogI2VuZGlm
CiAKK3N0YXRpYyB2b2lkIHRlc3RXZWJWaWV3Q09SU0FsbG93TGlzdChXZWJWaWV3VGVzdCogdGVz
dCwgZ2NvbnN0cG9pbnRlcikKK3sKK30KKwogc3RhdGljIHZvaWQgc2VydmVyQ2FsbGJhY2soU291
cFNlcnZlciogc2VydmVyLCBTb3VwTWVzc2FnZSogbWVzc2FnZSwgY29uc3QgY2hhciogcGF0aCwg
R0hhc2hUYWJsZSosIFNvdXBDbGllbnRDb250ZXh0KiwgZ3BvaW50ZXIpCiB7CiAgICAgaWYgKG1l
c3NhZ2UtPm1ldGhvZCAhPSBTT1VQX01FVEhPRF9HRVQpIHsKQEAgLTE1NDYsNiArMTU1MCw3IEBA
IHZvaWQgYmVmb3JlQWxsKCkKICNpZiBQTEFURk9STShXUEUpICYmIFVTRShXUEVCQUNLRU5EX0ZE
T19BVURJT19FWFRFTlNJT04pCiAgICAgQXVkaW9SZW5kZXJpbmdXZWJWaWV3VGVzdDo6YWRkKCJX
ZWJLaXRXZWJWaWV3IiwgImV4dGVybmFsLWF1ZGlvLXJlbmRlcmluZyIsIHRlc3RXZWJWaWV3RXh0
ZXJuYWxBdWRpb1JlbmRlcmluZyk7CiAjZW5kaWYKKyAgICBXZWJWaWV3VGVzdDo6YWRkKCJXZWJL
aXRXZWJWaWV3IiwgImNvcnMtYWxsb3ctbGlzdCIsIHRlc3RXZWJWaWV3QUNPUlNBbGxvd0xpc3Qp
OwogfQogCiB2b2lkIGFmdGVyQWxsKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416521</attachid>
            <date>2020-12-18 08:41:37 -0800</date>
            <delta_ts>2021-06-03 11:31:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219995-20201218174135.patch</filename>
            <type>text/plain</type>
            <size>6930</size>
            <attacher name="Jan-Michael Brummer">jan.brummer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdjNDA5MDA1MTRhZDU2NGVl
YmJhNDEyMzEwYmVmMmRhNWQ5M2NmZDUuLjllMzM5ZWYwNWUwNzQ4NzNkODIyNzBjNTAwMzU1ZTYz
MjA1MjMzYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMTItMTggIEphbi1NaWNo
YWVsIEJydW1tZXIgIDxqYW4uYnJ1bW1lckB0YWJvcy5vcmc+CisKKyAgICAgICAgW0dUS11bV1BF
XSBFeHBvc2Ugc2V0Q09SU0Rpc2FibGluZ1BhdHRlcm5zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk5OTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd19saXN0KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQ6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQ6CisKIDIwMjAtMTItMDMgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbnRy
b2R1Y2UgbmV3IGRvd25sb2FkIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBiM2M3YzA4Mjc3NDdmZWQ3OGRkOWUzNTVh
ZDAyZDA4OWNlMDU5YTFiLi5hMzdhZjc2YjBiY2U4ZWM1ZDVmOWRmZDI1MTMzYTM1MmY5MTNjNzM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcApAQCAtNDcxMiwzICs0NzEyLDI5IEBAIFdlYktpdFdlYnNpdGVQb2xpY2llcyogd2Vi
a2l0X3dlYl92aWV3X2dldF93ZWJzaXRlX3BvbGljaWVzKFdlYktpdFdlYlZpZXcqIHdlYlZpCiAK
ICAgICByZXR1cm4gd2ViVmlldy0+cHJpdi0+d2Vic2l0ZVBvbGljaWVzLmdldCgpOwogfQorCisv
KioKKyAqIHdlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd19saXN0OgorICogQHdlYl92aWV3
OiBhICNXZWJLaXRXZWJWaWV3CisgKiBAYWxsb3dfbGlzdDogKGFycmF5IHplcm8tdGVybWluYXRl
ZD0xKSAoZWxlbWVudC10eXBlIHV0ZjgpICh0cmFuc2ZlciBub25lKSAobnVsbGFibGUpOiBhbiBh
bGxvd19saXN0IG9mIFVSSSBwYXR0ZXJucyBvciAlTlVMTAorICoKKyAqIFNldHMgQGFsbG93X2xp
c3QgZm9yIHdoaWNoIENPUlMgKENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nKSBjaGVja3Mg
YXJlIGRpc2FibGVkIGluIEB3ZWJfdmlldy4KKyAqIFBhc3NpbmcgYSAlTlVMTCBhcyBAYWxsb3df
bGlzdCBpbXBsaWVzIHRoYXQgbm8gVVJJcyBhcmUgZGlzYWJsZWQgZm9yIENPUlMgY2hlY2tzLgor
ICogVVJJIHBhdHRlcm5zIG11c3QgYmUgb2YgdGhlIGZvcm0gYFtwcm90b2NvbF06Ly9baG9zdF0v
W3BhdGhdYCwgd2hlcmUgdGhlCisgKiAqaG9zdCogYW5kICpwYXRoKiBjb21wb25lbnRzIGNhbiBj
b250YWluIHRoZSB3aWxkY2FyZCBjaGFyYWN0ZXIgKGAqYCkgdG8KKyAqIHJlcHJlc2VudCB6ZXJv
IG9yIG1vcmUgb3RoZXIgY2hhcmFjdGVycy4KKyAqCisgKiBTaW5jZTogMi4zMgorICovCit2b2lk
IHdlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd19saXN0KFdlYktpdFdlYlZpZXcqIHdlYlZp
ZXcsIGNvbnN0IGdjaGFyKiBjb25zdCogYWxsb3dMaXN0KQoreworICAgIGdfcmV0dXJuX2lmX2Zh
aWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpKTsKKworICAgIFZlY3RvcjxTdHJpbmc+IGFs
bG93TGlzdFZlY3RvcjsKKyAgICBpZiAoYWxsb3dMaXN0KSB7CisgICAgICAgIGZvciAoYXV0byBz
dHIgPSBhbGxvd0xpc3Q7ICpzdHI7ICsrc3RyKQorICAgICAgICAgICAgYWxsb3dMaXN0VmVjdG9y
LmFwcGVuZChTdHJpbmc6OmZyb21VVEY4KCpzdHIpKTsKKyAgICB9CisKKyAgICBnZXRQYWdlKHdl
YlZpZXcpLnNldENPUlNEaXNhYmxpbmdQYXR0ZXJucyhXVEZNb3ZlKGFsbG93TGlzdFZlY3Rvcikp
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcu
aAppbmRleCBhYzUxNjgzYjY3NWQ1YTk4YjY2NTUzMjNmOWE1MWM0OWU3NjIzYTFlLi44OTUwMDkx
MDMyM2QxMWRmMzljZDg0ZDQ3NzY2ZDFmZjI5MGIwYmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaApAQCAtNTg5LDYgKzU4OSw5IEBAIHdl
YmtpdF93ZWJfdmlld19nZXRfaW5wdXRfbWV0aG9kX2NvbnRleHQgICAgICAgICAgICAgKFdlYktp
dFdlYlZpZXcKIFdFQktJVF9BUEkgV2ViS2l0V2Vic2l0ZVBvbGljaWVzICoKIHdlYmtpdF93ZWJf
dmlld19nZXRfd2Vic2l0ZV9wb2xpY2llcyAgICAgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcg
ICAgICAgICAgICAgKndlYl92aWV3KTsKIAorV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfd2ViX3Zp
ZXdfc2V0X2NvcnNfYWxsb3dfbGlzdCAgICAgICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAg
ICAgICAgICAgICp3ZWJfdmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICogY29uc3QgICAgICAgKmFsbG93X2xpc3Qp
OwogCiBHX0VORF9ERUNMUwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dAppbmRleCBm
NmY1YjhjNTFlNmM5OGJjYmI2ZTU4OTRhMGI2ODc4ZTIxY2M4NzViLi4xYTA3YzI4YWI2Nzg0ODll
ZWJhNjk1Njc1ZjQyMGEyODQ4NjIzNGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50
eHQKQEAgLTI5MCw2ICsyOTAsOCBAQCB3ZWJraXRfd2ViX3ZpZXdfc2VuZF9tZXNzYWdlX3RvX3Bh
Z2VfZmluaXNoCiB3ZWJraXRfd2ViX3ZpZXdfc2V0X2lucHV0X21ldGhvZF9jb250ZXh0CiB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X2lucHV0X21ldGhvZF9jb250ZXh0CiB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X3dlYnNpdGVfcG9saWNpZXMKK3dlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd19saXN0CisK
IAogPFNVQlNFQ1RJT04gV2ViS2l0SmF2YXNjcmlwdFJlc3VsdD4KIFdlYktpdEphdmFzY3JpcHRS
ZXN1bHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0
V2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3
LmgKaW5kZXggMjMxNDliMGJmNzRhZDBiNjY4MzkxZmY5ZDZjZjFkOThmYmMxNThhOC4uYTlhMmUz
YTcyNDBiN2M5MDhhMzM4N2I4ZTRmYWE5NDNlY2UyN2U0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3LmgKQEAgLTU2NSw2ICs1NjUsMTAgQEAg
d2Via2l0X3dlYl92aWV3X2dldF9pbnB1dF9tZXRob2RfY29udGV4dCAgICAgICAgICAgICAoV2Vi
S2l0V2ViVmlldwogV0VCS0lUX0FQSSBXZWJLaXRXZWJzaXRlUG9saWNpZXMgKgogd2Via2l0X3dl
Yl92aWV3X2dldF93ZWJzaXRlX3BvbGljaWVzICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmll
dyAgICAgICAgICAgICAqd2ViX3ZpZXcpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJf
dmlld19zZXRfY29yc19hbGxvd19saXN0ICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcg
ICAgICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKiBjb25zdCAgICAgICAqYWxsb3dfbGlz
dCk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CmluZGV4IDBlZTI1
MGU1NjMzOGNkYTczMzJkNzA1MDg1ODJhNTlhN2FkMjFjODAuLmNlYTBjZWIzYTljNjJlNWFmM2Y4
ODA3NmY3ODYxZjA0ZTM5ZTE2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKQEAgLTI2Miw2ICsyNjIs
NyBAQCB3ZWJraXRfd2ViX3ZpZXdfc2VuZF9tZXNzYWdlX3RvX3BhZ2VfZmluaXNoCiB3ZWJraXRf
d2ViX3ZpZXdfc2V0X2lucHV0X21ldGhvZF9jb250ZXh0CiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2lu
cHV0X21ldGhvZF9jb250ZXh0CiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3dlYnNpdGVfcG9saWNpZXMK
K3dlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd19saXN0CiAKIDxTVUJTRUNUSU9OIFdlYktp
dEphdmFzY3JpcHRSZXN1bHQ+CiBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDA0NTU3ZWM0ZDdkMmU4ZjVl
MDBjNzYwM2U5Mzg3Y2NjZGFhNmYzYS4uYWIzNThkZTQ4ZWI3Njk1OTU4YmE1NmNmMTMwMDhlODg1
ZDhhYmM1YSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTEyLTE4ICBKYW4tTWljaGFlbCBCcnVtbWVyICA8amFu
LmJydW1tZXJAdGFib3Mub3JnPgorCisgICAgICAgIFtHVEtdW1dQRV0gRXhwb3NlIHNldENPUlNE
aXNhYmxpbmdQYXR0ZXJucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE5OTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZp
ZXcuY3BwOgorICAgICAgICAodGVzdFdlYlZpZXdDT1JTQWxsb3dMaXN0KToKKyAgICAgICAgKGJl
Zm9yZUFsbCk6CisKIDIwMjAtMTItMDMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBJbnRyb2R1Y2UgbmV3IGRvd25sb2FkIFNQSQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJW
aWV3LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0
V2ViVmlldy5jcHAKaW5kZXggOWVkZmNmNjNjODlhZGE5ZWIxYzg5NGNiMTkzZGQyMDNhYmU5YTZk
Yy4uOGI5OGUxMDU2OTBiNmQyNDQ4MjEwOThlM2JmMTYyZDliMWM5NWIxMiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNw
cAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdl
YlZpZXcuY3BwCkBAIC0xNDgzLDYgKzE0ODMsMTAgQEAgc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdF
eHRlcm5hbEF1ZGlvUmVuZGVyaW5nKEF1ZGlvUmVuZGVyaW5nV2ViVmlld1Rlc3QqIHRlc3QsIGcK
IH0KICNlbmRpZgogCitzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld0NPUlNBbGxvd0xpc3QoV2ViVmll
d1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCit7Cit9CisKIHN0YXRpYyB2b2lkIHNlcnZlckNh
bGxiYWNrKFNvdXBTZXJ2ZXIqIHNlcnZlciwgU291cE1lc3NhZ2UqIG1lc3NhZ2UsIGNvbnN0IGNo
YXIqIHBhdGgsIEdIYXNoVGFibGUqLCBTb3VwQ2xpZW50Q29udGV4dCosIGdwb2ludGVyKQogewog
ICAgIGlmIChtZXNzYWdlLT5tZXRob2QgIT0gU09VUF9NRVRIT0RfR0VUKSB7CkBAIC0xNTQ2LDYg
KzE1NTAsNyBAQCB2b2lkIGJlZm9yZUFsbCgpCiAjaWYgUExBVEZPUk0oV1BFKSAmJiBVU0UoV1BF
QkFDS0VORF9GRE9fQVVESU9fRVhURU5TSU9OKQogICAgIEF1ZGlvUmVuZGVyaW5nV2ViVmlld1Rl
c3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJleHRlcm5hbC1hdWRpby1yZW5kZXJpbmciLCB0ZXN0
V2ViVmlld0V4dGVybmFsQXVkaW9SZW5kZXJpbmcpOwogI2VuZGlmCisgICAgV2ViVmlld1Rlc3Q6
OmFkZCgiV2ViS2l0V2ViVmlldyIsICJjb3JzLWFsbG93LWxpc3QiLCB0ZXN0V2ViVmlld0NPUlNB
bGxvd0xpc3QpOwogfQogCiB2b2lkIGFmdGVyQWxsKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430490</attachid>
            <date>2021-06-03 11:31:25 -0700</date>
            <delta_ts>2021-06-04 07:22:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219995-20210603133124.patch</filename>
            <type>text/plain</type>
            <size>10308</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVkNTg1OTgxOTQ1YzczNzNh
MjZlYjkwYzRkMGZiMjZlY2I1YzlmMjIuLmZmYWRhNTg0M2I1OTZiODczOTcwNDE0NmIzNGMzMDYw
ZWQ3MDE1ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDYtMDMgIEphbi1NaWNo
YWVsIEJydW1tZXIgIDxqYW4uYnJ1bW1lckB0YWJvcy5vcmc+CisKKyAgICAgICAgW0dUS11bV1BF
XSBFeHBvc2Ugc2V0Q09SU0Rpc2FibGluZ1BhdHRlcm5zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk5OTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd2xpc3QpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dDoKKwogMjAyMS0wNi0wMyAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJd
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X2Nvbm5lY3Rpb25fcmV1c2VfbWl4ZWRfY29udGVudC5odG1sIGlzIGZhaWxpbmcgc2luY2UgcjI3
NzQ5MwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcAppbmRleCBkNDZlMDMzOGY2MzM1ZmE0ZTU4MWFlM2ZlODMyYzQ0NWViMDBiZDE4Li5m
MmE4ODZmZmZjMzY2MDhjNjMyYjAzNDliNGZlNTE3ZGFjZmIxNTE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcApAQCAtNDc4MCwz
ICs0NzgwLDM4IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X3Rlcm1pbmF0ZV93ZWJfcHJvY2VzcyhX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgICAgICBwcm90ZWN0ZWRQcm9jZXNzUHJveHktPnJl
cXVlc3RUZXJtaW5hdGlvbihXZWJLaXQ6OlByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6UmVxdWVz
dGVkQnlDbGllbnQpOwogICAgIH0KIH0KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfc2V0X2Nv
cnNfYWxsb3dsaXN0OgorICogQHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CisgKiBAYWxsb3ds
aXN0OiAoYXJyYXkgemVyby10ZXJtaW5hdGVkPTEpIChlbGVtZW50LXR5cGUgdXRmOCkgKHRyYW5z
ZmVyIG5vbmUpIChudWxsYWJsZSk6IGFuIGFsbG93bGlzdCBvZiBVUkkgcGF0dGVybnMsIG9yICVO
VUxMCisgKgorICogU2V0cyB0aGUgQGFsbG93bGlzdCBmb3Igd2hpY2gKKyAqIFtDcm9zcy1Pcmln
aW4gUmVzb3VyY2UgU2hhcmluZ10oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMv
ZG9jcy9XZWIvSFRUUC9DT1JTKQorICogY2hlY2tzIGFyZSBkaXNhYmxlZCBpbiBAd2ViX3ZpZXcu
IFVSSSBwYXR0ZXJucyBtdXN0IGJlIG9mIHRoZSBmb3JtCisgKiBgW3Byb3RvY29sXTovL1tob3N0
XS9bcGF0aF1gLCBlYWNoIGNvbXBvbmVudCBtYXkgY29udGFpbiB0aGUgd2lsZGNhcmQKKyAqIGNo
YXJhY3RlciAoYCpgKSB0byByZXByZXNlbnQgemVybyBvciBtb3JlIG90aGVyIGNoYXJhY3RlcnMu
IEFsbCB0aHJlZQorICogY29tcG9uZW50cyBhcmUgcmVxdWlyZWQgYW5kIG11c3Qgbm90IGJlIG9t
aXR0ZWQgZnJvbSB0aGUgVVJJCisgKiBwYXR0ZXJucy4KKyAqCisgKiBEaXNhYmxpbmcgQ09SUyBj
aGVja3MgcGVybWl0cyByZXNvdXJjZXMgZnJvbSBvdGhlciBvcmlnaW5zIHRvIGxvYWQKKyAqIGFs
bG93bGlzdGVkIHJlc291cmNlcy4gSXQgZG9lcyBub3QgcGVybWl0IHRoZSBhbGxvd2xpc3RlZCBy
ZXNvdXJjZXMKKyAqIHRvIGxvYWQgcmVzb3VyY2VzIGZyb20gb3RoZXIgb3JpZ2lucy4KKyAqCisg
KiBJZiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBtdWx0aXBsZSB0aW1lcywgb25seSB0aGUgYWxs
b3dsaXN0IHNldCBieQorICogdGhlIG1vc3QgcmVjZW50IGNhbGwgd2lsbCBiZSBlZmZlY3RpdmUu
CisgKgorICogU2luY2U6IDIuMzQKKyAqLwordm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0X2NvcnNf
YWxsb3dsaXN0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IGdjaGFyKiBjb25zdCogYWxs
b3dMaXN0KQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZp
ZXcpKTsKKworICAgIFZlY3RvcjxTdHJpbmc+IGFsbG93TGlzdFZlY3RvcjsKKyAgICBpZiAoYWxs
b3dMaXN0KSB7CisgICAgICAgIGZvciAoYXV0byBzdHIgPSBhbGxvd0xpc3Q7ICpzdHI7ICsrc3Ry
KQorICAgICAgICAgICAgYWxsb3dMaXN0VmVjdG9yLmFwcGVuZChTdHJpbmc6OmZyb21VVEY4KCpz
dHIpKTsKKyAgICB9CisKKyAgICBnZXRQYWdlKHdlYlZpZXcpLnNldENPUlNEaXNhYmxpbmdQYXR0
ZXJucyhXVEZNb3ZlKGFsbG93TGlzdFZlY3RvcikpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAppbmRleCAzYzhkMTZiMDYwNDA5OTVkZTVh
NDBkZTUzYjBhZGIxNzliMzM2ZTZmLi44YjQyMDhlZmNkNzYxNTAyNjcwYzNjY2VjZjNhMGY4OGEx
MTQ5MzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXcuaApAQCAtNTg3LDYgKzU4Nyw5IEBAIHdlYmtpdF93ZWJfdmlld19zZXRfaW5wdXRfbWV0
aG9kX2NvbnRleHQgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcKIFdFQktJVF9BUEkgV2ViS2l0
SW5wdXRNZXRob2RDb250ZXh0ICoKIHdlYmtpdF93ZWJfdmlld19nZXRfaW5wdXRfbWV0aG9kX2Nv
bnRleHQgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3KTsK
IAorV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfd2ViX3ZpZXdfc2V0X2NvcnNfYWxsb3dsaXN0ICAg
ICAgICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICp3ZWJfdmlldywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGdjaGFyICogY29uc3QgICAgICAgKmFsbG93bGlzdCk7CiAKIFdFQktJVF9BUEkgV2ViS2l0V2Vi
c2l0ZVBvbGljaWVzICoKIHdlYmtpdF93ZWJfdmlld19nZXRfd2Vic2l0ZV9wb2xpY2llcyAgICAg
ICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQu
MC1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Vi
a2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CmluZGV4IGFjMTUyMjVkYTFjOTA1YjdhZjkzZjAwZmU2
MTEwODlmYmQ0MDI5ZTIuLmYxMDZiMGRmOGFkOTFkZGQxMGI5ZGZjZGZiOTlkNTY0MjUwMWRmN2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQy
Z3RrLTQuMC1zZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dApAQCAtMjkyLDYgKzI5Miw3IEBAIHdl
YmtpdF93ZWJfdmlld19nZXRfaW5wdXRfbWV0aG9kX2NvbnRleHQKIHdlYmtpdF93ZWJfdmlld19n
ZXRfd2Vic2l0ZV9wb2xpY2llcwogd2Via2l0X3dlYl92aWV3X2dldF9pc193ZWJfcHJvY2Vzc19y
ZXNwb25zaXZlCiB3ZWJraXRfd2ViX3ZpZXdfdGVybWluYXRlX3dlYl9wcm9jZXNzCit3ZWJraXRf
d2ViX3ZpZXdfc2V0X2NvcnNfYWxsb3dsaXN0CiAKIDxTVUJTRUNUSU9OIFdlYktpdEphdmFzY3Jp
cHRSZXN1bHQ+CiBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViVmlldy5oCmluZGV4IDVmNzk3NjQ0YTMyNWM1YmUwYWM0
MTU3NTVjMmFlY2NlZmU5NzI2MzIuLjQzYWZjYTAzMGQ5M2Q1ODFhMWZjMzM0NTk1NGEzZDFlMGQ5
OTlkOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0
V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vi
Vmlldy5oCkBAIC01NzMsNiArNTczLDEwIEBAIHdlYmtpdF93ZWJfdmlld19nZXRfaXNfd2ViX3By
b2Nlc3NfcmVzcG9uc2l2ZSAgICAgICAgKFdlYktpdFdlYlZpZXcKIFdFQktJVF9BUEkgdm9pZAog
d2Via2l0X3dlYl92aWV3X3Rlcm1pbmF0ZV93ZWJfcHJvY2VzcyAgICAgICAgICAgICAgICAoV2Vi
S2l0V2ViVmlldyAgICAgICAgICAgICAqd2ViX3ZpZXcpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dl
YmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd2xpc3QgICAgICAgICAgICAgICAgICAgKFdlYktp
dFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKiBjb25zdCAgICAgICAq
YWxsb3dsaXN0KTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKaW5k
ZXggYWMzYTgxNWRmOWMxNWViMzE3MDQ5NWQwYjEyOTFjYmRmNjdmNzE3Yy4uOGNmOWQ0ZmYzODM4
MmIzZDM0OGE3MzJkNjlkMDBlNzcyMDU3Njc3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dApAQCAtMjY0
LDYgKzI2NCw3IEBAIHdlYmtpdF93ZWJfdmlld19nZXRfaW5wdXRfbWV0aG9kX2NvbnRleHQKIHdl
YmtpdF93ZWJfdmlld19nZXRfd2Vic2l0ZV9wb2xpY2llcwogd2Via2l0X3dlYl92aWV3X2dldF9p
c193ZWJfcHJvY2Vzc19yZXNwb25zaXZlCiB3ZWJraXRfd2ViX3ZpZXdfdGVybWluYXRlX3dlYl9w
cm9jZXNzCit3ZWJraXRfd2ViX3ZpZXdfc2V0X2NvcnNfYWxsb3dsaXN0CiAKIDxTVUJTRUNUSU9O
IFdlYktpdEphdmFzY3JpcHRSZXN1bHQ+CiBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTg2MmQxYjgwZjM2
Y2JmYWU5ZjhmODRlNjEzMjk5ZjI4MTEwYTEyMy4uNGQwNTQ1OWE2MGUxNTMzZGEyYTljYThiMzIx
ZmQxODMyMWYzNGU5NSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA2LTAzICBNaWNoYWVsIENhdGFuemFybyAg
PG1jYXRhbnphcm9AZ25vbWUub3JnPgorCisgICAgICAgIFtHVEtdW1dQRV0gRXhwb3NlIHNldENP
UlNEaXNhYmxpbmdQYXR0ZXJucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE5OTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdl
YlZpZXcuY3BwOgorICAgICAgICAodGVzdFdlYlZpZXdDT1JTQWxsb3dsaXN0KToKKyAgICAgICAg
KGJlZm9yZUFsbCk6CisKIDIwMjEtMDYtMDIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
IAogICAgICAgICBTcGxpdCBGaWxsSW5saW5lUGF0aC9TdHJva2VJbmxpbmVQYXRoCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZp
ZXcuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRX
ZWJWaWV3LmNwcAppbmRleCBkNjBjMGI2MzdkM2M4YTUwY2JkZTgxZjkxZjFjYTY2N2M1MGRmZmRm
Li44NWMwMzYxOWUzMmM3YmI2NjkyZDdkMTc3Y2RlODU4NTYzYTMyZTg0IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZpZXcuY3Bw
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2Vi
Vmlldy5jcHAKQEAgLTE2MDgsNiArMTYwOCw1NyBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld1Rl
cm1pbmF0ZVVucmVzcG9uc2l2ZVdlYlByb2Nlc3MoV2ViVmlld1Rlcm1pbmF0ZVdlYlByb2Nlcwog
ICAgIGdfYXNzZXJ0X3RydWUod2Via2l0X3dlYl92aWV3X2dldF9pc193ZWJfcHJvY2Vzc19yZXNw
b25zaXZlKHRlc3QtPm1fd2ViVmlldykpOwogfQogCitzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld0NP
UlNBbGxvd2xpc3QoV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCit7CisgICAgd2Vi
a2l0X3dlYl9jb250ZXh0X3JlZ2lzdGVyX3VyaV9zY2hlbWUodGVzdC0+bV93ZWJDb250ZXh0Lmdl
dCgpLCAiZm9vIiwKKyAgICAgICAgW10oV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogcmVxdWVzdCwg
Z3BvaW50ZXIgdXNlckRhdGEpIHsKKyAgICAgICAgICAgIEdSZWZQdHI8R0lucHV0U3RyZWFtPiBp
bnB1dFN0cmVhbSA9IGFkb3B0R1JlZihnX21lbW9yeV9pbnB1dF9zdHJlYW1fbmV3KCkpOworICAg
ICAgICAgICAgY29uc3QgY2hhciogZGF0YSA9ICI8cD5mb29iYXIhPC9wPiI7CisgICAgICAgICAg
ICBnX21lbW9yeV9pbnB1dF9zdHJlYW1fYWRkX2RhdGEoR19NRU1PUllfSU5QVVRfU1RSRUFNKGlu
cHV0U3RyZWFtLmdldCgpKSwgZGF0YSwgc3RybGVuKGRhdGEpLCBudWxscHRyKTsKKyAgICAgICAg
ICAgIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoKHJlcXVlc3QsIGlucHV0U3RyZWFt
LmdldCgpLCBzdHJsZW4oZGF0YSksICJ0ZXh0L2h0bWwiKTsKKyAgICAgICAgfSwgbnVsbHB0ciwg
bnVsbHB0cik7CisKKyAgICBjaGFyIGh0bWxbXSA9ICI8aHRtbD48c2NyaXB0PmxldCBmb28gPSAw
OyBmZXRjaCgnZm9vOi8vYmFyL2JheicpLnRoZW4ocmVzcG9uc2UgPT4geyBpZiAocmVzcG9uc2Uu
c3RhdHVzID09PSAyMDApIGZvbyA9IDQyfSk7PC9zY3JpcHQ+PC9odG1sPiI7CisgICAgd2Via2l0
X3dlYl92aWV3X2xvYWRfaHRtbCh0ZXN0LT5tX3dlYlZpZXcsIGh0bWwsICJodHRwOi8vZXhhbXBs
ZS5jb20iKTsKKyAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQoKTsKKworICAgIC8vIFJl
cXVlc3QgaXMgbm90IGFsbG93ZWQsIGZvbyBzaG91bGQgYmUgMC4KKyAgICBHVW5pcXVlT3V0UHRy
PEdFcnJvcj4gZXJyb3I7CisgICAgV2ViS2l0SmF2YXNjcmlwdFJlc3VsdCogcmVzdWx0ID0gdGVz
dC0+cnVuSmF2YVNjcmlwdEFuZFdhaXRVbnRpbEZpbmlzaGVkKCJmb287IiwgJmVycm9yLm91dFB0
cigpKTsKKyAgICBnX2Fzc2VydF9ub19lcnJvcihlcnJvci5nZXQoKSk7CisgICAgSlNDVmFsdWUq
IHZhbHVlID0gd2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X2dldF9qc192YWx1ZShyZXN1bHQpOwor
ICAgIGdfYXNzZXJ0X2NtcGludChqc2NfdmFsdWVfdG9faW50MzIodmFsdWUpLCA9PSwgMCk7Cisg
ICAgd2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X3VucmVmKHJlc3VsdCk7CisKKyAgICAvLyBBbGxv
d2xpc3RpbmcgaG9zdCBhbG9uZSBkb2VzIG5vdCB3b3JrLiBQYXRoIGlzIGFsc28gcmVxdWlyZWQu
IGZvbyBzaG91bGQgcmVtYWluIDAuCisgICAgR1VuaXF1ZVB0cjxjaGFyKj4gYWxsb3dsaXN0KGdf
bmV3KGNoYXIqLCAyKSk7CisgICAgYWxsb3dsaXN0LmdldCgpWzBdID0gZ19zdHJkdXAoImZvbzov
LyoiKTsKKyAgICBhbGxvd2xpc3QuZ2V0KClbMV0gPSBudWxscHRyOworICAgIHdlYmtpdF93ZWJf
dmlld19zZXRfY29yc19hbGxvd2xpc3QodGVzdC0+bV93ZWJWaWV3LCBhbGxvd2xpc3QuZ2V0KCkp
OworCisgICAgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRtbCh0ZXN0LT5tX3dlYlZpZXcsIGh0bWws
ICJodHRwOi8vZXhhbXBsZS5jb20iKTsKKyAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQo
KTsKKyAgICByZXN1bHQgPSB0ZXN0LT5ydW5KYXZhU2NyaXB0QW5kV2FpdFVudGlsRmluaXNoZWQo
ImZvbzsiLCAmZXJyb3Iub3V0UHRyKCkpOworICAgIGdfYXNzZXJ0X25vX2Vycm9yKGVycm9yLmdl
dCgpKTsKKyAgICB2YWx1ZSA9IHdlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF9nZXRfanNfdmFsdWUo
cmVzdWx0KTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoanNjX3ZhbHVlX3RvX2ludDMyKHZhbHVlKSwg
PT0sIDApOworICAgIHdlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF91bnJlZihyZXN1bHQpOworCisg
ICAgLy8gRmluYWxseSBsZXQncyBwcm9wZXJseSBhbGxvdyBvdXIgc2NoZW1lLiBmb28gc2hvdWxk
IG5vdyBjaGFuZ2UgdG8gNDIgd2hlbiB0aGUgcmVxdWVzdCBzdWNjZWVkcy4KKyAgICBhbGxvd2xp
c3QucmVzZXQoZ19uZXcoY2hhciosIDIpKTsKKyAgICBhbGxvd2xpc3QuZ2V0KClbMF0gPSBnX3N0
cmR1cCgiZm9vOi8vKi8qIik7CisgICAgYWxsb3dsaXN0LmdldCgpWzFdID0gbnVsbHB0cjsKKyAg
ICB3ZWJraXRfd2ViX3ZpZXdfc2V0X2NvcnNfYWxsb3dsaXN0KHRlc3QtPm1fd2ViVmlldywgYWxs
b3dsaXN0LmdldCgpKTsKKworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX2h0bWwodGVzdC0+bV93
ZWJWaWV3LCBodG1sLCAiaHR0cDovL2V4YW1wbGUuY29tIik7CisgICAgdGVzdC0+d2FpdFVudGls
TG9hZEZpbmlzaGVkKCk7CisgICAgcmVzdWx0ID0gdGVzdC0+cnVuSmF2YVNjcmlwdEFuZFdhaXRV
bnRpbEZpbmlzaGVkKCJmb287IiwgJmVycm9yLm91dFB0cigpKTsKKyAgICBnX2Fzc2VydF9ub19l
cnJvcihlcnJvci5nZXQoKSk7CisgICAgdmFsdWUgPSB3ZWJraXRfamF2YXNjcmlwdF9yZXN1bHRf
Z2V0X2pzX3ZhbHVlKHJlc3VsdCk7CisgICAgZ19hc3NlcnRfY21waW50KGpzY192YWx1ZV90b19p
bnQzMih2YWx1ZSksID09LCA0Mik7CisgICAgd2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X3VucmVm
KHJlc3VsdCk7Cit9CisKICNpZiBVU0UoU09VUDIpCiBzdGF0aWMgdm9pZCBzZXJ2ZXJDYWxsYmFj
ayhTb3VwU2VydmVyKiBzZXJ2ZXIsIFNvdXBNZXNzYWdlKiBtZXNzYWdlLCBjb25zdCBjaGFyKiBw
YXRoLCBHSGFzaFRhYmxlKiwgU291cENsaWVudENvbnRleHQqLCBncG9pbnRlcikKICNlbHNlCkBA
IC0xNjc4LDYgKzE3MjksNyBAQCB2b2lkIGJlZm9yZUFsbCgpCiAgICAgV2ViVmlld1Rlc3Q6OmFk
ZCgiV2ViS2l0V2ViVmlldyIsICJpcy13ZWItcHJvY2Vzcy1yZXNwb25zaXZlIiwgdGVzdFdlYlZp
ZXdJc1dlYlByb2Nlc3NSZXNwb25zaXZlKTsKICAgICBXZWJWaWV3VGVybWluYXRlV2ViUHJvY2Vz
c1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJ0ZXJtaW5hdGUtd2ViLXByb2Nlc3MiLCB0ZXN0
V2ViVmlld1Rlcm1pbmF0ZVdlYlByb2Nlc3MpOwogICAgIFdlYlZpZXdUZXJtaW5hdGVXZWJQcm9j
ZXNzVGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgInRlcm1pbmF0ZS11bnJlc3BvbnNpdmUtd2Vi
LXByb2Nlc3MiLCB0ZXN0V2ViVmlld1Rlcm1pbmF0ZVVucmVzcG9uc2l2ZVdlYlByb2Nlc3MpOwor
ICAgIFdlYlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAiY29ycy1hbGxvd2xpc3QiLCB0
ZXN0V2ViVmlld0NPUlNBbGxvd2xpc3QpOwogfQogCiB2b2lkIGFmdGVyQWxsKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>