<?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>219010</bug_id>
          
          <creation_ts>2020-11-16 16:16:54 -0800</creation_ts>
          <short_desc>[WPE][GTK] SleepDisabler does not inhibit sleep with bubblewrap sandbox enabled: need to run xdg-dbus-proxy under bwrap or xdg-desktop-portal does not read our app ID</short_desc>
          <delta_ts>2021-02-15 14:28:10 -0800</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>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=186971</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>221918</dependson>
          <blocked>206533</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pgriffis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1708035</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-11-16 16:16:54 -0800</bug_when>
    <thetext>Splitting this out of bug #186971. Sleep inhibitors are broken since the bubblewrap sandbox is enabled. First problem is that the org.freedesktop.ScreenSaver API is not allowed through the sandbox, so calls to that fail. (We could fix this bug by whitelisting it. That&apos;s the easy way.) It falls back to the portal API. (Ideally, we would call the modern portal API first, and fall back to the older ScreenSaver API only if portals are not supported.) Now, the portal API fails for a strange reason. For the portal API, we aren&apos;t trusted to provide our own app ID, so xdg-desktop-portal looks it up by (a) getting our pid from its D-Bus connection, via UNIX credentials to ensure it is trusted, then (b) opening /proc/$PID/root/.flatpak-info to read the app ID from there, which the app cannot falsify because it does not have write access. BubblewrapLauncher.cpp creates this file by passing a sealed memfd to bwrap&apos;s --ro-bind-data. To be completely certain it is property created inside the sandbox, I added some debug code to SleepDisablerGLib.cpp:

 void SleepDisablerGLib::acquireInhibitorViaInhibitPortalProxy()
 {
+WTFLogAlways(&quot;%s&quot;, __FUNCTION__);
+GUniqueOutPtr&lt;char&gt; contents;
+GUniqueOutPtr&lt;GError&gt; error;
+g_file_get_contents(&quot;/.flatpak-info&quot;, &amp;contents.outPtr(), nullptr, &amp;error.outPtr());
+if (!error)
+g_warning(&quot;contents=%s&quot;, contents.get());
+else g_warning(&quot;error=%s&quot;, error-&gt;message);

which prints:

contents=[Application]
name=org.gnome.Epiphany

So that seems to be working properly. Problem is, for some reason, it doesn&apos;t exist at /proc/$PID/root/.flatpak-info on the host, so xdg-destkop-portal cannot see it! For real flatpaks, the file exists here (and contains a lot more than just the app ID). I&apos;m bamboozled as to why the file is visible inside the sandbox, but is not there in the host&apos;s view of the sandbox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708038</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-11-16 16:20:08 -0800</bug_when>
    <thetext>Um, Patrick, if you don&apos;t have any ideas, I guess we can just allow access to org.freedesktop.ScreenSaver through the D-Bus proxy? But I&apos;m worried because likely other portal features are going to be broken too if the portal implementation does not see our .flatpak-info. This is likely to be a problem for a lot more than just the inhibit portal....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708264</commentid>
    <comment_count>2</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2020-11-17 09:32:37 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #1)
&gt; Um, Patrick, if you don&apos;t have any ideas, I guess we can just allow access
&gt; to org.freedesktop.ScreenSaver through the D-Bus proxy? But I&apos;m worried
&gt; because likely other portal features are going to be broken too if the
&gt; portal implementation does not see our .flatpak-info. This is likely to be a
&gt; problem for a lot more than just the inhibit portal....

Well I don&apos;t think that is a huge risk, but yes we really need to fix the `.flatpak-info` problem instead. I swore it worked when I tested it before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708345</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-11-17 12:42:21 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #0)
&gt; I&apos;m bamboozled as to why the
&gt; file is visible inside the sandbox, but is not there in the host&apos;s view of
&gt; the sandbox.

I looked closer. It&apos;s there in the WebKitWebProcess sandbox, but xdg-desktop-portal doesn&apos;t look into the WebKitWebProcess&apos;s mount namespace: it looks into *xdg-dbus-proxy&apos;s* mount namespace. And that is running on the host.

The difference is that flatpak sandboxes xdg-dbus-proxy with bwrap, but we run xdg-dbus-proxy unsandboxed. That doesn&apos;t seem unreasonable, since xdg-dbus-proxy is trusted, but it seems xdg-desktop-portal relies on this to get the .flatpak-info.

That also resolves my confusion regarding how xdg-dbus-proxy can get UNIX credentials from the sandboxed process if it&apos;s only talking to its xdg-dbus-proxy rather than talking to it directly. It doesn&apos;t. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710594</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-11-30 06:54:40 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #0)
&gt; (Ideally, we would call the modern
&gt; portal API first, and fall back to the older ScreenSaver API only if portals
&gt; are not supported.)

BTW, this won&apos;t work, because even if we fix the bubblewrap sandbox, the portal API will fail if bubblewrap sandbox is disabled, as described in comment #3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712042</commentid>
    <comment_count>5</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2020-12-04 09:23:47 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #4)
&gt; BTW, this won&apos;t work, because even if we fix the bubblewrap sandbox, the
&gt; portal API will fail if bubblewrap sandbox is disabled, as described in
&gt; comment #3.

This just sounds like a bug. Portals should work for non-sandboxed applications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712222</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-12-04 17:33:10 -0800</bug_when>
    <thetext>(In reply to Patrick Griffis from comment #5)
&gt; This just sounds like a bug. Portals should work for non-sandboxed
&gt; applications.

How would we change that?

Currently any portals that depend on knowing the application&apos;s app ID will not work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724249</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-01 08:17:19 -0800</bug_when>
    <thetext>IMO we need to run xdg-dbus-proxy under bwrap, to match what flatpak does. That should solve this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724951</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-02 16:14:38 -0800</bug_when>
    <thetext>I have a patch that fixes this locally by running xdg-dbus-proxy under bwrap. It needs a bunch of cleanup before I post it for review, but it&apos;s coming soon.

Note that there are several media player bugs not yet fixed (bug #219353, bug #219354, bug #219355). My patch will only fix the sandbox side of things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726832</commentid>
    <comment_count>9</comment_count>
      <attachid>419636</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-08 15:08:47 -0800</bug_when>
    <thetext>Created attachment 419636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726834</commentid>
    <comment_count>10</comment_count>
      <attachid>419638</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-08 15:12:04 -0800</bug_when>
    <thetext>Created attachment 419638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726838</commentid>
    <comment_count>11</comment_count>
      <attachid>419638</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-08 15:15:03 -0800</bug_when>
    <thetext>Comment on attachment 419638
Patch

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

&gt; Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp:783
&gt; +            &quot;--bind&quot;, runDir.get(), runDir.get(),

So I&apos;m having some trouble here. In theory, I should mount the exact paths required using bindDBus() instead of mounting the entire user run dir. But I just can&apos;t get it to work otherwise.

Note that a11y doesn&apos;t actually work with this change, but it didn&apos;t work *before* this change either, so that&apos;s at least not a regression. It seems the sandbox has to be completely disabled for orca to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726846</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-08 15:27:11 -0800</bug_when>
    <thetext>(Also a11y doesn&apos;t seem to work when run under flatpak either, which cannot be BubblewrapLauncher&apos;s fault.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728949</commentid>
    <comment_count>13</comment_count>
      <attachid>419638</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-02-13 14:31:02 -0800</bug_when>
    <thetext>Comment on attachment 419638
Patch

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

&gt; Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp:736
&gt; +    GUniquePtr&lt;char&gt; runDir(g_strdup_printf(&quot;/run/user/%d&quot;, getuid()));

Any reason not to use g_get_user_runtime_dir()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728950</commentid>
    <comment_count>14</comment_count>
      <attachid>419638</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-02-13 14:48:08 -0800</bug_when>
    <thetext>Comment on attachment 419638
Patch

Overall this looks good to me. I&apos;m also not sure why the runtime dir permission is needed but I also agree its a trusted process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728954</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-13 15:37:32 -0800</bug_when>
    <thetext>(In reply to Patrick Griffis from comment #13)
&gt; Comment on attachment 419638 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=419638&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp:736
&gt; &gt; +    GUniquePtr&lt;char&gt; runDir(g_strdup_printf(&quot;/run/user/%d&quot;, getuid()));
&gt; 
&gt; Any reason not to use g_get_user_runtime_dir()?

Hmm, I probably should indeed.

I copied it from flatpak-run but it&apos;s probably just an oversight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729187</commentid>
    <comment_count>16</comment_count>
      <attachid>420323</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-15 09:21:37 -0800</bug_when>
    <thetext>Created attachment 420323
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729197</commentid>
    <comment_count>17</comment_count>
      <attachid>420323</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-15 09:48:22 -0800</bug_when>
    <thetext>Comment on attachment 420323
Patch for landing

Oops, this introduces a warning that I need to fix before landing:

[1833/2372] Building CXX object Source/WebKit/CMakeFiles/...ces/WebKit/unified-sources/UnifiedSource-88d1702b-1.cpp.o
In file included from DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-1.cpp:1:
../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp: In member function ‘virtual void WebKit::AuxiliaryProcessProxy::getLaunchOptions(WebKit::ProcessLauncher::LaunchOptions&amp;)’:
../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:70:12: warning: enumeration value ‘DBusProxy’ not handled in switch [-Wswitch]
   70 |     switch (launchOptions.processType) {
      |            ^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729204</commentid>
    <comment_count>18</comment_count>
      <attachid>420325</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-15 10:03:19 -0800</bug_when>
    <thetext>Created attachment 420325
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729207</commentid>
    <comment_count>19</comment_count>
      <attachid>420325</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-15 10:05:10 -0800</bug_when>
    <thetext>Comment on attachment 420325
Patch for landing

Now I forgot to respond to Patrick&apos;s last feedback....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729210</commentid>
    <comment_count>20</comment_count>
      <attachid>420326</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-15 10:11:44 -0800</bug_when>
    <thetext>Created attachment 420326
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729230</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-15 10:40:13 -0800</bug_when>
    <thetext>Committed r272863: &lt;https://commits.webkit.org/r272863&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420326.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729321</commentid>
    <comment_count>22</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-15 13:18:31 -0800</bug_when>
    <thetext>The patch that landed is broken. Launching processes fails with:

Failed to start proxy for unix:abstract=002d1: Error binding to address (GUnixSocketAddress): No such file or directory

I am not sure what&apos;s wrong yet and am going to revert the whole thing until I know what happened. Maybe failed to test a last-minute change or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729347</commentid>
    <comment_count>23</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-15 13:42:47 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #15)
&gt; (In reply to Patrick Griffis from comment #13)
&gt; &gt; Comment on attachment 419638 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=419638&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp:736
&gt; &gt; &gt; +    GUniquePtr&lt;char&gt; runDir(g_strdup_printf(&quot;/run/user/%d&quot;, getuid()));
&gt; &gt; 
&gt; &gt; Any reason not to use g_get_user_runtime_dir()?
&gt; 
&gt; Hmm, I probably should indeed.
&gt; 
&gt; I copied it from flatpak-run but it&apos;s probably just an oversight.

I was so confident that g_get_user_runtime_dir() would be equivalent that after making this change, I only tested whether it built, not whether it worked. But I messed up the change and replaced --dir /run with --dir g_get_user_runtime_dir(), which means the entire user runtime dir was replaced with an empty directory. Oops.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729355</commentid>
    <comment_count>24</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-15 13:56:01 -0800</bug_when>
    <thetext>No that&apos;s wrong, sorry, I misread the code. The user run dir really is supposed to an empty directory, so sandboxed processes can&apos;t see anything created by the host.

The problem is I replaced this line of the code:

&quot;--bind&quot;, runDir.get(), runDir.get(),

With this:

&quot;--bind&quot;, runDir,

Whoops, now the rest of the bubblewrap command line is off by one....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729357</commentid>
    <comment_count>25</comment_count>
      <attachid>420367</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-02-15 13:58:11 -0800</bug_when>
    <thetext>Created attachment 420367
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729376</commentid>
    <comment_count>26</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-15 14:28:07 -0800</bug_when>
    <thetext>Committed r272882: &lt;https://commits.webkit.org/r272882&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420367.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419636</attachid>
            <date>2021-02-08 15:08:47 -0800</date>
            <delta_ts>2021-02-08 15:12:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219010-20210208170846.patch</filename>
            <type>text/plain</type>
            <size>10089</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZGIzYjRiMDIwOGQ0Yzgy
NjFmMWM0NWE4OTM5NTZjMzNkNTJlMmUuLmRlOWQyMzgwNDczYTVlODI5M2JlMzcxYTA2OTFlY2Y1
M2ZmOTRmMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMDggIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV1bR1RLXSBT
bGVlcERpc2FibGVyIGRvZXMgbm90IGluaGliaXQgc2xlZXAgd2l0aCBidWJibGV3cmFwIHNhbmRi
b3ggZW5hYmxlZDogbmVlZCB0byBydW4geGRnLWRidXMtcHJveHkgdW5kZXIgYndyYXAgb3IgeGRn
LWRlc2t0b3AtcG9ydGFsIGRvZXMgbm90IHJlYWQgb3VyIGFwcCBJRAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgbmVlZCB0byBydW4geGRnLWRidXMt
cHJveHkgdW5kZXIgYnViYmxld3JhcCBzbyB0aGF0IHdlIGNhbiBtb3VudCAvLmZsYXRwYWstaW5m
byBpbiBpdHMKKyAgICAgICAgbW91bnQgbmFtZXNwYWNlLiBXaHk/IEJlY2F1c2UgeGRnLWRlc2t0
b3AtcG9ydGFsIGNoZWNrcyB0aGUgcGlkIG9mIGl0cyBELUJ1cyBwZWVyIHVzaW5nCisgICAgICAg
IFVuaXggY3JlZGVudGlhbHMsIHRoZW4gbG9va3MgaW4gdGhhdCBwcm9jZXNzJ3MgbW91bnQgbmFt
ZXNwYWNlIHRvIHJlYWQgaXRzIGFwcCBJRCBmcm9tCisgICAgICAgIC8uZmxhdHBhay1pbmZvLiBJ
ZiAvLmZsYXRwYWstaW5mbyBkb2Vzbid0IGV4aXN0LCB0aGVuIGFueSBwb3J0YWxzIHRoYXQgZGVw
ZW5kIG9uIHRoZSBhcHAgSUQKKyAgICAgICAgd2lsbCBicmVhaywgaW5jbHVkaW5nIHRoZSBpbmhp
Yml0IHBvcnRhbCB0aGF0IHdlIG5lZWQgdG8gcHJldmVudCB0aGUgc3lzdGVtIGZyb20gc3VzcGVu
ZGluZworICAgICAgICBkdXJpbmcgdmlkZW8gcGxheWJhY2suIFRoaXMgbm9ybWFsbHkgd29ya3Mg
YmVjYXVzZSBmbGF0cGFrIHJ1bnMgeGRnLWRidXMtcHJveHkgdW5kZXIKKyAgICAgICAgYnViYmxl
d3JhcCBhbmQgbW91bnRzIC8uZmxhdHBhay1pbmZvLCBidXQgaXQgYnJlYWtzIGZvciBXZWJLaXQg
YmVjYXVzZSB3ZSBkb24ndC4gU3RhcnQgZG9pbmcKKyAgICAgICAgc28uCisKKyAgICAgICAgVGhp
cyBtZXRob2Qgb2YgZ2V0dGluZyB0aGUgYXBwIElEIG1pZ2h0IHNlZW0gbGlrZSBhIHN0cmFuZ2Ug
Y29udG9ydGlvbiwgYnV0IGl0J3MgcmVhbGx5CisgICAgICAgIHJlcXVpcmVkIGJlYWN1c2UgdGhl
IHNhbmRib3hlZCBwcm9jZXNzIGNhbm5vdCBiZSB0cnVzdGVkIHRvIHByb3ZpZGUgaXRzIG93biBh
cHAgSUQsIGFuZCB3aWxsCisgICAgICAgIG5vdCBoYXZlIHdyaXRlIGFjY2VzcyB0byBpdHMgLy5m
bGF0cGFrLWluZm8gc28gd2UgY2FuIHJlbHkgb24gdGhhdC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNo
ZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpjcmVhdGVG
bGF0cGFrSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OlhER0RCdXNQcm94eUxhdW5jaGVyOjpsYXVu
Y2gpOgorICAgICAgICAoV2ViS2l0OjpidWJibGV3cmFwU3Bhd24pOgorCiAyMDIxLTAyLTA0ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OKHIyNjc3NjMpIE5ldHdvcmsgcHJvY2VzcyBsYXVuY2hlcyBlYXJsaWVyIHRoYW4gYmVm
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNz
TGF1bmNoZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVu
Y2hlci5oCmluZGV4IDcwMjcxYjc0OTA3MzE4ZmFiYzQ1MjdiNDM1Yzc1MWNjNGU2MTMyNmIuLjEw
ODFiYTJhNWJmYzM0YjlmYjczYWY4ODUxMjUzZTc4ZWFhZWIzYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCkBAIC03Niw3ICs3
NiwxMCBAQCBwdWJsaWM6CiAgICAgICAgIEdQVSwKICNlbmRpZgogI2lmIEVOQUJMRShXRUJfQVVU
SE4pCi0gICAgICAgIFdlYkF1dGhuCisgICAgICAgIFdlYkF1dGhuLAorI2VuZGlmCisjaWYgRU5B
QkxFKEJVQkJMRVdSQVBfU0FOREJPWCkKKyAgICAgICAgREJ1c1Byb3h5LAogI2VuZGlmCiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9C
dWJibGV3cmFwTGF1bmNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIv
Z2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwCmluZGV4IDY5YjRkYzZhNmEwYmNkOTRiYWY2ZmE1
ZDNkMmIyMzEwYzQwY2JkZDAuLjMzNTg2OWU3Njg0NzkzMGE0YmU1YjU5MGZjMWMwNDMwYmVjYTI5
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvQnVi
Ymxld3JhcExhdW5jaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hl
ci9nbGliL0J1YmJsZXdyYXBMYXVuY2hlci5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRl
IDxnbGliLmg+CiAjaW5jbHVkZSA8c2VjY29tcC5oPgogI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgor
I2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVk
ZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIu
aD4KQEAgLTEyOCw2ICsxMjksMzAgQEAgYXJnc1RvRmQoY29uc3QgVmVjdG9yPENTdHJpbmc+JiBh
cmdzLCBjb25zdCBjaGFyICpuYW1lKQogICAgIHJldHVybiBtZW1mZDsKIH0KIAorc3RhdGljIGlu
dCBjcmVhdGVGbGF0cGFrSW5mbygpCit7CisgICAgR1VuaXF1ZVB0cjxHS2V5RmlsZT4ga2V5Rmls
ZShnX2tleV9maWxlX25ldygpKTsKKworICAgIC8vIHhkZy1kZXNrdG9wLXBvcnRhbCByZWxhdGVz
IHlvdXIgbmFtZSB0byBjZXJ0YWluIHBlcm1pc3Npb25zIHNvIHdlIHdhbnQKKyAgICAvLyB0aGVt
IHRvIGJlIGFwcGxpY2F0aW9uIHVuaXF1ZSB3aGljaCBpcyBiZXN0IGRvbmUgdmlhIEdBcHBsaWNh
dGlvbi4KKyAgICBHQXBwbGljYXRpb24qIGFwcCA9IGdfYXBwbGljYXRpb25fZ2V0X2RlZmF1bHQo
KTsKKyAgICBpZiAoIWFwcCkgeworICAgICAgICBnX3dhcm5pbmcoIkdBcHBsaWNhdGlvbiBpcyBy
ZXF1aXJlZCBmb3IgeGRnLWRlc2t0b3AtcG9ydGFsIGFjY2VzcyBpbiB0aGUgV2ViS2l0IHNhbmRi
b3guIEFjdGlvbnMgdGhhdCByZXF1aXJlIHhkZy1kZXNrdG9wLXBvcnRhbCB3aWxsIGJlIGJyb2tl
bi4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBnX2tleV9maWxlX3NldF9zdHJp
bmcoa2V5RmlsZS5nZXQoKSwgIkFwcGxpY2F0aW9uIiwgIm5hbWUiLCBnX2FwcGxpY2F0aW9uX2dl
dF9hcHBsaWNhdGlvbl9pZChhcHApKTsKKworICAgIHNpemVfdCBzaXplOworICAgIEdVbmlxdWVP
dXRQdHI8R0Vycm9yPiBlcnJvcjsKKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRhdGEoZ19rZXlfZmls
ZV90b19kYXRhKGtleUZpbGUuZ2V0KCksICZzaXplLCAmZXJyb3Iub3V0UHRyKCkpKTsKKyAgICBp
ZiAoZXJyb3IuZ2V0KCkpIHsKKyAgICAgICAgZ193YXJuaW5nKCIlcyIsIGVycm9yLT5tZXNzYWdl
KTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHJldHVybiBjcmVhdGVTZWFsZWRN
ZW1GZFdpdGhEYXRhKCJmbGF0cGFrLWluZm8iLCBkYXRhLmdldCgpLCBzaXplKTsKK30KKwogZW51
bSBjbGFzcyBEQnVzQWRkcmVzc1R5cGUgewogICAgIE5vcm1hbCwKICAgICBBYnN0cmFjdCwKQEAg
LTE4NSw2ICsyMTAsOSBAQCBwdWJsaWM6CiAgICAgICAgIGludCBwcm94eUZkID0gYXJnc1RvRmQo
cHJveHlBcmdzLCAiZGJ1cy1wcm94eSIpOwogICAgICAgICBHVW5pcXVlUHRyPGNoYXI+IHByb3h5
QXJnc1N0cihnX3N0cmR1cF9wcmludGYoIi0tYXJncz0lZCIsIHByb3h5RmQpKTsKIAorICAgICAg
ICAvLyBXZSBoYXZlIHRvIHJ1biB4ZGctZGJ1cy1wcm94eSB1bmRlciBidWJibGV3cmFwIGJlY2F1
c2Ugd2UgbmVlZCAvLmZsYXRwYWstaW5mbyB0byBleGlzdCBpbgorICAgICAgICAvLyB4ZGctZGJ1
cy1wcm94eSdzIG1vdW50IG5hbWVzcGFjZS4gUG9ydGFscyBtYXkgdXNlIHRoaXMgYXMgYSB0cnVz
dGVkIHdheSB0byBnZXQgdGhlCisgICAgICAgIC8vIHNhbmRib3hlZCBwcm9jZXNzJ3MgYXBwbGlj
YXRpb24gSUQsIGFuZCB3aWxsIGJyZWFrIGlmIGl0J3MgbWlzc2luZy4KICAgICAgICAgVmVjdG9y
PENTdHJpbmc+IGFyZ3MgPSB7CiAgICAgICAgICAgICBEQlVTX1BST1hZX0VYRUNVVEFCTEUsCiAg
ICAgICAgICAgICBwcm94eUFyZ3NTdHIuZ2V0KCksCkBAIC0yMDEsMTEgKzIyOSwxNCBAQCBwdWJs
aWM6CiAgICAgICAgIGdfc3VicHJvY2Vzc19sYXVuY2hlcl9zZXRfY2hpbGRfc2V0dXAobGF1bmNo
ZXIuZ2V0KCksIGNoaWxkU2V0dXBGdW5jLCBHSU5UX1RPX1BPSU5URVIoc3luY0Zkc1sxXSksIG51
bGxwdHIpOwogICAgICAgICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfdGFrZV9mZChsYXVuY2hlci5n
ZXQoKSwgcHJveHlGZCwgcHJveHlGZCk7CiAgICAgICAgIGdfc3VicHJvY2Vzc19sYXVuY2hlcl90
YWtlX2ZkKGxhdW5jaGVyLmdldCgpLCBzeW5jRmRzWzFdLCBzeW5jRmRzWzFdKTsKKwogICAgICAg
ICAvLyBXZSBhcmUgcHVycG9zZWZ1bGx5IGxlYXZpbmcgc3luY0Zkc1swXSBvcGVuIGhlcmUuCiAg
ICAgICAgIC8vIHhkZy1kYnVzLXByb3h5IHdpbGwgZXhpdCgpIGl0c2VsZiBvbmNlIHRoYXQgaXMg
Y2xvc2VkIG9uIG91ciBleGl0CiAKKyAgICAgICAgUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRp
b25zIGxhdW5jaE9wdGlvbnM7CisgICAgICAgIGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPSBQ
cm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpEQnVzUHJveHk7CiAgICAgICAgIEdVbmlxdWVP
dXRQdHI8R0Vycm9yPiBlcnJvcjsKLSAgICAgICAgR1JlZlB0cjxHU3VicHJvY2Vzcz4gcHJvY2Vz
cyA9IGFkb3B0R1JlZihnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc3Bhd252KGxhdW5jaGVyLmdldCgp
LCBhcmd2LCAmZXJyb3Iub3V0UHRyKCkpKTsKKyAgICAgICAgR1JlZlB0cjxHU3VicHJvY2Vzcz4g
cHJvY2VzcyA9IGJ1YmJsZXdyYXBTcGF3bihsYXVuY2hlci5nZXQoKSwgbGF1bmNoT3B0aW9ucywg
YXJndiwgJmVycm9yLm91dFB0cigpKTsKICAgICAgICAgaWYgKCFwcm9jZXNzLmdldCgpKQogICAg
ICAgICAgICAgZ19lcnJvcigiRmFpbGVkIHRvIHN0YXJ0IGRidXMgcHJveHk6ICVzIiwgZXJyb3It
Pm1lc3NhZ2UpOwogCkBAIC02OTIsMzAgKzcyMyw2IEBAIHN0YXRpYyBpbnQgc2V0dXBTZWNjb21w
KCkKICAgICByZXR1cm4gdG1wZmQ7CiB9CiAKLXN0YXRpYyBpbnQgY3JlYXRlRmxhdHBha0luZm8o
KQotewotICAgIEdVbmlxdWVQdHI8R0tleUZpbGU+IGtleUZpbGUoZ19rZXlfZmlsZV9uZXcoKSk7
Ci0KLSAgICAvLyB4ZGctZGVza3RvcC1wb3J0YWwgcmVsYXRlcyB5b3VyIG5hbWUgdG8gY2VydGFp
biBwZXJtaXNzaW9ucyBzbyB3ZSB3YW50Ci0gICAgLy8gdGhlbSB0byBiZSBhcHBsaWNhdGlvbiB1
bmlxdWUgd2hpY2ggaXMgYmVzdCBkb25lIHZpYSBHQXBwbGljYXRpb24uCi0gICAgR0FwcGxpY2F0
aW9uKiBhcHAgPSBnX2FwcGxpY2F0aW9uX2dldF9kZWZhdWx0KCk7Ci0gICAgaWYgKCFhcHApIHsK
LSAgICAgICAgZ193YXJuaW5nKCJHQXBwbGljYXRpb24gaXMgcmVxdWlyZWQgZm9yIHhkZy1kZXNr
dG9wLXBvcnRhbCBhY2Nlc3MgaW4gdGhlIFdlYktpdCBzYW5kYm94LiBBY3Rpb25zIHRoYXQgcmVx
dWlyZSB4ZGctZGVza3RvcC1wb3J0YWwgd2lsbCBiZSBicm9rZW4uIik7Ci0gICAgICAgIHJldHVy
biAtMTsKLSAgICB9Ci0gICAgZ19rZXlfZmlsZV9zZXRfc3RyaW5nKGtleUZpbGUuZ2V0KCksICJB
cHBsaWNhdGlvbiIsICJuYW1lIiwgZ19hcHBsaWNhdGlvbl9nZXRfYXBwbGljYXRpb25faWQoYXBw
KSk7Ci0KLSAgICBzaXplX3Qgc2l6ZTsKLSAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7
Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBkYXRhKGdfa2V5X2ZpbGVfdG9fZGF0YShrZXlGaWxlLmdl
dCgpLCAmc2l6ZSwgJmVycm9yLm91dFB0cigpKSk7Ci0gICAgaWYgKGVycm9yLmdldCgpKSB7Ci0g
ICAgICAgIGdfd2FybmluZygiJXMiLCBlcnJvci0+bWVzc2FnZSk7Ci0gICAgICAgIHJldHVybiAt
MTsKLSAgICB9Ci0KLSAgICByZXR1cm4gY3JlYXRlU2VhbGVkTWVtRmRXaXRoRGF0YSgiZmxhdHBh
ay1pbmZvIiwgZGF0YS5nZXQoKSwgc2l6ZSk7Ci19Ci0KIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1
YmJsZXdyYXBTcGF3bihHU3VicHJvY2Vzc0xhdW5jaGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2Vz
c0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRpb25zLCBjaGFyKiogYXJndiwgR0Vy
cm9yICoqZXJyb3IpCiB7CiAgICAgQVNTRVJUKGxhdW5jaGVyKTsKQEAgLTcyNiwxMSArNzMzLDEy
IEBAIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1YmJsZXdyYXBTcGF3bihHU3VicHJvY2Vzc0xhdW5j
aGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2VzCiAgICAgaWYgKGxhdW5jaE9wdGlvbnMucHJvY2Vz
c1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6TmV0d29yaykKICAgICAgICAg
cmV0dXJuIGFkb3B0R1JlZihnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc3Bhd252KGxhdW5jaGVyLCBh
cmd2LCBlcnJvcikpOwogCisgICAgR1VuaXF1ZVB0cjxjaGFyPiBydW5EaXIoZ19zdHJkdXBfcHJp
bnRmKCIvcnVuL3VzZXIvJWQiLCBnZXR1aWQoKSkpOworCiAgICAgVmVjdG9yPENTdHJpbmc+IHNh
bmRib3hBcmdzID0gewogICAgICAgICAiLS1kaWUtd2l0aC1wYXJlbnQiLAogICAgICAgICAiLS11
bnNoYXJlLXBpZCIsCiAgICAgICAgICItLXVuc2hhcmUtdXRzIiwKLSAgICAgICAgIi0tdW5zaGFy
ZS1uZXQiLAogCiAgICAgICAgIC8vIFdlIGFzc3VtZSAvZXRjIGhhcyBzYWZlIHBlcm1pc3Npb25z
LgogICAgICAgICAvLyBBdCBhIGxhdGVyIHBvaW50IHdlIGNhbiBzdGFydCBtYXNraW5nIHByaXZh
Y3ktY29uY2VybmluZyBmaWxlcy4KQEAgLTczOSw3ICs3NDcsOCBAQCBHUmVmUHRyPEdTdWJwcm9j
ZXNzPiBidWJibGV3cmFwU3Bhd24oR1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNvbnN0
IFByb2NlcwogICAgICAgICAiLS1wcm9jIiwgIi9wcm9jIiwKICAgICAgICAgIi0tdG1wZnMiLCAi
L3RtcCIsCiAgICAgICAgICItLXVuc2V0ZW52IiwgIlRNUERJUiIsCi0gICAgICAgICItLWRpciIs
ICIvcnVuIiwKKyAgICAgICAgIi0tZGlyIiwgcnVuRGlyLmdldCgpLAorICAgICAgICAiLS1zZXRl
bnYiLCAiWERHX1JVTlRJTUVfRElSIiwgcnVuRGlyLmdldCgpLAogICAgICAgICAiLS1zeW1saW5r
IiwgIi4uL3J1biIsICIvdmFyL3J1biIsCiAgICAgICAgICItLXN5bWxpbmsiLCAiLi4vdG1wIiwg
Ii92YXIvdG1wIiwKICAgICAgICAgIi0tcm8tYmluZCIsICIvc3lzL2Jsb2NrIiwgIi9zeXMvYmxv
Y2siLApAQCAtNzY0LDYgKzc3MywyNCBAQCBHUmVmUHRyPEdTdWJwcm9jZXNzPiBidWJibGV3cmFw
U3Bhd24oR1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNvbnN0IFByb2NlcwogCiAgICAg
ICAgICItLXJvLWJpbmQtdHJ5IiwgUEtHTElCRVhFQ0RJUiwgUEtHTElCRVhFQ0RJUiwKICAgICB9
OworCisgICAgaWYgKGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVy
OjpQcm9jZXNzVHlwZTo6REJ1c1Byb3h5KSB7CisgICAgICAgIHNhbmRib3hBcmdzLmFwcGVuZFZl
Y3RvcihWZWN0b3I8Q1N0cmluZz4oeworICAgICAgICAgICAgIi0tcm8tYmluZCIsICIvdXNyL2Jp
biIsICIvdXNyL2JpbiIsCisgICAgICAgICAgICAvLyBUaGlzIGlzIGEgbG90IG9mIGFjY2Vzcywg
YnV0IHhkZy1kYnVzLXByb3h5IGlzIHRydXN0ZWQgc28gdGhhdCdzIE9LLiBJdCdzIHNhbmRib3hl
ZAorICAgICAgICAgICAgLy8gb25seSBiZWNhdXNlIHdlIGhhdmUgdG8gbW91bnQgLmZsYXRwYWst
aW5mbyBpbiBpdHMgbW91bnQgbmFtZXNwYWNlLiBUaGUgdXNlciBydW5kaXIKKyAgICAgICAgICAg
IC8vIGlzIHdoZXJlIHdlIG1vdW50IG91ciBwcm94eSBzb2NrZXQuCisgICAgICAgICAgICAiLS1i
aW5kIiwgcnVuRGlyLmdldCgpLCBydW5EaXIuZ2V0KCksCisgICAgICAgIH0pKTsKKyAgICB9IGVs
c2UgeworICAgICAgICAvLyB4ZGctZGJ1cy1wcm94eSBuZWVkcyBhY2Nlc3MgdG8gaG9zdCBhYnN0
cmFjdCBzb2NrZXRzIHRvIGNvbm5lY3QgdG8gdGhlIGExMXkgYnVzLiBTZWN1cmUKKyAgICAgICAg
Ly8gaG9zdCBzZXJ2aWNlcyBtdXN0IG5vdCB1c2UgYWJzdHJhY3Qgc29ja2V0cy4gT3RoZXJ3aXNl
LCBvbmx5IHRoZSBuZXR3b3JrIHByb2Nlc3Mgc2hvdWxkCisgICAgICAgIC8vIGhhdmUgbmV0d29y
ayBhY2Nlc3MsIGFuZCB0aGUgbmV0d29yayBwcm9jZXNzIGlzIG5vdCBzYW5kYm94ZWQgYXQgYWxs
LgorICAgICAgICBzYW5kYm94QXJncy5hcHBlbmRWZWN0b3IoVmVjdG9yPENTdHJpbmc+KHsKKyAg
ICAgICAgICAgICItLXVuc2hhcmUtbmV0IgorICAgICAgICB9KSk7CisgICAgfQorCiAgICAgLy8g
V2Ugd291bGQgaGF2ZSB0byBwYXJzZSBsZCBjb25maWcgZmlsZXMgZm9yIG1vcmUgaW5mby4KICAg
ICBiaW5kUGF0aFZhcihzYW5kYm94QXJncywgIkxEX0xJQlJBUllfUEFUSCIpOwogCkBAIC03ODQs
MTQgKzgxMSwxMyBAQCBHUmVmUHRyPEdTdWJwcm9jZXNzPiBidWJibGV3cmFwU3Bhd24oR1N1YnBy
b2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNvbnN0IFByb2NlcwogICAgIC8vIFRoZSBlYXNpZXN0
IG1ldGhvZCBpcyBmb3IgdXMgdG8gcHJldGVuZCB0byBiZSBhIGZsYXRwYWsgYW5kIGlmIHRoYXQK
ICAgICAvLyBmYWlscyBqdXN0IGJsb2NraW5nIHBvcnRhbHMgZW50aXJlbHkgYXMgaXQganVzdCBi
ZWNvbWVzIGEgc2FuZGJveCBlc2NhcGUuCiAgICAgaW50IGZsYXRwYWtJbmZvRmQgPSBjcmVhdGVG
bGF0cGFrSW5mbygpOwotICAgIGlmIChmbGF0cGFrSW5mb0ZkICE9IC0xKSB7Ci0gICAgICAgIGdf
c3VicHJvY2Vzc19sYXVuY2hlcl90YWtlX2ZkKGxhdW5jaGVyLCBmbGF0cGFrSW5mb0ZkLCBmbGF0
cGFrSW5mb0ZkKTsKLSAgICAgICAgR1VuaXF1ZVB0cjxjaGFyPiBmbGF0cGFrSW5mb0ZkU3RyKGdf
c3RyZHVwX3ByaW50ZigiJWQiLCBmbGF0cGFrSW5mb0ZkKSk7CisgICAgUkVMRUFTRV9BU1NFUlQo
ZmxhdHBha0luZm9GZCAhPSAtMSk7CisgICAgZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3Rha2VfZmQo
bGF1bmNoZXIsIGZsYXRwYWtJbmZvRmQsIGZsYXRwYWtJbmZvRmQpOworICAgIEdVbmlxdWVQdHI8
Y2hhcj4gZmxhdHBha0luZm9GZFN0cihnX3N0cmR1cF9wcmludGYoIiVkIiwgZmxhdHBha0luZm9G
ZCkpOwogCi0gICAgICAgIHNhbmRib3hBcmdzLmFwcGVuZFZlY3RvcihWZWN0b3I8Q1N0cmluZz4o
ewotICAgICAgICAgICAgIi0tcm8tYmluZC1kYXRhIiwgZmxhdHBha0luZm9GZFN0ci5nZXQoKSwg
Ii8uZmxhdHBhay1pbmZvIgotICAgICAgICB9KSk7Ci0gICAgfQorICAgIHNhbmRib3hBcmdzLmFw
cGVuZFZlY3RvcihWZWN0b3I8Q1N0cmluZz4oeworICAgICAgICAiLS1yby1iaW5kLWRhdGEiLCBm
bGF0cGFrSW5mb0ZkU3RyLmdldCgpLCAiLy5mbGF0cGFrLWluZm8iCisgICAgfSkpOwogCiAgICAg
aWYgKGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNz
VHlwZTo6V2ViKSB7CiAgICAgICAgIHN0YXRpYyBYREdEQnVzUHJveHlMYXVuY2hlciBwcm94eTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419638</attachid>
            <date>2021-02-08 15:12:04 -0800</date>
            <delta_ts>2021-02-15 09:21:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219010-20210208171203.patch</filename>
            <type>text/plain</type>
            <size>8998</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZGIzYjRiMDIwOGQ0Yzgy
NjFmMWM0NWE4OTM5NTZjMzNkNTJlMmUuLmRlOWQyMzgwNDczYTVlODI5M2JlMzcxYTA2OTFlY2Y1
M2ZmOTRmMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMDggIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV1bR1RLXSBT
bGVlcERpc2FibGVyIGRvZXMgbm90IGluaGliaXQgc2xlZXAgd2l0aCBidWJibGV3cmFwIHNhbmRi
b3ggZW5hYmxlZDogbmVlZCB0byBydW4geGRnLWRidXMtcHJveHkgdW5kZXIgYndyYXAgb3IgeGRn
LWRlc2t0b3AtcG9ydGFsIGRvZXMgbm90IHJlYWQgb3VyIGFwcCBJRAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgbmVlZCB0byBydW4geGRnLWRidXMt
cHJveHkgdW5kZXIgYnViYmxld3JhcCBzbyB0aGF0IHdlIGNhbiBtb3VudCAvLmZsYXRwYWstaW5m
byBpbiBpdHMKKyAgICAgICAgbW91bnQgbmFtZXNwYWNlLiBXaHk/IEJlY2F1c2UgeGRnLWRlc2t0
b3AtcG9ydGFsIGNoZWNrcyB0aGUgcGlkIG9mIGl0cyBELUJ1cyBwZWVyIHVzaW5nCisgICAgICAg
IFVuaXggY3JlZGVudGlhbHMsIHRoZW4gbG9va3MgaW4gdGhhdCBwcm9jZXNzJ3MgbW91bnQgbmFt
ZXNwYWNlIHRvIHJlYWQgaXRzIGFwcCBJRCBmcm9tCisgICAgICAgIC8uZmxhdHBhay1pbmZvLiBJ
ZiAvLmZsYXRwYWstaW5mbyBkb2Vzbid0IGV4aXN0LCB0aGVuIGFueSBwb3J0YWxzIHRoYXQgZGVw
ZW5kIG9uIHRoZSBhcHAgSUQKKyAgICAgICAgd2lsbCBicmVhaywgaW5jbHVkaW5nIHRoZSBpbmhp
Yml0IHBvcnRhbCB0aGF0IHdlIG5lZWQgdG8gcHJldmVudCB0aGUgc3lzdGVtIGZyb20gc3VzcGVu
ZGluZworICAgICAgICBkdXJpbmcgdmlkZW8gcGxheWJhY2suIFRoaXMgbm9ybWFsbHkgd29ya3Mg
YmVjYXVzZSBmbGF0cGFrIHJ1bnMgeGRnLWRidXMtcHJveHkgdW5kZXIKKyAgICAgICAgYnViYmxl
d3JhcCBhbmQgbW91bnRzIC8uZmxhdHBhay1pbmZvLCBidXQgaXQgYnJlYWtzIGZvciBXZWJLaXQg
YmVjYXVzZSB3ZSBkb24ndC4gU3RhcnQgZG9pbmcKKyAgICAgICAgc28uCisKKyAgICAgICAgVGhp
cyBtZXRob2Qgb2YgZ2V0dGluZyB0aGUgYXBwIElEIG1pZ2h0IHNlZW0gbGlrZSBhIHN0cmFuZ2Ug
Y29udG9ydGlvbiwgYnV0IGl0J3MgcmVhbGx5CisgICAgICAgIHJlcXVpcmVkIGJlYWN1c2UgdGhl
IHNhbmRib3hlZCBwcm9jZXNzIGNhbm5vdCBiZSB0cnVzdGVkIHRvIHByb3ZpZGUgaXRzIG93biBh
cHAgSUQsIGFuZCB3aWxsCisgICAgICAgIG5vdCBoYXZlIHdyaXRlIGFjY2VzcyB0byBpdHMgLy5m
bGF0cGFrLWluZm8gc28gd2UgY2FuIHJlbHkgb24gdGhhdC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNo
ZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpjcmVhdGVG
bGF0cGFrSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OlhER0RCdXNQcm94eUxhdW5jaGVyOjpsYXVu
Y2gpOgorICAgICAgICAoV2ViS2l0OjpidWJibGV3cmFwU3Bhd24pOgorCiAyMDIxLTAyLTA0ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OKHIyNjc3NjMpIE5ldHdvcmsgcHJvY2VzcyBsYXVuY2hlcyBlYXJsaWVyIHRoYW4gYmVm
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNz
TGF1bmNoZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVu
Y2hlci5oCmluZGV4IDcwMjcxYjc0OTA3MzE4ZmFiYzQ1MjdiNDM1Yzc1MWNjNGU2MTMyNmIuLjEw
ODFiYTJhNWJmYzM0YjlmYjczYWY4ODUxMjUzZTc4ZWFhZWIzYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCkBAIC03Niw3ICs3
NiwxMCBAQCBwdWJsaWM6CiAgICAgICAgIEdQVSwKICNlbmRpZgogI2lmIEVOQUJMRShXRUJfQVVU
SE4pCi0gICAgICAgIFdlYkF1dGhuCisgICAgICAgIFdlYkF1dGhuLAorI2VuZGlmCisjaWYgRU5B
QkxFKEJVQkJMRVdSQVBfU0FOREJPWCkKKyAgICAgICAgREJ1c1Byb3h5LAogI2VuZGlmCiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9C
dWJibGV3cmFwTGF1bmNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIv
Z2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwCmluZGV4IDY5YjRkYzZhNmEwYmNkOTRiYWY2ZmE1
ZDNkMmIyMzEwYzQwY2JkZDAuLjI5YzVhOGUwYzAzNGEzMGE4YTNiZmNlY2ViOTdjOWRmNjVlZjhm
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvQnVi
Ymxld3JhcExhdW5jaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hl
ci9nbGliL0J1YmJsZXdyYXBMYXVuY2hlci5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRl
IDxnbGliLmg+CiAjaW5jbHVkZSA8c2VjY29tcC5oPgogI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgor
I2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVk
ZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIu
aD4KQEAgLTEyOCw2ICsxMjksMzAgQEAgYXJnc1RvRmQoY29uc3QgVmVjdG9yPENTdHJpbmc+JiBh
cmdzLCBjb25zdCBjaGFyICpuYW1lKQogICAgIHJldHVybiBtZW1mZDsKIH0KIAorc3RhdGljIGlu
dCBjcmVhdGVGbGF0cGFrSW5mbygpCit7CisgICAgR1VuaXF1ZVB0cjxHS2V5RmlsZT4ga2V5Rmls
ZShnX2tleV9maWxlX25ldygpKTsKKworICAgIC8vIHhkZy1kZXNrdG9wLXBvcnRhbCByZWxhdGVz
IHlvdXIgbmFtZSB0byBjZXJ0YWluIHBlcm1pc3Npb25zIHNvIHdlIHdhbnQKKyAgICAvLyB0aGVt
IHRvIGJlIGFwcGxpY2F0aW9uIHVuaXF1ZSB3aGljaCBpcyBiZXN0IGRvbmUgdmlhIEdBcHBsaWNh
dGlvbi4KKyAgICBHQXBwbGljYXRpb24qIGFwcCA9IGdfYXBwbGljYXRpb25fZ2V0X2RlZmF1bHQo
KTsKKyAgICBpZiAoIWFwcCkgeworICAgICAgICBnX3dhcm5pbmcoIkdBcHBsaWNhdGlvbiBpcyBy
ZXF1aXJlZCBmb3IgeGRnLWRlc2t0b3AtcG9ydGFsIGFjY2VzcyBpbiB0aGUgV2ViS2l0IHNhbmRi
b3guIEFjdGlvbnMgdGhhdCByZXF1aXJlIHhkZy1kZXNrdG9wLXBvcnRhbCB3aWxsIGJlIGJyb2tl
bi4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBnX2tleV9maWxlX3NldF9zdHJp
bmcoa2V5RmlsZS5nZXQoKSwgIkFwcGxpY2F0aW9uIiwgIm5hbWUiLCBnX2FwcGxpY2F0aW9uX2dl
dF9hcHBsaWNhdGlvbl9pZChhcHApKTsKKworICAgIHNpemVfdCBzaXplOworICAgIEdVbmlxdWVP
dXRQdHI8R0Vycm9yPiBlcnJvcjsKKyAgICBHVW5pcXVlUHRyPGNoYXI+IGRhdGEoZ19rZXlfZmls
ZV90b19kYXRhKGtleUZpbGUuZ2V0KCksICZzaXplLCAmZXJyb3Iub3V0UHRyKCkpKTsKKyAgICBp
ZiAoZXJyb3IuZ2V0KCkpIHsKKyAgICAgICAgZ193YXJuaW5nKCIlcyIsIGVycm9yLT5tZXNzYWdl
KTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHJldHVybiBjcmVhdGVTZWFsZWRN
ZW1GZFdpdGhEYXRhKCJmbGF0cGFrLWluZm8iLCBkYXRhLmdldCgpLCBzaXplKTsKK30KKwogZW51
bSBjbGFzcyBEQnVzQWRkcmVzc1R5cGUgewogICAgIE5vcm1hbCwKICAgICBBYnN0cmFjdCwKQEAg
LTE4NSw2ICsyMTAsOSBAQCBwdWJsaWM6CiAgICAgICAgIGludCBwcm94eUZkID0gYXJnc1RvRmQo
cHJveHlBcmdzLCAiZGJ1cy1wcm94eSIpOwogICAgICAgICBHVW5pcXVlUHRyPGNoYXI+IHByb3h5
QXJnc1N0cihnX3N0cmR1cF9wcmludGYoIi0tYXJncz0lZCIsIHByb3h5RmQpKTsKIAorICAgICAg
ICAvLyBXZSBoYXZlIHRvIHJ1biB4ZGctZGJ1cy1wcm94eSB1bmRlciBidWJibGV3cmFwIGJlY2F1
c2Ugd2UgbmVlZCAvLmZsYXRwYWstaW5mbyB0byBleGlzdCBpbgorICAgICAgICAvLyB4ZGctZGJ1
cy1wcm94eSdzIG1vdW50IG5hbWVzcGFjZS4gUG9ydGFscyBtYXkgdXNlIHRoaXMgYXMgYSB0cnVz
dGVkIHdheSB0byBnZXQgdGhlCisgICAgICAgIC8vIHNhbmRib3hlZCBwcm9jZXNzJ3MgYXBwbGlj
YXRpb24gSUQsIGFuZCB3aWxsIGJyZWFrIGlmIGl0J3MgbWlzc2luZy4KICAgICAgICAgVmVjdG9y
PENTdHJpbmc+IGFyZ3MgPSB7CiAgICAgICAgICAgICBEQlVTX1BST1hZX0VYRUNVVEFCTEUsCiAg
ICAgICAgICAgICBwcm94eUFyZ3NTdHIuZ2V0KCksCkBAIC0yMDEsMTEgKzIyOSwxNCBAQCBwdWJs
aWM6CiAgICAgICAgIGdfc3VicHJvY2Vzc19sYXVuY2hlcl9zZXRfY2hpbGRfc2V0dXAobGF1bmNo
ZXIuZ2V0KCksIGNoaWxkU2V0dXBGdW5jLCBHSU5UX1RPX1BPSU5URVIoc3luY0Zkc1sxXSksIG51
bGxwdHIpOwogICAgICAgICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfdGFrZV9mZChsYXVuY2hlci5n
ZXQoKSwgcHJveHlGZCwgcHJveHlGZCk7CiAgICAgICAgIGdfc3VicHJvY2Vzc19sYXVuY2hlcl90
YWtlX2ZkKGxhdW5jaGVyLmdldCgpLCBzeW5jRmRzWzFdLCBzeW5jRmRzWzFdKTsKKwogICAgICAg
ICAvLyBXZSBhcmUgcHVycG9zZWZ1bGx5IGxlYXZpbmcgc3luY0Zkc1swXSBvcGVuIGhlcmUuCiAg
ICAgICAgIC8vIHhkZy1kYnVzLXByb3h5IHdpbGwgZXhpdCgpIGl0c2VsZiBvbmNlIHRoYXQgaXMg
Y2xvc2VkIG9uIG91ciBleGl0CiAKKyAgICAgICAgUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRp
b25zIGxhdW5jaE9wdGlvbnM7CisgICAgICAgIGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPSBQ
cm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpEQnVzUHJveHk7CiAgICAgICAgIEdVbmlxdWVP
dXRQdHI8R0Vycm9yPiBlcnJvcjsKLSAgICAgICAgR1JlZlB0cjxHU3VicHJvY2Vzcz4gcHJvY2Vz
cyA9IGFkb3B0R1JlZihnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc3Bhd252KGxhdW5jaGVyLmdldCgp
LCBhcmd2LCAmZXJyb3Iub3V0UHRyKCkpKTsKKyAgICAgICAgR1JlZlB0cjxHU3VicHJvY2Vzcz4g
cHJvY2VzcyA9IGJ1YmJsZXdyYXBTcGF3bihsYXVuY2hlci5nZXQoKSwgbGF1bmNoT3B0aW9ucywg
YXJndiwgJmVycm9yLm91dFB0cigpKTsKICAgICAgICAgaWYgKCFwcm9jZXNzLmdldCgpKQogICAg
ICAgICAgICAgZ19lcnJvcigiRmFpbGVkIHRvIHN0YXJ0IGRidXMgcHJveHk6ICVzIiwgZXJyb3It
Pm1lc3NhZ2UpOwogCkBAIC02OTIsMzAgKzcyMyw2IEBAIHN0YXRpYyBpbnQgc2V0dXBTZWNjb21w
KCkKICAgICByZXR1cm4gdG1wZmQ7CiB9CiAKLXN0YXRpYyBpbnQgY3JlYXRlRmxhdHBha0luZm8o
KQotewotICAgIEdVbmlxdWVQdHI8R0tleUZpbGU+IGtleUZpbGUoZ19rZXlfZmlsZV9uZXcoKSk7
Ci0KLSAgICAvLyB4ZGctZGVza3RvcC1wb3J0YWwgcmVsYXRlcyB5b3VyIG5hbWUgdG8gY2VydGFp
biBwZXJtaXNzaW9ucyBzbyB3ZSB3YW50Ci0gICAgLy8gdGhlbSB0byBiZSBhcHBsaWNhdGlvbiB1
bmlxdWUgd2hpY2ggaXMgYmVzdCBkb25lIHZpYSBHQXBwbGljYXRpb24uCi0gICAgR0FwcGxpY2F0
aW9uKiBhcHAgPSBnX2FwcGxpY2F0aW9uX2dldF9kZWZhdWx0KCk7Ci0gICAgaWYgKCFhcHApIHsK
LSAgICAgICAgZ193YXJuaW5nKCJHQXBwbGljYXRpb24gaXMgcmVxdWlyZWQgZm9yIHhkZy1kZXNr
dG9wLXBvcnRhbCBhY2Nlc3MgaW4gdGhlIFdlYktpdCBzYW5kYm94LiBBY3Rpb25zIHRoYXQgcmVx
dWlyZSB4ZGctZGVza3RvcC1wb3J0YWwgd2lsbCBiZSBicm9rZW4uIik7Ci0gICAgICAgIHJldHVy
biAtMTsKLSAgICB9Ci0gICAgZ19rZXlfZmlsZV9zZXRfc3RyaW5nKGtleUZpbGUuZ2V0KCksICJB
cHBsaWNhdGlvbiIsICJuYW1lIiwgZ19hcHBsaWNhdGlvbl9nZXRfYXBwbGljYXRpb25faWQoYXBw
KSk7Ci0KLSAgICBzaXplX3Qgc2l6ZTsKLSAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7
Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBkYXRhKGdfa2V5X2ZpbGVfdG9fZGF0YShrZXlGaWxlLmdl
dCgpLCAmc2l6ZSwgJmVycm9yLm91dFB0cigpKSk7Ci0gICAgaWYgKGVycm9yLmdldCgpKSB7Ci0g
ICAgICAgIGdfd2FybmluZygiJXMiLCBlcnJvci0+bWVzc2FnZSk7Ci0gICAgICAgIHJldHVybiAt
MTsKLSAgICB9Ci0KLSAgICByZXR1cm4gY3JlYXRlU2VhbGVkTWVtRmRXaXRoRGF0YSgiZmxhdHBh
ay1pbmZvIiwgZGF0YS5nZXQoKSwgc2l6ZSk7Ci19Ci0KIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1
YmJsZXdyYXBTcGF3bihHU3VicHJvY2Vzc0xhdW5jaGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2Vz
c0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRpb25zLCBjaGFyKiogYXJndiwgR0Vy
cm9yICoqZXJyb3IpCiB7CiAgICAgQVNTRVJUKGxhdW5jaGVyKTsKQEAgLTcyNiwxMSArNzMzLDEy
IEBAIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1YmJsZXdyYXBTcGF3bihHU3VicHJvY2Vzc0xhdW5j
aGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2VzCiAgICAgaWYgKGxhdW5jaE9wdGlvbnMucHJvY2Vz
c1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6TmV0d29yaykKICAgICAgICAg
cmV0dXJuIGFkb3B0R1JlZihnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc3Bhd252KGxhdW5jaGVyLCBh
cmd2LCBlcnJvcikpOwogCisgICAgR1VuaXF1ZVB0cjxjaGFyPiBydW5EaXIoZ19zdHJkdXBfcHJp
bnRmKCIvcnVuL3VzZXIvJWQiLCBnZXR1aWQoKSkpOworCiAgICAgVmVjdG9yPENTdHJpbmc+IHNh
bmRib3hBcmdzID0gewogICAgICAgICAiLS1kaWUtd2l0aC1wYXJlbnQiLAogICAgICAgICAiLS11
bnNoYXJlLXBpZCIsCiAgICAgICAgICItLXVuc2hhcmUtdXRzIiwKLSAgICAgICAgIi0tdW5zaGFy
ZS1uZXQiLAogCiAgICAgICAgIC8vIFdlIGFzc3VtZSAvZXRjIGhhcyBzYWZlIHBlcm1pc3Npb25z
LgogICAgICAgICAvLyBBdCBhIGxhdGVyIHBvaW50IHdlIGNhbiBzdGFydCBtYXNraW5nIHByaXZh
Y3ktY29uY2VybmluZyBmaWxlcy4KQEAgLTczOSw3ICs3NDcsOCBAQCBHUmVmUHRyPEdTdWJwcm9j
ZXNzPiBidWJibGV3cmFwU3Bhd24oR1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNvbnN0
IFByb2NlcwogICAgICAgICAiLS1wcm9jIiwgIi9wcm9jIiwKICAgICAgICAgIi0tdG1wZnMiLCAi
L3RtcCIsCiAgICAgICAgICItLXVuc2V0ZW52IiwgIlRNUERJUiIsCi0gICAgICAgICItLWRpciIs
ICIvcnVuIiwKKyAgICAgICAgIi0tZGlyIiwgcnVuRGlyLmdldCgpLAorICAgICAgICAiLS1zZXRl
bnYiLCAiWERHX1JVTlRJTUVfRElSIiwgcnVuRGlyLmdldCgpLAogICAgICAgICAiLS1zeW1saW5r
IiwgIi4uL3J1biIsICIvdmFyL3J1biIsCiAgICAgICAgICItLXN5bWxpbmsiLCAiLi4vdG1wIiwg
Ii92YXIvdG1wIiwKICAgICAgICAgIi0tcm8tYmluZCIsICIvc3lzL2Jsb2NrIiwgIi9zeXMvYmxv
Y2siLApAQCAtNzY0LDYgKzc3MywyNCBAQCBHUmVmUHRyPEdTdWJwcm9jZXNzPiBidWJibGV3cmFw
U3Bhd24oR1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNvbnN0IFByb2NlcwogCiAgICAg
ICAgICItLXJvLWJpbmQtdHJ5IiwgUEtHTElCRVhFQ0RJUiwgUEtHTElCRVhFQ0RJUiwKICAgICB9
OworCisgICAgaWYgKGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVy
OjpQcm9jZXNzVHlwZTo6REJ1c1Byb3h5KSB7CisgICAgICAgIHNhbmRib3hBcmdzLmFwcGVuZFZl
Y3RvcihWZWN0b3I8Q1N0cmluZz4oeworICAgICAgICAgICAgIi0tcm8tYmluZCIsICIvdXNyL2Jp
biIsICIvdXNyL2JpbiIsCisgICAgICAgICAgICAvLyBUaGlzIGlzIGEgbG90IG9mIGFjY2Vzcywg
YnV0IHhkZy1kYnVzLXByb3h5IGlzIHRydXN0ZWQgc28gdGhhdCdzIE9LLiBJdCdzIHNhbmRib3hl
ZAorICAgICAgICAgICAgLy8gb25seSBiZWNhdXNlIHdlIGhhdmUgdG8gbW91bnQgLmZsYXRwYWst
aW5mbyBpbiBpdHMgbW91bnQgbmFtZXNwYWNlLiBUaGUgdXNlciBydW5kaXIKKyAgICAgICAgICAg
IC8vIGlzIHdoZXJlIHdlIG1vdW50IG91ciBwcm94eSBzb2NrZXQuCisgICAgICAgICAgICAiLS1i
aW5kIiwgcnVuRGlyLmdldCgpLCBydW5EaXIuZ2V0KCksCisgICAgICAgIH0pKTsKKyAgICB9IGVs
c2UgeworICAgICAgICAvLyB4ZGctZGJ1cy1wcm94eSBuZWVkcyBhY2Nlc3MgdG8gaG9zdCBhYnN0
cmFjdCBzb2NrZXRzIHRvIGNvbm5lY3QgdG8gdGhlIGExMXkgYnVzLiBTZWN1cmUKKyAgICAgICAg
Ly8gaG9zdCBzZXJ2aWNlcyBtdXN0IG5vdCB1c2UgYWJzdHJhY3Qgc29ja2V0cy4gT3RoZXJ3aXNl
LCBvbmx5IHRoZSBuZXR3b3JrIHByb2Nlc3Mgc2hvdWxkCisgICAgICAgIC8vIGhhdmUgbmV0d29y
ayBhY2Nlc3MsIGFuZCB0aGUgbmV0d29yayBwcm9jZXNzIGlzIG5vdCBzYW5kYm94ZWQgYXQgYWxs
LgorICAgICAgICBzYW5kYm94QXJncy5hcHBlbmRWZWN0b3IoVmVjdG9yPENTdHJpbmc+KHsKKyAg
ICAgICAgICAgICItLXVuc2hhcmUtbmV0IgorICAgICAgICB9KSk7CisgICAgfQorCiAgICAgLy8g
V2Ugd291bGQgaGF2ZSB0byBwYXJzZSBsZCBjb25maWcgZmlsZXMgZm9yIG1vcmUgaW5mby4KICAg
ICBiaW5kUGF0aFZhcihzYW5kYm94QXJncywgIkxEX0xJQlJBUllfUEFUSCIpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420323</attachid>
            <date>2021-02-15 09:21:37 -0800</date>
            <delta_ts>2021-02-15 10:03:12 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-219010-20210215112135.patch</filename>
            <type>text/plain</type>
            <size>8980</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExNGUyMmNhMDVhOWQ2ZTdm
MDhmN2JhMTQxNWIyMjFhNTUxOGI4MzIuLmU4NmMzZWRkYjQyZDI5ZTQzNGI4MjZhZGYxMTMzY2Y2
NTViODlhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMTUgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV1bR1RLXSBT
bGVlcERpc2FibGVyIGRvZXMgbm90IGluaGliaXQgc2xlZXAgd2l0aCBidWJibGV3cmFwIHNhbmRi
b3ggZW5hYmxlZDogbmVlZCB0byBydW4geGRnLWRidXMtcHJveHkgdW5kZXIgYndyYXAgb3IgeGRn
LWRlc2t0b3AtcG9ydGFsIGRvZXMgbm90IHJlYWQgb3VyIGFwcCBJRAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2FybG9zIEdhcmNpYSBDYW1wb3MuCisKKyAgICAgICAgV2UgbmVlZCB0byBydW4geGRn
LWRidXMtcHJveHkgdW5kZXIgYnViYmxld3JhcCBzbyB0aGF0IHdlIGNhbiBtb3VudCAvLmZsYXRw
YWstaW5mbyBpbiBpdHMKKyAgICAgICAgbW91bnQgbmFtZXNwYWNlLiBXaHk/IEJlY2F1c2UgeGRn
LWRlc2t0b3AtcG9ydGFsIGNoZWNrcyB0aGUgcGlkIG9mIGl0cyBELUJ1cyBwZWVyIHVzaW5nCisg
ICAgICAgIFVuaXggY3JlZGVudGlhbHMsIHRoZW4gbG9va3MgaW4gdGhhdCBwcm9jZXNzJ3MgbW91
bnQgbmFtZXNwYWNlIHRvIHJlYWQgaXRzIGFwcCBJRCBmcm9tCisgICAgICAgIC8uZmxhdHBhay1p
bmZvLiBJZiAvLmZsYXRwYWstaW5mbyBkb2Vzbid0IGV4aXN0LCB0aGVuIGFueSBwb3J0YWxzIHRo
YXQgZGVwZW5kIG9uIHRoZSBhcHAgSUQKKyAgICAgICAgd2lsbCBicmVhaywgaW5jbHVkaW5nIHRo
ZSBpbmhpYml0IHBvcnRhbCB0aGF0IHdlIG5lZWQgdG8gcHJldmVudCB0aGUgc3lzdGVtIGZyb20g
c3VzcGVuZGluZworICAgICAgICBkdXJpbmcgdmlkZW8gcGxheWJhY2suIFRoaXMgbm9ybWFsbHkg
d29ya3MgYmVjYXVzZSBmbGF0cGFrIHJ1bnMgeGRnLWRidXMtcHJveHkgdW5kZXIKKyAgICAgICAg
YnViYmxld3JhcCBhbmQgbW91bnRzIC8uZmxhdHBhay1pbmZvLCBidXQgaXQgYnJlYWtzIGZvciBX
ZWJLaXQgYmVjYXVzZSB3ZSBkb24ndC4gU3RhcnQgZG9pbmcKKyAgICAgICAgc28uCisKKyAgICAg
ICAgVGhpcyBtZXRob2Qgb2YgZ2V0dGluZyB0aGUgYXBwIElEIG1pZ2h0IHNlZW0gbGlrZSBhIHN0
cmFuZ2UgY29udG9ydGlvbiwgYnV0IGl0J3MgcmVhbGx5CisgICAgICAgIHJlcXVpcmVkIGJlYWN1
c2UgdGhlIHNhbmRib3hlZCBwcm9jZXNzIGNhbm5vdCBiZSB0cnVzdGVkIHRvIHByb3ZpZGUgaXRz
IG93biBhcHAgSUQsIGFuZCB3aWxsCisgICAgICAgIG5vdCBoYXZlIHdyaXRlIGFjY2VzcyB0byBp
dHMgLy5mbGF0cGFrLWluZm8gc28gd2UgY2FuIHJlbHkgb24gdGhhdC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
TGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0Ojpj
cmVhdGVGbGF0cGFrSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OlhER0RCdXNQcm94eUxhdW5jaGVy
OjpsYXVuY2gpOgorICAgICAgICAoV2ViS2l0OjpidWJibGV3cmFwU3Bhd24pOgorCiAyMDIxLTAy
LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTaGFyZSBt
b3JlIGNvZGUgYmV0d2VlbiBSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlIGFuZCBSZW1vdGVSZWFs
dGltZVZpZGVvU291cmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVu
Y2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVy
L1Byb2Nlc3NMYXVuY2hlci5oCmluZGV4IDcwMjcxYjc0OTA3MzE4ZmFiYzQ1MjdiNDM1Yzc1MWNj
NGU2MTMyNmIuLjEwODFiYTJhNWJmYzM0YjlmYjczYWY4ODUxMjUzZTc4ZWFhZWIzYzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5o
CkBAIC03Niw3ICs3NiwxMCBAQCBwdWJsaWM6CiAgICAgICAgIEdQVSwKICNlbmRpZgogI2lmIEVO
QUJMRShXRUJfQVVUSE4pCi0gICAgICAgIFdlYkF1dGhuCisgICAgICAgIFdlYkF1dGhuLAorI2Vu
ZGlmCisjaWYgRU5BQkxFKEJVQkJMRVdSQVBfU0FOREJPWCkKKyAgICAgICAgREJ1c1Byb3h5LAog
I2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1
bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwCmluZGV4IDMwMThiNWExYmRi
MTNlMGYzM2I0OGU5NDM4YTA1YjRmZjE1ODllNjAuLmYwODk5NGFkMzY4MmRkNDUyYzg1YjA4NTJh
MTFmOTQ4NmQwZDkxODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5j
aGVyL2dsaWIvQnViYmxld3JhcExhdW5jaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9MYXVuY2hlci9nbGliL0J1YmJsZXdyYXBMYXVuY2hlci5jcHAKQEAgLTI1LDYgKzI1LDcg
QEAKICNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8c2VjY29tcC5oPgogI2luY2x1ZGUgPHN5
cy9pb2N0bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVt
Lmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi9n
bGliL0dSZWZQdHIuaD4KQEAgLTEyOCw2ICsxMjksMjggQEAgYXJnc1RvRmQoY29uc3QgVmVjdG9y
PENTdHJpbmc+JiBhcmdzLCBjb25zdCBjaGFyICpuYW1lKQogICAgIHJldHVybiBtZW1mZDsKIH0K
IAorc3RhdGljIGludCBjcmVhdGVGbGF0cGFrSW5mbygpCit7CisgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPEdVbmlxdWVQdHI8Y2hhcj4+IGRhdGE7CisgICAgc3RhdGljIHNpemVfdCBzaXplOwor
CisgICAgaWYgKCFkYXRhLmdldCgpKSB7CisgICAgICAgIC8vIHhkZy1kZXNrdG9wLXBvcnRhbCBy
ZWxhdGVzIHlvdXIgbmFtZSB0byBjZXJ0YWluIHBlcm1pc3Npb25zIHNvIHdlIHdhbnQKKyAgICAg
ICAgLy8gdGhlbSB0byBiZSBhcHBsaWNhdGlvbiB1bmlxdWUgd2hpY2ggaXMgYmVzdCBkb25lIHZp
YSBHQXBwbGljYXRpb24uCisgICAgICAgIEdBcHBsaWNhdGlvbiogYXBwID0gZ19hcHBsaWNhdGlv
bl9nZXRfZGVmYXVsdCgpOworICAgICAgICBpZiAoIWFwcCkgeworICAgICAgICAgICAgZ193YXJu
aW5nKCJHQXBwbGljYXRpb24gaXMgcmVxdWlyZWQgZm9yIHhkZy1kZXNrdG9wLXBvcnRhbCBhY2Nl
c3MgaW4gdGhlIFdlYktpdCBzYW5kYm94LiBBY3Rpb25zIHRoYXQgcmVxdWlyZSB4ZGctZGVza3Rv
cC1wb3J0YWwgd2lsbCBiZSBicm9rZW4uIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAg
ICAgIH0KKworICAgICAgICBHVW5pcXVlUHRyPEdLZXlGaWxlPiBrZXlGaWxlKGdfa2V5X2ZpbGVf
bmV3KCkpOworICAgICAgICBnX2tleV9maWxlX3NldF9zdHJpbmcoa2V5RmlsZS5nZXQoKSwgIkFw
cGxpY2F0aW9uIiwgIm5hbWUiLCBnX2FwcGxpY2F0aW9uX2dldF9hcHBsaWNhdGlvbl9pZChhcHAp
KTsKKyAgICAgICAgZGF0YS0+cmVzZXQoZ19rZXlfZmlsZV90b19kYXRhKGtleUZpbGUuZ2V0KCks
ICZzaXplLCBudWxscHRyKSk7CisgICAgfQorCisgICAgcmV0dXJuIGNyZWF0ZVNlYWxlZE1lbUZk
V2l0aERhdGEoImZsYXRwYWstaW5mbyIsIGRhdGEtPmdldCgpLCBzaXplKTsKK30KKwogZW51bSBj
bGFzcyBEQnVzQWRkcmVzc1R5cGUgewogICAgIE5vcm1hbCwKICAgICBBYnN0cmFjdCwKQEAgLTE4
NSw2ICsyMDgsOSBAQCBwdWJsaWM6CiAgICAgICAgIGludCBwcm94eUZkID0gYXJnc1RvRmQocHJv
eHlBcmdzLCAiZGJ1cy1wcm94eSIpOwogICAgICAgICBHVW5pcXVlUHRyPGNoYXI+IHByb3h5QXJn
c1N0cihnX3N0cmR1cF9wcmludGYoIi0tYXJncz0lZCIsIHByb3h5RmQpKTsKIAorICAgICAgICAv
LyBXZSBoYXZlIHRvIHJ1biB4ZGctZGJ1cy1wcm94eSB1bmRlciBidWJibGV3cmFwIGJlY2F1c2Ug
d2UgbmVlZCAvLmZsYXRwYWstaW5mbyB0byBleGlzdCBpbgorICAgICAgICAvLyB4ZGctZGJ1cy1w
cm94eSdzIG1vdW50IG5hbWVzcGFjZS4gUG9ydGFscyBtYXkgdXNlIHRoaXMgYXMgYSB0cnVzdGVk
IHdheSB0byBnZXQgdGhlCisgICAgICAgIC8vIHNhbmRib3hlZCBwcm9jZXNzJ3MgYXBwbGljYXRp
b24gSUQsIGFuZCB3aWxsIGJyZWFrIGlmIGl0J3MgbWlzc2luZy4KICAgICAgICAgVmVjdG9yPENT
dHJpbmc+IGFyZ3MgPSB7CiAgICAgICAgICAgICBEQlVTX1BST1hZX0VYRUNVVEFCTEUsCiAgICAg
ICAgICAgICBwcm94eUFyZ3NTdHIuZ2V0KCksCkBAIC0yMDEsMTEgKzIyNywxNCBAQCBwdWJsaWM6
CiAgICAgICAgIGdfc3VicHJvY2Vzc19sYXVuY2hlcl9zZXRfY2hpbGRfc2V0dXAobGF1bmNoZXIu
Z2V0KCksIGNoaWxkU2V0dXBGdW5jLCBHSU5UX1RPX1BPSU5URVIoc3luY0Zkc1sxXSksIG51bGxw
dHIpOwogICAgICAgICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfdGFrZV9mZChsYXVuY2hlci5nZXQo
KSwgcHJveHlGZCwgcHJveHlGZCk7CiAgICAgICAgIGdfc3VicHJvY2Vzc19sYXVuY2hlcl90YWtl
X2ZkKGxhdW5jaGVyLmdldCgpLCBzeW5jRmRzWzFdLCBzeW5jRmRzWzFdKTsKKwogICAgICAgICAv
LyBXZSBhcmUgcHVycG9zZWZ1bGx5IGxlYXZpbmcgc3luY0Zkc1swXSBvcGVuIGhlcmUuCiAgICAg
ICAgIC8vIHhkZy1kYnVzLXByb3h5IHdpbGwgZXhpdCgpIGl0c2VsZiBvbmNlIHRoYXQgaXMgY2xv
c2VkIG9uIG91ciBleGl0CiAKKyAgICAgICAgUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25z
IGxhdW5jaE9wdGlvbnM7CisgICAgICAgIGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPSBQcm9j
ZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpEQnVzUHJveHk7CiAgICAgICAgIEdVbmlxdWVPdXRQ
dHI8R0Vycm9yPiBlcnJvcjsKLSAgICAgICAgR1JlZlB0cjxHU3VicHJvY2Vzcz4gcHJvY2VzcyA9
IGFkb3B0R1JlZihnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc3Bhd252KGxhdW5jaGVyLmdldCgpLCBh
cmd2LCAmZXJyb3Iub3V0UHRyKCkpKTsKKyAgICAgICAgR1JlZlB0cjxHU3VicHJvY2Vzcz4gcHJv
Y2VzcyA9IGJ1YmJsZXdyYXBTcGF3bihsYXVuY2hlci5nZXQoKSwgbGF1bmNoT3B0aW9ucywgYXJn
diwgJmVycm9yLm91dFB0cigpKTsKICAgICAgICAgaWYgKCFwcm9jZXNzLmdldCgpKQogICAgICAg
ICAgICAgZ19lcnJvcigiRmFpbGVkIHRvIHN0YXJ0IGRidXMgcHJveHk6ICVzIiwgZXJyb3ItPm1l
c3NhZ2UpOwogCkBAIC02OTIsMjggKzcyMSw2IEBAIHN0YXRpYyBpbnQgc2V0dXBTZWNjb21wKCkK
ICAgICByZXR1cm4gdG1wZmQ7CiB9CiAKLXN0YXRpYyBpbnQgY3JlYXRlRmxhdHBha0luZm8oKQot
ewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxHVW5pcXVlUHRyPGNoYXI+PiBkYXRhOwotICAg
IHN0YXRpYyBzaXplX3Qgc2l6ZTsKLQotICAgIGlmICghZGF0YS5nZXQoKSkgewotICAgICAgICAv
LyB4ZGctZGVza3RvcC1wb3J0YWwgcmVsYXRlcyB5b3VyIG5hbWUgdG8gY2VydGFpbiBwZXJtaXNz
aW9ucyBzbyB3ZSB3YW50Ci0gICAgICAgIC8vIHRoZW0gdG8gYmUgYXBwbGljYXRpb24gdW5pcXVl
IHdoaWNoIGlzIGJlc3QgZG9uZSB2aWEgR0FwcGxpY2F0aW9uLgotICAgICAgICBHQXBwbGljYXRp
b24qIGFwcCA9IGdfYXBwbGljYXRpb25fZ2V0X2RlZmF1bHQoKTsKLSAgICAgICAgaWYgKCFhcHAp
IHsKLSAgICAgICAgICAgIGdfd2FybmluZygiR0FwcGxpY2F0aW9uIGlzIHJlcXVpcmVkIGZvciB4
ZGctZGVza3RvcC1wb3J0YWwgYWNjZXNzIGluIHRoZSBXZWJLaXQgc2FuZGJveC4gQWN0aW9ucyB0
aGF0IHJlcXVpcmUgeGRnLWRlc2t0b3AtcG9ydGFsIHdpbGwgYmUgYnJva2VuLiIpOwotICAgICAg
ICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9Ci0KLSAgICAgICAgR1VuaXF1ZVB0cjxHS2V5Rmls
ZT4ga2V5RmlsZShnX2tleV9maWxlX25ldygpKTsKLSAgICAgICAgZ19rZXlfZmlsZV9zZXRfc3Ry
aW5nKGtleUZpbGUuZ2V0KCksICJBcHBsaWNhdGlvbiIsICJuYW1lIiwgZ19hcHBsaWNhdGlvbl9n
ZXRfYXBwbGljYXRpb25faWQoYXBwKSk7Ci0gICAgICAgIGRhdGEtPnJlc2V0KGdfa2V5X2ZpbGVf
dG9fZGF0YShrZXlGaWxlLmdldCgpLCAmc2l6ZSwgbnVsbHB0cikpOwotICAgIH0KLQotICAgIHJl
dHVybiBjcmVhdGVTZWFsZWRNZW1GZFdpdGhEYXRhKCJmbGF0cGFrLWluZm8iLCBkYXRhLT5nZXQo
KSwgc2l6ZSk7Ci19Ci0KIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1YmJsZXdyYXBTcGF3bihHU3Vi
cHJvY2Vzc0xhdW5jaGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hP
cHRpb25zJiBsYXVuY2hPcHRpb25zLCBjaGFyKiogYXJndiwgR0Vycm9yICoqZXJyb3IpCiB7CiAg
ICAgQVNTRVJUKGxhdW5jaGVyKTsKQEAgLTcyNCwxMSArNzMxLDEyIEBAIEdSZWZQdHI8R1N1YnBy
b2Nlc3M+IGJ1YmJsZXdyYXBTcGF3bihHU3VicHJvY2Vzc0xhdW5jaGVyKiBsYXVuY2hlciwgY29u
c3QgUHJvY2VzCiAgICAgaWYgKGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc0xh
dW5jaGVyOjpQcm9jZXNzVHlwZTo6TmV0d29yaykKICAgICAgICAgcmV0dXJuIGFkb3B0R1JlZihn
X3N1YnByb2Nlc3NfbGF1bmNoZXJfc3Bhd252KGxhdW5jaGVyLCBhcmd2LCBlcnJvcikpOwogCisg
ICAgR1VuaXF1ZVB0cjxjaGFyPiBydW5EaXIoZ19zdHJkdXBfcHJpbnRmKCIvcnVuL3VzZXIvJWQi
LCBnZXR1aWQoKSkpOworCiAgICAgVmVjdG9yPENTdHJpbmc+IHNhbmRib3hBcmdzID0gewogICAg
ICAgICAiLS1kaWUtd2l0aC1wYXJlbnQiLAogICAgICAgICAiLS11bnNoYXJlLXBpZCIsCiAgICAg
ICAgICItLXVuc2hhcmUtdXRzIiwKLSAgICAgICAgIi0tdW5zaGFyZS1uZXQiLAogCiAgICAgICAg
IC8vIFdlIGFzc3VtZSAvZXRjIGhhcyBzYWZlIHBlcm1pc3Npb25zLgogICAgICAgICAvLyBBdCBh
IGxhdGVyIHBvaW50IHdlIGNhbiBzdGFydCBtYXNraW5nIHByaXZhY3ktY29uY2VybmluZyBmaWxl
cy4KQEAgLTczNyw3ICs3NDUsOCBAQCBHUmVmUHRyPEdTdWJwcm9jZXNzPiBidWJibGV3cmFwU3Bh
d24oR1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNvbnN0IFByb2NlcwogICAgICAgICAi
LS1wcm9jIiwgIi9wcm9jIiwKICAgICAgICAgIi0tdG1wZnMiLCAiL3RtcCIsCiAgICAgICAgICIt
LXVuc2V0ZW52IiwgIlRNUERJUiIsCi0gICAgICAgICItLWRpciIsICIvcnVuIiwKKyAgICAgICAg
Ii0tZGlyIiwgcnVuRGlyLmdldCgpLAorICAgICAgICAiLS1zZXRlbnYiLCAiWERHX1JVTlRJTUVf
RElSIiwgcnVuRGlyLmdldCgpLAogICAgICAgICAiLS1zeW1saW5rIiwgIi4uL3J1biIsICIvdmFy
L3J1biIsCiAgICAgICAgICItLXN5bWxpbmsiLCAiLi4vdG1wIiwgIi92YXIvdG1wIiwKICAgICAg
ICAgIi0tcm8tYmluZCIsICIvc3lzL2Jsb2NrIiwgIi9zeXMvYmxvY2siLApAQCAtNzYyLDYgKzc3
MSwyNCBAQCBHUmVmUHRyPEdTdWJwcm9jZXNzPiBidWJibGV3cmFwU3Bhd24oR1N1YnByb2Nlc3NM
YXVuY2hlciogbGF1bmNoZXIsIGNvbnN0IFByb2NlcwogCiAgICAgICAgICItLXJvLWJpbmQtdHJ5
IiwgUEtHTElCRVhFQ0RJUiwgUEtHTElCRVhFQ0RJUiwKICAgICB9OworCisgICAgaWYgKGxhdW5j
aE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6REJ1
c1Byb3h5KSB7CisgICAgICAgIHNhbmRib3hBcmdzLmFwcGVuZFZlY3RvcihWZWN0b3I8Q1N0cmlu
Zz4oeworICAgICAgICAgICAgIi0tcm8tYmluZCIsICIvdXNyL2JpbiIsICIvdXNyL2JpbiIsCisg
ICAgICAgICAgICAvLyBUaGlzIGlzIGEgbG90IG9mIGFjY2VzcywgYnV0IHhkZy1kYnVzLXByb3h5
IGlzIHRydXN0ZWQgc28gdGhhdCdzIE9LLiBJdCdzIHNhbmRib3hlZAorICAgICAgICAgICAgLy8g
b25seSBiZWNhdXNlIHdlIGhhdmUgdG8gbW91bnQgLmZsYXRwYWstaW5mbyBpbiBpdHMgbW91bnQg
bmFtZXNwYWNlLiBUaGUgdXNlciBydW5kaXIKKyAgICAgICAgICAgIC8vIGlzIHdoZXJlIHdlIG1v
dW50IG91ciBwcm94eSBzb2NrZXQuCisgICAgICAgICAgICAiLS1iaW5kIiwgcnVuRGlyLmdldCgp
LCBydW5EaXIuZ2V0KCksCisgICAgICAgIH0pKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyB4
ZGctZGJ1cy1wcm94eSBuZWVkcyBhY2Nlc3MgdG8gaG9zdCBhYnN0cmFjdCBzb2NrZXRzIHRvIGNv
bm5lY3QgdG8gdGhlIGExMXkgYnVzLiBTZWN1cmUKKyAgICAgICAgLy8gaG9zdCBzZXJ2aWNlcyBt
dXN0IG5vdCB1c2UgYWJzdHJhY3Qgc29ja2V0cy4gT3RoZXJ3aXNlLCBvbmx5IHRoZSBuZXR3b3Jr
IHByb2Nlc3Mgc2hvdWxkCisgICAgICAgIC8vIGhhdmUgbmV0d29yayBhY2Nlc3MsIGFuZCB0aGUg
bmV0d29yayBwcm9jZXNzIGlzIG5vdCBzYW5kYm94ZWQgYXQgYWxsLgorICAgICAgICBzYW5kYm94
QXJncy5hcHBlbmRWZWN0b3IoVmVjdG9yPENTdHJpbmc+KHsKKyAgICAgICAgICAgICItLXVuc2hh
cmUtbmV0IgorICAgICAgICB9KSk7CisgICAgfQorCiAgICAgLy8gV2Ugd291bGQgaGF2ZSB0byBw
YXJzZSBsZCBjb25maWcgZmlsZXMgZm9yIG1vcmUgaW5mby4KICAgICBiaW5kUGF0aFZhcihzYW5k
Ym94QXJncywgIkxEX0xJQlJBUllfUEFUSCIpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420325</attachid>
            <date>2021-02-15 10:03:19 -0800</date>
            <delta_ts>2021-02-15 10:11:36 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-219010-20210215120317.patch</filename>
            <type>text/plain</type>
            <size>9725</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExNGUyMmNhMDVhOWQ2ZTdm
MDhmN2JhMTQxNWIyMjFhNTUxOGI4MzIuLmU4NmMzZWRkYjQyZDI5ZTQzNGI4MjZhZGYxMTMzY2Y2
NTViODlhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMTUgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV1bR1RLXSBT
bGVlcERpc2FibGVyIGRvZXMgbm90IGluaGliaXQgc2xlZXAgd2l0aCBidWJibGV3cmFwIHNhbmRi
b3ggZW5hYmxlZDogbmVlZCB0byBydW4geGRnLWRidXMtcHJveHkgdW5kZXIgYndyYXAgb3IgeGRn
LWRlc2t0b3AtcG9ydGFsIGRvZXMgbm90IHJlYWQgb3VyIGFwcCBJRAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2FybG9zIEdhcmNpYSBDYW1wb3MuCisKKyAgICAgICAgV2UgbmVlZCB0byBydW4geGRn
LWRidXMtcHJveHkgdW5kZXIgYnViYmxld3JhcCBzbyB0aGF0IHdlIGNhbiBtb3VudCAvLmZsYXRw
YWstaW5mbyBpbiBpdHMKKyAgICAgICAgbW91bnQgbmFtZXNwYWNlLiBXaHk/IEJlY2F1c2UgeGRn
LWRlc2t0b3AtcG9ydGFsIGNoZWNrcyB0aGUgcGlkIG9mIGl0cyBELUJ1cyBwZWVyIHVzaW5nCisg
ICAgICAgIFVuaXggY3JlZGVudGlhbHMsIHRoZW4gbG9va3MgaW4gdGhhdCBwcm9jZXNzJ3MgbW91
bnQgbmFtZXNwYWNlIHRvIHJlYWQgaXRzIGFwcCBJRCBmcm9tCisgICAgICAgIC8uZmxhdHBhay1p
bmZvLiBJZiAvLmZsYXRwYWstaW5mbyBkb2Vzbid0IGV4aXN0LCB0aGVuIGFueSBwb3J0YWxzIHRo
YXQgZGVwZW5kIG9uIHRoZSBhcHAgSUQKKyAgICAgICAgd2lsbCBicmVhaywgaW5jbHVkaW5nIHRo
ZSBpbmhpYml0IHBvcnRhbCB0aGF0IHdlIG5lZWQgdG8gcHJldmVudCB0aGUgc3lzdGVtIGZyb20g
c3VzcGVuZGluZworICAgICAgICBkdXJpbmcgdmlkZW8gcGxheWJhY2suIFRoaXMgbm9ybWFsbHkg
d29ya3MgYmVjYXVzZSBmbGF0cGFrIHJ1bnMgeGRnLWRidXMtcHJveHkgdW5kZXIKKyAgICAgICAg
YnViYmxld3JhcCBhbmQgbW91bnRzIC8uZmxhdHBhay1pbmZvLCBidXQgaXQgYnJlYWtzIGZvciBX
ZWJLaXQgYmVjYXVzZSB3ZSBkb24ndC4gU3RhcnQgZG9pbmcKKyAgICAgICAgc28uCisKKyAgICAg
ICAgVGhpcyBtZXRob2Qgb2YgZ2V0dGluZyB0aGUgYXBwIElEIG1pZ2h0IHNlZW0gbGlrZSBhIHN0
cmFuZ2UgY29udG9ydGlvbiwgYnV0IGl0J3MgcmVhbGx5CisgICAgICAgIHJlcXVpcmVkIGJlYWN1
c2UgdGhlIHNhbmRib3hlZCBwcm9jZXNzIGNhbm5vdCBiZSB0cnVzdGVkIHRvIHByb3ZpZGUgaXRz
IG93biBhcHAgSUQsIGFuZCB3aWxsCisgICAgICAgIG5vdCBoYXZlIHdyaXRlIGFjY2VzcyB0byBp
dHMgLy5mbGF0cGFrLWluZm8gc28gd2UgY2FuIHJlbHkgb24gdGhhdC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
TGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0Ojpj
cmVhdGVGbGF0cGFrSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OlhER0RCdXNQcm94eUxhdW5jaGVy
OjpsYXVuY2gpOgorICAgICAgICAoV2ViS2l0OjpidWJibGV3cmFwU3Bhd24pOgorCiAyMDIxLTAy
LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTaGFyZSBt
b3JlIGNvZGUgYmV0d2VlbiBSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlIGFuZCBSZW1vdGVSZWFs
dGltZVZpZGVvU291cmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhp
bGlhcnlQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5LmNwcAppbmRleCAyZWRmY2U1NTVhMjNhNTAwODE0NzFmMWQ5Y2U2OTYyOTQ1
MTE4YTJhLi40Nzk2NTAzZjUyYjI4ZTA2YzZmNmEzNDU0NzA5YjQzYTM3MjY5ZTIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAKQEAg
LTg4LDYgKzg4LDExIEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRp
b25zKFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1CiAgICAgY2FzZSBQcm9jZXNz
TGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpXZWJBdXRobjoKICAgICAgICAgdmFybmFtZSA9ICJXRUJB
VVRITl9QUk9DRVNTX0NNRF9QUkVGSVgiOwogICAgICAgICBicmVhazsKKyNlbmRpZgorI2lmIEVO
QUJMRShCVUJCTEVXUkFQX1NBTkRCT1gpCisgICAgY2FzZSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nl
c3NUeXBlOjpEQnVzUHJveHk6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICBicmVhazsKICNlbmRpZgogICAgIH0KICAgICBjb25zdCBjaGFyKiBwcm9jZXNzQ21kUHJlZml4
ID0gZ2V0ZW52KHZhcm5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVu
Y2hlci9Qcm9jZXNzTGF1bmNoZXIuaAppbmRleCA3MDI3MWI3NDkwNzMxOGZhYmM0NTI3YjQzNWM3
NTFjYzRlNjEzMjZiLi4xMDgxYmEyYTViZmMzNGI5ZmI3M2FmODg1MTI1M2U3OGVhYWViM2M4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNo
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNo
ZXIuaApAQCAtNzYsNyArNzYsMTAgQEAgcHVibGljOgogICAgICAgICBHUFUsCiAjZW5kaWYKICNp
ZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgICAgICBXZWJBdXRobgorICAgICAgICBXZWJBdXRobiwK
KyNlbmRpZgorI2lmIEVOQUJMRShCVUJCTEVXUkFQX1NBTkRCT1gpCisgICAgICAgIERCdXNQcm94
eSwKICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0xhdW5jaGVyL2dsaWIvQnViYmxld3JhcExhdW5jaGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0xhdW5jaGVyL2dsaWIvQnViYmxld3JhcExhdW5jaGVyLmNwcAppbmRleCAzMDE4YjVh
MWJkYjEzZTBmMzNiNDhlOTQzOGEwNWI0ZmYxNTg5ZTYwLi5mMDg5OTRhZDM2ODJkZDQ1MmM4NWIw
ODUyYTExZjk0ODZkMGQ5MTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9M
YXVuY2hlci9nbGliL0J1YmJsZXdyYXBMYXVuY2hlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwCkBAIC0yNSw2ICsy
NSw3IEBACiAjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1ZGUgPHNlY2NvbXAuaD4KICNpbmNsdWRl
IDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5
c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3
dGYvZ2xpYi9HUmVmUHRyLmg+CkBAIC0xMjgsNiArMTI5LDI4IEBAIGFyZ3NUb0ZkKGNvbnN0IFZl
Y3RvcjxDU3RyaW5nPiYgYXJncywgY29uc3QgY2hhciAqbmFtZSkKICAgICByZXR1cm4gbWVtZmQ7
CiB9CiAKK3N0YXRpYyBpbnQgY3JlYXRlRmxhdHBha0luZm8oKQoreworICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxHVW5pcXVlUHRyPGNoYXI+PiBkYXRhOworICAgIHN0YXRpYyBzaXplX3Qgc2l6
ZTsKKworICAgIGlmICghZGF0YS5nZXQoKSkgeworICAgICAgICAvLyB4ZGctZGVza3RvcC1wb3J0
YWwgcmVsYXRlcyB5b3VyIG5hbWUgdG8gY2VydGFpbiBwZXJtaXNzaW9ucyBzbyB3ZSB3YW50Cisg
ICAgICAgIC8vIHRoZW0gdG8gYmUgYXBwbGljYXRpb24gdW5pcXVlIHdoaWNoIGlzIGJlc3QgZG9u
ZSB2aWEgR0FwcGxpY2F0aW9uLgorICAgICAgICBHQXBwbGljYXRpb24qIGFwcCA9IGdfYXBwbGlj
YXRpb25fZ2V0X2RlZmF1bHQoKTsKKyAgICAgICAgaWYgKCFhcHApIHsKKyAgICAgICAgICAgIGdf
d2FybmluZygiR0FwcGxpY2F0aW9uIGlzIHJlcXVpcmVkIGZvciB4ZGctZGVza3RvcC1wb3J0YWwg
YWNjZXNzIGluIHRoZSBXZWJLaXQgc2FuZGJveC4gQWN0aW9ucyB0aGF0IHJlcXVpcmUgeGRnLWRl
c2t0b3AtcG9ydGFsIHdpbGwgYmUgYnJva2VuLiIpOworICAgICAgICAgICAgcmV0dXJuIC0xOwor
ICAgICAgICB9CisKKyAgICAgICAgR1VuaXF1ZVB0cjxHS2V5RmlsZT4ga2V5RmlsZShnX2tleV9m
aWxlX25ldygpKTsKKyAgICAgICAgZ19rZXlfZmlsZV9zZXRfc3RyaW5nKGtleUZpbGUuZ2V0KCks
ICJBcHBsaWNhdGlvbiIsICJuYW1lIiwgZ19hcHBsaWNhdGlvbl9nZXRfYXBwbGljYXRpb25faWQo
YXBwKSk7CisgICAgICAgIGRhdGEtPnJlc2V0KGdfa2V5X2ZpbGVfdG9fZGF0YShrZXlGaWxlLmdl
dCgpLCAmc2l6ZSwgbnVsbHB0cikpOworICAgIH0KKworICAgIHJldHVybiBjcmVhdGVTZWFsZWRN
ZW1GZFdpdGhEYXRhKCJmbGF0cGFrLWluZm8iLCBkYXRhLT5nZXQoKSwgc2l6ZSk7Cit9CisKIGVu
dW0gY2xhc3MgREJ1c0FkZHJlc3NUeXBlIHsKICAgICBOb3JtYWwsCiAgICAgQWJzdHJhY3QsCkBA
IC0xODUsNiArMjA4LDkgQEAgcHVibGljOgogICAgICAgICBpbnQgcHJveHlGZCA9IGFyZ3NUb0Zk
KHByb3h5QXJncywgImRidXMtcHJveHkiKTsKICAgICAgICAgR1VuaXF1ZVB0cjxjaGFyPiBwcm94
eUFyZ3NTdHIoZ19zdHJkdXBfcHJpbnRmKCItLWFyZ3M9JWQiLCBwcm94eUZkKSk7CiAKKyAgICAg
ICAgLy8gV2UgaGF2ZSB0byBydW4geGRnLWRidXMtcHJveHkgdW5kZXIgYnViYmxld3JhcCBiZWNh
dXNlIHdlIG5lZWQgLy5mbGF0cGFrLWluZm8gdG8gZXhpc3QgaW4KKyAgICAgICAgLy8geGRnLWRi
dXMtcHJveHkncyBtb3VudCBuYW1lc3BhY2UuIFBvcnRhbHMgbWF5IHVzZSB0aGlzIGFzIGEgdHJ1
c3RlZCB3YXkgdG8gZ2V0IHRoZQorICAgICAgICAvLyBzYW5kYm94ZWQgcHJvY2VzcydzIGFwcGxp
Y2F0aW9uIElELCBhbmQgd2lsbCBicmVhayBpZiBpdCdzIG1pc3NpbmcuCiAgICAgICAgIFZlY3Rv
cjxDU3RyaW5nPiBhcmdzID0gewogICAgICAgICAgICAgREJVU19QUk9YWV9FWEVDVVRBQkxFLAog
ICAgICAgICAgICAgcHJveHlBcmdzU3RyLmdldCgpLApAQCAtMjAxLDExICsyMjcsMTQgQEAgcHVi
bGljOgogICAgICAgICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc2V0X2NoaWxkX3NldHVwKGxhdW5j
aGVyLmdldCgpLCBjaGlsZFNldHVwRnVuYywgR0lOVF9UT19QT0lOVEVSKHN5bmNGZHNbMV0pLCBu
dWxscHRyKTsKICAgICAgICAgZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3Rha2VfZmQobGF1bmNoZXIu
Z2V0KCksIHByb3h5RmQsIHByb3h5RmQpOwogICAgICAgICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJf
dGFrZV9mZChsYXVuY2hlci5nZXQoKSwgc3luY0Zkc1sxXSwgc3luY0Zkc1sxXSk7CisKICAgICAg
ICAgLy8gV2UgYXJlIHB1cnBvc2VmdWxseSBsZWF2aW5nIHN5bmNGZHNbMF0gb3BlbiBoZXJlLgog
ICAgICAgICAvLyB4ZGctZGJ1cy1wcm94eSB3aWxsIGV4aXQoKSBpdHNlbGYgb25jZSB0aGF0IGlz
IGNsb3NlZCBvbiBvdXIgZXhpdAogCisgICAgICAgIFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0
aW9ucyBsYXVuY2hPcHRpb25zOworICAgICAgICBsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID0g
UHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6REJ1c1Byb3h5OwogICAgICAgICBHVW5pcXVl
T3V0UHRyPEdFcnJvcj4gZXJyb3I7Ci0gICAgICAgIEdSZWZQdHI8R1N1YnByb2Nlc3M+IHByb2Nl
c3MgPSBhZG9wdEdSZWYoZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3NwYXdudihsYXVuY2hlci5nZXQo
KSwgYXJndiwgJmVycm9yLm91dFB0cigpKSk7CisgICAgICAgIEdSZWZQdHI8R1N1YnByb2Nlc3M+
IHByb2Nlc3MgPSBidWJibGV3cmFwU3Bhd24obGF1bmNoZXIuZ2V0KCksIGxhdW5jaE9wdGlvbnMs
IGFyZ3YsICZlcnJvci5vdXRQdHIoKSk7CiAgICAgICAgIGlmICghcHJvY2Vzcy5nZXQoKSkKICAg
ICAgICAgICAgIGdfZXJyb3IoIkZhaWxlZCB0byBzdGFydCBkYnVzIHByb3h5OiAlcyIsIGVycm9y
LT5tZXNzYWdlKTsKIApAQCAtNjkyLDI4ICs3MjEsNiBAQCBzdGF0aWMgaW50IHNldHVwU2VjY29t
cCgpCiAgICAgcmV0dXJuIHRtcGZkOwogfQogCi1zdGF0aWMgaW50IGNyZWF0ZUZsYXRwYWtJbmZv
KCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8R1VuaXF1ZVB0cjxjaGFyPj4gZGF0YTsK
LSAgICBzdGF0aWMgc2l6ZV90IHNpemU7Ci0KLSAgICBpZiAoIWRhdGEuZ2V0KCkpIHsKLSAgICAg
ICAgLy8geGRnLWRlc2t0b3AtcG9ydGFsIHJlbGF0ZXMgeW91ciBuYW1lIHRvIGNlcnRhaW4gcGVy
bWlzc2lvbnMgc28gd2Ugd2FudAotICAgICAgICAvLyB0aGVtIHRvIGJlIGFwcGxpY2F0aW9uIHVu
aXF1ZSB3aGljaCBpcyBiZXN0IGRvbmUgdmlhIEdBcHBsaWNhdGlvbi4KLSAgICAgICAgR0FwcGxp
Y2F0aW9uKiBhcHAgPSBnX2FwcGxpY2F0aW9uX2dldF9kZWZhdWx0KCk7Ci0gICAgICAgIGlmICgh
YXBwKSB7Ci0gICAgICAgICAgICBnX3dhcm5pbmcoIkdBcHBsaWNhdGlvbiBpcyByZXF1aXJlZCBm
b3IgeGRnLWRlc2t0b3AtcG9ydGFsIGFjY2VzcyBpbiB0aGUgV2ViS2l0IHNhbmRib3guIEFjdGlv
bnMgdGhhdCByZXF1aXJlIHhkZy1kZXNrdG9wLXBvcnRhbCB3aWxsIGJlIGJyb2tlbi4iKTsKLSAg
ICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotCi0gICAgICAgIEdVbmlxdWVQdHI8R0tl
eUZpbGU+IGtleUZpbGUoZ19rZXlfZmlsZV9uZXcoKSk7Ci0gICAgICAgIGdfa2V5X2ZpbGVfc2V0
X3N0cmluZyhrZXlGaWxlLmdldCgpLCAiQXBwbGljYXRpb24iLCAibmFtZSIsIGdfYXBwbGljYXRp
b25fZ2V0X2FwcGxpY2F0aW9uX2lkKGFwcCkpOwotICAgICAgICBkYXRhLT5yZXNldChnX2tleV9m
aWxlX3RvX2RhdGEoa2V5RmlsZS5nZXQoKSwgJnNpemUsIG51bGxwdHIpKTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gY3JlYXRlU2VhbGVkTWVtRmRXaXRoRGF0YSgiZmxhdHBhay1pbmZvIiwgZGF0YS0+
Z2V0KCksIHNpemUpOwotfQotCiBHUmVmUHRyPEdTdWJwcm9jZXNzPiBidWJibGV3cmFwU3Bhd24o
R1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNvbnN0IFByb2Nlc3NMYXVuY2hlcjo6TGF1
bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucywgY2hhcioqIGFyZ3YsIEdFcnJvciAqKmVycm9yKQog
ewogICAgIEFTU0VSVChsYXVuY2hlcik7CkBAIC03MjQsMTEgKzczMSwxMiBAQCBHUmVmUHRyPEdT
dWJwcm9jZXNzPiBidWJibGV3cmFwU3Bhd24oR1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIs
IGNvbnN0IFByb2NlcwogICAgIGlmIChsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nl
c3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6Ok5ldHdvcmspCiAgICAgICAgIHJldHVybiBhZG9wdEdS
ZWYoZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3NwYXdudihsYXVuY2hlciwgYXJndiwgZXJyb3IpKTsK
IAorICAgIEdVbmlxdWVQdHI8Y2hhcj4gcnVuRGlyKGdfc3RyZHVwX3ByaW50ZigiL3J1bi91c2Vy
LyVkIiwgZ2V0dWlkKCkpKTsKKwogICAgIFZlY3RvcjxDU3RyaW5nPiBzYW5kYm94QXJncyA9IHsK
ICAgICAgICAgIi0tZGllLXdpdGgtcGFyZW50IiwKICAgICAgICAgIi0tdW5zaGFyZS1waWQiLAog
ICAgICAgICAiLS11bnNoYXJlLXV0cyIsCi0gICAgICAgICItLXVuc2hhcmUtbmV0IiwKIAogICAg
ICAgICAvLyBXZSBhc3N1bWUgL2V0YyBoYXMgc2FmZSBwZXJtaXNzaW9ucy4KICAgICAgICAgLy8g
QXQgYSBsYXRlciBwb2ludCB3ZSBjYW4gc3RhcnQgbWFza2luZyBwcml2YWN5LWNvbmNlcm5pbmcg
ZmlsZXMuCkBAIC03MzcsNyArNzQ1LDggQEAgR1JlZlB0cjxHU3VicHJvY2Vzcz4gYnViYmxld3Jh
cFNwYXduKEdTdWJwcm9jZXNzTGF1bmNoZXIqIGxhdW5jaGVyLCBjb25zdCBQcm9jZXMKICAgICAg
ICAgIi0tcHJvYyIsICIvcHJvYyIsCiAgICAgICAgICItLXRtcGZzIiwgIi90bXAiLAogICAgICAg
ICAiLS11bnNldGVudiIsICJUTVBESVIiLAotICAgICAgICAiLS1kaXIiLCAiL3J1biIsCisgICAg
ICAgICItLWRpciIsIHJ1bkRpci5nZXQoKSwKKyAgICAgICAgIi0tc2V0ZW52IiwgIlhER19SVU5U
SU1FX0RJUiIsIHJ1bkRpci5nZXQoKSwKICAgICAgICAgIi0tc3ltbGluayIsICIuLi9ydW4iLCAi
L3Zhci9ydW4iLAogICAgICAgICAiLS1zeW1saW5rIiwgIi4uL3RtcCIsICIvdmFyL3RtcCIsCiAg
ICAgICAgICItLXJvLWJpbmQiLCAiL3N5cy9ibG9jayIsICIvc3lzL2Jsb2NrIiwKQEAgLTc2Miw2
ICs3NzEsMjQgQEAgR1JlZlB0cjxHU3VicHJvY2Vzcz4gYnViYmxld3JhcFNwYXduKEdTdWJwcm9j
ZXNzTGF1bmNoZXIqIGxhdW5jaGVyLCBjb25zdCBQcm9jZXMKIAogICAgICAgICAiLS1yby1iaW5k
LXRyeSIsIFBLR0xJQkVYRUNESVIsIFBLR0xJQkVYRUNESVIsCiAgICAgfTsKKworICAgIGlmIChs
YXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6
OkRCdXNQcm94eSkgeworICAgICAgICBzYW5kYm94QXJncy5hcHBlbmRWZWN0b3IoVmVjdG9yPENT
dHJpbmc+KHsKKyAgICAgICAgICAgICItLXJvLWJpbmQiLCAiL3Vzci9iaW4iLCAiL3Vzci9iaW4i
LAorICAgICAgICAgICAgLy8gVGhpcyBpcyBhIGxvdCBvZiBhY2Nlc3MsIGJ1dCB4ZGctZGJ1cy1w
cm94eSBpcyB0cnVzdGVkIHNvIHRoYXQncyBPSy4gSXQncyBzYW5kYm94ZWQKKyAgICAgICAgICAg
IC8vIG9ubHkgYmVjYXVzZSB3ZSBoYXZlIHRvIG1vdW50IC5mbGF0cGFrLWluZm8gaW4gaXRzIG1v
dW50IG5hbWVzcGFjZS4gVGhlIHVzZXIgcnVuZGlyCisgICAgICAgICAgICAvLyBpcyB3aGVyZSB3
ZSBtb3VudCBvdXIgcHJveHkgc29ja2V0LgorICAgICAgICAgICAgIi0tYmluZCIsIHJ1bkRpci5n
ZXQoKSwgcnVuRGlyLmdldCgpLAorICAgICAgICB9KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
Ly8geGRnLWRidXMtcHJveHkgbmVlZHMgYWNjZXNzIHRvIGhvc3QgYWJzdHJhY3Qgc29ja2V0cyB0
byBjb25uZWN0IHRvIHRoZSBhMTF5IGJ1cy4gU2VjdXJlCisgICAgICAgIC8vIGhvc3Qgc2Vydmlj
ZXMgbXVzdCBub3QgdXNlIGFic3RyYWN0IHNvY2tldHMuIE90aGVyd2lzZSwgb25seSB0aGUgbmV0
d29yayBwcm9jZXNzIHNob3VsZAorICAgICAgICAvLyBoYXZlIG5ldHdvcmsgYWNjZXNzLCBhbmQg
dGhlIG5ldHdvcmsgcHJvY2VzcyBpcyBub3Qgc2FuZGJveGVkIGF0IGFsbC4KKyAgICAgICAgc2Fu
ZGJveEFyZ3MuYXBwZW5kVmVjdG9yKFZlY3RvcjxDU3RyaW5nPih7CisgICAgICAgICAgICAiLS11
bnNoYXJlLW5ldCIKKyAgICAgICAgfSkpOworICAgIH0KKwogICAgIC8vIFdlIHdvdWxkIGhhdmUg
dG8gcGFyc2UgbGQgY29uZmlnIGZpbGVzIGZvciBtb3JlIGluZm8uCiAgICAgYmluZFBhdGhWYXIo
c2FuZGJveEFyZ3MsICJMRF9MSUJSQVJZX1BBVEgiKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420326</attachid>
            <date>2021-02-15 10:11:44 -0800</date>
            <delta_ts>2021-02-15 13:58:08 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-219010-20210215121142.patch</filename>
            <type>text/plain</type>
            <size>9670</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExNGUyMmNhMDVhOWQ2ZTdm
MDhmN2JhMTQxNWIyMjFhNTUxOGI4MzIuLmU4NmMzZWRkYjQyZDI5ZTQzNGI4MjZhZGYxMTMzY2Y2
NTViODlhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMTUgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV1bR1RLXSBT
bGVlcERpc2FibGVyIGRvZXMgbm90IGluaGliaXQgc2xlZXAgd2l0aCBidWJibGV3cmFwIHNhbmRi
b3ggZW5hYmxlZDogbmVlZCB0byBydW4geGRnLWRidXMtcHJveHkgdW5kZXIgYndyYXAgb3IgeGRn
LWRlc2t0b3AtcG9ydGFsIGRvZXMgbm90IHJlYWQgb3VyIGFwcCBJRAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2FybG9zIEdhcmNpYSBDYW1wb3MuCisKKyAgICAgICAgV2UgbmVlZCB0byBydW4geGRn
LWRidXMtcHJveHkgdW5kZXIgYnViYmxld3JhcCBzbyB0aGF0IHdlIGNhbiBtb3VudCAvLmZsYXRw
YWstaW5mbyBpbiBpdHMKKyAgICAgICAgbW91bnQgbmFtZXNwYWNlLiBXaHk/IEJlY2F1c2UgeGRn
LWRlc2t0b3AtcG9ydGFsIGNoZWNrcyB0aGUgcGlkIG9mIGl0cyBELUJ1cyBwZWVyIHVzaW5nCisg
ICAgICAgIFVuaXggY3JlZGVudGlhbHMsIHRoZW4gbG9va3MgaW4gdGhhdCBwcm9jZXNzJ3MgbW91
bnQgbmFtZXNwYWNlIHRvIHJlYWQgaXRzIGFwcCBJRCBmcm9tCisgICAgICAgIC8uZmxhdHBhay1p
bmZvLiBJZiAvLmZsYXRwYWstaW5mbyBkb2Vzbid0IGV4aXN0LCB0aGVuIGFueSBwb3J0YWxzIHRo
YXQgZGVwZW5kIG9uIHRoZSBhcHAgSUQKKyAgICAgICAgd2lsbCBicmVhaywgaW5jbHVkaW5nIHRo
ZSBpbmhpYml0IHBvcnRhbCB0aGF0IHdlIG5lZWQgdG8gcHJldmVudCB0aGUgc3lzdGVtIGZyb20g
c3VzcGVuZGluZworICAgICAgICBkdXJpbmcgdmlkZW8gcGxheWJhY2suIFRoaXMgbm9ybWFsbHkg
d29ya3MgYmVjYXVzZSBmbGF0cGFrIHJ1bnMgeGRnLWRidXMtcHJveHkgdW5kZXIKKyAgICAgICAg
YnViYmxld3JhcCBhbmQgbW91bnRzIC8uZmxhdHBhay1pbmZvLCBidXQgaXQgYnJlYWtzIGZvciBX
ZWJLaXQgYmVjYXVzZSB3ZSBkb24ndC4gU3RhcnQgZG9pbmcKKyAgICAgICAgc28uCisKKyAgICAg
ICAgVGhpcyBtZXRob2Qgb2YgZ2V0dGluZyB0aGUgYXBwIElEIG1pZ2h0IHNlZW0gbGlrZSBhIHN0
cmFuZ2UgY29udG9ydGlvbiwgYnV0IGl0J3MgcmVhbGx5CisgICAgICAgIHJlcXVpcmVkIGJlYWN1
c2UgdGhlIHNhbmRib3hlZCBwcm9jZXNzIGNhbm5vdCBiZSB0cnVzdGVkIHRvIHByb3ZpZGUgaXRz
IG93biBhcHAgSUQsIGFuZCB3aWxsCisgICAgICAgIG5vdCBoYXZlIHdyaXRlIGFjY2VzcyB0byBp
dHMgLy5mbGF0cGFrLWluZm8gc28gd2UgY2FuIHJlbHkgb24gdGhhdC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
TGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0Ojpj
cmVhdGVGbGF0cGFrSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OlhER0RCdXNQcm94eUxhdW5jaGVy
OjpsYXVuY2gpOgorICAgICAgICAoV2ViS2l0OjpidWJibGV3cmFwU3Bhd24pOgorCiAyMDIxLTAy
LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTaGFyZSBt
b3JlIGNvZGUgYmV0d2VlbiBSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlIGFuZCBSZW1vdGVSZWFs
dGltZVZpZGVvU291cmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhp
bGlhcnlQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5LmNwcAppbmRleCAyZWRmY2U1NTVhMjNhNTAwODE0NzFmMWQ5Y2U2OTYyOTQ1
MTE4YTJhLi40Nzk2NTAzZjUyYjI4ZTA2YzZmNmEzNDU0NzA5YjQzYTM3MjY5ZTIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAKQEAg
LTg4LDYgKzg4LDExIEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRp
b25zKFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1CiAgICAgY2FzZSBQcm9jZXNz
TGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpXZWJBdXRobjoKICAgICAgICAgdmFybmFtZSA9ICJXRUJB
VVRITl9QUk9DRVNTX0NNRF9QUkVGSVgiOwogICAgICAgICBicmVhazsKKyNlbmRpZgorI2lmIEVO
QUJMRShCVUJCTEVXUkFQX1NBTkRCT1gpCisgICAgY2FzZSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nl
c3NUeXBlOjpEQnVzUHJveHk6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICBicmVhazsKICNlbmRpZgogICAgIH0KICAgICBjb25zdCBjaGFyKiBwcm9jZXNzQ21kUHJlZml4
ID0gZ2V0ZW52KHZhcm5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVu
Y2hlci9Qcm9jZXNzTGF1bmNoZXIuaAppbmRleCA3MDI3MWI3NDkwNzMxOGZhYmM0NTI3YjQzNWM3
NTFjYzRlNjEzMjZiLi4xMDgxYmEyYTViZmMzNGI5ZmI3M2FmODg1MTI1M2U3OGVhYWViM2M4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNo
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNo
ZXIuaApAQCAtNzYsNyArNzYsMTAgQEAgcHVibGljOgogICAgICAgICBHUFUsCiAjZW5kaWYKICNp
ZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgICAgICBXZWJBdXRobgorICAgICAgICBXZWJBdXRobiwK
KyNlbmRpZgorI2lmIEVOQUJMRShCVUJCTEVXUkFQX1NBTkRCT1gpCisgICAgICAgIERCdXNQcm94
eSwKICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0xhdW5jaGVyL2dsaWIvQnViYmxld3JhcExhdW5jaGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0xhdW5jaGVyL2dsaWIvQnViYmxld3JhcExhdW5jaGVyLmNwcAppbmRleCAzMDE4YjVh
MWJkYjEzZTBmMzNiNDhlOTQzOGEwNWI0ZmYxNTg5ZTYwLi5iMmYwYWIxYzQ3YjFiODIyZjNhOGZi
NDBlZjIyNzhkMGE4YzQwMDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9M
YXVuY2hlci9nbGliL0J1YmJsZXdyYXBMYXVuY2hlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwCkBAIC0yNSw2ICsy
NSw3IEBACiAjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1ZGUgPHNlY2NvbXAuaD4KICNpbmNsdWRl
IDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5
c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3
dGYvZ2xpYi9HUmVmUHRyLmg+CkBAIC0xMjgsNiArMTI5LDI4IEBAIGFyZ3NUb0ZkKGNvbnN0IFZl
Y3RvcjxDU3RyaW5nPiYgYXJncywgY29uc3QgY2hhciAqbmFtZSkKICAgICByZXR1cm4gbWVtZmQ7
CiB9CiAKK3N0YXRpYyBpbnQgY3JlYXRlRmxhdHBha0luZm8oKQoreworICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxHVW5pcXVlUHRyPGNoYXI+PiBkYXRhOworICAgIHN0YXRpYyBzaXplX3Qgc2l6
ZTsKKworICAgIGlmICghZGF0YS5nZXQoKSkgeworICAgICAgICAvLyB4ZGctZGVza3RvcC1wb3J0
YWwgcmVsYXRlcyB5b3VyIG5hbWUgdG8gY2VydGFpbiBwZXJtaXNzaW9ucyBzbyB3ZSB3YW50Cisg
ICAgICAgIC8vIHRoZW0gdG8gYmUgYXBwbGljYXRpb24gdW5pcXVlIHdoaWNoIGlzIGJlc3QgZG9u
ZSB2aWEgR0FwcGxpY2F0aW9uLgorICAgICAgICBHQXBwbGljYXRpb24qIGFwcCA9IGdfYXBwbGlj
YXRpb25fZ2V0X2RlZmF1bHQoKTsKKyAgICAgICAgaWYgKCFhcHApIHsKKyAgICAgICAgICAgIGdf
d2FybmluZygiR0FwcGxpY2F0aW9uIGlzIHJlcXVpcmVkIGZvciB4ZGctZGVza3RvcC1wb3J0YWwg
YWNjZXNzIGluIHRoZSBXZWJLaXQgc2FuZGJveC4gQWN0aW9ucyB0aGF0IHJlcXVpcmUgeGRnLWRl
c2t0b3AtcG9ydGFsIHdpbGwgYmUgYnJva2VuLiIpOworICAgICAgICAgICAgcmV0dXJuIC0xOwor
ICAgICAgICB9CisKKyAgICAgICAgR1VuaXF1ZVB0cjxHS2V5RmlsZT4ga2V5RmlsZShnX2tleV9m
aWxlX25ldygpKTsKKyAgICAgICAgZ19rZXlfZmlsZV9zZXRfc3RyaW5nKGtleUZpbGUuZ2V0KCks
ICJBcHBsaWNhdGlvbiIsICJuYW1lIiwgZ19hcHBsaWNhdGlvbl9nZXRfYXBwbGljYXRpb25faWQo
YXBwKSk7CisgICAgICAgIGRhdGEtPnJlc2V0KGdfa2V5X2ZpbGVfdG9fZGF0YShrZXlGaWxlLmdl
dCgpLCAmc2l6ZSwgbnVsbHB0cikpOworICAgIH0KKworICAgIHJldHVybiBjcmVhdGVTZWFsZWRN
ZW1GZFdpdGhEYXRhKCJmbGF0cGFrLWluZm8iLCBkYXRhLT5nZXQoKSwgc2l6ZSk7Cit9CisKIGVu
dW0gY2xhc3MgREJ1c0FkZHJlc3NUeXBlIHsKICAgICBOb3JtYWwsCiAgICAgQWJzdHJhY3QsCkBA
IC0xODUsNiArMjA4LDkgQEAgcHVibGljOgogICAgICAgICBpbnQgcHJveHlGZCA9IGFyZ3NUb0Zk
KHByb3h5QXJncywgImRidXMtcHJveHkiKTsKICAgICAgICAgR1VuaXF1ZVB0cjxjaGFyPiBwcm94
eUFyZ3NTdHIoZ19zdHJkdXBfcHJpbnRmKCItLWFyZ3M9JWQiLCBwcm94eUZkKSk7CiAKKyAgICAg
ICAgLy8gV2UgaGF2ZSB0byBydW4geGRnLWRidXMtcHJveHkgdW5kZXIgYnViYmxld3JhcCBiZWNh
dXNlIHdlIG5lZWQgLy5mbGF0cGFrLWluZm8gdG8gZXhpc3QgaW4KKyAgICAgICAgLy8geGRnLWRi
dXMtcHJveHkncyBtb3VudCBuYW1lc3BhY2UuIFBvcnRhbHMgbWF5IHVzZSB0aGlzIGFzIGEgdHJ1
c3RlZCB3YXkgdG8gZ2V0IHRoZQorICAgICAgICAvLyBzYW5kYm94ZWQgcHJvY2VzcydzIGFwcGxp
Y2F0aW9uIElELCBhbmQgd2lsbCBicmVhayBpZiBpdCdzIG1pc3NpbmcuCiAgICAgICAgIFZlY3Rv
cjxDU3RyaW5nPiBhcmdzID0gewogICAgICAgICAgICAgREJVU19QUk9YWV9FWEVDVVRBQkxFLAog
ICAgICAgICAgICAgcHJveHlBcmdzU3RyLmdldCgpLApAQCAtMjAxLDExICsyMjcsMTQgQEAgcHVi
bGljOgogICAgICAgICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc2V0X2NoaWxkX3NldHVwKGxhdW5j
aGVyLmdldCgpLCBjaGlsZFNldHVwRnVuYywgR0lOVF9UT19QT0lOVEVSKHN5bmNGZHNbMV0pLCBu
dWxscHRyKTsKICAgICAgICAgZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3Rha2VfZmQobGF1bmNoZXIu
Z2V0KCksIHByb3h5RmQsIHByb3h5RmQpOwogICAgICAgICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJf
dGFrZV9mZChsYXVuY2hlci5nZXQoKSwgc3luY0Zkc1sxXSwgc3luY0Zkc1sxXSk7CisKICAgICAg
ICAgLy8gV2UgYXJlIHB1cnBvc2VmdWxseSBsZWF2aW5nIHN5bmNGZHNbMF0gb3BlbiBoZXJlLgog
ICAgICAgICAvLyB4ZGctZGJ1cy1wcm94eSB3aWxsIGV4aXQoKSBpdHNlbGYgb25jZSB0aGF0IGlz
IGNsb3NlZCBvbiBvdXIgZXhpdAogCisgICAgICAgIFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0
aW9ucyBsYXVuY2hPcHRpb25zOworICAgICAgICBsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID0g
UHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6REJ1c1Byb3h5OwogICAgICAgICBHVW5pcXVl
T3V0UHRyPEdFcnJvcj4gZXJyb3I7Ci0gICAgICAgIEdSZWZQdHI8R1N1YnByb2Nlc3M+IHByb2Nl
c3MgPSBhZG9wdEdSZWYoZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3NwYXdudihsYXVuY2hlci5nZXQo
KSwgYXJndiwgJmVycm9yLm91dFB0cigpKSk7CisgICAgICAgIEdSZWZQdHI8R1N1YnByb2Nlc3M+
IHByb2Nlc3MgPSBidWJibGV3cmFwU3Bhd24obGF1bmNoZXIuZ2V0KCksIGxhdW5jaE9wdGlvbnMs
IGFyZ3YsICZlcnJvci5vdXRQdHIoKSk7CiAgICAgICAgIGlmICghcHJvY2Vzcy5nZXQoKSkKICAg
ICAgICAgICAgIGdfZXJyb3IoIkZhaWxlZCB0byBzdGFydCBkYnVzIHByb3h5OiAlcyIsIGVycm9y
LT5tZXNzYWdlKTsKIApAQCAtNjkyLDI4ICs3MjEsNiBAQCBzdGF0aWMgaW50IHNldHVwU2VjY29t
cCgpCiAgICAgcmV0dXJuIHRtcGZkOwogfQogCi1zdGF0aWMgaW50IGNyZWF0ZUZsYXRwYWtJbmZv
KCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8R1VuaXF1ZVB0cjxjaGFyPj4gZGF0YTsK
LSAgICBzdGF0aWMgc2l6ZV90IHNpemU7Ci0KLSAgICBpZiAoIWRhdGEuZ2V0KCkpIHsKLSAgICAg
ICAgLy8geGRnLWRlc2t0b3AtcG9ydGFsIHJlbGF0ZXMgeW91ciBuYW1lIHRvIGNlcnRhaW4gcGVy
bWlzc2lvbnMgc28gd2Ugd2FudAotICAgICAgICAvLyB0aGVtIHRvIGJlIGFwcGxpY2F0aW9uIHVu
aXF1ZSB3aGljaCBpcyBiZXN0IGRvbmUgdmlhIEdBcHBsaWNhdGlvbi4KLSAgICAgICAgR0FwcGxp
Y2F0aW9uKiBhcHAgPSBnX2FwcGxpY2F0aW9uX2dldF9kZWZhdWx0KCk7Ci0gICAgICAgIGlmICgh
YXBwKSB7Ci0gICAgICAgICAgICBnX3dhcm5pbmcoIkdBcHBsaWNhdGlvbiBpcyByZXF1aXJlZCBm
b3IgeGRnLWRlc2t0b3AtcG9ydGFsIGFjY2VzcyBpbiB0aGUgV2ViS2l0IHNhbmRib3guIEFjdGlv
bnMgdGhhdCByZXF1aXJlIHhkZy1kZXNrdG9wLXBvcnRhbCB3aWxsIGJlIGJyb2tlbi4iKTsKLSAg
ICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotCi0gICAgICAgIEdVbmlxdWVQdHI8R0tl
eUZpbGU+IGtleUZpbGUoZ19rZXlfZmlsZV9uZXcoKSk7Ci0gICAgICAgIGdfa2V5X2ZpbGVfc2V0
X3N0cmluZyhrZXlGaWxlLmdldCgpLCAiQXBwbGljYXRpb24iLCAibmFtZSIsIGdfYXBwbGljYXRp
b25fZ2V0X2FwcGxpY2F0aW9uX2lkKGFwcCkpOwotICAgICAgICBkYXRhLT5yZXNldChnX2tleV9m
aWxlX3RvX2RhdGEoa2V5RmlsZS5nZXQoKSwgJnNpemUsIG51bGxwdHIpKTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gY3JlYXRlU2VhbGVkTWVtRmRXaXRoRGF0YSgiZmxhdHBhay1pbmZvIiwgZGF0YS0+
Z2V0KCksIHNpemUpOwotfQotCiBHUmVmUHRyPEdTdWJwcm9jZXNzPiBidWJibGV3cmFwU3Bhd24o
R1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIGNvbnN0IFByb2Nlc3NMYXVuY2hlcjo6TGF1
bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucywgY2hhcioqIGFyZ3YsIEdFcnJvciAqKmVycm9yKQog
ewogICAgIEFTU0VSVChsYXVuY2hlcik7CkBAIC03MjQsMTEgKzczMSwxMSBAQCBHUmVmUHRyPEdT
dWJwcm9jZXNzPiBidWJibGV3cmFwU3Bhd24oR1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIs
IGNvbnN0IFByb2NlcwogICAgIGlmIChsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nl
c3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6Ok5ldHdvcmspCiAgICAgICAgIHJldHVybiBhZG9wdEdS
ZWYoZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3NwYXdudihsYXVuY2hlciwgYXJndiwgZXJyb3IpKTsK
IAorICAgIGNvbnN0IGNoYXIqIHJ1bkRpciA9IGdfZ2V0X3VzZXJfcnVudGltZV9kaXIoKTsKICAg
ICBWZWN0b3I8Q1N0cmluZz4gc2FuZGJveEFyZ3MgPSB7CiAgICAgICAgICItLWRpZS13aXRoLXBh
cmVudCIsCiAgICAgICAgICItLXVuc2hhcmUtcGlkIiwKICAgICAgICAgIi0tdW5zaGFyZS11dHMi
LAotICAgICAgICAiLS11bnNoYXJlLW5ldCIsCiAKICAgICAgICAgLy8gV2UgYXNzdW1lIC9ldGMg
aGFzIHNhZmUgcGVybWlzc2lvbnMuCiAgICAgICAgIC8vIEF0IGEgbGF0ZXIgcG9pbnQgd2UgY2Fu
IHN0YXJ0IG1hc2tpbmcgcHJpdmFjeS1jb25jZXJuaW5nIGZpbGVzLgpAQCAtNzM3LDcgKzc0NCw4
IEBAIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1YmJsZXdyYXBTcGF3bihHU3VicHJvY2Vzc0xhdW5j
aGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2VzCiAgICAgICAgICItLXByb2MiLCAiL3Byb2MiLAog
ICAgICAgICAiLS10bXBmcyIsICIvdG1wIiwKICAgICAgICAgIi0tdW5zZXRlbnYiLCAiVE1QRElS
IiwKLSAgICAgICAgIi0tZGlyIiwgIi9ydW4iLAorICAgICAgICAiLS1kaXIiLCBydW5EaXIsCisg
ICAgICAgICItLXNldGVudiIsICJYREdfUlVOVElNRV9ESVIiLCBydW5EaXIsCiAgICAgICAgICIt
LXN5bWxpbmsiLCAiLi4vcnVuIiwgIi92YXIvcnVuIiwKICAgICAgICAgIi0tc3ltbGluayIsICIu
Li90bXAiLCAiL3Zhci90bXAiLAogICAgICAgICAiLS1yby1iaW5kIiwgIi9zeXMvYmxvY2siLCAi
L3N5cy9ibG9jayIsCkBAIC03NjIsNiArNzcwLDI0IEBAIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1
YmJsZXdyYXBTcGF3bihHU3VicHJvY2Vzc0xhdW5jaGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2Vz
CiAKICAgICAgICAgIi0tcm8tYmluZC10cnkiLCBQS0dMSUJFWEVDRElSLCBQS0dMSUJFWEVDRElS
LAogICAgIH07CisKKyAgICBpZiAobGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNz
TGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpEQnVzUHJveHkpIHsKKyAgICAgICAgc2FuZGJveEFyZ3Mu
YXBwZW5kVmVjdG9yKFZlY3RvcjxDU3RyaW5nPih7CisgICAgICAgICAgICAiLS1yby1iaW5kIiwg
Ii91c3IvYmluIiwgIi91c3IvYmluIiwKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBsb3Qgb2Yg
YWNjZXNzLCBidXQgeGRnLWRidXMtcHJveHkgaXMgdHJ1c3RlZCBzbyB0aGF0J3MgT0suIEl0J3Mg
c2FuZGJveGVkCisgICAgICAgICAgICAvLyBvbmx5IGJlY2F1c2Ugd2UgaGF2ZSB0byBtb3VudCAu
ZmxhdHBhay1pbmZvIGluIGl0cyBtb3VudCBuYW1lc3BhY2UuIFRoZSB1c2VyIHJ1bmRpcgorICAg
ICAgICAgICAgLy8gaXMgd2hlcmUgd2UgbW91bnQgb3VyIHByb3h5IHNvY2tldC4KKyAgICAgICAg
ICAgICItLWJpbmQiLCBydW5EaXIsCisgICAgICAgIH0pKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICAvLyB4ZGctZGJ1cy1wcm94eSBuZWVkcyBhY2Nlc3MgdG8gaG9zdCBhYnN0cmFjdCBzb2NrZXRz
IHRvIGNvbm5lY3QgdG8gdGhlIGExMXkgYnVzLiBTZWN1cmUKKyAgICAgICAgLy8gaG9zdCBzZXJ2
aWNlcyBtdXN0IG5vdCB1c2UgYWJzdHJhY3Qgc29ja2V0cy4gT3RoZXJ3aXNlLCBvbmx5IHRoZSBu
ZXR3b3JrIHByb2Nlc3Mgc2hvdWxkCisgICAgICAgIC8vIGhhdmUgbmV0d29yayBhY2Nlc3MsIGFu
ZCB0aGUgbmV0d29yayBwcm9jZXNzIGlzIG5vdCBzYW5kYm94ZWQgYXQgYWxsLgorICAgICAgICBz
YW5kYm94QXJncy5hcHBlbmRWZWN0b3IoVmVjdG9yPENTdHJpbmc+KHsKKyAgICAgICAgICAgICIt
LXVuc2hhcmUtbmV0IgorICAgICAgICB9KSk7CisgICAgfQorCiAgICAgLy8gV2Ugd291bGQgaGF2
ZSB0byBwYXJzZSBsZCBjb25maWcgZmlsZXMgZm9yIG1vcmUgaW5mby4KICAgICBiaW5kUGF0aFZh
cihzYW5kYm94QXJncywgIkxEX0xJQlJBUllfUEFUSCIpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420367</attachid>
            <date>2021-02-15 13:58:11 -0800</date>
            <delta_ts>2021-02-15 14:28:09 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-219010-20210215155810.patch</filename>
            <type>text/plain</type>
            <size>9635</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZhOWQ2ODYxOGE2MTJlYjBh
MGQwNTMwNDUxN2MwYzAxMTVjNTQwMTkuLmJiYWM2MDExNmNjZGY3YTQxZGU1YTc5OTg1ODdhYzE5
NjMxNTFmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMTUgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgW1dQRV1bR1RLXSBT
bGVlcERpc2FibGVyIGRvZXMgbm90IGluaGliaXQgc2xlZXAgd2l0aCBidWJibGV3cmFwIHNhbmRi
b3ggZW5hYmxlZDogbmVlZCB0byBydW4geGRnLWRidXMtcHJveHkgdW5kZXIgYndyYXAgb3IgeGRn
LWRlc2t0b3AtcG9ydGFsIGRvZXMgbm90IHJlYWQgb3VyIGFwcCBJRAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2FybG9zIEdhcmNpYSBDYW1wb3MuCisKKyAgICAgICAgV2UgbmVlZCB0byBydW4geGRn
LWRidXMtcHJveHkgdW5kZXIgYnViYmxld3JhcCBzbyB0aGF0IHdlIGNhbiBtb3VudCAvLmZsYXRw
YWstaW5mbyBpbiBpdHMKKyAgICAgICAgbW91bnQgbmFtZXNwYWNlLiBXaHk/IEJlY2F1c2UgeGRn
LWRlc2t0b3AtcG9ydGFsIGNoZWNrcyB0aGUgcGlkIG9mIGl0cyBELUJ1cyBwZWVyIHVzaW5nCisg
ICAgICAgIFVuaXggY3JlZGVudGlhbHMsIHRoZW4gbG9va3MgaW4gdGhhdCBwcm9jZXNzJ3MgbW91
bnQgbmFtZXNwYWNlIHRvIHJlYWQgaXRzIGFwcCBJRCBmcm9tCisgICAgICAgIC8uZmxhdHBhay1p
bmZvLiBJZiAvLmZsYXRwYWstaW5mbyBkb2Vzbid0IGV4aXN0LCB0aGVuIGFueSBwb3J0YWxzIHRo
YXQgZGVwZW5kIG9uIHRoZSBhcHAgSUQKKyAgICAgICAgd2lsbCBicmVhaywgaW5jbHVkaW5nIHRo
ZSBpbmhpYml0IHBvcnRhbCB0aGF0IHdlIG5lZWQgdG8gcHJldmVudCB0aGUgc3lzdGVtIGZyb20g
c3VzcGVuZGluZworICAgICAgICBkdXJpbmcgdmlkZW8gcGxheWJhY2suIFRoaXMgbm9ybWFsbHkg
d29ya3MgYmVjYXVzZSBmbGF0cGFrIHJ1bnMgeGRnLWRidXMtcHJveHkgdW5kZXIKKyAgICAgICAg
YnViYmxld3JhcCBhbmQgbW91bnRzIC8uZmxhdHBhay1pbmZvLCBidXQgaXQgYnJlYWtzIGZvciBX
ZWJLaXQgYmVjYXVzZSB3ZSBkb24ndC4gU3RhcnQgZG9pbmcKKyAgICAgICAgc28uCisKKyAgICAg
ICAgVGhpcyBtZXRob2Qgb2YgZ2V0dGluZyB0aGUgYXBwIElEIG1pZ2h0IHNlZW0gbGlrZSBhIHN0
cmFuZ2UgY29udG9ydGlvbiwgYnV0IGl0J3MgcmVhbGx5CisgICAgICAgIHJlcXVpcmVkIGJlYWN1
c2UgdGhlIHNhbmRib3hlZCBwcm9jZXNzIGNhbm5vdCBiZSB0cnVzdGVkIHRvIHByb3ZpZGUgaXRz
IG93biBhcHAgSUQsIGFuZCB3aWxsCisgICAgICAgIG5vdCBoYXZlIHdyaXRlIGFjY2VzcyB0byBp
dHMgLy5mbGF0cGFrLWluZm8gc28gd2UgY2FuIHJlbHkgb24gdGhhdC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
TGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0Ojpj
cmVhdGVGbGF0cGFrSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OlhER0RCdXNQcm94eUxhdW5jaGVy
OjpsYXVuY2gpOgorICAgICAgICAoV2ViS2l0OjpidWJibGV3cmFwU3Bhd24pOgorCiAyMDIxLTAy
LTE1ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByZXZlcnRpbmcgcjI3Mjg2My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3BwCmluZGV4IDJlZGZjZTU1NWEyM2E1MDA4MTQ3
MWYxZDljZTY5NjI5NDUxMThhMmEuLjQ3OTY1MDNmNTJiMjhlMDZjNmY2YTM0NTQ3MDliNDNhMzcy
NjllMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nl
c3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vz
c1Byb3h5LmNwcApAQCAtODgsNiArODgsMTEgQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6
OmdldExhdW5jaE9wdGlvbnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXUKICAg
ICBjYXNlIFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6OldlYkF1dGhuOgogICAgICAgICB2
YXJuYW1lID0gIldFQkFVVEhOX1BST0NFU1NfQ01EX1BSRUZJWCI7CiAgICAgICAgIGJyZWFrOwor
I2VuZGlmCisjaWYgRU5BQkxFKEJVQkJMRVdSQVBfU0FOREJPWCkKKyAgICBjYXNlIFByb2Nlc3NM
YXVuY2hlcjo6UHJvY2Vzc1R5cGU6OkRCdXNQcm94eToKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgfQogICAgIGNvbnN0IGNoYXIqIHBy
b2Nlc3NDbWRQcmVmaXggPSBnZXRlbnYodmFybmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCmluZGV4IDcwMjcxYjc0OTA3MzE4
ZmFiYzQ1MjdiNDM1Yzc1MWNjNGU2MTMyNmIuLjEwODFiYTJhNWJmYzM0YjlmYjczYWY4ODUxMjUz
ZTc4ZWFhZWIzYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVy
L1Byb2Nlc3NMYXVuY2hlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVy
L1Byb2Nlc3NMYXVuY2hlci5oCkBAIC03Niw3ICs3NiwxMCBAQCBwdWJsaWM6CiAgICAgICAgIEdQ
VSwKICNlbmRpZgogI2lmIEVOQUJMRShXRUJfQVVUSE4pCi0gICAgICAgIFdlYkF1dGhuCisgICAg
ICAgIFdlYkF1dGhuLAorI2VuZGlmCisjaWYgRU5BQkxFKEJVQkJMRVdSQVBfU0FOREJPWCkKKyAg
ICAgICAgREJ1c1Byb3h5LAogI2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3Bw
CmluZGV4IDMwMThiNWExYmRiMTNlMGYzM2I0OGU5NDM4YTA1YjRmZjE1ODllNjAuLjhlZWM5OGRk
ZGRmZGM5ZGZiNzNkODUwY2ViMDk2NjUwYzcxNzI3ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvQnViYmxld3JhcExhdW5jaGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL0J1YmJsZXdyYXBMYXVuY2hlci5j
cHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8c2VjY29t
cC5oPgogI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1
ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5o
PgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KQEAgLTEyOCw2ICsxMjksMjggQEAgYXJn
c1RvRmQoY29uc3QgVmVjdG9yPENTdHJpbmc+JiBhcmdzLCBjb25zdCBjaGFyICpuYW1lKQogICAg
IHJldHVybiBtZW1mZDsKIH0KIAorc3RhdGljIGludCBjcmVhdGVGbGF0cGFrSW5mbygpCit7Cisg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEdVbmlxdWVQdHI8Y2hhcj4+IGRhdGE7CisgICAgc3Rh
dGljIHNpemVfdCBzaXplOworCisgICAgaWYgKCFkYXRhLmdldCgpKSB7CisgICAgICAgIC8vIHhk
Zy1kZXNrdG9wLXBvcnRhbCByZWxhdGVzIHlvdXIgbmFtZSB0byBjZXJ0YWluIHBlcm1pc3Npb25z
IHNvIHdlIHdhbnQKKyAgICAgICAgLy8gdGhlbSB0byBiZSBhcHBsaWNhdGlvbiB1bmlxdWUgd2hp
Y2ggaXMgYmVzdCBkb25lIHZpYSBHQXBwbGljYXRpb24uCisgICAgICAgIEdBcHBsaWNhdGlvbiog
YXBwID0gZ19hcHBsaWNhdGlvbl9nZXRfZGVmYXVsdCgpOworICAgICAgICBpZiAoIWFwcCkgewor
ICAgICAgICAgICAgZ193YXJuaW5nKCJHQXBwbGljYXRpb24gaXMgcmVxdWlyZWQgZm9yIHhkZy1k
ZXNrdG9wLXBvcnRhbCBhY2Nlc3MgaW4gdGhlIFdlYktpdCBzYW5kYm94LiBBY3Rpb25zIHRoYXQg
cmVxdWlyZSB4ZGctZGVza3RvcC1wb3J0YWwgd2lsbCBiZSBicm9rZW4uIik7CisgICAgICAgICAg
ICByZXR1cm4gLTE7CisgICAgICAgIH0KKworICAgICAgICBHVW5pcXVlUHRyPEdLZXlGaWxlPiBr
ZXlGaWxlKGdfa2V5X2ZpbGVfbmV3KCkpOworICAgICAgICBnX2tleV9maWxlX3NldF9zdHJpbmco
a2V5RmlsZS5nZXQoKSwgIkFwcGxpY2F0aW9uIiwgIm5hbWUiLCBnX2FwcGxpY2F0aW9uX2dldF9h
cHBsaWNhdGlvbl9pZChhcHApKTsKKyAgICAgICAgZGF0YS0+cmVzZXQoZ19rZXlfZmlsZV90b19k
YXRhKGtleUZpbGUuZ2V0KCksICZzaXplLCBudWxscHRyKSk7CisgICAgfQorCisgICAgcmV0dXJu
IGNyZWF0ZVNlYWxlZE1lbUZkV2l0aERhdGEoImZsYXRwYWstaW5mbyIsIGRhdGEtPmdldCgpLCBz
aXplKTsKK30KKwogZW51bSBjbGFzcyBEQnVzQWRkcmVzc1R5cGUgewogICAgIE5vcm1hbCwKICAg
ICBBYnN0cmFjdCwKQEAgLTE4NSw2ICsyMDgsOSBAQCBwdWJsaWM6CiAgICAgICAgIGludCBwcm94
eUZkID0gYXJnc1RvRmQocHJveHlBcmdzLCAiZGJ1cy1wcm94eSIpOwogICAgICAgICBHVW5pcXVl
UHRyPGNoYXI+IHByb3h5QXJnc1N0cihnX3N0cmR1cF9wcmludGYoIi0tYXJncz0lZCIsIHByb3h5
RmQpKTsKIAorICAgICAgICAvLyBXZSBoYXZlIHRvIHJ1biB4ZGctZGJ1cy1wcm94eSB1bmRlciBi
dWJibGV3cmFwIGJlY2F1c2Ugd2UgbmVlZCAvLmZsYXRwYWstaW5mbyB0byBleGlzdCBpbgorICAg
ICAgICAvLyB4ZGctZGJ1cy1wcm94eSdzIG1vdW50IG5hbWVzcGFjZS4gUG9ydGFscyBtYXkgdXNl
IHRoaXMgYXMgYSB0cnVzdGVkIHdheSB0byBnZXQgdGhlCisgICAgICAgIC8vIHNhbmRib3hlZCBw
cm9jZXNzJ3MgYXBwbGljYXRpb24gSUQsIGFuZCB3aWxsIGJyZWFrIGlmIGl0J3MgbWlzc2luZy4K
ICAgICAgICAgVmVjdG9yPENTdHJpbmc+IGFyZ3MgPSB7CiAgICAgICAgICAgICBEQlVTX1BST1hZ
X0VYRUNVVEFCTEUsCiAgICAgICAgICAgICBwcm94eUFyZ3NTdHIuZ2V0KCksCkBAIC0yMDEsMTEg
KzIyNywxNCBAQCBwdWJsaWM6CiAgICAgICAgIGdfc3VicHJvY2Vzc19sYXVuY2hlcl9zZXRfY2hp
bGRfc2V0dXAobGF1bmNoZXIuZ2V0KCksIGNoaWxkU2V0dXBGdW5jLCBHSU5UX1RPX1BPSU5URVIo
c3luY0Zkc1sxXSksIG51bGxwdHIpOwogICAgICAgICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfdGFr
ZV9mZChsYXVuY2hlci5nZXQoKSwgcHJveHlGZCwgcHJveHlGZCk7CiAgICAgICAgIGdfc3VicHJv
Y2Vzc19sYXVuY2hlcl90YWtlX2ZkKGxhdW5jaGVyLmdldCgpLCBzeW5jRmRzWzFdLCBzeW5jRmRz
WzFdKTsKKwogICAgICAgICAvLyBXZSBhcmUgcHVycG9zZWZ1bGx5IGxlYXZpbmcgc3luY0Zkc1sw
XSBvcGVuIGhlcmUuCiAgICAgICAgIC8vIHhkZy1kYnVzLXByb3h5IHdpbGwgZXhpdCgpIGl0c2Vs
ZiBvbmNlIHRoYXQgaXMgY2xvc2VkIG9uIG91ciBleGl0CiAKKyAgICAgICAgUHJvY2Vzc0xhdW5j
aGVyOjpMYXVuY2hPcHRpb25zIGxhdW5jaE9wdGlvbnM7CisgICAgICAgIGxhdW5jaE9wdGlvbnMu
cHJvY2Vzc1R5cGUgPSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpEQnVzUHJveHk7CiAg
ICAgICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiBlcnJvcjsKLSAgICAgICAgR1JlZlB0cjxHU3Vi
cHJvY2Vzcz4gcHJvY2VzcyA9IGFkb3B0R1JlZihnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc3Bhd252
KGxhdW5jaGVyLmdldCgpLCBhcmd2LCAmZXJyb3Iub3V0UHRyKCkpKTsKKyAgICAgICAgR1JlZlB0
cjxHU3VicHJvY2Vzcz4gcHJvY2VzcyA9IGJ1YmJsZXdyYXBTcGF3bihsYXVuY2hlci5nZXQoKSwg
bGF1bmNoT3B0aW9ucywgYXJndiwgJmVycm9yLm91dFB0cigpKTsKICAgICAgICAgaWYgKCFwcm9j
ZXNzLmdldCgpKQogICAgICAgICAgICAgZ19lcnJvcigiRmFpbGVkIHRvIHN0YXJ0IGRidXMgcHJv
eHk6ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOwogCkBAIC02OTIsMjggKzcyMSw2IEBAIHN0YXRpYyBp
bnQgc2V0dXBTZWNjb21wKCkKICAgICByZXR1cm4gdG1wZmQ7CiB9CiAKLXN0YXRpYyBpbnQgY3Jl
YXRlRmxhdHBha0luZm8oKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxHVW5pcXVlUHRy
PGNoYXI+PiBkYXRhOwotICAgIHN0YXRpYyBzaXplX3Qgc2l6ZTsKLQotICAgIGlmICghZGF0YS5n
ZXQoKSkgewotICAgICAgICAvLyB4ZGctZGVza3RvcC1wb3J0YWwgcmVsYXRlcyB5b3VyIG5hbWUg
dG8gY2VydGFpbiBwZXJtaXNzaW9ucyBzbyB3ZSB3YW50Ci0gICAgICAgIC8vIHRoZW0gdG8gYmUg
YXBwbGljYXRpb24gdW5pcXVlIHdoaWNoIGlzIGJlc3QgZG9uZSB2aWEgR0FwcGxpY2F0aW9uLgot
ICAgICAgICBHQXBwbGljYXRpb24qIGFwcCA9IGdfYXBwbGljYXRpb25fZ2V0X2RlZmF1bHQoKTsK
LSAgICAgICAgaWYgKCFhcHApIHsKLSAgICAgICAgICAgIGdfd2FybmluZygiR0FwcGxpY2F0aW9u
IGlzIHJlcXVpcmVkIGZvciB4ZGctZGVza3RvcC1wb3J0YWwgYWNjZXNzIGluIHRoZSBXZWJLaXQg
c2FuZGJveC4gQWN0aW9ucyB0aGF0IHJlcXVpcmUgeGRnLWRlc2t0b3AtcG9ydGFsIHdpbGwgYmUg
YnJva2VuLiIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9Ci0KLSAgICAgICAg
R1VuaXF1ZVB0cjxHS2V5RmlsZT4ga2V5RmlsZShnX2tleV9maWxlX25ldygpKTsKLSAgICAgICAg
Z19rZXlfZmlsZV9zZXRfc3RyaW5nKGtleUZpbGUuZ2V0KCksICJBcHBsaWNhdGlvbiIsICJuYW1l
IiwgZ19hcHBsaWNhdGlvbl9nZXRfYXBwbGljYXRpb25faWQoYXBwKSk7Ci0gICAgICAgIGRhdGEt
PnJlc2V0KGdfa2V5X2ZpbGVfdG9fZGF0YShrZXlGaWxlLmdldCgpLCAmc2l6ZSwgbnVsbHB0cikp
OwotICAgIH0KLQotICAgIHJldHVybiBjcmVhdGVTZWFsZWRNZW1GZFdpdGhEYXRhKCJmbGF0cGFr
LWluZm8iLCBkYXRhLT5nZXQoKSwgc2l6ZSk7Ci19Ci0KIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1
YmJsZXdyYXBTcGF3bihHU3VicHJvY2Vzc0xhdW5jaGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2Vz
c0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRpb25zLCBjaGFyKiogYXJndiwgR0Vy
cm9yICoqZXJyb3IpCiB7CiAgICAgQVNTRVJUKGxhdW5jaGVyKTsKQEAgLTcyNCwxMSArNzMxLDEx
IEBAIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1YmJsZXdyYXBTcGF3bihHU3VicHJvY2Vzc0xhdW5j
aGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2VzCiAgICAgaWYgKGxhdW5jaE9wdGlvbnMucHJvY2Vz
c1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6TmV0d29yaykKICAgICAgICAg
cmV0dXJuIGFkb3B0R1JlZihnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc3Bhd252KGxhdW5jaGVyLCBh
cmd2LCBlcnJvcikpOwogCisgICAgY29uc3QgY2hhciogcnVuRGlyID0gZ19nZXRfdXNlcl9ydW50
aW1lX2RpcigpOwogICAgIFZlY3RvcjxDU3RyaW5nPiBzYW5kYm94QXJncyA9IHsKICAgICAgICAg
Ii0tZGllLXdpdGgtcGFyZW50IiwKICAgICAgICAgIi0tdW5zaGFyZS1waWQiLAogICAgICAgICAi
LS11bnNoYXJlLXV0cyIsCi0gICAgICAgICItLXVuc2hhcmUtbmV0IiwKIAogICAgICAgICAvLyBX
ZSBhc3N1bWUgL2V0YyBoYXMgc2FmZSBwZXJtaXNzaW9ucy4KICAgICAgICAgLy8gQXQgYSBsYXRl
ciBwb2ludCB3ZSBjYW4gc3RhcnQgbWFza2luZyBwcml2YWN5LWNvbmNlcm5pbmcgZmlsZXMuCkBA
IC03MzcsNyArNzQ0LDggQEAgR1JlZlB0cjxHU3VicHJvY2Vzcz4gYnViYmxld3JhcFNwYXduKEdT
dWJwcm9jZXNzTGF1bmNoZXIqIGxhdW5jaGVyLCBjb25zdCBQcm9jZXMKICAgICAgICAgIi0tcHJv
YyIsICIvcHJvYyIsCiAgICAgICAgICItLXRtcGZzIiwgIi90bXAiLAogICAgICAgICAiLS11bnNl
dGVudiIsICJUTVBESVIiLAotICAgICAgICAiLS1kaXIiLCAiL3J1biIsCisgICAgICAgICItLWRp
ciIsIHJ1bkRpciwKKyAgICAgICAgIi0tc2V0ZW52IiwgIlhER19SVU5USU1FX0RJUiIsIHJ1bkRp
ciwKICAgICAgICAgIi0tc3ltbGluayIsICIuLi9ydW4iLCAiL3Zhci9ydW4iLAogICAgICAgICAi
LS1zeW1saW5rIiwgIi4uL3RtcCIsICIvdmFyL3RtcCIsCiAgICAgICAgICItLXJvLWJpbmQiLCAi
L3N5cy9ibG9jayIsICIvc3lzL2Jsb2NrIiwKQEAgLTc2Miw2ICs3NzAsMjQgQEAgR1JlZlB0cjxH
U3VicHJvY2Vzcz4gYnViYmxld3JhcFNwYXduKEdTdWJwcm9jZXNzTGF1bmNoZXIqIGxhdW5jaGVy
LCBjb25zdCBQcm9jZXMKIAogICAgICAgICAiLS1yby1iaW5kLXRyeSIsIFBLR0xJQkVYRUNESVIs
IFBLR0xJQkVYRUNESVIsCiAgICAgfTsKKworICAgIGlmIChsYXVuY2hPcHRpb25zLnByb2Nlc3NU
eXBlID09IFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6OkRCdXNQcm94eSkgeworICAgICAg
ICBzYW5kYm94QXJncy5hcHBlbmRWZWN0b3IoVmVjdG9yPENTdHJpbmc+KHsKKyAgICAgICAgICAg
ICItLXJvLWJpbmQiLCAiL3Vzci9iaW4iLCAiL3Vzci9iaW4iLAorICAgICAgICAgICAgLy8gVGhp
cyBpcyBhIGxvdCBvZiBhY2Nlc3MsIGJ1dCB4ZGctZGJ1cy1wcm94eSBpcyB0cnVzdGVkIHNvIHRo
YXQncyBPSy4gSXQncyBzYW5kYm94ZWQKKyAgICAgICAgICAgIC8vIG9ubHkgYmVjYXVzZSB3ZSBo
YXZlIHRvIG1vdW50IC5mbGF0cGFrLWluZm8gaW4gaXRzIG1vdW50IG5hbWVzcGFjZS4gVGhlIHVz
ZXIgcnVuZGlyCisgICAgICAgICAgICAvLyBpcyB3aGVyZSB3ZSBtb3VudCBvdXIgcHJveHkgc29j
a2V0LgorICAgICAgICAgICAgIi0tYmluZCIsIHJ1bkRpciwgcnVuRGlyLAorICAgICAgICB9KSk7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8geGRnLWRidXMtcHJveHkgbmVlZHMgYWNjZXNzIHRv
IGhvc3QgYWJzdHJhY3Qgc29ja2V0cyB0byBjb25uZWN0IHRvIHRoZSBhMTF5IGJ1cy4gU2VjdXJl
CisgICAgICAgIC8vIGhvc3Qgc2VydmljZXMgbXVzdCBub3QgdXNlIGFic3RyYWN0IHNvY2tldHMu
IE90aGVyd2lzZSwgb25seSB0aGUgbmV0d29yayBwcm9jZXNzIHNob3VsZAorICAgICAgICAvLyBo
YXZlIG5ldHdvcmsgYWNjZXNzLCBhbmQgdGhlIG5ldHdvcmsgcHJvY2VzcyBpcyBub3Qgc2FuZGJv
eGVkIGF0IGFsbC4KKyAgICAgICAgc2FuZGJveEFyZ3MuYXBwZW5kVmVjdG9yKFZlY3RvcjxDU3Ry
aW5nPih7CisgICAgICAgICAgICAiLS11bnNoYXJlLW5ldCIKKyAgICAgICAgfSkpOworICAgIH0K
KwogICAgIC8vIFdlIHdvdWxkIGhhdmUgdG8gcGFyc2UgbGQgY29uZmlnIGZpbGVzIGZvciBtb3Jl
IGluZm8uCiAgICAgYmluZFBhdGhWYXIoc2FuZGJveEFyZ3MsICJMRF9MSUJSQVJZX1BBVEgiKTsK
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>