<?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>231958</bug_id>
          
          <creation_ts>2021-10-19 09:02:02 -0700</creation_ts>
          <short_desc>[GTK] Rewrite LowPowerModeNotifier to use GPowerProfileMonitor</short_desc>
          <delta_ts>2021-10-22 01:07:56 -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=179978</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>
          
          <blocked>218121</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick Griffis">pgriffis</reporter>
          <assigned_to name="Patrick Griffis">pgriffis</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1806038</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-19 09:02:02 -0700</bug_when>
    <thetext>[GTK] Rewrite LowPowerModeNotifier to use GPowerProfileMonitor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806039</commentid>
    <comment_count>1</comment_count>
      <attachid>441733</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-19 09:02:11 -0700</bug_when>
    <thetext>Created attachment 441733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806040</commentid>
    <comment_count>2</comment_count>
      <attachid>441734</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-19 09:04:26 -0700</bug_when>
    <thetext>Created attachment 441734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806052</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-10-19 09:18:31 -0700</bug_when>
    <thetext>This fixes bug #179978, right? Why not reuse that bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806053</commentid>
    <comment_count>4</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-19 09:21:21 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; This fixes bug #179978, right? Why not reuse that bug?

I forgot it was a thing until I already did it. :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806070</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-10-19 09:33:45 -0700</bug_when>
    <thetext>*** Bug 179978 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806081</commentid>
    <comment_count>6</comment_count>
      <attachid>441734</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-10-19 09:41:25 -0700</bug_when>
    <thetext>Comment on attachment 441734
Patch

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

This is nice.

&gt; Source/WebCore/platform/LowPowerModeNotifier.h:65
&gt;  #elif USE(GLIB)
&gt; -    void updateWarningLevel();
&gt; -    void warningLevelChanged();
&gt; -    static void gPropertiesChangedCallback(LowPowerModeNotifier*, GVariant* changedProperties);
&gt; +    static void powerSaverEnabledNotifyCallback(LowPowerModeNotifier*, GParamSpec*, GPowerProfileMonitor*);
&gt;  
&gt; -    GRefPtr&lt;GDBusProxy&gt; m_displayDeviceProxy;
&gt; -    GRefPtr&lt;GCancellable&gt; m_cancellable;
&gt; +#if GLIB_CHECK_VERSION(2, 69, 1)
&gt; +    GRefPtr&lt;GPowerProfileMonitor&gt; m_powerProfileMonitor;
&gt; +#endif
&gt;      LowPowerModeChangeCallback m_callback;
&gt;      bool m_lowPowerModeEnabled { false };

Can you simplify things by doing #elif USE(GLIB) &amp;&amp; GLIB_CHECK_VERSION(2, 69, 1) all in one condition? I bet it will turn out a little nicer. Ditto for the .cpp file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806189</commentid>
    <comment_count>7</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-19 11:35:30 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #6)
&gt; Comment on attachment 441734 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=441734&amp;action=review

&gt; Can you simplify things by doing #elif USE(GLIB) &amp;&amp; GLIB_CHECK_VERSION(2,
&gt; 69, 1) all in one condition? I bet it will turn out a little nicer. Ditto
&gt; for the .cpp file.

Trying it out I think its just more messy. Like `m_lowPowerModeEnabled` defaulting to `false` and the impl just returning that results in less ifdefs. I also am not sure what changes you want in the .cpp file as its already as compact as it can be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806257</commentid>
    <comment_count>8</comment_count>
      <attachid>441734</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-10-19 12:59:47 -0700</bug_when>
    <thetext>Comment on attachment 441734
Patch

OK, LGTM. I&apos;ll save cq+ for Carlos Garcia, just in case he objects to removing the compat path for older GLib.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806530</commentid>
    <comment_count>9</comment_count>
      <attachid>441734</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-10-20 00:58:07 -0700</bug_when>
    <thetext>Comment on attachment 441734
Patch

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

&gt; Source/WebCore/platform/LowPowerModeNotifier.h:59
&gt; +    static void powerSaverEnabledNotifyCallback(LowPowerModeNotifier*, GParamSpec*, GPowerProfileMonitor*);

This is only used when glib is 2.69.1, we can use lambda instead for the callback though.

&gt; Source/WebCore/platform/LowPowerModeNotifier.h:64
&gt;      LowPowerModeChangeCallback m_callback;

I think we could move this out of the ifdefs.

&gt;&gt; Source/WebCore/platform/LowPowerModeNotifier.h:65
&gt;&gt;      bool m_lowPowerModeEnabled { false };
&gt; 
&gt; Can you simplify things by doing #elif USE(GLIB) &amp;&amp; GLIB_CHECK_VERSION(2, 69, 1) all in one condition? I bet it will turn out a little nicer. Ditto for the .cpp file.

Do we still need m_lowPowerModeEnabled? Can&apos;t we just use g_power_profile_monitor_get_power_saver_enabled()?

&gt; Source/WebCore/platform/glib/LowPowerModeNotifierGLib.cpp:32
&gt; -    : m_cancellable(adoptGRef(g_cancellable_new()))
&gt; -    , m_callback(WTFMove(callback))
&gt; +    : m_callback(WTFMove(callback))
&gt;  {

Move the m_powerProfileMonitor initializartion here

#if GLIB_CHECK_VERSION(2, 69, 1)
    , m_powerProfileMonitor(adoptGRef(g_power_profile_monitor_dup_default()))
#endif

&gt; Source/WebCore/platform/glib/LowPowerModeNotifierGLib.cpp:39
&gt; +    g_signal_connect_swapped(m_powerProfileMonitor.get(), &quot;notify::power-saver-enabled&quot;, G_CALLBACK(powerSaverEnabledNotifyCallback), this);

You can use G_CALLBACK(+[](LowPowerModeNotifier* self, GParamSpec*, GPowerProfileMonitor* monitor) {

&gt; Source/WebCore/platform/glib/LowPowerModeNotifierGLib.cpp:47
&gt; +    self-&gt;m_lowPowerModeEnabled = g_power_profile_monitor_get_power_saver_enabled(monitor);
&gt; +    self-&gt;m_callback(self-&gt;m_lowPowerModeEnabled);

So, this could be self-&gt;m_callback(g_power_profile_monitor_get_power_saver_enabled(monitor));

&gt; Source/WebCore/platform/glib/LowPowerModeNotifierGLib.cpp:-100
&gt; -    g_cancellable_cancel(m_cancellable.get());

Since we are getting a reference of a global object, unref won&apos;t destroy the monitor, so you must disconnect the notify signal or we will get a crash the nest time it changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806674</commentid>
    <comment_count>10</comment_count>
      <attachid>441893</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-20 10:14:26 -0700</bug_when>
    <thetext>Created attachment 441893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806698</commentid>
    <comment_count>11</comment_count>
      <attachid>441898</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-20 10:53:45 -0700</bug_when>
    <thetext>Created attachment 441898
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806702</commentid>
    <comment_count>12</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-20 11:03:55 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #9)
&gt; Comment on attachment 441734 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=441734&amp;action=review

Thanks for the detailed review I&apos;ve applied these changes.

&gt; &gt; Source/WebCore/platform/LowPowerModeNotifier.h:64
&gt; &gt;      LowPowerModeChangeCallback m_callback;
&gt; 
&gt; I think we could move this out of the ifdefs.

Moving this out caused other EWS failures regarding constructor ordering. I just found it cleaner to leave it as-is.

&gt; &gt; Can you simplify things by doing #elif USE(GLIB) &amp;&amp; GLIB_CHECK_VERSION(2, 69, 1) all in one condition? I bet it will turn out a little nicer. Ditto for the .cpp file.

Windows EWS fails with this, the preprocessor doesn&apos;t like it, so I&apos;ve kept it as two #ifdefs.

&gt; &gt; Source/WebCore/platform/glib/LowPowerModeNotifierGLib.cpp:-100
&gt; &gt; -    g_cancellable_cancel(m_cancellable.get());
&gt; 
&gt; Since we are getting a reference of a global object, unref won&apos;t destroy the
&gt; monitor, so you must disconnect the notify signal or we will get a crash the
&gt; nest time it changes.

Good catch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806714</commentid>
    <comment_count>13</comment_count>
      <attachid>441904</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-20 11:21:16 -0700</bug_when>
    <thetext>Created attachment 441904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807040</commentid>
    <comment_count>14</comment_count>
      <attachid>441904</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-10-21 01:34:26 -0700</bug_when>
    <thetext>Comment on attachment 441904
Patch

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

&gt; Source/WebCore/platform/LowPowerModeNotifier.h:36
&gt; +#include &lt;gio/gio.h&gt;

Move the include to the cpp file and here simply forward declare GPowerProfileMonitor

&gt; Source/WebCore/platform/glib/LowPowerModeNotifierGLib.cpp:36
&gt; +    m_callback(isLowPowerModeEnabled());

Why do we call the callback here? It&apos;s expected to be called when the mode changes, no? or is it because the object can be created when already in low power mode? That&apos;s not needed because the caller is expected to check the mode right after creating the object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807125</commentid>
    <comment_count>15</comment_count>
      <attachid>442018</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-10-21 07:21:11 -0700</bug_when>
    <thetext>Created attachment 442018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807575</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-22 01:07:53 -0700</bug_when>
    <thetext>Committed r284670 (243390@main): &lt;https://commits.webkit.org/243390@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442018.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441733</attachid>
            <date>2021-10-19 09:02:11 -0700</date>
            <delta_ts>2021-10-19 09:04:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231958-20211019110211.patch</filename>
            <type>text/plain</type>
            <size>5300</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Mb3dQb3dlck1vZGVOb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG93UG93ZXJNb2RlTm90aWZpZXIuaAppbmRleCA4NTYwZWRiMzhhNWZlNjUyZTgxOWM4MmY1Mjlh
YjNjODY4YTRhZmY2Li45M2RhZTgwOWFiMzBiZmE0NzdhYWMyZWI4Nzg4ODRjOTk1OTY2YjJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVOb3RpZmllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlmaWVyLmgKQEAg
LTMzLDggKzMzLDggQEAgT0JKQ19DTEFTUyBXZWJMb3dQb3dlck1vZGVPYnNlcnZlcjsKICNlbmRp
ZgogCiAjaWYgVVNFKEdMSUIpCisjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1ZGUgPHd0Zi9n
bGliL0dSZWZQdHIuaD4KLXR5cGVkZWYgc3RydWN0IF9HREJ1c1Byb3h5IEdEQnVzUHJveHk7CiAj
ZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTYsMTIgKzU2LDExIEBAIHByaXZhdGU6
CiAgICAgUmV0YWluUHRyPFdlYkxvd1Bvd2VyTW9kZU9ic2VydmVyPiBtX29ic2VydmVyOwogICAg
IExvd1Bvd2VyTW9kZUNoYW5nZUNhbGxiYWNrIG1fY2FsbGJhY2s7CiAjZWxpZiBVU0UoR0xJQikK
LSAgICB2b2lkIHVwZGF0ZVdhcm5pbmdMZXZlbCgpOwotICAgIHZvaWQgd2FybmluZ0xldmVsQ2hh
bmdlZCgpOwotICAgIHN0YXRpYyB2b2lkIGdQcm9wZXJ0aWVzQ2hhbmdlZENhbGxiYWNrKExvd1Bv
d2VyTW9kZU5vdGlmaWVyKiwgR1ZhcmlhbnQqIGNoYW5nZWRQcm9wZXJ0aWVzKTsKKyAgICBzdGF0
aWMgdm9pZCBwb3dlclNhdmVyRW5hYmxlZE5vdGlmeUNhbGxiYWNrKExvd1Bvd2VyTW9kZU5vdGlm
aWVyKiwgR1BhcmFtU3BlYyosIEdQb3dlclByb2ZpbGVNb25pdG9yKik7CiAKLSAgICBHUmVmUHRy
PEdEQnVzUHJveHk+IG1fZGlzcGxheURldmljZVByb3h5OwotICAgIEdSZWZQdHI8R0NhbmNlbGxh
YmxlPiBtX2NhbmNlbGxhYmxlOworI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA2OSwgMSkKKyAg
ICBHUmVmUHRyPEdQb3dlclByb2ZpbGVNb25pdG9yPiBtX3Bvd2VyUHJvZmlsZU1vbml0b3I7Cisj
ZW5kaWYKICAgICBMb3dQb3dlck1vZGVDaGFuZ2VDYWxsYmFjayBtX2NhbGxiYWNrOwogICAgIGJv
b2wgbV9sb3dQb3dlck1vZGVFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIu
Y3BwCmluZGV4IDYzODdmMWZlNWViZjEzZDgyNzA1ZGYzODA2MGViNThkOGU4MWU4NjIuLmQxZTgx
YWIwOTg2MmYzN2NkM2VkYjZlYjI2OTRmYWQzYWUwOTQ2MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dsaWIvTG93UG93ZXJNb2RlTm90aWZpZXJHTGliLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0xvd1Bvd2VyTW9kZU5vdGlmaWVyR0xpYi5jcHAK
QEAgLTI2LDc4ICsyNiwzMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBjaGFyIGtXYXJuaW5nTGV2ZWxbXSA9ICJXYXJuaW5nTGV2ZWwiOwogCiBMb3dQb3dlck1vZGVO
b3RpZmllcjo6TG93UG93ZXJNb2RlTm90aWZpZXIoTG93UG93ZXJNb2RlQ2hhbmdlQ2FsbGJhY2sm
JiBjYWxsYmFjaykKLSAgICA6IG1fY2FuY2VsbGFibGUoYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVf
bmV3KCkpKQotICAgICwgbV9jYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSkKKyAgICA6IG1fY2Fs
bGJhY2soV1RGTW92ZShjYWxsYmFjaykpCiB7Ci0gICAgZ19kYnVzX3Byb3h5X25ld19mb3JfYnVz
KEdfQlVTX1RZUEVfU1lTVEVNLCBzdGF0aWNfY2FzdDxHREJ1c1Byb3h5RmxhZ3M+KEdfREJVU19Q
Uk9YWV9GTEFHU19ET19OT1RfQ09OTkVDVF9TSUdOQUxTIHwgR19EQlVTX1BST1hZX0ZMQUdTX0dF
VF9JTlZBTElEQVRFRF9QUk9QRVJUSUVTKSwKLSAgICAgICAgbnVsbHB0ciwgIm9yZy5mcmVlZGVz
a3RvcC5VUG93ZXIiLCAiL29yZy9mcmVlZGVza3RvcC9VUG93ZXIvZGV2aWNlcy9EaXNwbGF5RGV2
aWNlIiwgIm9yZy5mcmVlZGVza3RvcC5VUG93ZXIuRGV2aWNlIiwgbV9jYW5jZWxsYWJsZS5nZXQo
KSwKLSAgICAgICAgW10oR09iamVjdCosIEdBc3luY1Jlc3VsdCogcmVzdWx0LCBncG9pbnRlciB1
c2VyRGF0YSkgewotICAgICAgICAgICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IGVycm9yOwotICAg
ICAgICAgICAgR1JlZlB0cjxHREJ1c1Byb3h5PiBwcm94eSA9IGFkb3B0R1JlZihnX2RidXNfcHJv
eHlfbmV3X2Zvcl9idXNfZmluaXNoKHJlc3VsdCwgJmVycm9yLm91dFB0cigpKSk7Ci0gICAgICAg
ICAgICBpZiAoZ19lcnJvcl9tYXRjaGVzKGVycm9yLmdldCgpLCBHX0lPX0VSUk9SLCBHX0lPX0VS
Uk9SX0NBTkNFTExFRCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOworI2lmIEdMSUJfQ0hFQ0tf
VkVSU0lPTigyLCA2OSwgMSkKKyAgICBtX3Bvd2VyUHJvZmlsZU1vbml0b3IgPSBhZG9wdEdSZWYo
Z19wb3dlcl9wcm9maWxlX21vbml0b3JfZHVwX2RlZmF1bHQoKSk7CiAKLSAgICAgICAgICAgIGF1
dG8qIHNlbGYgPSBzdGF0aWNfY2FzdDxMb3dQb3dlck1vZGVOb3RpZmllcio+KHVzZXJEYXRhKTsK
LSAgICAgICAgICAgIGlmIChwcm94eSkgewotICAgICAgICAgICAgICAgIEdVbmlxdWVQdHI8Y2hh
cj4gbmFtZU93bmVyKGdfZGJ1c19wcm94eV9nZXRfbmFtZV9vd25lcihwcm94eS5nZXQoKSkpOwot
ICAgICAgICAgICAgICAgIGlmIChuYW1lT3duZXIpIHsKLSAgICAgICAgICAgICAgICAgICAgc2Vs
Zi0+bV9kaXNwbGF5RGV2aWNlUHJveHkgPSBXVEZNb3ZlKHByb3h5KTsKLSAgICAgICAgICAgICAg
ICAgICAgc2VsZi0+dXBkYXRlV2FybmluZ0xldmVsKCk7Ci0gICAgICAgICAgICAgICAgICAgIGdf
c2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChzZWxmLT5tX2Rpc3BsYXlEZXZpY2VQcm94eS5nZXQoKSwg
ImctcHJvcGVydGllcy1jaGFuZ2VkIiwgR19DQUxMQkFDSyhnUHJvcGVydGllc0NoYW5nZWRDYWxs
YmFjayksIHNlbGYpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAvLyBOb3csIGlmIHRoZXJlIGlzIG5v
IG5hbWUgb3duZXIsIGl0IHdvdWxkIGJlIGdvb2QgdG8gdHJ5IHRvCi0gICAgICAgICAgICAvLyBj
b25uZWN0IHRvIGEgRmxhdHBhayBiYXR0ZXJ5IHN0YXR1cyBwb3J0YWwgaW5zdGVhZC4KLSAgICAg
ICAgICAgIC8vIFVuZm9ydHVuYXRlbHksIG5vIHN1Y2ggcG9ydGFsIGN1cnJlbnRseSBleGlzdHMu
Ci0gICAgICAgICAgICBzZWxmLT5tX2NhbmNlbGxhYmxlID0gbnVsbHB0cjsKLSAgICB9LCB0aGlz
KTsKLX0KLQotdm9pZCBMb3dQb3dlck1vZGVOb3RpZmllcjo6dXBkYXRlV2FybmluZ0xldmVsKCkK
LXsKLSAgICBHUmVmUHRyPEdWYXJpYW50PiB2YXJpYW50ID0gYWRvcHRHUmVmKGdfZGJ1c19wcm94
eV9nZXRfY2FjaGVkX3Byb3BlcnR5KG1fZGlzcGxheURldmljZVByb3h5LmdldCgpLCBrV2Fybmlu
Z0xldmVsKSk7Ci0gICAgaWYgKCF2YXJpYW50KSB7Ci0gICAgICAgIG1fbG93UG93ZXJNb2RlRW5h
YmxlZCA9IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gMDogVW5rbm93
bgotICAgIC8vIDE6IE5vbmUKLSAgICAvLyAyOiBEaXNjaGFyZ2luZyAob25seSBmb3IgdW5pdmVy
c2FsIHBvd2VyIHN1cHBsaWVzKQotICAgIC8vIDM6IExvdwotICAgIC8vIDQ6IENyaXRpY2FsCi0g
ICAgLy8gNTogQWN0aW9uCi0gICAgbV9sb3dQb3dlck1vZGVFbmFibGVkID0gZ192YXJpYW50X2dl
dF91aW50MzIodmFyaWFudC5nZXQoKSkgPiAxOwotfQotCi12b2lkIExvd1Bvd2VyTW9kZU5vdGlm
aWVyOjp3YXJuaW5nTGV2ZWxDaGFuZ2VkKCkKLXsKLSAgICB1cGRhdGVXYXJuaW5nTGV2ZWwoKTsK
KyAgICBtX2xvd1Bvd2VyTW9kZUVuYWJsZWQgPSBnX3Bvd2VyX3Byb2ZpbGVfbW9uaXRvcl9nZXRf
cG93ZXJfc2F2ZXJfZW5hYmxlZChtX3Bvd2VyUHJvZmlsZU1vbml0b3IuZ2V0KCkpOwogICAgIG1f
Y2FsbGJhY2sobV9sb3dQb3dlck1vZGVFbmFibGVkKTsKKworICAgIGdfc2lnbmFsX2Nvbm5lY3Rf
c3dhcHBlZChtX3Bvd2VyUHJvZmlsZU1vbml0b3IuZ2V0KCksICJub3RpZnk6OnBvd2VyLXNhdmVy
LWVuYWJsZWQiLCBHX0NBTExCQUNLKHBvd2VyU2F2ZXJFbmFibGVkTm90aWZ5Q2FsbGJhY2spLCB0
aGlzKTsKKyNlbmRpZgogfQogCi12b2lkIExvd1Bvd2VyTW9kZU5vdGlmaWVyOjpnUHJvcGVydGll
c0NoYW5nZWRDYWxsYmFjayhMb3dQb3dlck1vZGVOb3RpZmllciogc2VsZiwgR1ZhcmlhbnQqIGNo
YW5nZWRQcm9wZXJ0aWVzKQorI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA2OSwgMSkKK3ZvaWQg
TG93UG93ZXJNb2RlTm90aWZpZXI6OnBvd2VyU2F2ZXJFbmFibGVkTm90aWZ5Q2FsbGJhY2soTG93
UG93ZXJNb2RlTm90aWZpZXIqIHNlbGYsIEdQYXJhbVNwZWMqLCBHUG93ZXJQcm9maWxlTW9uaXRv
ciogbW9uaXRvcikKIHsKLSAgICBHVW5pcXVlT3V0UHRyPEdWYXJpYW50SXRlcj4gaXRlcjsKLSAg
ICBnX3ZhcmlhbnRfZ2V0KGNoYW5nZWRQcm9wZXJ0aWVzLCAiYXtzdn0iLCAmaXRlci5vdXRQdHIo
KSk7Ci0KLSAgICBjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWU7Ci0gICAgd2hpbGUgKGdfdmFyaWFu
dF9pdGVyX25leHQoaXRlci5nZXQoKSwgInsmc3Z9IiwgJnByb3BlcnR5TmFtZSwgbnVsbHB0cikp
IHsKLSAgICAgICAgaWYgKCFzdHJjbXAocHJvcGVydHlOYW1lLCBrV2FybmluZ0xldmVsKSkgewot
ICAgICAgICAgICAgc2VsZi0+d2FybmluZ0xldmVsQ2hhbmdlZCgpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICB9CisgICAgc2VsZi0+bV9sb3dQb3dlck1vZGVFbmFibGVkID0g
Z19wb3dlcl9wcm9maWxlX21vbml0b3JfZ2V0X3Bvd2VyX3NhdmVyX2VuYWJsZWQobW9uaXRvcik7
CisgICAgc2VsZi0+bV9jYWxsYmFjayhzZWxmLT5tX2xvd1Bvd2VyTW9kZUVuYWJsZWQpOwogfQor
I2VuZGlmCiAKIExvd1Bvd2VyTW9kZU5vdGlmaWVyOjp+TG93UG93ZXJNb2RlTm90aWZpZXIoKQog
ewotICAgIGdfY2FuY2VsbGFibGVfY2FuY2VsKG1fY2FuY2VsbGFibGUuZ2V0KCkpOwogfQogCiBi
b29sIExvd1Bvd2VyTW9kZU5vdGlmaWVyOjppc0xvd1Bvd2VyTW9kZUVuYWJsZWQoKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441734</attachid>
            <date>2021-10-19 09:04:26 -0700</date>
            <delta_ts>2021-10-20 10:07:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231958-20211019110425.patch</filename>
            <type>text/plain</type>
            <size>6620</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY0MGM1ZDJmOWRmODI0
YjBlMzBkNTY2NDlhZDc0YzQ3MTgzYTgzZS4uOWRjYWU2YWIyMzc0ZTIwMGYyNTNmNGY3OTcxNTY1
YWYxM2UyYzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTEwLTE5ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFJld3Jp
dGUgTG93UG93ZXJNb2RlTm90aWZpZXIgdG8gdXNlIEdQb3dlclByb2ZpbGVNb25pdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHJlcGxhY2Vz
IHRoZSBwcmV2aW91cyBkaXJlY3QgdXNlIG9mIFVQb3dlciB3aXRoIHNvbWUgYWR2YW50YWdlczoK
KworICAgICAgICAtIEZpeGVzIHN1cHBvcnQgd2hpbGUgYmVpbmcgc2FuZGJveGVkIHdpdGhvdXQg
VVBvd2VyIERCdXMgYWNjZXNzCisgICAgICAgIC0gUmVzcGVjdHMgYSBzeXN0ZW0td2lkZSBsb3cg
cG93ZXIgbW9kZSByYXRoZXIgdGhhbiBvbmx5IGJlaW5nCisgICAgICAgICAgZW5hYmxlZCB3aGVu
IHRoZSBiYXR0ZXJ5IGlzIGxvdworCisgICAgICAgIEkgZGVjaWRlZCB0byByZW1vdmUgdGhlIG9s
ZCBiZWhhdmlvciBlbnRpcmVseSBhcyBpdCBpcyBhIHZlcnkKKyAgICAgICAgZGlmZmVyZW50IGJl
aGF2aW9yIHRoYW4gdGhlIG5ldyBvbmUgYW5kIHN1YmplY3RpdmVseSB3b3JzZS4KKworICAgICAg
ICAqIHBsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlmaWVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG93
UG93ZXJNb2RlTm90aWZpZXI6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjpwb3dlclNhdmVyRW5hYmxlZE5vdGlmeUNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjp+TG93UG93ZXJNb2Rl
Tm90aWZpZXIpOgorCiAyMDIxLTEwLTE5ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IEZpeCBicm9rZW4gc3BlYyBsaW5rcyBpbiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcCBhbmQgQWNjZXNzaWJpbGl0eVRyZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVOb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIuaAppbmRleCA4NTYwZWRiMzhhNWZlNjUyZTgx
OWM4MmY1MjlhYjNjODY4YTRhZmY2Li45M2RhZTgwOWFiMzBiZmE0NzdhYWMyZWI4Nzg4ODRjOTk1
OTY2YjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVO
b3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlm
aWVyLmgKQEAgLTMzLDggKzMzLDggQEAgT0JKQ19DTEFTUyBXZWJMb3dQb3dlck1vZGVPYnNlcnZl
cjsKICNlbmRpZgogCiAjaWYgVVNFKEdMSUIpCisjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1
ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KLXR5cGVkZWYgc3RydWN0IF9HREJ1c1Byb3h5IEdEQnVz
UHJveHk7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTYsMTIgKzU2LDExIEBA
IHByaXZhdGU6CiAgICAgUmV0YWluUHRyPFdlYkxvd1Bvd2VyTW9kZU9ic2VydmVyPiBtX29ic2Vy
dmVyOwogICAgIExvd1Bvd2VyTW9kZUNoYW5nZUNhbGxiYWNrIG1fY2FsbGJhY2s7CiAjZWxpZiBV
U0UoR0xJQikKLSAgICB2b2lkIHVwZGF0ZVdhcm5pbmdMZXZlbCgpOwotICAgIHZvaWQgd2Fybmlu
Z0xldmVsQ2hhbmdlZCgpOwotICAgIHN0YXRpYyB2b2lkIGdQcm9wZXJ0aWVzQ2hhbmdlZENhbGxi
YWNrKExvd1Bvd2VyTW9kZU5vdGlmaWVyKiwgR1ZhcmlhbnQqIGNoYW5nZWRQcm9wZXJ0aWVzKTsK
KyAgICBzdGF0aWMgdm9pZCBwb3dlclNhdmVyRW5hYmxlZE5vdGlmeUNhbGxiYWNrKExvd1Bvd2Vy
TW9kZU5vdGlmaWVyKiwgR1BhcmFtU3BlYyosIEdQb3dlclByb2ZpbGVNb25pdG9yKik7CiAKLSAg
ICBHUmVmUHRyPEdEQnVzUHJveHk+IG1fZGlzcGxheURldmljZVByb3h5OwotICAgIEdSZWZQdHI8
R0NhbmNlbGxhYmxlPiBtX2NhbmNlbGxhYmxlOworI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA2
OSwgMSkKKyAgICBHUmVmUHRyPEdQb3dlclByb2ZpbGVNb25pdG9yPiBtX3Bvd2VyUHJvZmlsZU1v
bml0b3I7CisjZW5kaWYKICAgICBMb3dQb3dlck1vZGVDaGFuZ2VDYWxsYmFjayBtX2NhbGxiYWNr
OwogICAgIGJvb2wgbV9sb3dQb3dlck1vZGVFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3RpZmll
ckdMaWIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3Rp
ZmllckdMaWIuY3BwCmluZGV4IDYzODdmMWZlNWViZjEzZDgyNzA1ZGYzODA2MGViNThkOGU4MWU4
NjIuLmQxZTgxYWIwOTg2MmYzN2NkM2VkYjZlYjI2OTRmYWQzYWUwOTQ2MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTG93UG93ZXJNb2RlTm90aWZpZXJHTGliLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0xvd1Bvd2VyTW9kZU5vdGlmaWVy
R0xpYi5jcHAKQEAgLTI2LDc4ICsyNiwzMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0
YXRpYyBjb25zdCBjaGFyIGtXYXJuaW5nTGV2ZWxbXSA9ICJXYXJuaW5nTGV2ZWwiOwogCiBMb3dQ
b3dlck1vZGVOb3RpZmllcjo6TG93UG93ZXJNb2RlTm90aWZpZXIoTG93UG93ZXJNb2RlQ2hhbmdl
Q2FsbGJhY2smJiBjYWxsYmFjaykKLSAgICA6IG1fY2FuY2VsbGFibGUoYWRvcHRHUmVmKGdfY2Fu
Y2VsbGFibGVfbmV3KCkpKQotICAgICwgbV9jYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSkKKyAg
ICA6IG1fY2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpCiB7Ci0gICAgZ19kYnVzX3Byb3h5X25l
d19mb3JfYnVzKEdfQlVTX1RZUEVfU1lTVEVNLCBzdGF0aWNfY2FzdDxHREJ1c1Byb3h5RmxhZ3M+
KEdfREJVU19QUk9YWV9GTEFHU19ET19OT1RfQ09OTkVDVF9TSUdOQUxTIHwgR19EQlVTX1BST1hZ
X0ZMQUdTX0dFVF9JTlZBTElEQVRFRF9QUk9QRVJUSUVTKSwKLSAgICAgICAgbnVsbHB0ciwgIm9y
Zy5mcmVlZGVza3RvcC5VUG93ZXIiLCAiL29yZy9mcmVlZGVza3RvcC9VUG93ZXIvZGV2aWNlcy9E
aXNwbGF5RGV2aWNlIiwgIm9yZy5mcmVlZGVza3RvcC5VUG93ZXIuRGV2aWNlIiwgbV9jYW5jZWxs
YWJsZS5nZXQoKSwKLSAgICAgICAgW10oR09iamVjdCosIEdBc3luY1Jlc3VsdCogcmVzdWx0LCBn
cG9pbnRlciB1c2VyRGF0YSkgewotICAgICAgICAgICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IGVy
cm9yOwotICAgICAgICAgICAgR1JlZlB0cjxHREJ1c1Byb3h5PiBwcm94eSA9IGFkb3B0R1JlZihn
X2RidXNfcHJveHlfbmV3X2Zvcl9idXNfZmluaXNoKHJlc3VsdCwgJmVycm9yLm91dFB0cigpKSk7
Ci0gICAgICAgICAgICBpZiAoZ19lcnJvcl9tYXRjaGVzKGVycm9yLmdldCgpLCBHX0lPX0VSUk9S
LCBHX0lPX0VSUk9SX0NBTkNFTExFRCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOworI2lmIEdM
SUJfQ0hFQ0tfVkVSU0lPTigyLCA2OSwgMSkKKyAgICBtX3Bvd2VyUHJvZmlsZU1vbml0b3IgPSBh
ZG9wdEdSZWYoZ19wb3dlcl9wcm9maWxlX21vbml0b3JfZHVwX2RlZmF1bHQoKSk7CiAKLSAgICAg
ICAgICAgIGF1dG8qIHNlbGYgPSBzdGF0aWNfY2FzdDxMb3dQb3dlck1vZGVOb3RpZmllcio+KHVz
ZXJEYXRhKTsKLSAgICAgICAgICAgIGlmIChwcm94eSkgewotICAgICAgICAgICAgICAgIEdVbmlx
dWVQdHI8Y2hhcj4gbmFtZU93bmVyKGdfZGJ1c19wcm94eV9nZXRfbmFtZV9vd25lcihwcm94eS5n
ZXQoKSkpOwotICAgICAgICAgICAgICAgIGlmIChuYW1lT3duZXIpIHsKLSAgICAgICAgICAgICAg
ICAgICAgc2VsZi0+bV9kaXNwbGF5RGV2aWNlUHJveHkgPSBXVEZNb3ZlKHByb3h5KTsKLSAgICAg
ICAgICAgICAgICAgICAgc2VsZi0+dXBkYXRlV2FybmluZ0xldmVsKCk7Ci0gICAgICAgICAgICAg
ICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChzZWxmLT5tX2Rpc3BsYXlEZXZpY2VQcm94
eS5nZXQoKSwgImctcHJvcGVydGllcy1jaGFuZ2VkIiwgR19DQUxMQkFDSyhnUHJvcGVydGllc0No
YW5nZWRDYWxsYmFjayksIHNlbGYpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAvLyBOb3csIGlmIHRo
ZXJlIGlzIG5vIG5hbWUgb3duZXIsIGl0IHdvdWxkIGJlIGdvb2QgdG8gdHJ5IHRvCi0gICAgICAg
ICAgICAvLyBjb25uZWN0IHRvIGEgRmxhdHBhayBiYXR0ZXJ5IHN0YXR1cyBwb3J0YWwgaW5zdGVh
ZC4KLSAgICAgICAgICAgIC8vIFVuZm9ydHVuYXRlbHksIG5vIHN1Y2ggcG9ydGFsIGN1cnJlbnRs
eSBleGlzdHMuCi0gICAgICAgICAgICBzZWxmLT5tX2NhbmNlbGxhYmxlID0gbnVsbHB0cjsKLSAg
ICB9LCB0aGlzKTsKLX0KLQotdm9pZCBMb3dQb3dlck1vZGVOb3RpZmllcjo6dXBkYXRlV2Fybmlu
Z0xldmVsKCkKLXsKLSAgICBHUmVmUHRyPEdWYXJpYW50PiB2YXJpYW50ID0gYWRvcHRHUmVmKGdf
ZGJ1c19wcm94eV9nZXRfY2FjaGVkX3Byb3BlcnR5KG1fZGlzcGxheURldmljZVByb3h5LmdldCgp
LCBrV2FybmluZ0xldmVsKSk7Ci0gICAgaWYgKCF2YXJpYW50KSB7Ci0gICAgICAgIG1fbG93UG93
ZXJNb2RlRW5hYmxlZCA9IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8g
MDogVW5rbm93bgotICAgIC8vIDE6IE5vbmUKLSAgICAvLyAyOiBEaXNjaGFyZ2luZyAob25seSBm
b3IgdW5pdmVyc2FsIHBvd2VyIHN1cHBsaWVzKQotICAgIC8vIDM6IExvdwotICAgIC8vIDQ6IENy
aXRpY2FsCi0gICAgLy8gNTogQWN0aW9uCi0gICAgbV9sb3dQb3dlck1vZGVFbmFibGVkID0gZ192
YXJpYW50X2dldF91aW50MzIodmFyaWFudC5nZXQoKSkgPiAxOwotfQotCi12b2lkIExvd1Bvd2Vy
TW9kZU5vdGlmaWVyOjp3YXJuaW5nTGV2ZWxDaGFuZ2VkKCkKLXsKLSAgICB1cGRhdGVXYXJuaW5n
TGV2ZWwoKTsKKyAgICBtX2xvd1Bvd2VyTW9kZUVuYWJsZWQgPSBnX3Bvd2VyX3Byb2ZpbGVfbW9u
aXRvcl9nZXRfcG93ZXJfc2F2ZXJfZW5hYmxlZChtX3Bvd2VyUHJvZmlsZU1vbml0b3IuZ2V0KCkp
OwogICAgIG1fY2FsbGJhY2sobV9sb3dQb3dlck1vZGVFbmFibGVkKTsKKworICAgIGdfc2lnbmFs
X2Nvbm5lY3Rfc3dhcHBlZChtX3Bvd2VyUHJvZmlsZU1vbml0b3IuZ2V0KCksICJub3RpZnk6OnBv
d2VyLXNhdmVyLWVuYWJsZWQiLCBHX0NBTExCQUNLKHBvd2VyU2F2ZXJFbmFibGVkTm90aWZ5Q2Fs
bGJhY2spLCB0aGlzKTsKKyNlbmRpZgogfQogCi12b2lkIExvd1Bvd2VyTW9kZU5vdGlmaWVyOjpn
UHJvcGVydGllc0NoYW5nZWRDYWxsYmFjayhMb3dQb3dlck1vZGVOb3RpZmllciogc2VsZiwgR1Zh
cmlhbnQqIGNoYW5nZWRQcm9wZXJ0aWVzKQorI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA2OSwg
MSkKK3ZvaWQgTG93UG93ZXJNb2RlTm90aWZpZXI6OnBvd2VyU2F2ZXJFbmFibGVkTm90aWZ5Q2Fs
bGJhY2soTG93UG93ZXJNb2RlTm90aWZpZXIqIHNlbGYsIEdQYXJhbVNwZWMqLCBHUG93ZXJQcm9m
aWxlTW9uaXRvciogbW9uaXRvcikKIHsKLSAgICBHVW5pcXVlT3V0UHRyPEdWYXJpYW50SXRlcj4g
aXRlcjsKLSAgICBnX3ZhcmlhbnRfZ2V0KGNoYW5nZWRQcm9wZXJ0aWVzLCAiYXtzdn0iLCAmaXRl
ci5vdXRQdHIoKSk7Ci0KLSAgICBjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWU7Ci0gICAgd2hpbGUg
KGdfdmFyaWFudF9pdGVyX25leHQoaXRlci5nZXQoKSwgInsmc3Z9IiwgJnByb3BlcnR5TmFtZSwg
bnVsbHB0cikpIHsKLSAgICAgICAgaWYgKCFzdHJjbXAocHJvcGVydHlOYW1lLCBrV2FybmluZ0xl
dmVsKSkgewotICAgICAgICAgICAgc2VsZi0+d2FybmluZ0xldmVsQ2hhbmdlZCgpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9CisgICAgc2VsZi0+bV9sb3dQb3dlck1vZGVF
bmFibGVkID0gZ19wb3dlcl9wcm9maWxlX21vbml0b3JfZ2V0X3Bvd2VyX3NhdmVyX2VuYWJsZWQo
bW9uaXRvcik7CisgICAgc2VsZi0+bV9jYWxsYmFjayhzZWxmLT5tX2xvd1Bvd2VyTW9kZUVuYWJs
ZWQpOwogfQorI2VuZGlmCiAKIExvd1Bvd2VyTW9kZU5vdGlmaWVyOjp+TG93UG93ZXJNb2RlTm90
aWZpZXIoKQogewotICAgIGdfY2FuY2VsbGFibGVfY2FuY2VsKG1fY2FuY2VsbGFibGUuZ2V0KCkp
OwogfQogCiBib29sIExvd1Bvd2VyTW9kZU5vdGlmaWVyOjppc0xvd1Bvd2VyTW9kZUVuYWJsZWQo
KSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441893</attachid>
            <date>2021-10-20 10:14:26 -0700</date>
            <delta_ts>2021-10-20 10:41:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231958-20211020121215.patch</filename>
            <type>text/plain</type>
            <size>6898</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY0MGM1ZDJmOWRmODI0
YjBlMzBkNTY2NDlhZDc0YzQ3MTgzYTgzZS4uOWRjYWU2YWIyMzc0ZTIwMGYyNTNmNGY3OTcxNTY1
YWYxM2UyYzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTEwLTE5ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFJld3Jp
dGUgTG93UG93ZXJNb2RlTm90aWZpZXIgdG8gdXNlIEdQb3dlclByb2ZpbGVNb25pdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHJlcGxhY2Vz
IHRoZSBwcmV2aW91cyBkaXJlY3QgdXNlIG9mIFVQb3dlciB3aXRoIHNvbWUgYWR2YW50YWdlczoK
KworICAgICAgICAtIEZpeGVzIHN1cHBvcnQgd2hpbGUgYmVpbmcgc2FuZGJveGVkIHdpdGhvdXQg
VVBvd2VyIERCdXMgYWNjZXNzCisgICAgICAgIC0gUmVzcGVjdHMgYSBzeXN0ZW0td2lkZSBsb3cg
cG93ZXIgbW9kZSByYXRoZXIgdGhhbiBvbmx5IGJlaW5nCisgICAgICAgICAgZW5hYmxlZCB3aGVu
IHRoZSBiYXR0ZXJ5IGlzIGxvdworCisgICAgICAgIEkgZGVjaWRlZCB0byByZW1vdmUgdGhlIG9s
ZCBiZWhhdmlvciBlbnRpcmVseSBhcyBpdCBpcyBhIHZlcnkKKyAgICAgICAgZGlmZmVyZW50IGJl
aGF2aW9yIHRoYW4gdGhlIG5ldyBvbmUgYW5kIHN1YmplY3RpdmVseSB3b3JzZS4KKworICAgICAg
ICAqIHBsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlmaWVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG93
UG93ZXJNb2RlTm90aWZpZXI6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjpwb3dlclNhdmVyRW5hYmxlZE5vdGlmeUNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjp+TG93UG93ZXJNb2Rl
Tm90aWZpZXIpOgorCiAyMDIxLTEwLTE5ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IEZpeCBicm9rZW4gc3BlYyBsaW5rcyBpbiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcCBhbmQgQWNjZXNzaWJpbGl0eVRyZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVOb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIuaAppbmRleCA4NTYwZWRiMzhhNWZlNjUyZTgx
OWM4MmY1MjlhYjNjODY4YTRhZmY2Li40MTdjMzBkMjYzZWMxMTU3MjUxZGRjZDE2MjBmYjA0ODMz
ZjgxN2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVO
b3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlm
aWVyLmgKQEAgLTMzLDggKzMzLDggQEAgT0JKQ19DTEFTUyBXZWJMb3dQb3dlck1vZGVPYnNlcnZl
cjsKICNlbmRpZgogCiAjaWYgVVNFKEdMSUIpCisjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1
ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KLXR5cGVkZWYgc3RydWN0IF9HREJ1c1Byb3h5IEdEQnVz
UHJveHk7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDksMjEgKzQ5LDE0IEBA
IHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzTG93UG93ZXJNb2RlRW5hYmxlZCgp
IGNvbnN0OwogCiBwcml2YXRlOgorICAgIExvd1Bvd2VyTW9kZUNoYW5nZUNhbGxiYWNrIG1fY2Fs
bGJhY2s7CiAjaWYgSEFWRShBUFBMRV9MT1dfUE9XRVJfTU9ERV9TVVBQT1JUKQogICAgIHZvaWQg
bm90aWZ5TG93UG93ZXJNb2RlQ2hhbmdlZChib29sKTsKICAgICBmcmllbmQgdm9pZCBub3RpZnlM
b3dQb3dlck1vZGVDaGFuZ2VkKExvd1Bvd2VyTW9kZU5vdGlmaWVyJiwgYm9vbCk7CiAKICAgICBS
ZXRhaW5QdHI8V2ViTG93UG93ZXJNb2RlT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXI7Ci0gICAgTG93UG93
ZXJNb2RlQ2hhbmdlQ2FsbGJhY2sgbV9jYWxsYmFjazsKLSNlbGlmIFVTRShHTElCKQotICAgIHZv
aWQgdXBkYXRlV2FybmluZ0xldmVsKCk7Ci0gICAgdm9pZCB3YXJuaW5nTGV2ZWxDaGFuZ2VkKCk7
Ci0gICAgc3RhdGljIHZvaWQgZ1Byb3BlcnRpZXNDaGFuZ2VkQ2FsbGJhY2soTG93UG93ZXJNb2Rl
Tm90aWZpZXIqLCBHVmFyaWFudCogY2hhbmdlZFByb3BlcnRpZXMpOwotCi0gICAgR1JlZlB0cjxH
REJ1c1Byb3h5PiBtX2Rpc3BsYXlEZXZpY2VQcm94eTsKLSAgICBHUmVmUHRyPEdDYW5jZWxsYWJs
ZT4gbV9jYW5jZWxsYWJsZTsKLSAgICBMb3dQb3dlck1vZGVDaGFuZ2VDYWxsYmFjayBtX2NhbGxi
YWNrOwotICAgIGJvb2wgbV9sb3dQb3dlck1vZGVFbmFibGVkIHsgZmFsc2UgfTsKKyNlbGlmIFVT
RShHTElCKSAmJiBHTElCX0NIRUNLX1ZFUlNJT04oMiwgNjksIDEpCisgICAgR1JlZlB0cjxHUG93
ZXJQcm9maWxlTW9uaXRvcj4gbV9wb3dlclByb2ZpbGVNb25pdG9yOwogI2VuZGlmCiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0xvd1Bvd2VyTW9kZU5vdGlm
aWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0xvd1Bvd2VyTW9kZU5v
dGlmaWVyR0xpYi5jcHAKaW5kZXggNjM4N2YxZmU1ZWJmMTNkODI3MDVkZjM4MDYwZWI1OGQ4ZTgx
ZTg2Mi4uOTkyYjEyOWNhNTgzMGExYWI2ZWM3NTE4OTM3OWEwNjM2NDE1OWI0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTG93UG93ZXJNb2RlTm90aWZp
ZXJHTGliLmNwcApAQCAtMjYsODMgKzI2LDM2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGNoYXIga1dhcm5pbmdMZXZlbFtdID0gIldhcm5pbmdMZXZlbCI7CiAKIExv
d1Bvd2VyTW9kZU5vdGlmaWVyOjpMb3dQb3dlck1vZGVOb3RpZmllcihMb3dQb3dlck1vZGVDaGFu
Z2VDYWxsYmFjayYmIGNhbGxiYWNrKQotICAgIDogbV9jYW5jZWxsYWJsZShhZG9wdEdSZWYoZ19j
YW5jZWxsYWJsZV9uZXcoKSkpCi0gICAgLCBtX2NhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKQor
ICAgIDogbV9jYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSkKKyNpZiBHTElCX0NIRUNLX1ZFUlNJ
T04oMiwgNjksIDEpCisgICAgLCBtX3Bvd2VyUHJvZmlsZU1vbml0b3IoYWRvcHRHUmVmKGdfcG93
ZXJfcHJvZmlsZV9tb25pdG9yX2R1cF9kZWZhdWx0KCkpKQorI2VuZGlmCiB7Ci0gICAgZ19kYnVz
X3Byb3h5X25ld19mb3JfYnVzKEdfQlVTX1RZUEVfU1lTVEVNLCBzdGF0aWNfY2FzdDxHREJ1c1By
b3h5RmxhZ3M+KEdfREJVU19QUk9YWV9GTEFHU19ET19OT1RfQ09OTkVDVF9TSUdOQUxTIHwgR19E
QlVTX1BST1hZX0ZMQUdTX0dFVF9JTlZBTElEQVRFRF9QUk9QRVJUSUVTKSwKLSAgICAgICAgbnVs
bHB0ciwgIm9yZy5mcmVlZGVza3RvcC5VUG93ZXIiLCAiL29yZy9mcmVlZGVza3RvcC9VUG93ZXIv
ZGV2aWNlcy9EaXNwbGF5RGV2aWNlIiwgIm9yZy5mcmVlZGVza3RvcC5VUG93ZXIuRGV2aWNlIiwg
bV9jYW5jZWxsYWJsZS5nZXQoKSwKLSAgICAgICAgW10oR09iamVjdCosIEdBc3luY1Jlc3VsdCog
cmVzdWx0LCBncG9pbnRlciB1c2VyRGF0YSkgewotICAgICAgICAgICAgR1VuaXF1ZU91dFB0cjxH
RXJyb3I+IGVycm9yOwotICAgICAgICAgICAgR1JlZlB0cjxHREJ1c1Byb3h5PiBwcm94eSA9IGFk
b3B0R1JlZihnX2RidXNfcHJveHlfbmV3X2Zvcl9idXNfZmluaXNoKHJlc3VsdCwgJmVycm9yLm91
dFB0cigpKSk7Ci0gICAgICAgICAgICBpZiAoZ19lcnJvcl9tYXRjaGVzKGVycm9yLmdldCgpLCBH
X0lPX0VSUk9SLCBHX0lPX0VSUk9SX0NBTkNFTExFRCkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
OworICAgIG1fY2FsbGJhY2soaXNMb3dQb3dlck1vZGVFbmFibGVkKCkpOwogCi0gICAgICAgICAg
ICBhdXRvKiBzZWxmID0gc3RhdGljX2Nhc3Q8TG93UG93ZXJNb2RlTm90aWZpZXIqPih1c2VyRGF0
YSk7Ci0gICAgICAgICAgICBpZiAocHJveHkpIHsKLSAgICAgICAgICAgICAgICBHVW5pcXVlUHRy
PGNoYXI+IG5hbWVPd25lcihnX2RidXNfcHJveHlfZ2V0X25hbWVfb3duZXIocHJveHkuZ2V0KCkp
KTsKLSAgICAgICAgICAgICAgICBpZiAobmFtZU93bmVyKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHNlbGYtPm1fZGlzcGxheURldmljZVByb3h5ID0gV1RGTW92ZShwcm94eSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHNlbGYtPnVwZGF0ZVdhcm5pbmdMZXZlbCgpOwotICAgICAgICAgICAgICAgICAg
ICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQoc2VsZi0+bV9kaXNwbGF5RGV2aWNlUHJveHkuZ2V0
KCksICJnLXByb3BlcnRpZXMtY2hhbmdlZCIsIEdfQ0FMTEJBQ0soZ1Byb3BlcnRpZXNDaGFuZ2Vk
Q2FsbGJhY2spLCBzZWxmKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8gTm93LCBpZiB0aGVyZSBp
cyBubyBuYW1lIG93bmVyLCBpdCB3b3VsZCBiZSBnb29kIHRvIHRyeSB0bwotICAgICAgICAgICAg
Ly8gY29ubmVjdCB0byBhIEZsYXRwYWsgYmF0dGVyeSBzdGF0dXMgcG9ydGFsIGluc3RlYWQuCi0g
ICAgICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBubyBzdWNoIHBvcnRhbCBjdXJyZW50bHkgZXhp
c3RzLgotICAgICAgICAgICAgc2VsZi0+bV9jYW5jZWxsYWJsZSA9IG51bGxwdHI7Ci0gICAgfSwg
dGhpcyk7Ci19Ci0KLXZvaWQgTG93UG93ZXJNb2RlTm90aWZpZXI6OnVwZGF0ZVdhcm5pbmdMZXZl
bCgpCi17Ci0gICAgR1JlZlB0cjxHVmFyaWFudD4gdmFyaWFudCA9IGFkb3B0R1JlZihnX2RidXNf
cHJveHlfZ2V0X2NhY2hlZF9wcm9wZXJ0eShtX2Rpc3BsYXlEZXZpY2VQcm94eS5nZXQoKSwga1dh
cm5pbmdMZXZlbCkpOwotICAgIGlmICghdmFyaWFudCkgewotICAgICAgICBtX2xvd1Bvd2VyTW9k
ZUVuYWJsZWQgPSBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIDA6IFVu
a25vd24KLSAgICAvLyAxOiBOb25lCi0gICAgLy8gMjogRGlzY2hhcmdpbmcgKG9ubHkgZm9yIHVu
aXZlcnNhbCBwb3dlciBzdXBwbGllcykKLSAgICAvLyAzOiBMb3cKLSAgICAvLyA0OiBDcml0aWNh
bAotICAgIC8vIDU6IEFjdGlvbgotICAgIG1fbG93UG93ZXJNb2RlRW5hYmxlZCA9IGdfdmFyaWFu
dF9nZXRfdWludDMyKHZhcmlhbnQuZ2V0KCkpID4gMTsKLX0KLQotdm9pZCBMb3dQb3dlck1vZGVO
b3RpZmllcjo6d2FybmluZ0xldmVsQ2hhbmdlZCgpCi17Ci0gICAgdXBkYXRlV2FybmluZ0xldmVs
KCk7Ci0gICAgbV9jYWxsYmFjayhtX2xvd1Bvd2VyTW9kZUVuYWJsZWQpOwotfQotCi12b2lkIExv
d1Bvd2VyTW9kZU5vdGlmaWVyOjpnUHJvcGVydGllc0NoYW5nZWRDYWxsYmFjayhMb3dQb3dlck1v
ZGVOb3RpZmllciogc2VsZiwgR1ZhcmlhbnQqIGNoYW5nZWRQcm9wZXJ0aWVzKQotewotICAgIEdV
bmlxdWVPdXRQdHI8R1ZhcmlhbnRJdGVyPiBpdGVyOwotICAgIGdfdmFyaWFudF9nZXQoY2hhbmdl
ZFByb3BlcnRpZXMsICJhe3N2fSIsICZpdGVyLm91dFB0cigpKTsKLQotICAgIGNvbnN0IGNoYXIq
IHByb3BlcnR5TmFtZTsKLSAgICB3aGlsZSAoZ192YXJpYW50X2l0ZXJfbmV4dChpdGVyLmdldCgp
LCAieyZzdn0iLCAmcHJvcGVydHlOYW1lLCBudWxscHRyKSkgewotICAgICAgICBpZiAoIXN0cmNt
cChwcm9wZXJ0eU5hbWUsIGtXYXJuaW5nTGV2ZWwpKSB7Ci0gICAgICAgICAgICBzZWxmLT53YXJu
aW5nTGV2ZWxDaGFuZ2VkKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0K
KyNpZiBHTElCX0NIRUNLX1ZFUlNJT04oMiwgNjksIDEpCisgICAgZ19zaWduYWxfY29ubmVjdF9z
d2FwcGVkKG1fcG93ZXJQcm9maWxlTW9uaXRvci5nZXQoKSwgIm5vdGlmeTo6cG93ZXItc2F2ZXIt
ZW5hYmxlZCIsIEdfQ0FMTEJBQ0soK1tdIChMb3dQb3dlck1vZGVOb3RpZmllciogc2VsZiwgR1Bh
cmFtU3BlYyosIEdQb3dlclByb2ZpbGVNb25pdG9yKikgeworICAgICAgICBzZWxmLT5tX2NhbGxi
YWNrKHNlbGYtPmlzTG93UG93ZXJNb2RlRW5hYmxlZCgpKTsKKyAgICB9KSwgdGhpcyk7CisjZW5k
aWYKIH0KIAogTG93UG93ZXJNb2RlTm90aWZpZXI6On5Mb3dQb3dlck1vZGVOb3RpZmllcigpCiB7
Ci0gICAgZ19jYW5jZWxsYWJsZV9jYW5jZWwobV9jYW5jZWxsYWJsZS5nZXQoKSk7CisjaWYgR0xJ
Ql9DSEVDS19WRVJTSU9OKDIsIDY5LCAxKQorICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5l
Y3RfYnlfZGF0YShtX3Bvd2VyUHJvZmlsZU1vbml0b3IuZ2V0KCksIHRoaXMpOworI2VuZGlmCiB9
CiAKIGJvb2wgTG93UG93ZXJNb2RlTm90aWZpZXI6OmlzTG93UG93ZXJNb2RlRW5hYmxlZCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fbG93UG93ZXJNb2RlRW5hYmxlZDsKKyNpZiBHTElCX0NIRUNL
X1ZFUlNJT04oMiwgNjksIDEpCisgICAgcmV0dXJuIGdfcG93ZXJfcHJvZmlsZV9tb25pdG9yX2dl
dF9wb3dlcl9zYXZlcl9lbmFibGVkKG1fcG93ZXJQcm9maWxlTW9uaXRvci5nZXQoKSk7CisjZWxz
ZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Cg==
</data>
<flag name="commit-queue"
          id="466280"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441898</attachid>
            <date>2021-10-20 10:53:45 -0700</date>
            <delta_ts>2021-10-20 11:25:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231958-20211020125134.patch</filename>
            <type>text/plain</type>
            <size>6630</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY0MGM1ZDJmOWRmODI0
YjBlMzBkNTY2NDlhZDc0YzQ3MTgzYTgzZS4uOWRjYWU2YWIyMzc0ZTIwMGYyNTNmNGY3OTcxNTY1
YWYxM2UyYzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTEwLTE5ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFJld3Jp
dGUgTG93UG93ZXJNb2RlTm90aWZpZXIgdG8gdXNlIEdQb3dlclByb2ZpbGVNb25pdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHJlcGxhY2Vz
IHRoZSBwcmV2aW91cyBkaXJlY3QgdXNlIG9mIFVQb3dlciB3aXRoIHNvbWUgYWR2YW50YWdlczoK
KworICAgICAgICAtIEZpeGVzIHN1cHBvcnQgd2hpbGUgYmVpbmcgc2FuZGJveGVkIHdpdGhvdXQg
VVBvd2VyIERCdXMgYWNjZXNzCisgICAgICAgIC0gUmVzcGVjdHMgYSBzeXN0ZW0td2lkZSBsb3cg
cG93ZXIgbW9kZSByYXRoZXIgdGhhbiBvbmx5IGJlaW5nCisgICAgICAgICAgZW5hYmxlZCB3aGVu
IHRoZSBiYXR0ZXJ5IGlzIGxvdworCisgICAgICAgIEkgZGVjaWRlZCB0byByZW1vdmUgdGhlIG9s
ZCBiZWhhdmlvciBlbnRpcmVseSBhcyBpdCBpcyBhIHZlcnkKKyAgICAgICAgZGlmZmVyZW50IGJl
aGF2aW9yIHRoYW4gdGhlIG5ldyBvbmUgYW5kIHN1YmplY3RpdmVseSB3b3JzZS4KKworICAgICAg
ICAqIHBsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlmaWVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG93
UG93ZXJNb2RlTm90aWZpZXI6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjpwb3dlclNhdmVyRW5hYmxlZE5vdGlmeUNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjp+TG93UG93ZXJNb2Rl
Tm90aWZpZXIpOgorCiAyMDIxLTEwLTE5ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IEZpeCBicm9rZW4gc3BlYyBsaW5rcyBpbiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcCBhbmQgQWNjZXNzaWJpbGl0eVRyZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVOb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIuaAppbmRleCA4NTYwZWRiMzhhNWZlNjUyZTgx
OWM4MmY1MjlhYjNjODY4YTRhZmY2Li5kMGM4NWQ2MzQwZGY2ZjMyYTk4NzIyYzAwMjVmNTVmYjAy
OThkNzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVO
b3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlm
aWVyLmgKQEAgLTMzLDggKzMzLDggQEAgT0JKQ19DTEFTUyBXZWJMb3dQb3dlck1vZGVPYnNlcnZl
cjsKICNlbmRpZgogCiAjaWYgVVNFKEdMSUIpCisjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1
ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KLXR5cGVkZWYgc3RydWN0IF9HREJ1c1Byb3h5IEdEQnVz
UHJveHk7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTUsMTUgKzU1LDkgQEAg
cHJpdmF0ZToKIAogICAgIFJldGFpblB0cjxXZWJMb3dQb3dlck1vZGVPYnNlcnZlcj4gbV9vYnNl
cnZlcjsKICAgICBMb3dQb3dlck1vZGVDaGFuZ2VDYWxsYmFjayBtX2NhbGxiYWNrOwotI2VsaWYg
VVNFKEdMSUIpCi0gICAgdm9pZCB1cGRhdGVXYXJuaW5nTGV2ZWwoKTsKLSAgICB2b2lkIHdhcm5p
bmdMZXZlbENoYW5nZWQoKTsKLSAgICBzdGF0aWMgdm9pZCBnUHJvcGVydGllc0NoYW5nZWRDYWxs
YmFjayhMb3dQb3dlck1vZGVOb3RpZmllciosIEdWYXJpYW50KiBjaGFuZ2VkUHJvcGVydGllcyk7
Ci0KLSAgICBHUmVmUHRyPEdEQnVzUHJveHk+IG1fZGlzcGxheURldmljZVByb3h5OwotICAgIEdS
ZWZQdHI8R0NhbmNlbGxhYmxlPiBtX2NhbmNlbGxhYmxlOworI2VsaWYgVVNFKEdMSUIpICYmIEdM
SUJfQ0hFQ0tfVkVSU0lPTigyLCA2OSwgMSkKICAgICBMb3dQb3dlck1vZGVDaGFuZ2VDYWxsYmFj
ayBtX2NhbGxiYWNrOwotICAgIGJvb2wgbV9sb3dQb3dlck1vZGVFbmFibGVkIHsgZmFsc2UgfTsK
KyAgICBHUmVmUHRyPEdQb3dlclByb2ZpbGVNb25pdG9yPiBtX3Bvd2VyUHJvZmlsZU1vbml0b3I7
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIv
TG93UG93ZXJNb2RlTm90aWZpZXJHTGliLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ds
aWIvTG93UG93ZXJNb2RlTm90aWZpZXJHTGliLmNwcAppbmRleCA2Mzg3ZjFmZTVlYmYxM2Q4Mjcw
NWRmMzgwNjBlYjU4ZDhlODFlODYyLi45OTJiMTI5Y2E1ODMwYTFhYjZlYzc1MTg5Mzc5YTA2MzY0
MTU5YjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0xvd1Bvd2Vy
TW9kZU5vdGlmaWVyR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9M
b3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3BwCkBAIC0yNiw4MyArMjYsMzYgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgY2hhciBrV2FybmluZ0xldmVsW10gPSAiV2Fy
bmluZ0xldmVsIjsKIAogTG93UG93ZXJNb2RlTm90aWZpZXI6Okxvd1Bvd2VyTW9kZU5vdGlmaWVy
KExvd1Bvd2VyTW9kZUNoYW5nZUNhbGxiYWNrJiYgY2FsbGJhY2spCi0gICAgOiBtX2NhbmNlbGxh
YmxlKGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKSkKLSAgICAsIG1fY2FsbGJhY2soV1RG
TW92ZShjYWxsYmFjaykpCisgICAgOiBtX2NhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKQorI2lm
IEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA2OSwgMSkKKyAgICAsIG1fcG93ZXJQcm9maWxlTW9uaXRv
cihhZG9wdEdSZWYoZ19wb3dlcl9wcm9maWxlX21vbml0b3JfZHVwX2RlZmF1bHQoKSkpCisjZW5k
aWYKIHsKLSAgICBnX2RidXNfcHJveHlfbmV3X2Zvcl9idXMoR19CVVNfVFlQRV9TWVNURU0sIHN0
YXRpY19jYXN0PEdEQnVzUHJveHlGbGFncz4oR19EQlVTX1BST1hZX0ZMQUdTX0RPX05PVF9DT05O
RUNUX1NJR05BTFMgfCBHX0RCVVNfUFJPWFlfRkxBR1NfR0VUX0lOVkFMSURBVEVEX1BST1BFUlRJ
RVMpLAotICAgICAgICBudWxscHRyLCAib3JnLmZyZWVkZXNrdG9wLlVQb3dlciIsICIvb3JnL2Zy
ZWVkZXNrdG9wL1VQb3dlci9kZXZpY2VzL0Rpc3BsYXlEZXZpY2UiLCAib3JnLmZyZWVkZXNrdG9w
LlVQb3dlci5EZXZpY2UiLCBtX2NhbmNlbGxhYmxlLmdldCgpLAotICAgICAgICBbXShHT2JqZWN0
KiwgR0FzeW5jUmVzdWx0KiByZXN1bHQsIGdwb2ludGVyIHVzZXJEYXRhKSB7Ci0gICAgICAgICAg
ICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7Ci0gICAgICAgICAgICBHUmVmUHRyPEdEQnVz
UHJveHk+IHByb3h5ID0gYWRvcHRHUmVmKGdfZGJ1c19wcm94eV9uZXdfZm9yX2J1c19maW5pc2go
cmVzdWx0LCAmZXJyb3Iub3V0UHRyKCkpKTsKLSAgICAgICAgICAgIGlmIChnX2Vycm9yX21hdGNo
ZXMoZXJyb3IuZ2V0KCksIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfQ0FOQ0VMTEVEKSkKLSAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgbV9jYWxsYmFjayhpc0xvd1Bvd2VyTW9kZUVuYWJsZWQo
KSk7CiAKLSAgICAgICAgICAgIGF1dG8qIHNlbGYgPSBzdGF0aWNfY2FzdDxMb3dQb3dlck1vZGVO
b3RpZmllcio+KHVzZXJEYXRhKTsKLSAgICAgICAgICAgIGlmIChwcm94eSkgewotICAgICAgICAg
ICAgICAgIEdVbmlxdWVQdHI8Y2hhcj4gbmFtZU93bmVyKGdfZGJ1c19wcm94eV9nZXRfbmFtZV9v
d25lcihwcm94eS5nZXQoKSkpOwotICAgICAgICAgICAgICAgIGlmIChuYW1lT3duZXIpIHsKLSAg
ICAgICAgICAgICAgICAgICAgc2VsZi0+bV9kaXNwbGF5RGV2aWNlUHJveHkgPSBXVEZNb3ZlKHBy
b3h5KTsKLSAgICAgICAgICAgICAgICAgICAgc2VsZi0+dXBkYXRlV2FybmluZ0xldmVsKCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChzZWxmLT5tX2Rpc3Bs
YXlEZXZpY2VQcm94eS5nZXQoKSwgImctcHJvcGVydGllcy1jaGFuZ2VkIiwgR19DQUxMQkFDSyhn
UHJvcGVydGllc0NoYW5nZWRDYWxsYmFjayksIHNlbGYpOwotICAgICAgICAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAv
LyBOb3csIGlmIHRoZXJlIGlzIG5vIG5hbWUgb3duZXIsIGl0IHdvdWxkIGJlIGdvb2QgdG8gdHJ5
IHRvCi0gICAgICAgICAgICAvLyBjb25uZWN0IHRvIGEgRmxhdHBhayBiYXR0ZXJ5IHN0YXR1cyBw
b3J0YWwgaW5zdGVhZC4KLSAgICAgICAgICAgIC8vIFVuZm9ydHVuYXRlbHksIG5vIHN1Y2ggcG9y
dGFsIGN1cnJlbnRseSBleGlzdHMuCi0gICAgICAgICAgICBzZWxmLT5tX2NhbmNlbGxhYmxlID0g
bnVsbHB0cjsKLSAgICB9LCB0aGlzKTsKLX0KLQotdm9pZCBMb3dQb3dlck1vZGVOb3RpZmllcjo6
dXBkYXRlV2FybmluZ0xldmVsKCkKLXsKLSAgICBHUmVmUHRyPEdWYXJpYW50PiB2YXJpYW50ID0g
YWRvcHRHUmVmKGdfZGJ1c19wcm94eV9nZXRfY2FjaGVkX3Byb3BlcnR5KG1fZGlzcGxheURldmlj
ZVByb3h5LmdldCgpLCBrV2FybmluZ0xldmVsKSk7Ci0gICAgaWYgKCF2YXJpYW50KSB7Ci0gICAg
ICAgIG1fbG93UG93ZXJNb2RlRW5hYmxlZCA9IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgLy8gMDogVW5rbm93bgotICAgIC8vIDE6IE5vbmUKLSAgICAvLyAyOiBEaXNjaGFy
Z2luZyAob25seSBmb3IgdW5pdmVyc2FsIHBvd2VyIHN1cHBsaWVzKQotICAgIC8vIDM6IExvdwot
ICAgIC8vIDQ6IENyaXRpY2FsCi0gICAgLy8gNTogQWN0aW9uCi0gICAgbV9sb3dQb3dlck1vZGVF
bmFibGVkID0gZ192YXJpYW50X2dldF91aW50MzIodmFyaWFudC5nZXQoKSkgPiAxOwotfQotCi12
b2lkIExvd1Bvd2VyTW9kZU5vdGlmaWVyOjp3YXJuaW5nTGV2ZWxDaGFuZ2VkKCkKLXsKLSAgICB1
cGRhdGVXYXJuaW5nTGV2ZWwoKTsKLSAgICBtX2NhbGxiYWNrKG1fbG93UG93ZXJNb2RlRW5hYmxl
ZCk7Ci19Ci0KLXZvaWQgTG93UG93ZXJNb2RlTm90aWZpZXI6OmdQcm9wZXJ0aWVzQ2hhbmdlZENh
bGxiYWNrKExvd1Bvd2VyTW9kZU5vdGlmaWVyKiBzZWxmLCBHVmFyaWFudCogY2hhbmdlZFByb3Bl
cnRpZXMpCi17Ci0gICAgR1VuaXF1ZU91dFB0cjxHVmFyaWFudEl0ZXI+IGl0ZXI7Ci0gICAgZ192
YXJpYW50X2dldChjaGFuZ2VkUHJvcGVydGllcywgImF7c3Z9IiwgJml0ZXIub3V0UHRyKCkpOwot
Ci0gICAgY29uc3QgY2hhciogcHJvcGVydHlOYW1lOwotICAgIHdoaWxlIChnX3ZhcmlhbnRfaXRl
cl9uZXh0KGl0ZXIuZ2V0KCksICJ7JnN2fSIsICZwcm9wZXJ0eU5hbWUsIG51bGxwdHIpKSB7Ci0g
ICAgICAgIGlmICghc3RyY21wKHByb3BlcnR5TmFtZSwga1dhcm5pbmdMZXZlbCkpIHsKLSAgICAg
ICAgICAgIHNlbGYtPndhcm5pbmdMZXZlbENoYW5nZWQoKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0gICAgfQorI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA2OSwgMSkKKyAgICBn
X3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV9wb3dlclByb2ZpbGVNb25pdG9yLmdldCgpLCAibm90
aWZ5Ojpwb3dlci1zYXZlci1lbmFibGVkIiwgR19DQUxMQkFDSygrW10gKExvd1Bvd2VyTW9kZU5v
dGlmaWVyKiBzZWxmLCBHUGFyYW1TcGVjKiwgR1Bvd2VyUHJvZmlsZU1vbml0b3IqKSB7CisgICAg
ICAgIHNlbGYtPm1fY2FsbGJhY2soc2VsZi0+aXNMb3dQb3dlck1vZGVFbmFibGVkKCkpOworICAg
IH0pLCB0aGlzKTsKKyNlbmRpZgogfQogCiBMb3dQb3dlck1vZGVOb3RpZmllcjo6fkxvd1Bvd2Vy
TW9kZU5vdGlmaWVyKCkKIHsKLSAgICBnX2NhbmNlbGxhYmxlX2NhbmNlbChtX2NhbmNlbGxhYmxl
LmdldCgpKTsKKyNpZiBHTElCX0NIRUNLX1ZFUlNJT04oMiwgNjksIDEpCisgICAgZ19zaWduYWxf
aGFuZGxlcnNfZGlzY29ubmVjdF9ieV9kYXRhKG1fcG93ZXJQcm9maWxlTW9uaXRvci5nZXQoKSwg
dGhpcyk7CisjZW5kaWYKIH0KIAogYm9vbCBMb3dQb3dlck1vZGVOb3RpZmllcjo6aXNMb3dQb3dl
ck1vZGVFbmFibGVkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9sb3dQb3dlck1vZGVFbmFibGVk
OworI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA2OSwgMSkKKyAgICByZXR1cm4gZ19wb3dlcl9w
cm9maWxlX21vbml0b3JfZ2V0X3Bvd2VyX3NhdmVyX2VuYWJsZWQobV9wb3dlclByb2ZpbGVNb25p
dG9yLmdldCgpKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUK
</data>
<flag name="commit-queue"
          id="466299"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441904</attachid>
            <date>2021-10-20 11:21:16 -0700</date>
            <delta_ts>2021-10-21 07:14:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231958-20211020131905.patch</filename>
            <type>text/plain</type>
            <size>6622</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY0MGM1ZDJmOWRmODI0
YjBlMzBkNTY2NDlhZDc0YzQ3MTgzYTgzZS4uOWRjYWU2YWIyMzc0ZTIwMGYyNTNmNGY3OTcxNTY1
YWYxM2UyYzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTEwLTE5ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFJld3Jp
dGUgTG93UG93ZXJNb2RlTm90aWZpZXIgdG8gdXNlIEdQb3dlclByb2ZpbGVNb25pdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHJlcGxhY2Vz
IHRoZSBwcmV2aW91cyBkaXJlY3QgdXNlIG9mIFVQb3dlciB3aXRoIHNvbWUgYWR2YW50YWdlczoK
KworICAgICAgICAtIEZpeGVzIHN1cHBvcnQgd2hpbGUgYmVpbmcgc2FuZGJveGVkIHdpdGhvdXQg
VVBvd2VyIERCdXMgYWNjZXNzCisgICAgICAgIC0gUmVzcGVjdHMgYSBzeXN0ZW0td2lkZSBsb3cg
cG93ZXIgbW9kZSByYXRoZXIgdGhhbiBvbmx5IGJlaW5nCisgICAgICAgICAgZW5hYmxlZCB3aGVu
IHRoZSBiYXR0ZXJ5IGlzIGxvdworCisgICAgICAgIEkgZGVjaWRlZCB0byByZW1vdmUgdGhlIG9s
ZCBiZWhhdmlvciBlbnRpcmVseSBhcyBpdCBpcyBhIHZlcnkKKyAgICAgICAgZGlmZmVyZW50IGJl
aGF2aW9yIHRoYW4gdGhlIG5ldyBvbmUgYW5kIHN1YmplY3RpdmVseSB3b3JzZS4KKworICAgICAg
ICAqIHBsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlmaWVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG93
UG93ZXJNb2RlTm90aWZpZXI6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjpwb3dlclNhdmVyRW5hYmxlZE5vdGlmeUNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjp+TG93UG93ZXJNb2Rl
Tm90aWZpZXIpOgorCiAyMDIxLTEwLTE5ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IEZpeCBicm9rZW4gc3BlYyBsaW5rcyBpbiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcCBhbmQgQWNjZXNzaWJpbGl0eVRyZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVOb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIuaAppbmRleCA4NTYwZWRiMzhhNWZlNjUyZTgx
OWM4MmY1MjlhYjNjODY4YTRhZmY2Li5kNjAwMGVlNmE0YmNiM2UwMDhiNmViZWU3YmQxZGViOGEx
MmU5YWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVO
b3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlm
aWVyLmgKQEAgLTMzLDggKzMzLDggQEAgT0JKQ19DTEFTUyBXZWJMb3dQb3dlck1vZGVPYnNlcnZl
cjsKICNlbmRpZgogCiAjaWYgVVNFKEdMSUIpCisjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1
ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KLXR5cGVkZWYgc3RydWN0IF9HREJ1c1Byb3h5IEdEQnVz
UHJveHk7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTYsMTQgKzU2LDEwIEBA
IHByaXZhdGU6CiAgICAgUmV0YWluUHRyPFdlYkxvd1Bvd2VyTW9kZU9ic2VydmVyPiBtX29ic2Vy
dmVyOwogICAgIExvd1Bvd2VyTW9kZUNoYW5nZUNhbGxiYWNrIG1fY2FsbGJhY2s7CiAjZWxpZiBV
U0UoR0xJQikKLSAgICB2b2lkIHVwZGF0ZVdhcm5pbmdMZXZlbCgpOwotICAgIHZvaWQgd2Fybmlu
Z0xldmVsQ2hhbmdlZCgpOwotICAgIHN0YXRpYyB2b2lkIGdQcm9wZXJ0aWVzQ2hhbmdlZENhbGxi
YWNrKExvd1Bvd2VyTW9kZU5vdGlmaWVyKiwgR1ZhcmlhbnQqIGNoYW5nZWRQcm9wZXJ0aWVzKTsK
LQotICAgIEdSZWZQdHI8R0RCdXNQcm94eT4gbV9kaXNwbGF5RGV2aWNlUHJveHk7Ci0gICAgR1Jl
ZlB0cjxHQ2FuY2VsbGFibGU+IG1fY2FuY2VsbGFibGU7CisjaWYgR0xJQl9DSEVDS19WRVJTSU9O
KDIsIDY5LCAxKQogICAgIExvd1Bvd2VyTW9kZUNoYW5nZUNhbGxiYWNrIG1fY2FsbGJhY2s7Ci0g
ICAgYm9vbCBtX2xvd1Bvd2VyTW9kZUVuYWJsZWQgeyBmYWxzZSB9OworICAgIEdSZWZQdHI8R1Bv
d2VyUHJvZmlsZU1vbml0b3I+IG1fcG93ZXJQcm9maWxlTW9uaXRvcjsKKyNlbmRpZgogI2VuZGlm
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0xvd1Bvd2Vy
TW9kZU5vdGlmaWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0xvd1Bv
d2VyTW9kZU5vdGlmaWVyR0xpYi5jcHAKaW5kZXggNjM4N2YxZmU1ZWJmMTNkODI3MDVkZjM4MDYw
ZWI1OGQ4ZTgxZTg2Mi4uOTkyYjEyOWNhNTgzMGExYWI2ZWM3NTE4OTM3OWEwNjM2NDE1OWI0OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3Rp
ZmllckdMaWIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTG93UG93ZXJN
b2RlTm90aWZpZXJHTGliLmNwcApAQCAtMjYsODMgKzI2LDM2IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotc3RhdGljIGNvbnN0IGNoYXIga1dhcm5pbmdMZXZlbFtdID0gIldhcm5pbmdMZXZl
bCI7CiAKIExvd1Bvd2VyTW9kZU5vdGlmaWVyOjpMb3dQb3dlck1vZGVOb3RpZmllcihMb3dQb3dl
ck1vZGVDaGFuZ2VDYWxsYmFjayYmIGNhbGxiYWNrKQotICAgIDogbV9jYW5jZWxsYWJsZShhZG9w
dEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSkpCi0gICAgLCBtX2NhbGxiYWNrKFdURk1vdmUoY2Fs
bGJhY2spKQorICAgIDogbV9jYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSkKKyNpZiBHTElCX0NI
RUNLX1ZFUlNJT04oMiwgNjksIDEpCisgICAgLCBtX3Bvd2VyUHJvZmlsZU1vbml0b3IoYWRvcHRH
UmVmKGdfcG93ZXJfcHJvZmlsZV9tb25pdG9yX2R1cF9kZWZhdWx0KCkpKQorI2VuZGlmCiB7Ci0g
ICAgZ19kYnVzX3Byb3h5X25ld19mb3JfYnVzKEdfQlVTX1RZUEVfU1lTVEVNLCBzdGF0aWNfY2Fz
dDxHREJ1c1Byb3h5RmxhZ3M+KEdfREJVU19QUk9YWV9GTEFHU19ET19OT1RfQ09OTkVDVF9TSUdO
QUxTIHwgR19EQlVTX1BST1hZX0ZMQUdTX0dFVF9JTlZBTElEQVRFRF9QUk9QRVJUSUVTKSwKLSAg
ICAgICAgbnVsbHB0ciwgIm9yZy5mcmVlZGVza3RvcC5VUG93ZXIiLCAiL29yZy9mcmVlZGVza3Rv
cC9VUG93ZXIvZGV2aWNlcy9EaXNwbGF5RGV2aWNlIiwgIm9yZy5mcmVlZGVza3RvcC5VUG93ZXIu
RGV2aWNlIiwgbV9jYW5jZWxsYWJsZS5nZXQoKSwKLSAgICAgICAgW10oR09iamVjdCosIEdBc3lu
Y1Jlc3VsdCogcmVzdWx0LCBncG9pbnRlciB1c2VyRGF0YSkgewotICAgICAgICAgICAgR1VuaXF1
ZU91dFB0cjxHRXJyb3I+IGVycm9yOwotICAgICAgICAgICAgR1JlZlB0cjxHREJ1c1Byb3h5PiBw
cm94eSA9IGFkb3B0R1JlZihnX2RidXNfcHJveHlfbmV3X2Zvcl9idXNfZmluaXNoKHJlc3VsdCwg
JmVycm9yLm91dFB0cigpKSk7Ci0gICAgICAgICAgICBpZiAoZ19lcnJvcl9tYXRjaGVzKGVycm9y
LmdldCgpLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0NBTkNFTExFRCkpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgIG1fY2FsbGJhY2soaXNMb3dQb3dlck1vZGVFbmFibGVkKCkpOwogCi0g
ICAgICAgICAgICBhdXRvKiBzZWxmID0gc3RhdGljX2Nhc3Q8TG93UG93ZXJNb2RlTm90aWZpZXIq
Pih1c2VyRGF0YSk7Ci0gICAgICAgICAgICBpZiAocHJveHkpIHsKLSAgICAgICAgICAgICAgICBH
VW5pcXVlUHRyPGNoYXI+IG5hbWVPd25lcihnX2RidXNfcHJveHlfZ2V0X25hbWVfb3duZXIocHJv
eHkuZ2V0KCkpKTsKLSAgICAgICAgICAgICAgICBpZiAobmFtZU93bmVyKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHNlbGYtPm1fZGlzcGxheURldmljZVByb3h5ID0gV1RGTW92ZShwcm94eSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHNlbGYtPnVwZGF0ZVdhcm5pbmdMZXZlbCgpOwotICAgICAgICAg
ICAgICAgICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQoc2VsZi0+bV9kaXNwbGF5RGV2aWNl
UHJveHkuZ2V0KCksICJnLXByb3BlcnRpZXMtY2hhbmdlZCIsIEdfQ0FMTEJBQ0soZ1Byb3BlcnRp
ZXNDaGFuZ2VkQ2FsbGJhY2spLCBzZWxmKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8gTm93LCBp
ZiB0aGVyZSBpcyBubyBuYW1lIG93bmVyLCBpdCB3b3VsZCBiZSBnb29kIHRvIHRyeSB0bwotICAg
ICAgICAgICAgLy8gY29ubmVjdCB0byBhIEZsYXRwYWsgYmF0dGVyeSBzdGF0dXMgcG9ydGFsIGlu
c3RlYWQuCi0gICAgICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBubyBzdWNoIHBvcnRhbCBjdXJy
ZW50bHkgZXhpc3RzLgotICAgICAgICAgICAgc2VsZi0+bV9jYW5jZWxsYWJsZSA9IG51bGxwdHI7
Ci0gICAgfSwgdGhpcyk7Ci19Ci0KLXZvaWQgTG93UG93ZXJNb2RlTm90aWZpZXI6OnVwZGF0ZVdh
cm5pbmdMZXZlbCgpCi17Ci0gICAgR1JlZlB0cjxHVmFyaWFudD4gdmFyaWFudCA9IGFkb3B0R1Jl
ZihnX2RidXNfcHJveHlfZ2V0X2NhY2hlZF9wcm9wZXJ0eShtX2Rpc3BsYXlEZXZpY2VQcm94eS5n
ZXQoKSwga1dhcm5pbmdMZXZlbCkpOwotICAgIGlmICghdmFyaWFudCkgewotICAgICAgICBtX2xv
d1Bvd2VyTW9kZUVuYWJsZWQgPSBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IC8vIDA6IFVua25vd24KLSAgICAvLyAxOiBOb25lCi0gICAgLy8gMjogRGlzY2hhcmdpbmcgKG9u
bHkgZm9yIHVuaXZlcnNhbCBwb3dlciBzdXBwbGllcykKLSAgICAvLyAzOiBMb3cKLSAgICAvLyA0
OiBDcml0aWNhbAotICAgIC8vIDU6IEFjdGlvbgotICAgIG1fbG93UG93ZXJNb2RlRW5hYmxlZCA9
IGdfdmFyaWFudF9nZXRfdWludDMyKHZhcmlhbnQuZ2V0KCkpID4gMTsKLX0KLQotdm9pZCBMb3dQ
b3dlck1vZGVOb3RpZmllcjo6d2FybmluZ0xldmVsQ2hhbmdlZCgpCi17Ci0gICAgdXBkYXRlV2Fy
bmluZ0xldmVsKCk7Ci0gICAgbV9jYWxsYmFjayhtX2xvd1Bvd2VyTW9kZUVuYWJsZWQpOwotfQot
Ci12b2lkIExvd1Bvd2VyTW9kZU5vdGlmaWVyOjpnUHJvcGVydGllc0NoYW5nZWRDYWxsYmFjayhM
b3dQb3dlck1vZGVOb3RpZmllciogc2VsZiwgR1ZhcmlhbnQqIGNoYW5nZWRQcm9wZXJ0aWVzKQot
ewotICAgIEdVbmlxdWVPdXRQdHI8R1ZhcmlhbnRJdGVyPiBpdGVyOwotICAgIGdfdmFyaWFudF9n
ZXQoY2hhbmdlZFByb3BlcnRpZXMsICJhe3N2fSIsICZpdGVyLm91dFB0cigpKTsKLQotICAgIGNv
bnN0IGNoYXIqIHByb3BlcnR5TmFtZTsKLSAgICB3aGlsZSAoZ192YXJpYW50X2l0ZXJfbmV4dChp
dGVyLmdldCgpLCAieyZzdn0iLCAmcHJvcGVydHlOYW1lLCBudWxscHRyKSkgewotICAgICAgICBp
ZiAoIXN0cmNtcChwcm9wZXJ0eU5hbWUsIGtXYXJuaW5nTGV2ZWwpKSB7Ci0gICAgICAgICAgICBz
ZWxmLT53YXJuaW5nTGV2ZWxDaGFuZ2VkKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotICAgIH0KKyNpZiBHTElCX0NIRUNLX1ZFUlNJT04oMiwgNjksIDEpCisgICAgZ19zaWduYWxf
Y29ubmVjdF9zd2FwcGVkKG1fcG93ZXJQcm9maWxlTW9uaXRvci5nZXQoKSwgIm5vdGlmeTo6cG93
ZXItc2F2ZXItZW5hYmxlZCIsIEdfQ0FMTEJBQ0soK1tdIChMb3dQb3dlck1vZGVOb3RpZmllciog
c2VsZiwgR1BhcmFtU3BlYyosIEdQb3dlclByb2ZpbGVNb25pdG9yKikgeworICAgICAgICBzZWxm
LT5tX2NhbGxiYWNrKHNlbGYtPmlzTG93UG93ZXJNb2RlRW5hYmxlZCgpKTsKKyAgICB9KSwgdGhp
cyk7CisjZW5kaWYKIH0KIAogTG93UG93ZXJNb2RlTm90aWZpZXI6On5Mb3dQb3dlck1vZGVOb3Rp
ZmllcigpCiB7Ci0gICAgZ19jYW5jZWxsYWJsZV9jYW5jZWwobV9jYW5jZWxsYWJsZS5nZXQoKSk7
CisjaWYgR0xJQl9DSEVDS19WRVJTSU9OKDIsIDY5LCAxKQorICAgIGdfc2lnbmFsX2hhbmRsZXJz
X2Rpc2Nvbm5lY3RfYnlfZGF0YShtX3Bvd2VyUHJvZmlsZU1vbml0b3IuZ2V0KCksIHRoaXMpOwor
I2VuZGlmCiB9CiAKIGJvb2wgTG93UG93ZXJNb2RlTm90aWZpZXI6OmlzTG93UG93ZXJNb2RlRW5h
YmxlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbG93UG93ZXJNb2RlRW5hYmxlZDsKKyNpZiBH
TElCX0NIRUNLX1ZFUlNJT04oMiwgNjksIDEpCisgICAgcmV0dXJuIGdfcG93ZXJfcHJvZmlsZV9t
b25pdG9yX2dldF9wb3dlcl9zYXZlcl9lbmFibGVkKG1fcG93ZXJQcm9maWxlTW9uaXRvci5nZXQo
KSk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442018</attachid>
            <date>2021-10-21 07:21:11 -0700</date>
            <delta_ts>2021-10-22 01:07:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231958-20211021091900.patch</filename>
            <type>text/plain</type>
            <size>6610</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWY0MGM1ZDJmOWRmODI0
YjBlMzBkNTY2NDlhZDc0YzQ3MTgzYTgzZS4uOWRjYWU2YWIyMzc0ZTIwMGYyNTNmNGY3OTcxNTY1
YWYxM2UyYzIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTEwLTE5ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFJld3Jp
dGUgTG93UG93ZXJNb2RlTm90aWZpZXIgdG8gdXNlIEdQb3dlclByb2ZpbGVNb25pdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHJlcGxhY2Vz
IHRoZSBwcmV2aW91cyBkaXJlY3QgdXNlIG9mIFVQb3dlciB3aXRoIHNvbWUgYWR2YW50YWdlczoK
KworICAgICAgICAtIEZpeGVzIHN1cHBvcnQgd2hpbGUgYmVpbmcgc2FuZGJveGVkIHdpdGhvdXQg
VVBvd2VyIERCdXMgYWNjZXNzCisgICAgICAgIC0gUmVzcGVjdHMgYSBzeXN0ZW0td2lkZSBsb3cg
cG93ZXIgbW9kZSByYXRoZXIgdGhhbiBvbmx5IGJlaW5nCisgICAgICAgICAgZW5hYmxlZCB3aGVu
IHRoZSBiYXR0ZXJ5IGlzIGxvdworCisgICAgICAgIEkgZGVjaWRlZCB0byByZW1vdmUgdGhlIG9s
ZCBiZWhhdmlvciBlbnRpcmVseSBhcyBpdCBpcyBhIHZlcnkKKyAgICAgICAgZGlmZmVyZW50IGJl
aGF2aW9yIHRoYW4gdGhlIG5ldyBvbmUgYW5kIHN1YmplY3RpdmVseSB3b3JzZS4KKworICAgICAg
ICAqIHBsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlmaWVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG93
UG93ZXJNb2RlTm90aWZpZXI6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjpwb3dlclNhdmVyRW5hYmxlZE5vdGlmeUNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyOjp+TG93UG93ZXJNb2Rl
Tm90aWZpZXIpOgorCiAyMDIxLTEwLTE5ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IEZpeCBicm9rZW4gc3BlYyBsaW5rcyBpbiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcCBhbmQgQWNjZXNzaWJpbGl0eVRyZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVOb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG93UG93ZXJNb2RlTm90aWZpZXIuaAppbmRleCA4NTYwZWRiMzhhNWZlNjUyZTgx
OWM4MmY1MjlhYjNjODY4YTRhZmY2Li42M2I2YzRhZmZlYzZlZDA4NTE4ZWMzMmYzNGQxNDk1Yzk2
NWMxN2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb3dQb3dlck1vZGVO
b3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvd1Bvd2VyTW9kZU5vdGlm
aWVyLmgKQEAgLTM0LDcgKzM0LDcgQEAgT0JKQ19DTEFTUyBXZWJMb3dQb3dlck1vZGVPYnNlcnZl
cjsKIAogI2lmIFVTRShHTElCKQogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KLXR5cGVk
ZWYgc3RydWN0IF9HREJ1c1Byb3h5IEdEQnVzUHJveHk7Cit0eXBlZGVmIHN0cnVjdCBfR1Bvd2Vy
UHJvZmlsZU1vbml0b3IgR1Bvd2VyUHJvZmlsZU1vbml0b3I7CiAjZW5kaWYKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNTYsMTQgKzU2LDEwIEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPFdl
Ykxvd1Bvd2VyTW9kZU9ic2VydmVyPiBtX29ic2VydmVyOwogICAgIExvd1Bvd2VyTW9kZUNoYW5n
ZUNhbGxiYWNrIG1fY2FsbGJhY2s7CiAjZWxpZiBVU0UoR0xJQikKLSAgICB2b2lkIHVwZGF0ZVdh
cm5pbmdMZXZlbCgpOwotICAgIHZvaWQgd2FybmluZ0xldmVsQ2hhbmdlZCgpOwotICAgIHN0YXRp
YyB2b2lkIGdQcm9wZXJ0aWVzQ2hhbmdlZENhbGxiYWNrKExvd1Bvd2VyTW9kZU5vdGlmaWVyKiwg
R1ZhcmlhbnQqIGNoYW5nZWRQcm9wZXJ0aWVzKTsKLQotICAgIEdSZWZQdHI8R0RCdXNQcm94eT4g
bV9kaXNwbGF5RGV2aWNlUHJveHk7Ci0gICAgR1JlZlB0cjxHQ2FuY2VsbGFibGU+IG1fY2FuY2Vs
bGFibGU7CisjaWYgR0xJQl9DSEVDS19WRVJTSU9OKDIsIDY5LCAxKQogICAgIExvd1Bvd2VyTW9k
ZUNoYW5nZUNhbGxiYWNrIG1fY2FsbGJhY2s7Ci0gICAgYm9vbCBtX2xvd1Bvd2VyTW9kZUVuYWJs
ZWQgeyBmYWxzZSB9OworICAgIEdSZWZQdHI8R1Bvd2VyUHJvZmlsZU1vbml0b3I+IG1fcG93ZXJQ
cm9maWxlTW9uaXRvcjsKKyNlbmRpZgogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9nbGliL0xvd1Bvd2VyTW9kZU5vdGlmaWVyR0xpYi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0xvd1Bvd2VyTW9kZU5vdGlmaWVyR0xpYi5jcHAKaW5k
ZXggNjM4N2YxZmU1ZWJmMTNkODI3MDVkZjM4MDYwZWI1OGQ4ZTgxZTg2Mi4uZDYzM2M0ODY2ZWFi
YjRiZGYxN2ZjZDgxOTNjN2NlNDlhODMzMTdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dsaWIvTG93UG93ZXJNb2RlTm90aWZpZXJHTGliLmNwcApAQCAtMjYs
ODMgKzI2LDM0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGNoYXIg
a1dhcm5pbmdMZXZlbFtdID0gIldhcm5pbmdMZXZlbCI7CiAKIExvd1Bvd2VyTW9kZU5vdGlmaWVy
OjpMb3dQb3dlck1vZGVOb3RpZmllcihMb3dQb3dlck1vZGVDaGFuZ2VDYWxsYmFjayYmIGNhbGxi
YWNrKQotICAgIDogbV9jYW5jZWxsYWJsZShhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSkp
Ci0gICAgLCBtX2NhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKQorICAgIDogbV9jYWxsYmFjayhX
VEZNb3ZlKGNhbGxiYWNrKSkKKyNpZiBHTElCX0NIRUNLX1ZFUlNJT04oMiwgNjksIDEpCisgICAg
LCBtX3Bvd2VyUHJvZmlsZU1vbml0b3IoYWRvcHRHUmVmKGdfcG93ZXJfcHJvZmlsZV9tb25pdG9y
X2R1cF9kZWZhdWx0KCkpKQorI2VuZGlmCiB7Ci0gICAgZ19kYnVzX3Byb3h5X25ld19mb3JfYnVz
KEdfQlVTX1RZUEVfU1lTVEVNLCBzdGF0aWNfY2FzdDxHREJ1c1Byb3h5RmxhZ3M+KEdfREJVU19Q
Uk9YWV9GTEFHU19ET19OT1RfQ09OTkVDVF9TSUdOQUxTIHwgR19EQlVTX1BST1hZX0ZMQUdTX0dF
VF9JTlZBTElEQVRFRF9QUk9QRVJUSUVTKSwKLSAgICAgICAgbnVsbHB0ciwgIm9yZy5mcmVlZGVz
a3RvcC5VUG93ZXIiLCAiL29yZy9mcmVlZGVza3RvcC9VUG93ZXIvZGV2aWNlcy9EaXNwbGF5RGV2
aWNlIiwgIm9yZy5mcmVlZGVza3RvcC5VUG93ZXIuRGV2aWNlIiwgbV9jYW5jZWxsYWJsZS5nZXQo
KSwKLSAgICAgICAgW10oR09iamVjdCosIEdBc3luY1Jlc3VsdCogcmVzdWx0LCBncG9pbnRlciB1
c2VyRGF0YSkgewotICAgICAgICAgICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IGVycm9yOwotICAg
ICAgICAgICAgR1JlZlB0cjxHREJ1c1Byb3h5PiBwcm94eSA9IGFkb3B0R1JlZihnX2RidXNfcHJv
eHlfbmV3X2Zvcl9idXNfZmluaXNoKHJlc3VsdCwgJmVycm9yLm91dFB0cigpKSk7Ci0gICAgICAg
ICAgICBpZiAoZ19lcnJvcl9tYXRjaGVzKGVycm9yLmdldCgpLCBHX0lPX0VSUk9SLCBHX0lPX0VS
Uk9SX0NBTkNFTExFRCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBh
dXRvKiBzZWxmID0gc3RhdGljX2Nhc3Q8TG93UG93ZXJNb2RlTm90aWZpZXIqPih1c2VyRGF0YSk7
Ci0gICAgICAgICAgICBpZiAocHJveHkpIHsKLSAgICAgICAgICAgICAgICBHVW5pcXVlUHRyPGNo
YXI+IG5hbWVPd25lcihnX2RidXNfcHJveHlfZ2V0X25hbWVfb3duZXIocHJveHkuZ2V0KCkpKTsK
LSAgICAgICAgICAgICAgICBpZiAobmFtZU93bmVyKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNl
bGYtPm1fZGlzcGxheURldmljZVByb3h5ID0gV1RGTW92ZShwcm94eSk7Ci0gICAgICAgICAgICAg
ICAgICAgIHNlbGYtPnVwZGF0ZVdhcm5pbmdMZXZlbCgpOwotICAgICAgICAgICAgICAgICAgICBn
X3NpZ25hbF9jb25uZWN0X3N3YXBwZWQoc2VsZi0+bV9kaXNwbGF5RGV2aWNlUHJveHkuZ2V0KCks
ICJnLXByb3BlcnRpZXMtY2hhbmdlZCIsIEdfQ0FMTEJBQ0soZ1Byb3BlcnRpZXNDaGFuZ2VkQ2Fs
bGJhY2spLCBzZWxmKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8gTm93LCBpZiB0aGVyZSBpcyBu
byBuYW1lIG93bmVyLCBpdCB3b3VsZCBiZSBnb29kIHRvIHRyeSB0bwotICAgICAgICAgICAgLy8g
Y29ubmVjdCB0byBhIEZsYXRwYWsgYmF0dGVyeSBzdGF0dXMgcG9ydGFsIGluc3RlYWQuCi0gICAg
ICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBubyBzdWNoIHBvcnRhbCBjdXJyZW50bHkgZXhpc3Rz
LgotICAgICAgICAgICAgc2VsZi0+bV9jYW5jZWxsYWJsZSA9IG51bGxwdHI7Ci0gICAgfSwgdGhp
cyk7Ci19Ci0KLXZvaWQgTG93UG93ZXJNb2RlTm90aWZpZXI6OnVwZGF0ZVdhcm5pbmdMZXZlbCgp
Ci17Ci0gICAgR1JlZlB0cjxHVmFyaWFudD4gdmFyaWFudCA9IGFkb3B0R1JlZihnX2RidXNfcHJv
eHlfZ2V0X2NhY2hlZF9wcm9wZXJ0eShtX2Rpc3BsYXlEZXZpY2VQcm94eS5nZXQoKSwga1dhcm5p
bmdMZXZlbCkpOwotICAgIGlmICghdmFyaWFudCkgewotICAgICAgICBtX2xvd1Bvd2VyTW9kZUVu
YWJsZWQgPSBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIDA6IFVua25v
d24KLSAgICAvLyAxOiBOb25lCi0gICAgLy8gMjogRGlzY2hhcmdpbmcgKG9ubHkgZm9yIHVuaXZl
cnNhbCBwb3dlciBzdXBwbGllcykKLSAgICAvLyAzOiBMb3cKLSAgICAvLyA0OiBDcml0aWNhbAot
ICAgIC8vIDU6IEFjdGlvbgotICAgIG1fbG93UG93ZXJNb2RlRW5hYmxlZCA9IGdfdmFyaWFudF9n
ZXRfdWludDMyKHZhcmlhbnQuZ2V0KCkpID4gMTsKLX0KLQotdm9pZCBMb3dQb3dlck1vZGVOb3Rp
Zmllcjo6d2FybmluZ0xldmVsQ2hhbmdlZCgpCi17Ci0gICAgdXBkYXRlV2FybmluZ0xldmVsKCk7
Ci0gICAgbV9jYWxsYmFjayhtX2xvd1Bvd2VyTW9kZUVuYWJsZWQpOwotfQotCi12b2lkIExvd1Bv
d2VyTW9kZU5vdGlmaWVyOjpnUHJvcGVydGllc0NoYW5nZWRDYWxsYmFjayhMb3dQb3dlck1vZGVO
b3RpZmllciogc2VsZiwgR1ZhcmlhbnQqIGNoYW5nZWRQcm9wZXJ0aWVzKQotewotICAgIEdVbmlx
dWVPdXRQdHI8R1ZhcmlhbnRJdGVyPiBpdGVyOwotICAgIGdfdmFyaWFudF9nZXQoY2hhbmdlZFBy
b3BlcnRpZXMsICJhe3N2fSIsICZpdGVyLm91dFB0cigpKTsKLQotICAgIGNvbnN0IGNoYXIqIHBy
b3BlcnR5TmFtZTsKLSAgICB3aGlsZSAoZ192YXJpYW50X2l0ZXJfbmV4dChpdGVyLmdldCgpLCAi
eyZzdn0iLCAmcHJvcGVydHlOYW1lLCBudWxscHRyKSkgewotICAgICAgICBpZiAoIXN0cmNtcChw
cm9wZXJ0eU5hbWUsIGtXYXJuaW5nTGV2ZWwpKSB7Ci0gICAgICAgICAgICBzZWxmLT53YXJuaW5n
TGV2ZWxDaGFuZ2VkKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KKyNp
ZiBHTElCX0NIRUNLX1ZFUlNJT04oMiwgNjksIDEpCisgICAgZ19zaWduYWxfY29ubmVjdF9zd2Fw
cGVkKG1fcG93ZXJQcm9maWxlTW9uaXRvci5nZXQoKSwgIm5vdGlmeTo6cG93ZXItc2F2ZXItZW5h
YmxlZCIsIEdfQ0FMTEJBQ0soK1tdIChMb3dQb3dlck1vZGVOb3RpZmllciogc2VsZiwgR1BhcmFt
U3BlYyosIEdQb3dlclByb2ZpbGVNb25pdG9yKikgeworICAgICAgICBzZWxmLT5tX2NhbGxiYWNr
KHNlbGYtPmlzTG93UG93ZXJNb2RlRW5hYmxlZCgpKTsKKyAgICB9KSwgdGhpcyk7CisjZW5kaWYK
IH0KIAogTG93UG93ZXJNb2RlTm90aWZpZXI6On5Mb3dQb3dlck1vZGVOb3RpZmllcigpCiB7Ci0g
ICAgZ19jYW5jZWxsYWJsZV9jYW5jZWwobV9jYW5jZWxsYWJsZS5nZXQoKSk7CisjaWYgR0xJQl9D
SEVDS19WRVJTSU9OKDIsIDY5LCAxKQorICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3Rf
YnlfZGF0YShtX3Bvd2VyUHJvZmlsZU1vbml0b3IuZ2V0KCksIHRoaXMpOworI2VuZGlmCiB9CiAK
IGJvb2wgTG93UG93ZXJNb2RlTm90aWZpZXI6OmlzTG93UG93ZXJNb2RlRW5hYmxlZCgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1fbG93UG93ZXJNb2RlRW5hYmxlZDsKKyNpZiBHTElCX0NIRUNLX1ZF
UlNJT04oMiwgNjksIDEpCisgICAgcmV0dXJuIGdfcG93ZXJfcHJvZmlsZV9tb25pdG9yX2dldF9w
b3dlcl9zYXZlcl9lbmFibGVkKG1fcG93ZXJQcm9maWxlTW9uaXRvci5nZXQoKSk7CisjZWxzZQor
ICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>