<?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>217960</bug_id>
          
          <creation_ts>2020-10-20 09:08:11 -0700</creation_ts>
          <short_desc>Add test for cacheModelForMainBundle() in WebKitLegacy</short_desc>
          <delta_ts>2020-11-03 13:37:19 -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>Tools / Tests</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>217884</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1699753</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-20 09:08:11 -0700</bug_when>
    <thetext>Add test for cacheModelForMainBundle() in WebKitLegacy.

See Bug 217884 which regressed in r25430 and was fixed in r268652.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700043</commentid>
    <comment_count>1</comment_count>
      <attachid>411950</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-20 19:11:12 -0700</bug_when>
    <thetext>Created attachment 411950
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700049</commentid>
    <comment_count>2</comment_count>
      <attachid>411950</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-20 19:40:21 -0700</bug_when>
    <thetext>Comment on attachment 411950
Patch v1

Hrm.  Doesn&apos;t compile on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700055</commentid>
    <comment_count>3</comment_count>
      <attachid>411954</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-20 20:57:07 -0700</bug_when>
    <thetext>Created attachment 411954
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700056</commentid>
    <comment_count>4</comment_count>
      <attachid>411954</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-20 20:59:03 -0700</bug_when>
    <thetext>Comment on attachment 411954
Patch v2

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

&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:79
&gt;  extern NSString *WebPreferencesChangedInternalNotification WEBKIT_DEPRECATED_MAC(10_3, 10_14);
&gt;  extern NSString *WebPreferencesCacheModelChangedInternalNotification WEBKIT_DEPRECATED_MAC(10_5, 10_14);

I really wonder if these declarations should also use `extern &quot;C&quot;` as well, but I&apos;m not sure if it&apos;s too late to change that.

This is completely separate from this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700058</commentid>
    <comment_count>5</comment_count>
      <attachid>411954</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-20 21:00:13 -0700</bug_when>
    <thetext>Comment on attachment 411954
Patch v2

Can only use `exterm &quot;C&quot;` when compiling with C++.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700059</commentid>
    <comment_count>6</comment_count>
      <attachid>411954</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-20 21:02:24 -0700</bug_when>
    <thetext>Comment on attachment 411954
Patch v2

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

&gt;&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:79
&gt;&gt;  extern NSString *WebPreferencesCacheModelChangedInternalNotification WEBKIT_DEPRECATED_MAC(10_5, 10_14);
&gt; 
&gt; I really wonder if these declarations should also use `extern &quot;C&quot;` as well, but I&apos;m not sure if it&apos;s too late to change that.
&gt; 
&gt; This is completely separate from this patch.

Oops, I keep thinking these are functions, but they&apos;re constants.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700060</commentid>
    <comment_count>7</comment_count>
      <attachid>411955</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-20 21:03:19 -0700</bug_when>
    <thetext>Created attachment 411955
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700172</commentid>
    <comment_count>8</comment_count>
      <attachid>411955</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-21 07:39:45 -0700</bug_when>
    <thetext>Comment on attachment 411955
Patch v3

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

Thank you for adding a test!

&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:81
&gt; +#ifdef __cplusplus

Don’t we have macros that we use for this in API and SPI headers? I’m surprised to see it written out like this.

&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:84
&gt; +WebCacheModel WebPreferencesCacheModelForMainBundle(NSString *bundleIdentifier);

Since this is just for testing. do we need to add it to an SPI header? I know I have written TestWebKitAPI tests that test things in WebCore directly for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700208</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-21 09:04:18 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; Comment on attachment 411955 [details]
&gt; Patch v3
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=411955&amp;action=review
&gt; 
&gt; Thank you for adding a test!
&gt; 
&gt; &gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:81
&gt; &gt; +#ifdef __cplusplus
&gt; 
&gt; Don’t we have macros that we use for this in API and SPI headers? I’m
&gt; surprised to see it written out like this.

We do, but I was concerned that using the macros (which are in &lt;wtf/Compiler.h&gt; would cause issues if other projects at Apple were to include WebPreferencesPrivate.h.

Also, there are currently zero uses of WTF_EXTERN_C_{BEGIN,END} in WebKitLegacy, so I wasn&apos;t sure if it would be a good idea to add it:

$ grep -l -r &apos;WTF_EXTERN&apos; Source/WebKitLegacy | wc -l
       0

There are other uses of &apos;extern &quot;C&quot; { }&apos;, though:

$ grep -l -r &apos;extern &quot;C&quot;&apos; Source/WebKitLegacy | grep -v ChangeLog | wc -l
      27

So I went with the more common solution for this particular project.

&gt; &gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:84
&gt; &gt; +WebCacheModel WebPreferencesCacheModelForMainBundle(NSString *bundleIdentifier);
&gt; 
&gt; Since this is just for testing. do we need to add it to an SPI header? I
&gt; know I have written TestWebKitAPI tests that test things in WebCore directly
&gt; for example.

Yes, it&apos;s required due to TAPI/InstallAPI on iOS.  See this failure from &quot;Patch v1&quot; on the iOS bot:

&lt;https://ews-build.webkit.org/#/builders/53/builds/196/steps/7/logs/errors&gt;

It also can&apos;t be in the WebPreferencesInternal.h header because that&apos;s not included in the TAPI processing (since those symbols don&apos;t have to be exported).

It would be possible to make a &quot;TAPI extras for testing&quot; header that just declares this function, as I&apos;ve done something similar for the libxml2 project to declare exported functions that aren&apos;t in headers, but WebKitLegacy doesn&apos;t have one of those yet.  (It&apos;s not hard to add--I&apos;m just noting the current state of things.)  Adding such a header does become &quot;one more thing&quot; to track down when trying to fix TAPI/InstallAPI issues, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700222</commentid>
    <comment_count>10</comment_count>
      <attachid>411955</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-21 09:24:08 -0700</bug_when>
    <thetext>Comment on attachment 411955
Patch v3

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

&gt;&gt;&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:81
&gt;&gt;&gt; +#ifdef __cplusplus
&gt;&gt; 
&gt;&gt; Don’t we have macros that we use for this in API and SPI headers? I’m surprised to see it written out like this.
&gt; 
&gt; We do, but I was concerned that using the macros (which are in &lt;wtf/Compiler.h&gt; would cause issues if other projects at Apple were to include WebPreferencesPrivate.h.
&gt; 
&gt; Also, there are currently zero uses of WTF_EXTERN_C_{BEGIN,END} in WebKitLegacy, so I wasn&apos;t sure if it would be a good idea to add it:
&gt; 
&gt; $ grep -l -r &apos;WTF_EXTERN&apos; Source/WebKitLegacy | wc -l
&gt;        0
&gt; 
&gt; There are other uses of &apos;extern &quot;C&quot; { }&apos;, though:
&gt; 
&gt; $ grep -l -r &apos;extern &quot;C&quot;&apos; Source/WebKitLegacy | grep -v ChangeLog | wc -l
&gt;       27
&gt; 
&gt; So I went with the more common solution for this particular project.

No, not WTF_EXTERN_C_BEGIN, that can’t be used in API/SPI headers. That’s internal to the project. You are correct on that!

But something like CF_EXTERN_C_BEGIN *could* be used. But, apparently, we use extern &quot;C&quot; directly in WebKit. OK, I had remembered it differently.

&gt;&gt;&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:84
&gt;&gt;&gt; +WebCacheModel WebPreferencesCacheModelForMainBundle(NSString *bundleIdentifier);
&gt;&gt; 
&gt;&gt; Since this is just for testing. do we need to add it to an SPI header? I know I have written TestWebKitAPI tests that test things in WebCore directly for example.
&gt; 
&gt; Yes, it&apos;s required due to TAPI/InstallAPI on iOS.  See this failure from &quot;Patch v1&quot; on the iOS bot:
&gt; 
&gt; &lt;https://ews-build.webkit.org/#/builders/53/builds/196/steps/7/logs/errors&gt;
&gt; 
&gt; It also can&apos;t be in the WebPreferencesInternal.h header because that&apos;s not included in the TAPI processing (since those symbols don&apos;t have to be exported).
&gt; 
&gt; It would be possible to make a &quot;TAPI extras for testing&quot; header that just declares this function, as I&apos;ve done something similar for the libxml2 project to declare exported functions that aren&apos;t in headers, but WebKitLegacy doesn&apos;t have one of those yet.  (It&apos;s not hard to add--I&apos;m just noting the current state of things.)  Adding such a header does become &quot;one more thing&quot; to track down when trying to fix TAPI/InstallAPI issues, though.

Big picture, I don’t want us to expose things for testing and then have others at Apple or elsewhere accidentally depend on them as SPI. Whatever strategy we have for that should be followed consistently. You don’t have to invent a new strategy for this patch, but I don’t want us in a bind where everything we want to test we also have to expose in a way that tempts people to use it. Maybe the least we can do is put &quot;ForTesting&quot; in function names?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700364</commentid>
    <comment_count>11</comment_count>
      <attachid>412025</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-21 13:46:20 -0700</bug_when>
    <thetext>Created attachment 412025
Patch v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700366</commentid>
    <comment_count>12</comment_count>
      <attachid>412027</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-21 13:48:18 -0700</bug_when>
    <thetext>Created attachment 412027
Patch v5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700367</commentid>
    <comment_count>13</comment_count>
      <attachid>411955</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-21 13:49:09 -0700</bug_when>
    <thetext>Comment on attachment 411955
Patch v3

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

&gt;&gt;&gt;&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:84
&gt;&gt;&gt;&gt; +WebCacheModel WebPreferencesCacheModelForMainBundle(NSString *bundleIdentifier);
&gt;&gt;&gt; 
&gt;&gt;&gt; Since this is just for testing. do we need to add it to an SPI header? I know I have written TestWebKitAPI tests that test things in WebCore directly for example.
&gt;&gt; 
&gt;&gt; Yes, it&apos;s required due to TAPI/InstallAPI on iOS.  See this failure from &quot;Patch v1&quot; on the iOS bot:
&gt;&gt; 
&gt;&gt; &lt;https://ews-build.webkit.org/#/builders/53/builds/196/steps/7/logs/errors&gt;
&gt;&gt; 
&gt;&gt; It also can&apos;t be in the WebPreferencesInternal.h header because that&apos;s not included in the TAPI processing (since those symbols don&apos;t have to be exported).
&gt;&gt; 
&gt;&gt; It would be possible to make a &quot;TAPI extras for testing&quot; header that just declares this function, as I&apos;ve done something similar for the libxml2 project to declare exported functions that aren&apos;t in headers, but WebKitLegacy doesn&apos;t have one of those yet.  (It&apos;s not hard to add--I&apos;m just noting the current state of things.)  Adding such a header does become &quot;one more thing&quot; to track down when trying to fix TAPI/InstallAPI issues, though.
&gt; 
&gt; Big picture, I don’t want us to expose things for testing and then have others at Apple or elsewhere accidentally depend on them as SPI. Whatever strategy we have for that should be followed consistently. You don’t have to invent a new strategy for this patch, but I don’t want us in a bind where everything we want to test we also have to expose in a way that tempts people to use it. Maybe the least we can do is put &quot;ForTesting&quot; in function names?

Patch v4/v5 implements the new strategy.  Not that difficult, but it&apos;s a bit different.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700369</commentid>
    <comment_count>14</comment_count>
      <attachid>412027</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-21 13:49:50 -0700</bug_when>
    <thetext>Comment on attachment 412027
Patch v5

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

&gt; Source/WebKitLegacy/mac/InstallAPIExportsForTesting.h:31
&gt; +WebCacheModel WebPreferencesCacheModelForMainBundle(NSString *bundleIdentifier);

Not sure I’d put the name &quot;InstallAPIExports&quot; into this header’s name. Maybe just TestingFunctions.h?

&gt; Source/WebKitLegacy/mac/WebView/WebPreferences.mm:95
&gt; +WTF_EXTERN_C_BEGIN
&gt; +// See also mac/InstallAPIExportsForTesting.h.
&gt; +WebCacheModel WebPreferencesCacheModelForMainBundle(NSString *bundleIdentifier);
&gt; +WTF_EXTERN_C_END

Seems like we’d just include the InstallAPIExportsForTesting.h header instead of doing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700370</commentid>
    <comment_count>15</comment_count>
      <attachid>412029</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-21 13:50:16 -0700</bug_when>
    <thetext>Created attachment 412029
Patch v6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700372</commentid>
    <comment_count>16</comment_count>
      <attachid>412025</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-21 13:51:08 -0700</bug_when>
    <thetext>Comment on attachment 412025
Patch v4

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

&gt; Source/WebKitLegacy/mac/InstallAPIExportsForTesting.h:26
&gt; + */
&gt; +
&gt; +#include &lt;Foundation/Foundation.h&gt;
&gt; +#include &lt;WebKitLegacy/WebPreferences.h&gt;

Forgot to add the `#pragma once` here, then uploaded Patch v5 without amending the local change.  Patch v6 fixes it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700374</commentid>
    <comment_count>17</comment_count>
      <attachid>412027</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-21 13:54:49 -0700</bug_when>
    <thetext>Comment on attachment 412027
Patch v5

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

&gt;&gt; Source/WebKitLegacy/mac/InstallAPIExportsForTesting.h:31
&gt;&gt; +WebCacheModel WebPreferencesCacheModelForMainBundle(NSString *bundleIdentifier);
&gt; 
&gt; Not sure I’d put the name &quot;InstallAPIExports&quot; into this header’s name. Maybe just TestingFunctions.h?

The only reason this exists is for InstallAPI to run successfully without declaring the function in a Private.h or Internal.h header.

(Unless we actually install the header in PrivateHeaders, which seems even weirder to me.)

&gt;&gt; Source/WebKitLegacy/mac/WebView/WebPreferences.mm:95
&gt;&gt; +WTF_EXTERN_C_END
&gt; 
&gt; Seems like we’d just include the InstallAPIExportsForTesting.h header instead of doing this.

That would mean we&apos;d have to install InstallAPIExportsForTesting.h as a Private Header for the WebKitLegacy.framework, and you wanted to avoid doing that so other Apple clients couldn&apos;t try to use it.

If we&apos;re going to install InstallAPIExportsForTesting.h as a Private Header, we might as well just move it back to WebPreferencesPrivate.h.

I guess I&apos;m not clear what you would prefer to do now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700375</commentid>
    <comment_count>18</comment_count>
      <attachid>412025</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-21 13:54:52 -0700</bug_when>
    <thetext>Comment on attachment 412025
Patch v4

This all looks fine to me. Please consider my naming suggestion and my suggestion of including the header rather than doing a second extern &quot;C&quot; inside the .mm file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700377</commentid>
    <comment_count>19</comment_count>
      <attachid>412027</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-21 13:56:49 -0700</bug_when>
    <thetext>Comment on attachment 412027
Patch v5

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

&gt;&gt;&gt; Source/WebKitLegacy/mac/InstallAPIExportsForTesting.h:31
&gt;&gt;&gt; +WebCacheModel WebPreferencesCacheModelForMainBundle(NSString *bundleIdentifier);
&gt;&gt; 
&gt;&gt; Not sure I’d put the name &quot;InstallAPIExports&quot; into this header’s name. Maybe just TestingFunctions.h?
&gt; 
&gt; The only reason this exists is for InstallAPI to run successfully without declaring the function in a Private.h or Internal.h header.
&gt; 
&gt; (Unless we actually install the header in PrivateHeaders, which seems even weirder to me.)

We want to put it somewhere our test code can find it, but not where others can find it. To what ever extent it needs to be &quot;installed&quot; that would be configurations where we run our test code.

&gt;&gt;&gt; Source/WebKitLegacy/mac/WebView/WebPreferences.mm:95
&gt;&gt;&gt; +WTF_EXTERN_C_END
&gt;&gt; 
&gt;&gt; Seems like we’d just include the InstallAPIExportsForTesting.h header instead of doing this.
&gt; 
&gt; That would mean we&apos;d have to install InstallAPIExportsForTesting.h as a Private Header for the WebKitLegacy.framework, and you wanted to avoid doing that so other Apple clients couldn&apos;t try to use it.
&gt; 
&gt; If we&apos;re going to install InstallAPIExportsForTesting.h as a Private Header, we might as well just move it back to WebPreferencesPrivate.h.
&gt; 
&gt; I guess I&apos;m not clear what you would prefer to do now.

We would not have to &quot;install&quot; a header to include it from *inside* WebKitLegacy, would we?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700382</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-21 14:09:33 -0700</bug_when>
    <thetext>You can land it like this. I am no trying to keep you spinning in a loop forever. But here are some of my goals:

1) Don’t make it easy to accidentally call test functions outside WebKit. Use naming, headers, linking restrictions, whatever, to minimize the chance of that mistake.

2) Signal that test functions are for testing, not other purposes. Use naming, headers, etc. to do that. They can be moved if we find non-testing purposes for them.

3) Expose the test functions so they can be used in the unit tests (the ones based on Google Test at the moment). Use a header so the unit test code is checked against the function in case the function is changed and someone overlooks the effect it has on the test. I believe that there is no constraint that the unit test has to be able to run on &quot;the real system WebKit&quot;; but I may be mistaken.

4) Name everything involved in a way that encourages people to use it in the future, and doesn’t require them to know the names of the tricky technology that might have made this hard to get working. Headers would thus be named &quot;put tests in here&quot;, rather than &quot;this header is for the install API technology that you have never heard of&quot;. There might well still be comments mentioning InstallAPI, but it’s unlikely to be in the header name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700389</commentid>
    <comment_count>21</comment_count>
      <attachid>412027</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-21 14:22:11 -0700</bug_when>
    <thetext>Comment on attachment 412027
Patch v5

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

&gt;&gt;&gt;&gt; Source/WebKitLegacy/mac/WebView/WebPreferences.mm:95
&gt;&gt;&gt;&gt; +WTF_EXTERN_C_END
&gt;&gt;&gt; 
&gt;&gt;&gt; Seems like we’d just include the InstallAPIExportsForTesting.h header instead of doing this.
&gt;&gt; 
&gt;&gt; That would mean we&apos;d have to install InstallAPIExportsForTesting.h as a Private Header for the WebKitLegacy.framework, and you wanted to avoid doing that so other Apple clients couldn&apos;t try to use it.
&gt;&gt; 
&gt;&gt; If we&apos;re going to install InstallAPIExportsForTesting.h as a Private Header, we might as well just move it back to WebPreferencesPrivate.h.
&gt;&gt; 
&gt;&gt; I guess I&apos;m not clear what you would prefer to do now.
&gt; 
&gt; We would not have to &quot;install&quot; a header to include it from *inside* WebKitLegacy, would we?

I see, you just want to use InstallAPIExportsForTesting.h header for WebPreferences.mm, not for WebPreferencesTest.mm (which is in a completely separate project directory).

If we wanted to use InstallAPIExportsForTesting.h in WebPreferencesTest.mm in the TestWebKitAPI project, we _would_ have to install InstallAPIExportsForTesting.h somewhere in the WebKitLegacy.framework project.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700395</commentid>
    <comment_count>22</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-21 14:31:12 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #20)
&gt; You can land it like this. I am no trying to keep you spinning in a loop
&gt; forever. But here are some of my goals:
&gt; 
&gt; 1) Don’t make it easy to accidentally call test functions outside WebKit.
&gt; Use naming, headers, linking restrictions, whatever, to minimize the chance
&gt; of that mistake.
&gt; 
&gt; 2) Signal that test functions are for testing, not other purposes. Use
&gt; naming, headers, etc. to do that. They can be moved if we find non-testing
&gt; purposes for them.
&gt; 
&gt; 3) Expose the test functions so they can be used in the unit tests (the ones
&gt; based on Google Test at the moment). Use a header so the unit test code is
&gt; checked against the function in case the function is changed and someone
&gt; overlooks the effect it has on the test. I believe that there is no
&gt; constraint that the unit test has to be able to run on &quot;the real system
&gt; WebKit&quot;; but I may be mistaken.
&gt; 
&gt; 4) Name everything involved in a way that encourages people to use it in the
&gt; future, and doesn’t require them to know the names of the tricky technology
&gt; that might have made this hard to get working. Headers would thus be named
&gt; &quot;put tests in here&quot;, rather than &quot;this header is for the install API
&gt; technology that you have never heard of&quot;. There might well still be comments
&gt; mentioning InstallAPI, but it’s unlikely to be in the header name.

Okay, where I&apos;m confused is that WebPreferencesCacheModelForMainBundle() is both &quot;the test function&quot; and it is being used in production code.

Maybe you&apos;re asking for a slightly different design where WebPreferencesCacheModelForMainBundle() stays static and not exported, but there _another_ test function that calls WebPreferencesCacheModelForMainBundle() which _is_ exported, but is only declared in a special &quot;testing functions&quot; header, and that testing functions header is not installed with the project, and maybe we even turn off the testing function (and its export) in Production builds?

I can do that, but I don&apos;t know what macro to use for &quot;disable this code in Production builds, but not anywhere else&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700409</commentid>
    <comment_count>23</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-21 15:04:43 -0700</bug_when>
    <thetext>(In reply to David Kilzer (:ddkilzer) from comment #22)
&gt; Maybe you&apos;re asking for a slightly different design where
&gt; WebPreferencesCacheModelForMainBundle() stays static and not exported, but
&gt; there _another_ test function that calls
&gt; WebPreferencesCacheModelForMainBundle() which _is_ exported, but is only
&gt; declared in a special &quot;testing functions&quot; header, and that testing functions
&gt; header is not installed with the project, and maybe we even turn off the
&gt; testing function (and its export) in Production builds?

Sure, that’s slightly better if it helps us communicate that we don’t want to export the function.

&gt; I can do that, but I don&apos;t know what macro to use for &quot;disable this code in
&gt; Production builds, but not anywhere else&quot;.

I don’t know either, but it should be pretty easy to figure out. Let me know if you want help researching it. I’d start by looking at the DebugRelease.xcconfig files.

I’m mostly focused on the goals here, not the specific way we achieve them. Hoping for a pattern we can keep using in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700410</commentid>
    <comment_count>24</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-21 15:05:33 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #23)
&gt; I’d start by looking at the DebugRelease.xcconfig files.

Or maybe at how WebKitInternals is built.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700699</commentid>
    <comment_count>25</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-22 10:11:59 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #24)
&gt; (In reply to Darin Adler from comment #23)
&gt; &gt; I’d start by looking at the DebugRelease.xcconfig files.
&gt; 
&gt; Or maybe at how WebKitInternals is built.

That&apos;s a different mechanism.

I added a WK_BUILD_FOR_TESTING Xcode variable that lives in DebugRelease.xcconfig that simply sets a macro in OTHER_CFLAGS and OTHER_TAPI_FLAGS to enable test code when building in those configurations.

The nice thing is that it could be overwritten in Production builds by passing it on the command-line (if that&apos;s ever needed), which it might be for internal bots if they build and test using Production builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700700</commentid>
    <comment_count>26</comment_count>
      <attachid>412111</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-10-22 10:12:12 -0700</bug_when>
    <thetext>Created attachment 412111
Patch v7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701593</commentid>
    <comment_count>27</comment_count>
      <attachid>412111</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-26 13:28:17 -0700</bug_when>
    <thetext>Comment on attachment 412111
Patch v7

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

&gt; Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:45
&gt; +OTHER_CFLAGS = $(inherited) $(OTHER_CFLAGS_COCOA_TOUCH) $(WK_CFLAGS_BUILD_FOR_TESTING_$(WK_BUILD_FOR_TESTING));

Could add a WK_CFLAGS_BUILD_FOR_TESTING without a suffix to make this and the one other use simpler.

&gt; Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:50
&gt; +WK_CFLAGS_BUILD_FOR_TESTING_YES = -DENABLE_BUILD_FOR_TESTING=1;

No need for the &quot;=1&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701899</commentid>
    <comment_count>28</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-27 09:09:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/70724139&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704121</commentid>
    <comment_count>29</comment_count>
      <attachid>412111</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-11-03 11:59:55 -0800</bug_when>
    <thetext>Comment on attachment 412111
Patch v7

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

&gt;&gt; Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:45
&gt;&gt; +OTHER_CFLAGS = $(inherited) $(OTHER_CFLAGS_COCOA_TOUCH) $(WK_CFLAGS_BUILD_FOR_TESTING_$(WK_BUILD_FOR_TESTING));
&gt; 
&gt; Could add a WK_CFLAGS_BUILD_FOR_TESTING without a suffix to make this and the one other use simpler.

I&apos;m going to keep this as-is for now.  If (for some reason) someone wanted to enable testing code in Production builds, I want them to pass WK_BUILD_FOR_TESTING=YES on the command-line instead of having to pass WK_CFLAGS_BUILD_FOR_TESTING=&quot;-DENABLE_BUILD_FOR_TESTING&quot;.

&gt;&gt; Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:50
&gt;&gt; +WK_CFLAGS_BUILD_FOR_TESTING_YES = -DENABLE_BUILD_FOR_TESTING=1;
&gt; 
&gt; No need for the &quot;=1&quot; here.

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704122</commentid>
    <comment_count>30</comment_count>
      <attachid>412111</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-11-03 12:02:04 -0800</bug_when>
    <thetext>Comment on attachment 412111
Patch v7

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

&gt;&gt;&gt; Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:50
&gt;&gt;&gt; +WK_CFLAGS_BUILD_FOR_TESTING_YES = -DENABLE_BUILD_FOR_TESTING=1;
&gt;&gt; 
&gt;&gt; No need for the &quot;=1&quot; here.
&gt; 
&gt; Will fix.

Actually, the way the ENABLE() macro is written, I think it should be =1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704123</commentid>
    <comment_count>31</comment_count>
      <attachid>413087</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-11-03 12:03:44 -0800</bug_when>
    <thetext>Created attachment 413087
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704126</commentid>
    <comment_count>32</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-11-03 12:04:36 -0800</bug_when>
    <thetext>(In reply to David Kilzer (:ddkilzer) from comment #31)
&gt; Created attachment 413087 [details]
&gt; Patch for landing

The only changes from &quot;Patch v7&quot; are the updated date in the ChangeLogs and adding Darin as the reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704138</commentid>
    <comment_count>33</comment_count>
      <attachid>412111</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-11-03 12:31:14 -0800</bug_when>
    <thetext>Comment on attachment 412111
Patch v7

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

&gt;&gt;&gt;&gt; Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:50
&gt;&gt;&gt;&gt; +WK_CFLAGS_BUILD_FOR_TESTING_YES = -DENABLE_BUILD_FOR_TESTING=1;
&gt;&gt;&gt; 
&gt;&gt;&gt; No need for the &quot;=1&quot; here.
&gt;&gt; 
&gt;&gt; Will fix.
&gt; 
&gt; Actually, the way the ENABLE() macro is written, I think it should be =1.

That’s not correct. The way the -D command line option works is that -DENABLE_BUILD_FOR_TESTING sets ENABLE_BUILD_FOR_TESTING to 1. The =1 is a no-op.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704149</commentid>
    <comment_count>34</comment_count>
      <attachid>412111</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-11-03 12:45:02 -0800</bug_when>
    <thetext>Comment on attachment 412111
Patch v7

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

&gt;&gt;&gt;&gt;&gt; Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:50
&gt;&gt;&gt;&gt;&gt; +WK_CFLAGS_BUILD_FOR_TESTING_YES = -DENABLE_BUILD_FOR_TESTING=1;
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; No need for the &quot;=1&quot; here.
&gt;&gt;&gt; 
&gt;&gt;&gt; Will fix.
&gt;&gt; 
&gt;&gt; Actually, the way the ENABLE() macro is written, I think it should be =1.
&gt; 
&gt; That’s not correct. The way the -D command line option works is that -DENABLE_BUILD_FOR_TESTING sets ENABLE_BUILD_FOR_TESTING to 1. The =1 is a no-op.

Thanks!  Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704150</commentid>
    <comment_count>35</comment_count>
      <attachid>413094</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-11-03 12:45:45 -0800</bug_when>
    <thetext>Created attachment 413094
Patch for landing v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704196</commentid>
    <comment_count>36</comment_count>
      <attachid>413094</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-11-03 13:26:06 -0800</bug_when>
    <thetext>Comment on attachment 413094
Patch for landing v2

Marking cq+ since the only change from &quot;Patch v7&quot; is to remove the &quot;=1&quot; from the macro definition, and mac-wk1 tests bot already passed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704198</commentid>
    <comment_count>37</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-03 13:37:18 -0800</bug_when>
    <thetext>Committed r269332: &lt;https://trac.webkit.org/changeset/269332&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413094.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411950</attachid>
            <date>2020-10-20 19:11:12 -0700</date>
            <delta_ts>2020-10-20 20:00:51 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-217960-20201020191523.patch</filename>
            <type>text/plain</type>
            <size>15402</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggOWVkZDJlZDBiNWMwYWU2NDE1MWRkOTQwOWFkYmU1ODUyYmU1MjkwZS4uYjgyYmJjN2ZmMDll
NTNlNDVjYzBiNDI4NDczOGY5ZTRjODZlZTFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTEwLTIwICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KCkgaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMTc5NjA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJL
aXQuZXhwOgorICAgICAgICAtIEV4cG9ydCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWlu
QnVuZGxlKCkgZm9yIHRlc3RpbmcuCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bToKKyAgICAgICAgKGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKToKKyAgICAgICAgKFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUpOgorICAgICAgICAtIFJlbmFtZSBjYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZSgpIHRvCisgICAgICAgICAgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZSgpIHRvIG1ha2UgdGVzdGFibGUuCisgICAgICAgIC0gQWRkIE5TU3RyaW5n
ICpidW5kbGVJZGVudGlmaWVyIGFyZ3VtZW50IHRvIG1ha2UgdGVzdGFibGUuCisgICAgICAgICgr
W1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgLSBDaGFuZ2UgdG8gY2FsbCBX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgYW5kCisgICAgICAgICAgcGFz
cyBtYWluIGJ1bmRsZSBpZGVudGlmaWVyIGFzIGFyZ3VtZW50LgorCiAyMDIwLTEwLTE3ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1
NDMwKTogRml4IC1Xc3RyaW5nLWNvbmNhdGVuYXRpb24gd2FybmluZyBmcm9tIG9wZW4gc291cmNl
IGNsYW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQuZXhwIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViS2l0LmV4cAppbmRleCBjYTcxNDNlYjdhZmM4NTEy
ZGE1OGZlNTY3MjJmYWE4NWFiZjAzYmIxLi4yYjAzZWNiZDE2YTNiMTVlYjQzMjM3ZWQxODYxNzM3
MTkxN2EyYWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQuZXhw
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5leHAKQEAgLTIzNyw2ICsyMzcs
NyBAQCBfV2ViUGx1Z0luQ29udGFpbmluZ0VsZW1lbnRLZXkKIF9XZWJQbHVnSW5Nb2RlS2V5CiBf
V2ViUGx1Z0luU2hvdWxkTG9hZE1haW5SZXNvdXJjZUtleQogX1dlYlByZWZlcmVuY2VzQ2FjaGVN
b2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbgorX1dlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bEZvck1haW5CdW5kbGUKIF9XZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlv
bgogX1dlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbgogX1dlYlByZWZlcmVuY2VzUmVt
b3ZlZE5vdGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KaW5kZXggMmE3ZThlNGI3ZTQ1NDIxYzYwZTY1NjY0N2JjMzNhZjhi
NjcyZTdlOC4uZjFhODgxZTI2Y2ZkMmY0MzBjYTJjYjI5MjZkNTUzMTBmODNjNDNkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBA
IC01MCw2ICs1MCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1RleHRFbmNvZGluZ1JlZ2lzdHJ5Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVKSVRPcGVyYXRpb25zLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL2NmL0NGTmV0d29ya1NQSS5oPgorI2ltcG9ydCA8d3RmL0NvbXBpbGVyLmg+CiAjaW1wb3J0
IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8
d3RmL1J1bkxvb3AuaD4KQEAgLTg4LDcgKzg5LDExIEBAIHRlbXBsYXRlPHVuc2lnbmVkIHNpemU+
IHN0YXRpYyBib29sIGNvbnRhaW5zKGNvbnN0IGNoYXIqIGNvbnN0ICgmYXJyYXkpW3NpemVdLCBj
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZSh2b2lkKQorV1RGX0VYVEVSTl9DX0JFR0lOCitXZWJDYWNoZU1vZGVsIFdl
YlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoTlNTdHJpbmcgKmJ1bmRsZUlkZW50
aWZpZXIpOworV1RGX0VYVEVSTl9DX0VORAorCitXZWJDYWNoZU1vZGVsIFdlYlByZWZlcmVuY2Vz
Q2FjaGVNb2RlbEZvck1haW5CdW5kbGUoTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIpCiB7CiAg
ICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIC8vIEFwcHMgdGhhdCBwcm9iYWJseSBuZWVk
IHRoZSBzbWFsbCBzZXR0aW5nCkBAIC0xMzksNyArMTQ0LDcgQEAgc3RhdGljIFdlYkNhY2hlTW9k
ZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9pZCkKICAgICAgICAgICAgICJuZXQuaG1kdC13
ZWIuU2hpaXJhIiwKICAgICAgICAgfTsKIAotICAgICAgICBjb25zdCBjaGFyKiBidW5kbGVJRCA9
IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIFVURjhTdHJpbmddOwor
ICAgICAgICBjb25zdCBjaGFyKiBidW5kbGVJRCA9IFtidW5kbGVJZGVudGlmaWVyIFVURjhTdHJp
bmddOwogICAgICAgICBpZiAoY29udGFpbnMoZG9jdW1lbnRWaWV3ZXJJRHMsIGJ1bmRsZUlEKSkK
ICAgICAgICAgICAgIHJldHVybiBXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXI7CiAgICAgICAg
IGlmIChjb250YWlucyhkb2N1bWVudEJyb3dzZXJJRHMsIGJ1bmRsZUlEKSkKQEAgLTM5MSw3ICsz
OTYsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICAgICAgQFlFUywgV2ViS2l0QWxsb3dBbmlt
YXRlZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VLZXksCiAgICAgICAgIEAiMTgwMCIsIFdlYktpdEJh
Y2tGb3J3YXJkQ2FjaGVFeHBpcmF0aW9uSW50ZXJ2YWxLZXksCiAgICAgICAgIEBOTywgV2ViS2l0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCi0gICAgICAgIEAoY2FjaGVNb2Rl
bEZvck1haW5CdW5kbGUoKSksIFdlYktpdENhY2hlTW9kZWxQcmVmZXJlbmNlS2V5LAorICAgICAg
ICBAKFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoW1tOU0J1bmRsZSBtYWlu
QnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSkpLCBXZWJLaXRDYWNoZU1vZGVsUHJlZmVyZW5jZUtl
eSwKICAgICAgICAgQFlFUywgV2ViS2l0Wm9vbXNUZXh0T25seVByZWZlcmVuY2VLZXksCiAgICAg
ICAgIEBZRVMsIFdlYktpdEZvcmNlV2ViR0xVc2VzTG93UG93ZXJQcmVmZXJlbmNlS2V5LAogICAg
ICAgICBATk8sIFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5LApkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdiYmEyYWJhM2QzYjM5ZDk4
YThmZDJjMzBhZmZkMzgzOWQ4NDZlZmEuLmNmZTJjOTRmYjdhNjUyMGU1OTc3NDYxZjZiMTUwNDZk
MmJkN2NlNTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0xMC0yMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZSgpIGluIFdlYktpdExlZ2FjeQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjE3OTYw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgIC0gQWRkIFdlYlByZWZlcmVuY2VzVGVzdC5tbSB0byBwcm9qZWN0LgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2NvY29hL1dlYlByZWZlcmVuY2VzVGVzdC5t
bTogQWRkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIC0gQWRkIHRl
c3QgZm9yIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKS4KKwogMjAyMC0x
MC0xNyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0ZsYXRwYWsgU0RLXSBmbGF0cGFrdXRpbHMucHkgcmVwb3J0cyAiS2V5RXJyb3I6ICdnY2MnIiBl
cnJvciBpZiB1c2luZyB3aXRoIGljZWNjIGFuZCB0b29sY2hhaW5zIGFyZW4ndCBnZW5lcmF0ZWQg
eWV0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQzOTRjOTc2YmZiMWYyZDU4MTU3ODg3YjNk
NmY2ZGVlNTk1MjYxNjYuLjMzODI5ZmQ3ZDgyYjlhNTQ4ZTNlZWVlZDdiNzg0ZjExYWQ0NjAyMTYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzksNiArMjM5LDcgQEAKIAkJNDE4ODJGMDMy
MTAxMEMwRDAwMkZGMjg4IC8qIFByb2Nlc3NQcmVXYXJtaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4ODJGMDIyMTAxMEE3MDAwMkZGMjg4IC8q
IFByb2Nlc3NQcmVXYXJtaW5nLm1tICovOyB9OwogCQk0NDA3N0JCMTIzMTQ0QjUwMDAxNzlFMkQg
LyogRGF0YURldGVjdG9yc1Rlc3RJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NDA3N0JCMDIzMTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVjdG9y
c1Rlc3RJT1MubW0gKi87IH07CiAJCTQ0MzNBMzk2MjA4MDQ0MTQwMDkxRUQ1NyAvKiBTeW5jaHJv
bm91c1RpbWVvdXRUZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ0MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRU
ZXN0cy5tbSAqLzsgfTsKKwkJNDQ4MTEwQzIyNTNGNDAzMDAwOTdGQzMzIC8qIFdlYlByZWZlcmVu
Y2VzVGVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0ODExMEMxMjUzRjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gKi87IH07
CiAJCTQ0ODE3QTJGMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50
SW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
ODE3QTJFMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5t
bSAqLzsgfTsKIAkJNDQ4RDdFNDcxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0
aWVzVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NDhEN0U0NTFFQTZDNTU1MDBFQ0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNw
cCAqLzsgfTsKIAkJNDRBQzhCQzYyMUQwMjQ1QTAwQ0FGQjM0IC8qIFJldGFpblB0ci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyOUIxNjE0ODZB
RDY0MDA4MTdEQTkgLyogUmV0YWluUHRyLmNwcCAqLzsgfTsKQEAgLTE5NTcsNiArMTk1OCw3IEBA
CiAJCTQ0MDc3QkIwMjMxNDQ5RDIwMDE3OUUyRCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFEZXRlY3RvcnNUZXN0
SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDJCQkY2ODFDOTFDQUQ5MDAx
NzA4N0YgLyogUmVmTG9nZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlZkxvZ2dlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzNBMzk1
MjA4MDQ0MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDgxMTBDMTI1M0Y0MDI0MDA5N0ZDMzMg
LyogV2ViUHJlZmVyZW5jZXNUZXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV2ViUHJlZmVy
ZW5jZXNUZXN0Lm1tOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNUZXN0Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0
aXZhdGVkRWxlbWVudEluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDQ4RDdFNDUxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0
aWVzVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbnZpcm9u
bWVudFV0aWxpdGllc1Rlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE2
MjJDMTE0QTBFMkI2MDA0ODUxNUIgLyogV1RGU3RyaW5nVXRpbGl0aWVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdURlN0cmluZ1V0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMzUyNSw2ICszNTI3LDE0IEBACiAJCQlwYXRoID0gV2ViQ29yZTsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0ODExMEJGMjUzRjNGOEQwMDk3
RkMzMyAvKiBjb2NvYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJNDQ4MTEwQzEyNTNGNDAyNDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSAq
LywKKwkJCSk7CisJCQlwYXRoID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OwogCQk1MUVCMTI1RDI0Q0E2QjNFMDAwQ0IwMzAgLyogR2FtZXBhZE1hcHBpbmdzICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTQ2MDMsNiArNDYxMyw3
IEBACiAJCUNEQzhFNDk4MUJDNzI4QUUwMDU5NEZFQyAvKiBXZWJLaXRMZWdhY3kgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0ODExMEJGMjUzRjNGOEQw
MDk3RkMzMyAvKiBjb2NvYSAqLywKIAkJCQlDREM4RTQ5OTFCQzcyOEMwMDA1OTRGRUMgLyogaW9z
ICovLAogCQkJCTlCRDUxMTFBMUZFOEUxMDIwMEQyQjYzMCAvKiBtYWMgKi8sCiAJCQkpOwpAQCAt
NTM3NCw2ICs1Mzg1LDcgQEAKIAkJCQk3Q0NFN0YwRjFBNDExQUU2MDA0NDdDNEMgLyogUmVzaXpl
V2luZG93QWZ0ZXJDcmFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1Q0I3QUZEQzIzQzQ1Mjk3
MDBFNDlDRjMgLyogUmVzb3VyY2VMb2FkRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk1
MUM4RTFBNTFGMjZBRjRDMDBCRjczMUIgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbSBpbiBT
b3VyY2VzICovLAorCQkJCTQ0ODExMEMyMjUzRjQwMzAwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNl
c1Rlc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQk1Q0NCMTBFMTIxMzQ1N0QzMDBBQzVBRjAgLyog
UmVzcG9uc2l2ZW5lc3NUaW1lci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxMkM0QzlFMjBFQUE0
MEQwMDQ5NDVFQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyQ3Jhc2gubW0gaW4gU291cmNlcyAqLywK
IAkJCQk1Q0NCMTBFMjIxMzQ1N0Q1MDBBQzVBRjAgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNu
dEZpcmVFYXJseS5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNU
ZXN0Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjZlODhmODQwZTg5ZGJiZjdjMTNhNDkzMjRmMDk5MmIwYTFjYjQw
YWQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExl
Z2FjeS9jb2NvYS9XZWJQcmVmZXJlbmNlc1Rlc3QubW0KQEAgLTAsMCArMSw4NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRp
b24uaD4KKyNpbXBvcnQgPHd0Zi9Db21waWxlci5oPgorCitXVEZfRVhURVJOX0NfQkVHSU4KK1dl
YkNhY2hlTW9kZWwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShOU1N0cmlu
ZyAqYnVuZGxlSWRlbnRpZmllcik7CitXVEZfRVhURVJOX0NfRU5ECisKK25hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJIHsKKworVEVTVChXZWJLaXRMZWdhY3ksIENhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KQoreworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJNaWNyb3NvZnQvY29tLm1pY3Jvc29mdC5N
ZXNzZW5nZXIiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwg
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hZGl1bVguYWRpdW1Y
IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYWxpZW50ZWNobm9sb2d5LlByb3Rl
dXMiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJl
ZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5EYXNoY29kZSIpKTsK
KyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNl
c0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLmlDaGF0IikpOworICAgIEVYUEVD
VF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bEZvck1haW5CdW5kbGUoQCJjb20uYmFyZWJvbmVzLmJiZWRpdCIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKEAiY29tLmJhcmVib25lcy50ZXh0d3JhbmdsZXIiKSk7CisgICAgRVhQRUNUX0VR
KFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5iYXJlYm9uZXMueW9qaW1ibyIpKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWlu
QnVuZGxlKEAiY29tLmVxdWludXguaVNhbGU0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1v
ZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
QCJjb20uZ3Jvd2wuZ3Jvd2xmcmFtZXdvcmsiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9k
ZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShA
ImNvbS5pbnRyYXJ0cy5QYW5kb3JhTWFuIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
RG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJj
b20ua2FyZWxpYS5TYW5kdm94IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1l
bnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ubWFj
cm9tYXRlcy50ZXh0bWF0ZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50
Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLnJlYWxt
YWNzb2Z0d2FyZS5yYXBpZHdlYXZlcnBybyIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2Rl
bERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAi
Y29tLnJlZC1zd2VhdGVyLm1hcnNlZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
RG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJj
b20ueWFob28ubWVzc2VuZ2VyMyIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3Vt
ZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiZGUuY29k
aW5nbW9ua2V5cy5TdWJFdGhhRWRpdCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERv
Y3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiZmku
a2FycHBpbmVuLlB5cm8iKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZp
ZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImluZm8uY29sbG9x
dXkiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJl
ZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImt1bmdmb28udHYuZWN0byIpKTsKKwor
ICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQcmVmZXJlbmNl
c0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLkRpY3Rpb25hcnkiKSk7CisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuWGNvZGUiKSk7CisgICAgRVhQRUNUX0VR
KFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZv
ck1haW5CdW5kbGUoQCJjb20uYXBwbGUuaGVscHZpZXdlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFp
bkJ1bmRsZShAImNvbS5jdWx0dXJlZGNvZGUueHlsZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImNvbS5tYWNyYWJiaXQuQ1NTRWRpdCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAImNvbS5wYW5pYy5Db2RhIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1l
bnRCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLnJh
bmNoZXJvLk5ldE5ld3NXaXJlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1l
bnRCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLnRo
aW5rbWFjLk5ld3NMaWZlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRC
cm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAib3JnLnhsaWZl
Lk5ld3NGaXJlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2Vy
LCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAidWsuY28ub3BlbmNvbW11
bml0eS52aWVubmEyIikpOworCisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2Vi
QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHA0
bWFjLktpZHNCcm93c2VyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsUHJpbWFyeVdl
YkJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBw
NG1hYy53S2lvc2siKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJv
d3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5mcmVldmVy
c2UuYnVtcGVyY2FyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJy
b3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ub21uaWdy
b3VwLk9tbmlXZWI1IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJy
b3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uc3Vucmlz
ZWJyb3dzZXIuU3VucmlzZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbFByaW1hcnlX
ZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAibmV0Lmht
ZHQtd2ViLlNoaWlyYSIpKTsKKworICAgIC8vIFRlc3QgYnVuZGxlIGlkZW50aWZpZXJzIHRoYXQg
YXJlIG5vdCBoYXJkLWNvZGVkLgorICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRW
aWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUobmlsKSk7CisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNo
ZU1vZGVsRm9yTWFpbkJ1bmRsZShAIiIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERv
Y3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29t
IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuU2FmYXJpIikpOworICAg
IEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuU2FmYXJpVGVjaG5vbG9neVByZXZpZXci
KSk7Cit9CisKK30K
</data>
<flag name="review"
          id="428283"
          type_id="1"
          status="-"
          setter="ddkilzer"
    />
    <flag name="commit-queue"
          id="428290"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411954</attachid>
            <date>2020-10-20 20:57:07 -0700</date>
            <delta_ts>2020-10-20 21:31:19 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-217960-20201020210119.patch</filename>
            <type>text/plain</type>
            <size>15854</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggOWVkZDJlZDBiNWMwYWU2NDE1MWRkOTQwOWFkYmU1ODUyYmU1MjkwZS4uOWM4NmZjNjc3YzM2
ODVjODlhYWI2NjQ0YWI2M2ZiM2ZjMWI1ZjQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTEwLTIwICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KCkgaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMTc5NjA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJL
aXQuZXhwOgorICAgICAgICAtIEV4cG9ydCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWlu
QnVuZGxlKCkgZm9yIHRlc3RpbmcuCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bToKKyAgICAgICAgKGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKToKKyAgICAgICAgKFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUpOgorICAgICAgICAtIFJlbmFtZSBjYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZSgpIHRvCisgICAgICAgICAgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZSgpIHRvIG1ha2UgdGVzdGFibGUuCisgICAgICAgIC0gQWRkIE5TU3RyaW5n
ICpidW5kbGVJZGVudGlmaWVyIGFyZ3VtZW50IHRvIG1ha2UgdGVzdGFibGUuCisgICAgICAgICgr
W1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgLSBDaGFuZ2UgdG8gY2FsbCBX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgYW5kCisgICAgICAgICAgcGFz
cyBtYWluIGJ1bmRsZSBpZGVudGlmaWVyIGFzIGFyZ3VtZW50LgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgIChXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKTogQWRkIGRlY2xhcmF0aW9uLgorCiAyMDIwLTEwLTE3ICBEYXZpZCBL
aWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1NDMw
KTogRml4IC1Xc3RyaW5nLWNvbmNhdGVuYXRpb24gd2FybmluZyBmcm9tIG9wZW4gc291cmNlIGNs
YW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQuZXhwIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViS2l0LmV4cAppbmRleCBjYTcxNDNlYjdhZmM4NTEyZGE1
OGZlNTY3MjJmYWE4NWFiZjAzYmIxLi4yYjAzZWNiZDE2YTNiMTVlYjQzMjM3ZWQxODYxNzM3MTkx
N2EyYWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQuZXhwCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5leHAKQEAgLTIzNyw2ICsyMzcsNyBA
QCBfV2ViUGx1Z0luQ29udGFpbmluZ0VsZW1lbnRLZXkKIF9XZWJQbHVnSW5Nb2RlS2V5CiBfV2Vi
UGx1Z0luU2hvdWxkTG9hZE1haW5SZXNvdXJjZUtleQogX1dlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbgorX1dlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZv
ck1haW5CdW5kbGUKIF9XZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbgog
X1dlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbgogX1dlYlByZWZlcmVuY2VzUmVtb3Zl
ZE5vdGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KaW5kZXggMmE3ZThlNGI3ZTQ1NDIxYzYwZTY1NjY0N2JjMzNhZjhiNjcy
ZTdlOC4uMWQ3YzhjNzZkN2QyYzQ4NTMwZjc4YTZlZmRmODczMDZkODEzYzg1MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC04
OCw3ICs4OCw3IEBAIHRlbXBsYXRlPHVuc2lnbmVkIHNpemU+IHN0YXRpYyBib29sIGNvbnRhaW5z
KGNvbnN0IGNoYXIqIGNvbnN0ICgmYXJyYXkpW3NpemVdLCBjCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1zdGF0aWMgV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSh2b2lkKQor
V2ViQ2FjaGVNb2RlbCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3Ry
aW5nICpidW5kbGVJZGVudGlmaWVyKQogewogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAg
ICAvLyBBcHBzIHRoYXQgcHJvYmFibHkgbmVlZCB0aGUgc21hbGwgc2V0dGluZwpAQCAtMTM5LDcg
KzEzOSw3IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZv
aWQpCiAgICAgICAgICAgICAibmV0LmhtZHQtd2ViLlNoaWlyYSIsCiAgICAgICAgIH07CiAKLSAg
ICAgICAgY29uc3QgY2hhciogYnVuZGxlSUQgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5k
bGVJZGVudGlmaWVyXSBVVEY4U3RyaW5nXTsKKyAgICAgICAgY29uc3QgY2hhciogYnVuZGxlSUQg
PSBbYnVuZGxlSWRlbnRpZmllciBVVEY4U3RyaW5nXTsKICAgICAgICAgaWYgKGNvbnRhaW5zKGRv
Y3VtZW50Vmlld2VySURzLCBidW5kbGVJRCkpCiAgICAgICAgICAgICByZXR1cm4gV2ViQ2FjaGVN
b2RlbERvY3VtZW50Vmlld2VyOwogICAgICAgICBpZiAoY29udGFpbnMoZG9jdW1lbnRCcm93c2Vy
SURzLCBidW5kbGVJRCkpCkBAIC0zOTEsNyArMzkxLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAg
ICAgICAgIEBZRVMsIFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNlS2V5
LAogICAgICAgICBAIjE4MDAiLCBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVy
dmFsS2V5LAogICAgICAgICBATk8sIFdlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5LAotICAgICAgICBAKGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkpLCBXZWJLaXRDYWNo
ZU1vZGVsUHJlZmVyZW5jZUtleSwKKyAgICAgICAgQChXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0pKSwg
V2ViS2l0Q2FjaGVNb2RlbFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBZRVMsIFdlYktpdFpvb21z
VGV4dE9ubHlQcmVmZXJlbmNlS2V5LAogICAgICAgICBAWUVTLCBXZWJLaXRGb3JjZVdlYkdMVXNl
c0xvd1Bvd2VyUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VQcmVIVE1MNVBh
cnNlclF1aXJrc0tleSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGE3M2EyNzA5MGIxMTgwZTRkMDhmMTM4
ZmExMjU2M2Y3OGNlM2Q3ODYuLmFlOTZlNzNiZDI0OTNlMWNjMjA3YzI3OTFmMTYyMzk4NGY2NjJm
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNzgsNiArNzgsOCBAQCBleHRlcm4gTlNTdHJpbmcgKldl
YlByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlvbiBXRUJLSVRfREVQUkVDQVRFRF9NQUMoMTBf
MywgMQogZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlm
aWNhdGlvbiBXRUJLSVRfREVQUkVDQVRFRF9NQUMoMTBfMywgMTBfMTQpOwogZXh0ZXJuIE5TU3Ry
aW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24g
V0VCS0lUX0RFUFJFQ0FURURfTUFDKDEwXzUsIDEwXzE0KTsKIAorZXh0ZXJuICJDIiBXZWJDYWNo
ZU1vZGVsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoTlNTdHJpbmcgKmJ1
bmRsZUlkZW50aWZpZXIpOworCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRl
KQogCiAtIChCT09MKWlzRE5TUHJlZmV0Y2hpbmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdiYmEyYWJhM2QzYjM5ZDk4YThmZDJj
MzBhZmZkMzgzOWQ4NDZlZmEuLmNmZTJjOTRmYjdhNjUyMGU1OTc3NDYxZjZiMTUwNDZkMmJkN2Nl
NTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAyMC0xMC0yMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSgpIGlu
IFdlYktpdExlZ2FjeQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjE3OTYwPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIC0g
QWRkIFdlYlByZWZlcmVuY2VzVGVzdC5tbSB0byBwcm9qZWN0LgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2NvY29hL1dlYlByZWZlcmVuY2VzVGVzdC5tbTogQWRk
LgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIC0gQWRkIHRlc3QgZm9y
IFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKS4KKwogMjAyMC0xMC0xNyAg
UGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0ZsYXRw
YWsgU0RLXSBmbGF0cGFrdXRpbHMucHkgcmVwb3J0cyAiS2V5RXJyb3I6ICdnY2MnIiBlcnJvciBp
ZiB1c2luZyB3aXRoIGljZWNjIGFuZCB0b29sY2hhaW5zIGFyZW4ndCBnZW5lcmF0ZWQgeWV0CmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQzOTRjOTc2YmZiMWYyZDU4MTU3ODg3YjNkNmY2ZGVl
NTk1MjYxNjYuLmE5MjgzMDdhY2U2NTdkNWY2MzU3MjhmMzc3ZGE2MTM1MTc5MGEwNzMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzksNiArMjM5LDcgQEAKIAkJNDE4ODJGMDMyMTAxMEMw
RDAwMkZGMjg4IC8qIFByb2Nlc3NQcmVXYXJtaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4ODJGMDIyMTAxMEE3MDAwMkZGMjg4IC8qIFByb2Nl
c3NQcmVXYXJtaW5nLm1tICovOyB9OwogCQk0NDA3N0JCMTIzMTQ0QjUwMDAxNzlFMkQgLyogRGF0
YURldGVjdG9yc1Rlc3RJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDA3N0JCMDIzMTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rlc3RJ
T1MubW0gKi87IH07CiAJCTQ0MzNBMzk2MjA4MDQ0MTQwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1Rp
bWVvdXRUZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5t
bSAqLzsgfTsKKwkJNDQ4MTEwQzIyNTNGNDAzMDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVz
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0ODEx
MEMxMjUzRjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gKi87IH07CiAJCTQ0
ODE3QTJGMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0ODE3QTJF
MUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSAqLzsg
fTsKIAkJNDQ4RDdFNDcxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0aWVzVGVz
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhE
N0U0NTFFQTZDNTU1MDBFQ0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcCAqLzsg
fTsKIAkJNDRBQzhCQzYyMUQwMjQ1QTAwQ0FGQjM0IC8qIFJldGFpblB0ci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyOUIxNjE0ODZBRDY0MDA4
MTdEQTkgLyogUmV0YWluUHRyLmNwcCAqLzsgfTsKQEAgLTE5NTcsNiArMTk1OCw3IEBACiAJCTQ0
MDc3QkIwMjMxNDQ5RDIwMDE3OUUyRCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFEZXRlY3RvcnNUZXN0SU9TLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDJCQkY2ODFDOTFDQUQ5MDAxNzA4N0Yg
LyogUmVmTG9nZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
ZkxvZ2dlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzNBMzk1MjA4MDQ0
MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDgxMTBDMTI1M0Y0MDI0MDA5N0ZDMzMgLyogV2Vi
UHJlZmVyZW5jZXNUZXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV2ViUHJlZmVyZW5jZXNU
ZXN0Lm1tOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNUZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0aXZhdGVk
RWxlbWVudEluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBX
S1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDQ4RDdFNDUxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0aWVzVGVz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbnZpcm9ubWVudFV0
aWxpdGllc1Rlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE2MjJDMTE0
QTBFMkI2MDA0ODUxNUIgLyogV1RGU3RyaW5nVXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdURlN0cmluZ1V0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMzUyNSw2ICszNTI3LDE0IEBACiAJCQlwYXRoID0gV2ViQ29yZTsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0ODExMEJGMjUzRjNGOEQwMDk3RkMzMyAv
KiBjb2NvYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
NDQ4MTEwQzEyNTNGNDAyNDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSAqLywKKwkJ
CSk7CisJCQlwYXRoID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owog
CQk1MUVCMTI1RDI0Q0E2QjNFMDAwQ0IwMzAgLyogR2FtZXBhZE1hcHBpbmdzICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTQ2MDMsNiArNDYxMyw3IEBACiAJ
CUNEQzhFNDk4MUJDNzI4QUUwMDU5NEZFQyAvKiBXZWJLaXRMZWdhY3kgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0ODExMEJGMjUzRjNGOEQwMDk3RkMz
MyAvKiBjb2NvYSAqLywKIAkJCQlDREM4RTQ5OTFCQzcyOEMwMDA1OTRGRUMgLyogaW9zICovLAog
CQkJCTlCRDUxMTFBMUZFOEUxMDIwMEQyQjYzMCAvKiBtYWMgKi8sCiAJCQkpOwpAQCAtNTUwMiw2
ICs1NTEzLDcgQEAKIAkJCQk1Qzk3M0Y1QzFGNThFRjhCMDAzNTlDMjcgLyogV2ViR0xQb2xpY3ku
bW0gaW4gU291cmNlcyAqLywKIAkJCQkzMUU5QkRBMTI0N0Y0QzYyMDAyRTUxQTIgLyogV2ViR0xQ
cmVwYXJlRGlzcGxheU9uV2ViVGhyZWFkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQUIx
QTQxMUEyNDAwNDQ3QzRDIC8qIFdlYktpdEFnbm9zdGljVGVzdC5tbSBpbiBTb3VyY2VzICovLAor
CQkJCTQ0ODExMEMyMjUzRjQwMzAwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gaW4g
U291cmNlcyAqLywKIAkJCQk1MTcxNEVCODFDRjhDQTE3MDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tp
bGxJREJDbGVhbnVwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2NzcwMzQxQ0M4MDIyODAwRDQy
NUIxIC8qIFdlYlNjcmlwdE9iamVjdERlc2NyaXB0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTEyMEM4M0QxRTY3NTEyOTAwMjVCMjUwIC8qIFdlYnNpdGVEYXRhU3RvcmVDdXN0b21QYXRocy5t
bSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjAyZmIzODlhZmYwZTNmZGNmNjY5ODEzMGJhMmM1MjgxZTQwNjgwY2YKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9jb2NvYS9X
ZWJQcmVmZXJlbmNlc1Rlc3QubW0KQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBv
cnQgPFdlYktpdC9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJL
aXRBUEkgeworCitURVNUKFdlYktpdExlZ2FjeSwgQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUpCit7
CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5j
ZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAIk1pY3Jvc29mdC9jb20ubWljcm9zb2Z0Lk1lc3Nl
bmdlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFkaXVtWC5hZGl1bVgiKSk7
CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5j
ZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hbGllbnRlY2hub2xvZ3kuUHJvdGV1cyIp
KTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJl
bmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLkRhc2hjb2RlIikpOworICAg
IEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuaUNoYXQiKSk7CisgICAgRVhQRUNUX0VR
KFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5iYXJlYm9uZXMuYmJlZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJD
YWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5C
dW5kbGUoQCJjb20uYmFyZWJvbmVzLnRleHR3cmFuZ2xlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWlu
QnVuZGxlKEAiY29tLmJhcmVib25lcy55b2ppbWJvIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNo
ZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5k
bGUoQCJjb20uZXF1aW51eC5pU2FsZTQiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxE
b2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNv
bS5ncm93bC5ncm93bGZyYW1ld29yayIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERv
Y3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29t
LmludHJhcnRzLlBhbmRvcmFNYW4iKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1
bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5r
YXJlbGlhLlNhbmR2b3giKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZp
ZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5tYWNyb21h
dGVzLnRleHRtYXRlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3
ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ucmVhbG1hY3Nv
ZnR3YXJlLnJhcGlkd2VhdmVycHJvIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20u
cmVkLXN3ZWF0ZXIubWFyc2VkaXQiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1
bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS55
YWhvby5tZXNzZW5nZXIzIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRW
aWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJkZS5jb2Rpbmdt
b25rZXlzLlN1YkV0aGFFZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1l
bnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJmaS5rYXJw
cGluZW4uUHlybyIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2Vy
LCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiaW5mby5jb2xsb3F1eSIp
KTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJl
bmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAia3VuZ2Zvby50di5lY3RvIikpOworCisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuRGljdGlvbmFyeSIpKTsKKyAgICBFWFBF
Q1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5YY29kZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFp
bkJ1bmRsZShAImNvbS5hcHBsZS5oZWxwdmlld2VyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNo
ZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVu
ZGxlKEAiY29tLmN1bHR1cmVkY29kZS54eWxlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1v
ZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KEAiY29tLm1hY3JhYmJpdC5DU1NFZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
RG9jdW1lbnRCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAi
Y29tLnBhbmljLkNvZGEiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJy
b3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ucmFuY2hl
cm8uTmV0TmV3c1dpcmUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJy
b3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20udGhpbmtt
YWMuTmV3c0xpZmUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dz
ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJvcmcueGxpZmUuTmV3
c0ZpcmUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdl
YlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJ1ay5jby5vcGVuY29tbXVuaXR5
LnZpZW5uYTIiKSk7CisKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93
c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcDRtYWMu
S2lkc0Jyb3dzZXIiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJv
d3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHA0bWFj
LndLaW9zayIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2Vy
LCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmZyZWV2ZXJzZS5i
dW1wZXJjYXIiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nl
ciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5vbW5pZ3JvdXAu
T21uaVdlYjUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nl
ciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5zdW5yaXNlYnJv
d3Nlci5TdW5yaXNlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJy
b3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJuZXQuaG1kdC13
ZWIuU2hpaXJhIikpOworCisgICAgLy8gVGVzdCBidW5kbGUgaWRlbnRpZmllcnMgdGhhdCBhcmUg
bm90IGhhcmQtY29kZWQuCisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdl
ciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShuaWwpKTsKKyAgICBFWFBF
Q1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKEAiIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1l
bnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20iKSk7
CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5j
ZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5TYWZhcmkiKSk7CisgICAgRVhQ
RUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5TYWZhcmlUZWNobm9sb2d5UHJldmlldyIpKTsK
K30KKworfQo=
</data>
<flag name="commit-queue"
          id="428298"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411955</attachid>
            <date>2020-10-20 21:03:19 -0700</date>
            <delta_ts>2020-10-21 13:46:19 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-217960-20201020210731.patch</filename>
            <type>text/plain</type>
            <size>15917</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggOWVkZDJlZDBiNWMwYWU2NDE1MWRkOTQwOWFkYmU1ODUyYmU1MjkwZS4uOWM4NmZjNjc3YzM2
ODVjODlhYWI2NjQ0YWI2M2ZiM2ZjMWI1ZjQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTEwLTIwICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KCkgaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMTc5NjA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJL
aXQuZXhwOgorICAgICAgICAtIEV4cG9ydCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWlu
QnVuZGxlKCkgZm9yIHRlc3RpbmcuCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bToKKyAgICAgICAgKGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKToKKyAgICAgICAgKFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUpOgorICAgICAgICAtIFJlbmFtZSBjYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZSgpIHRvCisgICAgICAgICAgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZSgpIHRvIG1ha2UgdGVzdGFibGUuCisgICAgICAgIC0gQWRkIE5TU3RyaW5n
ICpidW5kbGVJZGVudGlmaWVyIGFyZ3VtZW50IHRvIG1ha2UgdGVzdGFibGUuCisgICAgICAgICgr
W1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgLSBDaGFuZ2UgdG8gY2FsbCBX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgYW5kCisgICAgICAgICAgcGFz
cyBtYWluIGJ1bmRsZSBpZGVudGlmaWVyIGFzIGFyZ3VtZW50LgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgIChXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKTogQWRkIGRlY2xhcmF0aW9uLgorCiAyMDIwLTEwLTE3ICBEYXZpZCBL
aWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1NDMw
KTogRml4IC1Xc3RyaW5nLWNvbmNhdGVuYXRpb24gd2FybmluZyBmcm9tIG9wZW4gc291cmNlIGNs
YW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQuZXhwIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViS2l0LmV4cAppbmRleCBjYTcxNDNlYjdhZmM4NTEyZGE1
OGZlNTY3MjJmYWE4NWFiZjAzYmIxLi4yYjAzZWNiZDE2YTNiMTVlYjQzMjM3ZWQxODYxNzM3MTkx
N2EyYWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQuZXhwCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5leHAKQEAgLTIzNyw2ICsyMzcsNyBA
QCBfV2ViUGx1Z0luQ29udGFpbmluZ0VsZW1lbnRLZXkKIF9XZWJQbHVnSW5Nb2RlS2V5CiBfV2Vi
UGx1Z0luU2hvdWxkTG9hZE1haW5SZXNvdXJjZUtleQogX1dlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbgorX1dlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZv
ck1haW5CdW5kbGUKIF9XZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbgog
X1dlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbgogX1dlYlByZWZlcmVuY2VzUmVtb3Zl
ZE5vdGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KaW5kZXggMmE3ZThlNGI3ZTQ1NDIxYzYwZTY1NjY0N2JjMzNhZjhiNjcy
ZTdlOC4uMWQ3YzhjNzZkN2QyYzQ4NTMwZjc4YTZlZmRmODczMDZkODEzYzg1MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC04
OCw3ICs4OCw3IEBAIHRlbXBsYXRlPHVuc2lnbmVkIHNpemU+IHN0YXRpYyBib29sIGNvbnRhaW5z
KGNvbnN0IGNoYXIqIGNvbnN0ICgmYXJyYXkpW3NpemVdLCBjCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1zdGF0aWMgV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSh2b2lkKQor
V2ViQ2FjaGVNb2RlbCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3Ry
aW5nICpidW5kbGVJZGVudGlmaWVyKQogewogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAg
ICAvLyBBcHBzIHRoYXQgcHJvYmFibHkgbmVlZCB0aGUgc21hbGwgc2V0dGluZwpAQCAtMTM5LDcg
KzEzOSw3IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZv
aWQpCiAgICAgICAgICAgICAibmV0LmhtZHQtd2ViLlNoaWlyYSIsCiAgICAgICAgIH07CiAKLSAg
ICAgICAgY29uc3QgY2hhciogYnVuZGxlSUQgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5k
bGVJZGVudGlmaWVyXSBVVEY4U3RyaW5nXTsKKyAgICAgICAgY29uc3QgY2hhciogYnVuZGxlSUQg
PSBbYnVuZGxlSWRlbnRpZmllciBVVEY4U3RyaW5nXTsKICAgICAgICAgaWYgKGNvbnRhaW5zKGRv
Y3VtZW50Vmlld2VySURzLCBidW5kbGVJRCkpCiAgICAgICAgICAgICByZXR1cm4gV2ViQ2FjaGVN
b2RlbERvY3VtZW50Vmlld2VyOwogICAgICAgICBpZiAoY29udGFpbnMoZG9jdW1lbnRCcm93c2Vy
SURzLCBidW5kbGVJRCkpCkBAIC0zOTEsNyArMzkxLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAg
ICAgICAgIEBZRVMsIFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNlS2V5
LAogICAgICAgICBAIjE4MDAiLCBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVy
dmFsS2V5LAogICAgICAgICBATk8sIFdlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5LAotICAgICAgICBAKGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkpLCBXZWJLaXRDYWNo
ZU1vZGVsUHJlZmVyZW5jZUtleSwKKyAgICAgICAgQChXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0pKSwg
V2ViS2l0Q2FjaGVNb2RlbFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBZRVMsIFdlYktpdFpvb21z
VGV4dE9ubHlQcmVmZXJlbmNlS2V5LAogICAgICAgICBAWUVTLCBXZWJLaXRGb3JjZVdlYkdMVXNl
c0xvd1Bvd2VyUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VQcmVIVE1MNVBh
cnNlclF1aXJrc0tleSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGE3M2EyNzA5MGIxMTgwZTRkMDhmMTM4
ZmExMjU2M2Y3OGNlM2Q3ODYuLmRmNTkzZDJiMzAzN2U1NGZhNmNmZmU2ZDMzODFlNTQ4YzVlNTQ1
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNzgsNiArNzgsMTQgQEAgZXh0ZXJuIE5TU3RyaW5nICpX
ZWJQcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb24gV0VCS0lUX0RFUFJFQ0FURURfTUFDKDEw
XzMsIDEKIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3Rp
ZmljYXRpb24gV0VCS0lUX0RFUFJFQ0FURURfTUFDKDEwXzMsIDEwXzE0KTsKIGV4dGVybiBOU1N0
cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9u
IFdFQktJVF9ERVBSRUNBVEVEX01BQygxMF81LCAxMF8xNCk7CiAKKyNpZmRlZiBfX2NwbHVzcGx1
cworZXh0ZXJuICJDIiB7CisjZW5kaWYKK1dlYkNhY2hlTW9kZWwgV2ViUHJlZmVyZW5jZXNDYWNo
ZU1vZGVsRm9yTWFpbkJ1bmRsZShOU1N0cmluZyAqYnVuZGxlSWRlbnRpZmllcik7CisjaWZkZWYg
X19jcGx1c3BsdXMKK30KKyNlbmRpZgorCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQ
cml2YXRlKQogCiAtIChCT09MKWlzRE5TUHJlZmV0Y2hpbmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdiYmEyYWJhM2QzYjM5ZDk4
YThmZDJjMzBhZmZkMzgzOWQ4NDZlZmEuLmNmZTJjOTRmYjdhNjUyMGU1OTc3NDYxZjZiMTUwNDZk
MmJkN2NlNTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0xMC0yMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZSgpIGluIFdlYktpdExlZ2FjeQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjE3OTYw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgIC0gQWRkIFdlYlByZWZlcmVuY2VzVGVzdC5tbSB0byBwcm9qZWN0LgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2NvY29hL1dlYlByZWZlcmVuY2VzVGVzdC5t
bTogQWRkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIC0gQWRkIHRl
c3QgZm9yIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKS4KKwogMjAyMC0x
MC0xNyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0ZsYXRwYWsgU0RLXSBmbGF0cGFrdXRpbHMucHkgcmVwb3J0cyAiS2V5RXJyb3I6ICdnY2MnIiBl
cnJvciBpZiB1c2luZyB3aXRoIGljZWNjIGFuZCB0b29sY2hhaW5zIGFyZW4ndCBnZW5lcmF0ZWQg
eWV0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQzOTRjOTc2YmZiMWYyZDU4MTU3ODg3YjNk
NmY2ZGVlNTk1MjYxNjYuLmE5MjgzMDdhY2U2NTdkNWY2MzU3MjhmMzc3ZGE2MTM1MTc5MGEwNzMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzksNiArMjM5LDcgQEAKIAkJNDE4ODJGMDMy
MTAxMEMwRDAwMkZGMjg4IC8qIFByb2Nlc3NQcmVXYXJtaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4ODJGMDIyMTAxMEE3MDAwMkZGMjg4IC8q
IFByb2Nlc3NQcmVXYXJtaW5nLm1tICovOyB9OwogCQk0NDA3N0JCMTIzMTQ0QjUwMDAxNzlFMkQg
LyogRGF0YURldGVjdG9yc1Rlc3RJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NDA3N0JCMDIzMTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVjdG9y
c1Rlc3RJT1MubW0gKi87IH07CiAJCTQ0MzNBMzk2MjA4MDQ0MTQwMDkxRUQ1NyAvKiBTeW5jaHJv
bm91c1RpbWVvdXRUZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ0MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRU
ZXN0cy5tbSAqLzsgfTsKKwkJNDQ4MTEwQzIyNTNGNDAzMDAwOTdGQzMzIC8qIFdlYlByZWZlcmVu
Y2VzVGVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0ODExMEMxMjUzRjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gKi87IH07
CiAJCTQ0ODE3QTJGMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50
SW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
ODE3QTJFMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5t
bSAqLzsgfTsKIAkJNDQ4RDdFNDcxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0
aWVzVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NDhEN0U0NTFFQTZDNTU1MDBFQ0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNw
cCAqLzsgfTsKIAkJNDRBQzhCQzYyMUQwMjQ1QTAwQ0FGQjM0IC8qIFJldGFpblB0ci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyOUIxNjE0ODZB
RDY0MDA4MTdEQTkgLyogUmV0YWluUHRyLmNwcCAqLzsgfTsKQEAgLTE5NTcsNiArMTk1OCw3IEBA
CiAJCTQ0MDc3QkIwMjMxNDQ5RDIwMDE3OUUyRCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFEZXRlY3RvcnNUZXN0
SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDJCQkY2ODFDOTFDQUQ5MDAx
NzA4N0YgLyogUmVmTG9nZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlZkxvZ2dlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzNBMzk1
MjA4MDQ0MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDgxMTBDMTI1M0Y0MDI0MDA5N0ZDMzMg
LyogV2ViUHJlZmVyZW5jZXNUZXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV2ViUHJlZmVy
ZW5jZXNUZXN0Lm1tOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNUZXN0Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0
aXZhdGVkRWxlbWVudEluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDQ4RDdFNDUxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0
aWVzVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbnZpcm9u
bWVudFV0aWxpdGllc1Rlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE2
MjJDMTE0QTBFMkI2MDA0ODUxNUIgLyogV1RGU3RyaW5nVXRpbGl0aWVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdURlN0cmluZ1V0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMzUyNSw2ICszNTI3LDE0IEBACiAJCQlwYXRoID0gV2ViQ29yZTsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0ODExMEJGMjUzRjNGOEQwMDk3
RkMzMyAvKiBjb2NvYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJNDQ4MTEwQzEyNTNGNDAyNDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSAq
LywKKwkJCSk7CisJCQlwYXRoID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OwogCQk1MUVCMTI1RDI0Q0E2QjNFMDAwQ0IwMzAgLyogR2FtZXBhZE1hcHBpbmdzICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTQ2MDMsNiArNDYxMyw3
IEBACiAJCUNEQzhFNDk4MUJDNzI4QUUwMDU5NEZFQyAvKiBXZWJLaXRMZWdhY3kgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0ODExMEJGMjUzRjNGOEQw
MDk3RkMzMyAvKiBjb2NvYSAqLywKIAkJCQlDREM4RTQ5OTFCQzcyOEMwMDA1OTRGRUMgLyogaW9z
ICovLAogCQkJCTlCRDUxMTFBMUZFOEUxMDIwMEQyQjYzMCAvKiBtYWMgKi8sCiAJCQkpOwpAQCAt
NTUwMiw2ICs1NTEzLDcgQEAKIAkJCQk1Qzk3M0Y1QzFGNThFRjhCMDAzNTlDMjcgLyogV2ViR0xQ
b2xpY3kubW0gaW4gU291cmNlcyAqLywKIAkJCQkzMUU5QkRBMTI0N0Y0QzYyMDAyRTUxQTIgLyog
V2ViR0xQcmVwYXJlRGlzcGxheU9uV2ViVGhyZWFkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0ND
RTdFQUIxQTQxMUEyNDAwNDQ3QzRDIC8qIFdlYktpdEFnbm9zdGljVGVzdC5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCTQ0ODExMEMyMjUzRjQwMzAwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3Qu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTcxNEVCODFDRjhDQTE3MDA0NzIzQzQgLyogV2ViUHJv
Y2Vzc0tpbGxJREJDbGVhbnVwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2NzcwMzQxQ0M4MDIy
ODAwRDQyNUIxIC8qIFdlYlNjcmlwdE9iamVjdERlc2NyaXB0aW9uLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTEyMEM4M0QxRTY3NTEyOTAwMjVCMjUwIC8qIFdlYnNpdGVEYXRhU3RvcmVDdXN0b21Q
YXRocy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1t
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAyZmIzODlhZmYwZTNmZGNmNjY5ODEzMGJhMmM1MjgxZTQwNjgwY2YKLS0t
IC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9j
b2NvYS9XZWJQcmVmZXJlbmNlc1Rlc3QubW0KQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
KyNpbXBvcnQgPFdlYktpdC9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaD4KKworbmFtZXNwYWNlIFRl
c3RXZWJLaXRBUEkgeworCitURVNUKFdlYktpdExlZ2FjeSwgQ2FjaGVNb2RlbEZvck1haW5CdW5k
bGUpCit7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJl
ZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAIk1pY3Jvc29mdC9jb20ubWljcm9zb2Z0
Lk1lc3NlbmdlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2Vy
LCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFkaXVtWC5hZGl1
bVgiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJl
ZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hbGllbnRlY2hub2xvZ3kuUHJv
dGV1cyIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLkRhc2hjb2RlIikp
OworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVu
Y2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuaUNoYXQiKSk7CisgICAgRVhQ
RUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5iYXJlYm9uZXMuYmJlZGl0IikpOworICAgIEVYUEVDVF9F
UShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZv
ck1haW5CdW5kbGUoQCJjb20uYmFyZWJvbmVzLnRleHR3cmFuZ2xlciIpKTsKKyAgICBFWFBFQ1Rf
RVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKEAiY29tLmJhcmVib25lcy55b2ppbWJvIikpOworICAgIEVYUEVDVF9FUShX
ZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1h
aW5CdW5kbGUoQCJjb20uZXF1aW51eC5pU2FsZTQiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAImNvbS5ncm93bC5ncm93bGZyYW1ld29yayIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KEAiY29tLmludHJhcnRzLlBhbmRvcmFNYW4iKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9k
ZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShA
ImNvbS5rYXJlbGlhLlNhbmR2b3giKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1
bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5t
YWNyb21hdGVzLnRleHRtYXRlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1l
bnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ucmVh
bG1hY3NvZnR3YXJlLnJhcGlkd2VhdmVycHJvIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1v
ZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
QCJjb20ucmVkLXN3ZWF0ZXIubWFyc2VkaXQiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9k
ZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShA
ImNvbS55YWhvby5tZXNzZW5nZXIzIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJkZS5j
b2Rpbmdtb25rZXlzLlN1YkV0aGFFZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
RG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJm
aS5rYXJwcGluZW4uUHlybyIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50
Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiaW5mby5jb2xs
b3F1eSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAia3VuZ2Zvby50di5lY3RvIikpOwor
CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVu
Y2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuRGljdGlvbmFyeSIpKTsKKyAg
ICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5YY29kZSIpKTsKKyAgICBFWFBFQ1Rf
RVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5oZWxwdmlld2VyIikpOworICAgIEVYUEVDVF9FUShX
ZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKEAiY29tLmN1bHR1cmVkY29kZS54eWxlIikpOworICAgIEVYUEVDVF9FUShXZWJD
YWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWlu
QnVuZGxlKEAiY29tLm1hY3JhYmJpdC5DU1NFZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNo
ZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVu
ZGxlKEAiY29tLnBhbmljLkNvZGEiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1
bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20u
cmFuY2hlcm8uTmV0TmV3c1dpcmUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1
bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20u
dGhpbmttYWMuTmV3c0xpZmUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVu
dEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJvcmcueGxp
ZmUuTmV3c0ZpcmUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dz
ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJ1ay5jby5vcGVuY29t
bXVuaXR5LnZpZW5uYTIiKSk7CisKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbFByaW1hcnlX
ZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFw
cDRtYWMuS2lkc0Jyb3dzZXIiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5
V2ViQnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5h
cHA0bWFjLndLaW9zayIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJC
cm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmZyZWV2
ZXJzZS5idW1wZXJjYXIiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2Vi
QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5vbW5p
Z3JvdXAuT21uaVdlYjUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2Vi
QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5zdW5y
aXNlYnJvd3Nlci5TdW5yaXNlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsUHJpbWFy
eVdlYkJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJuZXQu
aG1kdC13ZWIuU2hpaXJhIikpOworCisgICAgLy8gVGVzdCBidW5kbGUgaWRlbnRpZmllcnMgdGhh
dCBhcmUgbm90IGhhcmQtY29kZWQuCisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVu
dFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShuaWwpKTsKKyAg
ICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0Nh
Y2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
RG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJj
b20iKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJl
ZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5TYWZhcmkiKSk7Cisg
ICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5TYWZhcmlUZWNobm9sb2d5UHJldmll
dyIpKTsKK30KKworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412025</attachid>
            <date>2020-10-21 13:46:20 -0700</date>
            <delta_ts>2020-10-21 13:48:16 -0700</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-217960-20201021135039.patch</filename>
            <type>text/plain</type>
            <size>18892</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggOWVkZDJlZDBiNWMwYWU2NDE1MWRkOTQwOWFkYmU1ODUyYmU1MjkwZS4uYTk3MjJkOTk3ZjEw
YTdjMTlmMmIyYzhjZTY0YzQ2ZDVhOWIzYmQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTEwLTIxICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KCkgaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMTc5NjA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWc6CisgICAgICAgIChPVEhFUl9UQVBJX0ZM
QUdTW3Nkaz1pcGhvbmUqXSk6CisgICAgICAgIC0gQWRkIC1leHRyYS1wcml2YXRlLWhlYWRlciBh
cmd1bWVudCB0byBkZWNsYXJlIGZ1bmN0aW9ucyBvbmx5CisgICAgICAgICAgZXhwb3J0ZWQgZm9y
IHRlc3RpbmcgcHVycG9zZXMuCisgICAgICAgICogSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5n
Lmg6IEFkZC4KKyAgICAgICAgLSBEZWNsYXJlIGZ1bmN0aW9ucyBleHBvcnRlZCBmb3IgdGVzdGlu
ZyBvbmx5LgorICAgICAgICAqIFdlYktpdC5leHA6CisgICAgICAgIC0gRXhwb3J0IFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKSBmb3IgdGVzdGluZy4KKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoY2FjaGVNb2RlbEZvck1haW5CdW5k
bGUpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSk6Cisg
ICAgICAgIC0gUmVuYW1lIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgdG8KKyAgICAgICAgICBX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgdG8gbWFrZSB0ZXN0YWJsZS4K
KyAgICAgICAgLSBBZGQgTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIgYXJndW1lbnQgdG8gbWFr
ZSB0ZXN0YWJsZS4KKyAgICAgICAgLSBEZWNsYXJlIG5ldyBtZXRob2QgdG8gaGF2ZSAnZXh0ZXJu
ICJDIicgY2FsbGluZyBjb252ZW50aW9uLgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0
aWFsaXplXSk6CisgICAgICAgIC0gQ2hhbmdlIHRvIGNhbGwgV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZSgpIGFuZAorICAgICAgICAgIHBhc3MgbWFpbiBidW5kbGUgaWRlbnRp
ZmllciBhcyBhcmd1bWVudC4KKwogMjAyMC0xMC0xNyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTQzMCk6IEZpeCAtV3N0cmluZy1j
b25jYXRlbmF0aW9uIHdhcm5pbmcgZnJvbSBvcGVuIHNvdXJjZSBjbGFuZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5
LnhjY29uZmlnCmluZGV4IGVhMDA5NTcxZjU4YzdhYzJlNGNlYzBmOGNhY2ZlM2MyOGIyNTRjYWIu
LjFkZGU1NWIyNmQ0MThmNzdkNjc1NmEzZjYxMWY1ZmY5MTFhMTAxMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdh
Y3kueGNjb25maWcKQEAgLTE0OSw1ICsxNDksNSBAQCBXS19JTlNUQUxMX1BBVEhfUFJFRklYX0RF
UExPWU1FTlRfWUVTX01BQ09TX1NJTkNFXzEwMTVfVVNFX1NUQUdJTkdfSU5TVEFMTF9QQVRIXwog
U1VQUE9SVFNfVEVYVF9CQVNFRF9BUElbc2RrPWlwaG9uZSpdID0gWUVTOwogU1VQUE9SVFNfVEVY
VF9CQVNFRF9BUElbc2RrPWFwcGxldHYqXSA9IE5POwogU1VQUE9SVFNfVEVYVF9CQVNFRF9BUElb
c2RrPXdhdGNoKl0gPSBOTzsKLU9USEVSX1RBUElfRkxBR1Nbc2RrPWlwaG9uZSpdID0gLXggb2Jq
ZWN0aXZlLWMrKyAtc3RkPWdudSsrMXogLWZuby1ydHRpIC1EUkVMRUFTRV9XSVRIT1VUX09QVElN
SVpBVElPTlMgLWV4Y2x1ZGUtcHJpdmF0ZS1oZWFkZXIgJChCVUlMVF9QUk9EVUNUU19ESVIpLyQo
UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIKS9OU1VSTERvd25sb2FkU1BJLmg7CitPVEhFUl9U
QVBJX0ZMQUdTW3Nkaz1pcGhvbmUqXSA9IC14IG9iamVjdGl2ZS1jKysgLXN0ZD1nbnUrKzF6IC1m
bm8tcnR0aSAtRFJFTEVBU0VfV0lUSE9VVF9PUFRJTUlaQVRJT05TIC1leGNsdWRlLXByaXZhdGUt
aGVhZGVyICQoQlVJTFRfUFJPRFVDVFNfRElSKS8kKFBSSVZBVEVfSEVBREVSU19GT0xERVJfUEFU
SCkvTlNVUkxEb3dubG9hZFNQSS5oIC1leHRyYS1wcml2YXRlLWhlYWRlciAkKFNPVVJDRV9ST09U
KS9tYWMvSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5nLmg7CiBUQVBJX1ZFUklGWV9NT0RFW3Nk
az1pcGhvbmUqXSA9IFBlZGFudGljOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5nLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9JbnN0YWxsQVBJRXhwb3J0c0ZvclRlc3RpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTBiZGUyNDk3YTIz
MzM3YTk3ZTk0NTc1MDE3MGY1NTcxOWEzZjVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5nLmgKQEAgLTAsMCArMSwz
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+Cisj
aW5jbHVkZSA8V2ViS2l0TGVnYWN5L1dlYlByZWZlcmVuY2VzLmg+CisKKyNpZmRlZiBfX2NwbHVz
cGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKK1dlYkNhY2hlTW9kZWwgV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShOU1N0cmluZyAqYnVuZGxlSWRlbnRpZmllcik7CisjaWZk
ZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViS2l0LmV4cCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5leHAKaW5k
ZXggY2E3MTQzZWI3YWZjODUxMmRhNThmZTU2NzIyZmFhODVhYmYwM2JiMS4uMmIwM2VjYmQxNmEz
YjE1ZWI0MzIzN2VkMTg2MTczNzE5MTdhMmFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViS2l0LmV4cAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQu
ZXhwCkBAIC0yMzcsNiArMjM3LDcgQEAgX1dlYlBsdWdJbkNvbnRhaW5pbmdFbGVtZW50S2V5CiBf
V2ViUGx1Z0luTW9kZUtleQogX1dlYlBsdWdJblNob3VsZExvYWRNYWluUmVzb3VyY2VLZXkKIF9X
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24KK19XZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlCiBfV2ViUHJlZmVyZW5jZXNDaGFuZ2Vk
SW50ZXJuYWxOb3RpZmljYXRpb24KIF9XZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24K
IF9XZWJQcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDJhN2U4ZTRiN2U0NTQy
MWM2MGU2NTY2NDdiYzMzYWY4YjY3MmU3ZTguLjBmM2MxODQ0MmNmZDcyM2E4ZmYwODA4NjIzZjkx
NDdkYzQzNDYyZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQpAQCAtNTAsNiArNTAsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9UZXh0
RW5jb2RpbmdSZWdpc3RyeS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlSklUT3BlcmF0aW9u
cy5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KKyNpbXBvcnQgPHd0Zi9D
b21waWxlci5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CkBAIC04OCw3ICs4OSwxMiBAQCB0ZW1w
bGF0ZTx1bnNpZ25lZCBzaXplPiBzdGF0aWMgYm9vbCBjb250YWlucyhjb25zdCBjaGFyKiBjb25z
dCAoJmFycmF5KVtzaXplXSwgYwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIFdlYkNh
Y2hlTW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9pZCkKK1dURl9FWFRFUk5fQ19CRUdJ
TgorLy8gU2VlIGFsc28gbWFjL0luc3RhbGxBUElFeHBvcnRzRm9yVGVzdGluZy5oLgorV2ViQ2Fj
aGVNb2RlbCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3RyaW5nICpi
dW5kbGVJZGVudGlmaWVyKTsKK1dURl9FWFRFUk5fQ19FTkQKKworV2ViQ2FjaGVNb2RlbCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3RyaW5nICpidW5kbGVJZGVudGlm
aWVyKQogewogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICAvLyBBcHBzIHRoYXQgcHJv
YmFibHkgbmVlZCB0aGUgc21hbGwgc2V0dGluZwpAQCAtMTM5LDcgKzE0NSw3IEBAIHN0YXRpYyBX
ZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgICAgICAgICAi
bmV0LmhtZHQtd2ViLlNoaWlyYSIsCiAgICAgICAgIH07CiAKLSAgICAgICAgY29uc3QgY2hhciog
YnVuZGxlSUQgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBVVEY4
U3RyaW5nXTsKKyAgICAgICAgY29uc3QgY2hhciogYnVuZGxlSUQgPSBbYnVuZGxlSWRlbnRpZmll
ciBVVEY4U3RyaW5nXTsKICAgICAgICAgaWYgKGNvbnRhaW5zKGRvY3VtZW50Vmlld2VySURzLCBi
dW5kbGVJRCkpCiAgICAgICAgICAgICByZXR1cm4gV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2Vy
OwogICAgICAgICBpZiAoY29udGFpbnMoZG9jdW1lbnRCcm93c2VySURzLCBidW5kbGVJRCkpCkBA
IC0zOTEsNyArMzk3LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgICAgIEBZRVMsIFdlYktp
dEFsbG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNlS2V5LAogICAgICAgICBAIjE4MDAi
LCBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVydmFsS2V5LAogICAgICAgICBA
Tk8sIFdlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBA
KGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkpLCBXZWJLaXRDYWNoZU1vZGVsUHJlZmVyZW5jZUtl
eSwKKyAgICAgICAgQChXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKFtbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0pKSwgV2ViS2l0Q2FjaGVNb2RlbFBy
ZWZlcmVuY2VLZXksCiAgICAgICAgIEBZRVMsIFdlYktpdFpvb21zVGV4dE9ubHlQcmVmZXJlbmNl
S2V5LAogICAgICAgICBAWUVTLCBXZWJLaXRGb3JjZVdlYkdMVXNlc0xvd1Bvd2VyUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleSwKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3YmJhMmFi
YTNkM2IzOWQ5OGE4ZmQyYzMwYWZmZDM4MzlkODQ2ZWZhLi5lMzI3NGFmMWVhMWY4MjE3YjFiMGQx
MmNkODYwZTVlNTQ0MjA1ODNkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMTAtMjEgIERhdmlkIEtpbHplciAg
PGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgdGVzdCBmb3IgY2FjaGVNb2RlbEZv
ck1haW5CdW5kbGUoKSBpbiBXZWJLaXRMZWdhY3kKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzIxNzk2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAtIEFkZCBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gdG8gcHJvamVjdC4KKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9jb2NvYS9XZWJQcmVmZXJl
bmNlc1Rlc3QubW06IEFkZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAtIEFkZCB0ZXN0IGZvciBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCku
CisKIDIwMjAtMTAtMTcgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtGbGF0cGFrIFNES10gZmxhdHBha3V0aWxzLnB5IHJlcG9ydHMgIktleUVycm9y
OiAnZ2NjJyIgZXJyb3IgaWYgdXNpbmcgd2l0aCBpY2VjYyBhbmQgdG9vbGNoYWlucyBhcmVuJ3Qg
Z2VuZXJhdGVkIHlldApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0Mzk0Yzk3NmJmYjFmMmQ1
ODE1Nzg4N2IzZDZmNmRlZTU5NTI2MTY2Li5hOTI4MzA3YWNlNjU3ZDVmNjM1NzI4ZjM3N2RhNjEz
NTE3OTBhMDczIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjM5LDYgKzIzOSw3IEBACiAJ
CTQxODgyRjAzMjEwMTBDMEQwMDJGRjI4OCAvKiBQcm9jZXNzUHJlV2FybWluZy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODgyRjAyMjEwMTBBNzAw
MDJGRjI4OCAvKiBQcm9jZXNzUHJlV2FybWluZy5tbSAqLzsgfTsKIAkJNDQwNzdCQjEyMzE0NEI1
MDAwMTc5RTJEIC8qIERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQwNzdCQjAyMzE0NDlEMjAwMTc5RTJEIC8qIERh
dGFEZXRlY3RvcnNUZXN0SU9TLm1tICovOyB9OwogCQk0NDMzQTM5NjIwODA0NDE0MDA5MUVENTcg
LyogU3luY2hyb25vdXNUaW1lb3V0VGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NDMzQTM5NTIwODA0NDEzMDA5MUVENTcgLyogU3luY2hyb25v
dXNUaW1lb3V0VGVzdHMubW0gKi87IH07CisJCTQ0ODExMEMyMjUzRjQwMzAwMDk3RkMzMyAvKiBX
ZWJQcmVmZXJlbmNlc1Rlc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDgxMTBDMTI1M0Y0MDI0MDA5N0ZDMzMgLyogV2ViUHJlZmVyZW5jZXNUZXN0
Lm1tICovOyB9OwogCQk0NDgxN0EyRjFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0aXZh
dGVkRWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0aXZhdGVkRWxl
bWVudEluZm8ubW0gKi87IH07CiAJCTQ0OEQ3RTQ3MUVBNkM1NTUwMEVDQzc1NiAvKiBFbnZpcm9u
bWVudFV0aWxpdGllc1Rlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDQ4RDdFNDUxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0
aWVzVGVzdC5jcHAgKi87IH07CiAJCTQ0QUM4QkM2MjFEMDI0NUEwMENBRkIzNCAvKiBSZXRhaW5Q
dHIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMw
MjlCMTYxNDg2QUQ2NDAwODE3REE5IC8qIFJldGFpblB0ci5jcHAgKi87IH07CkBAIC0xOTU3LDYg
KzE5NTgsNyBAQAogCQk0NDA3N0JCMDIzMTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rl
c3RJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhRGV0
ZWN0b3JzVGVzdElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQyQkJGNjgx
QzkxQ0FEOTAwMTcwODdGIC8qIFJlZkxvZ2dlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSZWZMb2dnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NDMzQTM5NTIwODA0NDEzMDA5MUVENTcgLyogU3luY2hyb25vdXNUaW1lb3V0VGVzdHMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeW5jaHJvbm91c1RpbWVv
dXRUZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ4MTEwQzEyNTNGNDAy
NDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IFdlYlByZWZlcmVuY2VzVGVzdC5tbTsgcGF0aCA9IFdlYlByZWZlcmVuY2VzVGVzdC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4MTdBMkUxRjA0ODZCRjAwMDAzODEwIC8qIFdL
UmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV0tSZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEluZm8ubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0OEQ3RTQ1MUVBNkM1NTUwMEVDQzc1NiAvKiBFbnZpcm9u
bWVudFV0aWxpdGllc1Rlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDRBNjIyQzExNEEwRTJCNjAwNDg1MTVCIC8qIFdURlN0cmluZ1V0aWxpdGllcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXVEZTdHJpbmdVdGlsaXRpZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM1MjUsNiArMzUyNywxNCBAQAogCQkJcGF0aCA9
IFdlYkNvcmU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0NDgxMTBCRjI1
M0YzRjhEMDA5N0ZDMzMgLyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQ0ODExMEMxMjUzRjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNl
c1Rlc3QubW0gKi8sCisJCQkpOworCQkJcGF0aCA9IGNvY29hOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKIAkJNTFFQjEyNUQyNENBNkIzRTAwMENCMDMwIC8qIEdhbWVwYWRNYXBw
aW5ncyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC00NjAz
LDYgKzQ2MTMsNyBAQAogCQlDREM4RTQ5ODFCQzcyOEFFMDA1OTRGRUMgLyogV2ViS2l0TGVnYWN5
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0NDgxMTBC
RjI1M0YzRjhEMDA5N0ZDMzMgLyogY29jb2EgKi8sCiAJCQkJQ0RDOEU0OTkxQkM3MjhDMDAwNTk0
RkVDIC8qIGlvcyAqLywKIAkJCQk5QkQ1MTExQTFGRThFMTAyMDBEMkI2MzAgLyogbWFjICovLAog
CQkJKTsKQEAgLTU1MDIsNiArNTUxMyw3IEBACiAJCQkJNUM5NzNGNUMxRjU4RUY4QjAwMzU5QzI3
IC8qIFdlYkdMUG9saWN5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFFOUJEQTEyNDdGNEM2MjAw
MkU1MUEyIC8qIFdlYkdMUHJlcGFyZURpc3BsYXlPbldlYlRocmVhZC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RUFCMUE0MTFBMjQwMDQ0N0M0QyAvKiBXZWJLaXRBZ25vc3RpY1Rlc3QubW0g
aW4gU291cmNlcyAqLywKKwkJCQk0NDgxMTBDMjI1M0Y0MDMwMDA5N0ZDMzMgLyogV2ViUHJlZmVy
ZW5jZXNUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3MTRFQjgxQ0Y4Q0ExNzAwNDcyM0M0
IC8qIFdlYlByb2Nlc3NLaWxsSURCQ2xlYW51cC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzNjc3
MDM0MUNDODAyMjgwMEQ0MjVCMSAvKiBXZWJTY3JpcHRPYmplY3REZXNjcmlwdGlvbi5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTUxMjBDODNEMUU2NzUxMjkwMDI1QjI1MCAvKiBXZWJzaXRlRGF0YVN0
b3JlQ3VzdG9tUGF0aHMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2NvY29hL1dlYlByZWZlcmVuY2VzVGVzdC5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2NvY29hL1dlYlByZWZlcmVu
Y2VzVGVzdC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmU0ODFhYTI2ZmE3NTBiMWM2Y2ZiOTBiNDM2OWNjNzk1
YThjZjAwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tCkBAIC0wLDAgKzEsODYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3Vu
ZGF0aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViUHJlZmVyZW5jZXMuaD4KKworV1RGX0VYVEVS
Tl9DX0JFR0lOCitXZWJDYWNoZU1vZGVsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5C
dW5kbGUoTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIpOworV1RGX0VYVEVSTl9DX0VORAorCitu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1QoV2ViS2l0TGVnYWN5LCBDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZSkKK3sKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmll
d2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiTWljcm9zb2Z0L2Nv
bS5taWNyb3NvZnQuTWVzc2VuZ2VyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20u
YWRpdW1YLmFkaXVtWCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmll
d2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFsaWVudGVj
aG5vbG9neS5Qcm90ZXVzIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRW
aWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUu
RGFzaGNvZGUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwg
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5pQ2hhdCIp
KTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJl
bmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmJhcmVib25lcy5iYmVkaXQiKSk7Cisg
ICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5iYXJlYm9uZXMudGV4dHdyYW5nbGVyIikpOwor
ICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2Vz
Q2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYmFyZWJvbmVzLnlvamltYm8iKSk7CisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNo
ZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5lcXVpbnV4LmlTYWxlNCIpKTsKKyAgICBFWFBFQ1Rf
RVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKEAiY29tLmdyb3dsLmdyb3dsZnJhbWV3b3JrIikpOworICAgIEVYUEVDVF9F
UShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZv
ck1haW5CdW5kbGUoQCJjb20uaW50cmFydHMuUGFuZG9yYU1hbiIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKEAiY29tLmthcmVsaWEuU2FuZHZveCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVu
ZGxlKEAiY29tLm1hY3JvbWF0ZXMudGV4dG1hdGUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAImNvbS5yZWFsbWFjc29mdHdhcmUucmFwaWR3ZWF2ZXJwcm8iKSk7CisgICAgRVhQRUNUX0VR
KFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5yZWQtc3dlYXRlci5tYXJzZWRpdCIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKEAiY29tLnlhaG9vLm1lc3NlbmdlcjMiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNh
Y2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImRlLmNvZGluZ21vbmtleXMuU3ViRXRoYUVkaXQiKSk7CisgICAgRVhQRUNUX0VRKFdl
YkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFp
bkJ1bmRsZShAImZpLmthcnBwaW5lbi5QeXJvIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1v
ZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
QCJpbmZvLmNvbGxvcXV5IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRW
aWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJrdW5nZm9vLnR2
LmVjdG8iKSk7CisKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nlciwg
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5EaWN0aW9u
YXJ5IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLlhjb2RlIikpOwor
ICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQcmVmZXJlbmNl
c0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLmhlbHB2aWV3ZXIiKSk7CisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uY3VsdHVyZWRjb2RlLnh5bGUiKSk7CisgICAgRVhQ
RUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVN
b2RlbEZvck1haW5CdW5kbGUoQCJjb20ubWFjcmFiYml0LkNTU0VkaXQiKSk7CisgICAgRVhQRUNU
X0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bEZvck1haW5CdW5kbGUoQCJjb20ucGFuaWMuQ29kYSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImNvbS5yYW5jaGVyby5OZXROZXdzV2lyZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImNvbS50aGlua21hYy5OZXdzTGlmZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAIm9yZy54bGlmZS5OZXdzRmlyZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERv
Y3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAInVr
LmNvLm9wZW5jb21tdW5pdHkudmllbm5hMiIpKTsKKworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1v
ZGVsUHJpbWFyeVdlYkJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5k
bGUoQCJjb20uYXBwNG1hYy5LaWRzQnJvd3NlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbFByaW1hcnlXZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVu
ZGxlKEAiY29tLmFwcDRtYWMud0tpb3NrIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
UHJpbWFyeVdlYkJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
QCJjb20uZnJlZXZlcnNlLmJ1bXBlcmNhciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2Rl
bFByaW1hcnlXZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KEAiY29tLm9tbmlncm91cC5PbW5pV2ViNSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2Rl
bFByaW1hcnlXZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KEAiY29tLnN1bnJpc2Vicm93c2VyLlN1bnJpc2UiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAIm5ldC5obWR0LXdlYi5TaGlpcmEiKSk7CisKKyAgICAvLyBUZXN0IGJ1bmRsZSBpZGVu
dGlmaWVycyB0aGF0IGFyZSBub3QgaGFyZC1jb2RlZC4KKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KG5pbCkpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlBy
ZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCIiKSk7CisgICAgRVhQRUNUX0VRKFdl
YkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFp
bkJ1bmRsZShAImNvbSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmll
d2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLlNh
ZmFyaSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLlNhZmFyaVRlY2hu
b2xvZ3lQcmV2aWV3IikpOworfQorCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412027</attachid>
            <date>2020-10-21 13:48:18 -0700</date>
            <delta_ts>2020-10-21 13:50:14 -0700</delta_ts>
            <desc>Patch v5</desc>
            <filename>bug-217960-20201021135237.patch</filename>
            <type>text/plain</type>
            <size>18892</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggOWVkZDJlZDBiNWMwYWU2NDE1MWRkOTQwOWFkYmU1ODUyYmU1MjkwZS4uYTk3MjJkOTk3ZjEw
YTdjMTlmMmIyYzhjZTY0YzQ2ZDVhOWIzYmQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTEwLTIxICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KCkgaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMTc5NjA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWc6CisgICAgICAgIChPVEhFUl9UQVBJX0ZM
QUdTW3Nkaz1pcGhvbmUqXSk6CisgICAgICAgIC0gQWRkIC1leHRyYS1wcml2YXRlLWhlYWRlciBh
cmd1bWVudCB0byBkZWNsYXJlIGZ1bmN0aW9ucyBvbmx5CisgICAgICAgICAgZXhwb3J0ZWQgZm9y
IHRlc3RpbmcgcHVycG9zZXMuCisgICAgICAgICogSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5n
Lmg6IEFkZC4KKyAgICAgICAgLSBEZWNsYXJlIGZ1bmN0aW9ucyBleHBvcnRlZCBmb3IgdGVzdGlu
ZyBvbmx5LgorICAgICAgICAqIFdlYktpdC5leHA6CisgICAgICAgIC0gRXhwb3J0IFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKSBmb3IgdGVzdGluZy4KKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoY2FjaGVNb2RlbEZvck1haW5CdW5k
bGUpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSk6Cisg
ICAgICAgIC0gUmVuYW1lIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgdG8KKyAgICAgICAgICBX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgdG8gbWFrZSB0ZXN0YWJsZS4K
KyAgICAgICAgLSBBZGQgTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIgYXJndW1lbnQgdG8gbWFr
ZSB0ZXN0YWJsZS4KKyAgICAgICAgLSBEZWNsYXJlIG5ldyBtZXRob2QgdG8gaGF2ZSAnZXh0ZXJu
ICJDIicgY2FsbGluZyBjb252ZW50aW9uLgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0
aWFsaXplXSk6CisgICAgICAgIC0gQ2hhbmdlIHRvIGNhbGwgV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZSgpIGFuZAorICAgICAgICAgIHBhc3MgbWFpbiBidW5kbGUgaWRlbnRp
ZmllciBhcyBhcmd1bWVudC4KKwogMjAyMC0xMC0xNyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTQzMCk6IEZpeCAtV3N0cmluZy1j
b25jYXRlbmF0aW9uIHdhcm5pbmcgZnJvbSBvcGVuIHNvdXJjZSBjbGFuZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5
LnhjY29uZmlnCmluZGV4IGVhMDA5NTcxZjU4YzdhYzJlNGNlYzBmOGNhY2ZlM2MyOGIyNTRjYWIu
LjFkZGU1NWIyNmQ0MThmNzdkNjc1NmEzZjYxMWY1ZmY5MTFhMTAxMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdh
Y3kueGNjb25maWcKQEAgLTE0OSw1ICsxNDksNSBAQCBXS19JTlNUQUxMX1BBVEhfUFJFRklYX0RF
UExPWU1FTlRfWUVTX01BQ09TX1NJTkNFXzEwMTVfVVNFX1NUQUdJTkdfSU5TVEFMTF9QQVRIXwog
U1VQUE9SVFNfVEVYVF9CQVNFRF9BUElbc2RrPWlwaG9uZSpdID0gWUVTOwogU1VQUE9SVFNfVEVY
VF9CQVNFRF9BUElbc2RrPWFwcGxldHYqXSA9IE5POwogU1VQUE9SVFNfVEVYVF9CQVNFRF9BUElb
c2RrPXdhdGNoKl0gPSBOTzsKLU9USEVSX1RBUElfRkxBR1Nbc2RrPWlwaG9uZSpdID0gLXggb2Jq
ZWN0aXZlLWMrKyAtc3RkPWdudSsrMXogLWZuby1ydHRpIC1EUkVMRUFTRV9XSVRIT1VUX09QVElN
SVpBVElPTlMgLWV4Y2x1ZGUtcHJpdmF0ZS1oZWFkZXIgJChCVUlMVF9QUk9EVUNUU19ESVIpLyQo
UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIKS9OU1VSTERvd25sb2FkU1BJLmg7CitPVEhFUl9U
QVBJX0ZMQUdTW3Nkaz1pcGhvbmUqXSA9IC14IG9iamVjdGl2ZS1jKysgLXN0ZD1nbnUrKzF6IC1m
bm8tcnR0aSAtRFJFTEVBU0VfV0lUSE9VVF9PUFRJTUlaQVRJT05TIC1leGNsdWRlLXByaXZhdGUt
aGVhZGVyICQoQlVJTFRfUFJPRFVDVFNfRElSKS8kKFBSSVZBVEVfSEVBREVSU19GT0xERVJfUEFU
SCkvTlNVUkxEb3dubG9hZFNQSS5oIC1leHRyYS1wcml2YXRlLWhlYWRlciAkKFNPVVJDRV9ST09U
KS9tYWMvSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5nLmg7CiBUQVBJX1ZFUklGWV9NT0RFW3Nk
az1pcGhvbmUqXSA9IFBlZGFudGljOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5nLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9JbnN0YWxsQVBJRXhwb3J0c0ZvclRlc3RpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTBiZGUyNDk3YTIz
MzM3YTk3ZTk0NTc1MDE3MGY1NTcxOWEzZjVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5nLmgKQEAgLTAsMCArMSwz
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+Cisj
aW5jbHVkZSA8V2ViS2l0TGVnYWN5L1dlYlByZWZlcmVuY2VzLmg+CisKKyNpZmRlZiBfX2NwbHVz
cGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKK1dlYkNhY2hlTW9kZWwgV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShOU1N0cmluZyAqYnVuZGxlSWRlbnRpZmllcik7CisjaWZk
ZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViS2l0LmV4cCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5leHAKaW5k
ZXggY2E3MTQzZWI3YWZjODUxMmRhNThmZTU2NzIyZmFhODVhYmYwM2JiMS4uMmIwM2VjYmQxNmEz
YjE1ZWI0MzIzN2VkMTg2MTczNzE5MTdhMmFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViS2l0LmV4cAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQu
ZXhwCkBAIC0yMzcsNiArMjM3LDcgQEAgX1dlYlBsdWdJbkNvbnRhaW5pbmdFbGVtZW50S2V5CiBf
V2ViUGx1Z0luTW9kZUtleQogX1dlYlBsdWdJblNob3VsZExvYWRNYWluUmVzb3VyY2VLZXkKIF9X
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24KK19XZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlCiBfV2ViUHJlZmVyZW5jZXNDaGFuZ2Vk
SW50ZXJuYWxOb3RpZmljYXRpb24KIF9XZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24K
IF9XZWJQcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDJhN2U4ZTRiN2U0NTQy
MWM2MGU2NTY2NDdiYzMzYWY4YjY3MmU3ZTguLjBmM2MxODQ0MmNmZDcyM2E4ZmYwODA4NjIzZjkx
NDdkYzQzNDYyZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQpAQCAtNTAsNiArNTAsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9UZXh0
RW5jb2RpbmdSZWdpc3RyeS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlSklUT3BlcmF0aW9u
cy5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KKyNpbXBvcnQgPHd0Zi9D
b21waWxlci5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CkBAIC04OCw3ICs4OSwxMiBAQCB0ZW1w
bGF0ZTx1bnNpZ25lZCBzaXplPiBzdGF0aWMgYm9vbCBjb250YWlucyhjb25zdCBjaGFyKiBjb25z
dCAoJmFycmF5KVtzaXplXSwgYwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIFdlYkNh
Y2hlTW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9pZCkKK1dURl9FWFRFUk5fQ19CRUdJ
TgorLy8gU2VlIGFsc28gbWFjL0luc3RhbGxBUElFeHBvcnRzRm9yVGVzdGluZy5oLgorV2ViQ2Fj
aGVNb2RlbCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3RyaW5nICpi
dW5kbGVJZGVudGlmaWVyKTsKK1dURl9FWFRFUk5fQ19FTkQKKworV2ViQ2FjaGVNb2RlbCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3RyaW5nICpidW5kbGVJZGVudGlm
aWVyKQogewogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICAvLyBBcHBzIHRoYXQgcHJv
YmFibHkgbmVlZCB0aGUgc21hbGwgc2V0dGluZwpAQCAtMTM5LDcgKzE0NSw3IEBAIHN0YXRpYyBX
ZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgICAgICAgICAi
bmV0LmhtZHQtd2ViLlNoaWlyYSIsCiAgICAgICAgIH07CiAKLSAgICAgICAgY29uc3QgY2hhciog
YnVuZGxlSUQgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBVVEY4
U3RyaW5nXTsKKyAgICAgICAgY29uc3QgY2hhciogYnVuZGxlSUQgPSBbYnVuZGxlSWRlbnRpZmll
ciBVVEY4U3RyaW5nXTsKICAgICAgICAgaWYgKGNvbnRhaW5zKGRvY3VtZW50Vmlld2VySURzLCBi
dW5kbGVJRCkpCiAgICAgICAgICAgICByZXR1cm4gV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2Vy
OwogICAgICAgICBpZiAoY29udGFpbnMoZG9jdW1lbnRCcm93c2VySURzLCBidW5kbGVJRCkpCkBA
IC0zOTEsNyArMzk3LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgICAgIEBZRVMsIFdlYktp
dEFsbG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNlS2V5LAogICAgICAgICBAIjE4MDAi
LCBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVydmFsS2V5LAogICAgICAgICBA
Tk8sIFdlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBA
KGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkpLCBXZWJLaXRDYWNoZU1vZGVsUHJlZmVyZW5jZUtl
eSwKKyAgICAgICAgQChXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKFtbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0pKSwgV2ViS2l0Q2FjaGVNb2RlbFBy
ZWZlcmVuY2VLZXksCiAgICAgICAgIEBZRVMsIFdlYktpdFpvb21zVGV4dE9ubHlQcmVmZXJlbmNl
S2V5LAogICAgICAgICBAWUVTLCBXZWJLaXRGb3JjZVdlYkdMVXNlc0xvd1Bvd2VyUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleSwKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3YmJhMmFi
YTNkM2IzOWQ5OGE4ZmQyYzMwYWZmZDM4MzlkODQ2ZWZhLi5lMzI3NGFmMWVhMWY4MjE3YjFiMGQx
MmNkODYwZTVlNTQ0MjA1ODNkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMTAtMjEgIERhdmlkIEtpbHplciAg
PGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgdGVzdCBmb3IgY2FjaGVNb2RlbEZv
ck1haW5CdW5kbGUoKSBpbiBXZWJLaXRMZWdhY3kKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzIxNzk2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAtIEFkZCBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gdG8gcHJvamVjdC4KKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9jb2NvYS9XZWJQcmVmZXJl
bmNlc1Rlc3QubW06IEFkZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAtIEFkZCB0ZXN0IGZvciBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCku
CisKIDIwMjAtMTAtMTcgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtGbGF0cGFrIFNES10gZmxhdHBha3V0aWxzLnB5IHJlcG9ydHMgIktleUVycm9y
OiAnZ2NjJyIgZXJyb3IgaWYgdXNpbmcgd2l0aCBpY2VjYyBhbmQgdG9vbGNoYWlucyBhcmVuJ3Qg
Z2VuZXJhdGVkIHlldApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0Mzk0Yzk3NmJmYjFmMmQ1
ODE1Nzg4N2IzZDZmNmRlZTU5NTI2MTY2Li5hOTI4MzA3YWNlNjU3ZDVmNjM1NzI4ZjM3N2RhNjEz
NTE3OTBhMDczIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjM5LDYgKzIzOSw3IEBACiAJ
CTQxODgyRjAzMjEwMTBDMEQwMDJGRjI4OCAvKiBQcm9jZXNzUHJlV2FybWluZy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODgyRjAyMjEwMTBBNzAw
MDJGRjI4OCAvKiBQcm9jZXNzUHJlV2FybWluZy5tbSAqLzsgfTsKIAkJNDQwNzdCQjEyMzE0NEI1
MDAwMTc5RTJEIC8qIERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQwNzdCQjAyMzE0NDlEMjAwMTc5RTJEIC8qIERh
dGFEZXRlY3RvcnNUZXN0SU9TLm1tICovOyB9OwogCQk0NDMzQTM5NjIwODA0NDE0MDA5MUVENTcg
LyogU3luY2hyb25vdXNUaW1lb3V0VGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NDMzQTM5NTIwODA0NDEzMDA5MUVENTcgLyogU3luY2hyb25v
dXNUaW1lb3V0VGVzdHMubW0gKi87IH07CisJCTQ0ODExMEMyMjUzRjQwMzAwMDk3RkMzMyAvKiBX
ZWJQcmVmZXJlbmNlc1Rlc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDgxMTBDMTI1M0Y0MDI0MDA5N0ZDMzMgLyogV2ViUHJlZmVyZW5jZXNUZXN0
Lm1tICovOyB9OwogCQk0NDgxN0EyRjFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0aXZh
dGVkRWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0aXZhdGVkRWxl
bWVudEluZm8ubW0gKi87IH07CiAJCTQ0OEQ3RTQ3MUVBNkM1NTUwMEVDQzc1NiAvKiBFbnZpcm9u
bWVudFV0aWxpdGllc1Rlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDQ4RDdFNDUxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0
aWVzVGVzdC5jcHAgKi87IH07CiAJCTQ0QUM4QkM2MjFEMDI0NUEwMENBRkIzNCAvKiBSZXRhaW5Q
dHIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMw
MjlCMTYxNDg2QUQ2NDAwODE3REE5IC8qIFJldGFpblB0ci5jcHAgKi87IH07CkBAIC0xOTU3LDYg
KzE5NTgsNyBAQAogCQk0NDA3N0JCMDIzMTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rl
c3RJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhRGV0
ZWN0b3JzVGVzdElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQyQkJGNjgx
QzkxQ0FEOTAwMTcwODdGIC8qIFJlZkxvZ2dlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSZWZMb2dnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NDMzQTM5NTIwODA0NDEzMDA5MUVENTcgLyogU3luY2hyb25vdXNUaW1lb3V0VGVzdHMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeW5jaHJvbm91c1RpbWVv
dXRUZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ4MTEwQzEyNTNGNDAy
NDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IFdlYlByZWZlcmVuY2VzVGVzdC5tbTsgcGF0aCA9IFdlYlByZWZlcmVuY2VzVGVzdC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4MTdBMkUxRjA0ODZCRjAwMDAzODEwIC8qIFdL
UmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV0tSZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEluZm8ubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0OEQ3RTQ1MUVBNkM1NTUwMEVDQzc1NiAvKiBFbnZpcm9u
bWVudFV0aWxpdGllc1Rlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDRBNjIyQzExNEEwRTJCNjAwNDg1MTVCIC8qIFdURlN0cmluZ1V0aWxpdGllcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXVEZTdHJpbmdVdGlsaXRpZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM1MjUsNiArMzUyNywxNCBAQAogCQkJcGF0aCA9
IFdlYkNvcmU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0NDgxMTBCRjI1
M0YzRjhEMDA5N0ZDMzMgLyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQ0ODExMEMxMjUzRjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNl
c1Rlc3QubW0gKi8sCisJCQkpOworCQkJcGF0aCA9IGNvY29hOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKIAkJNTFFQjEyNUQyNENBNkIzRTAwMENCMDMwIC8qIEdhbWVwYWRNYXBw
aW5ncyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC00NjAz
LDYgKzQ2MTMsNyBAQAogCQlDREM4RTQ5ODFCQzcyOEFFMDA1OTRGRUMgLyogV2ViS2l0TGVnYWN5
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0NDgxMTBC
RjI1M0YzRjhEMDA5N0ZDMzMgLyogY29jb2EgKi8sCiAJCQkJQ0RDOEU0OTkxQkM3MjhDMDAwNTk0
RkVDIC8qIGlvcyAqLywKIAkJCQk5QkQ1MTExQTFGRThFMTAyMDBEMkI2MzAgLyogbWFjICovLAog
CQkJKTsKQEAgLTU1MDIsNiArNTUxMyw3IEBACiAJCQkJNUM5NzNGNUMxRjU4RUY4QjAwMzU5QzI3
IC8qIFdlYkdMUG9saWN5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFFOUJEQTEyNDdGNEM2MjAw
MkU1MUEyIC8qIFdlYkdMUHJlcGFyZURpc3BsYXlPbldlYlRocmVhZC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RUFCMUE0MTFBMjQwMDQ0N0M0QyAvKiBXZWJLaXRBZ25vc3RpY1Rlc3QubW0g
aW4gU291cmNlcyAqLywKKwkJCQk0NDgxMTBDMjI1M0Y0MDMwMDA5N0ZDMzMgLyogV2ViUHJlZmVy
ZW5jZXNUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3MTRFQjgxQ0Y4Q0ExNzAwNDcyM0M0
IC8qIFdlYlByb2Nlc3NLaWxsSURCQ2xlYW51cC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzNjc3
MDM0MUNDODAyMjgwMEQ0MjVCMSAvKiBXZWJTY3JpcHRPYmplY3REZXNjcmlwdGlvbi5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTUxMjBDODNEMUU2NzUxMjkwMDI1QjI1MCAvKiBXZWJzaXRlRGF0YVN0
b3JlQ3VzdG9tUGF0aHMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2NvY29hL1dlYlByZWZlcmVuY2VzVGVzdC5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2NvY29hL1dlYlByZWZlcmVu
Y2VzVGVzdC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmU0ODFhYTI2ZmE3NTBiMWM2Y2ZiOTBiNDM2OWNjNzk1
YThjZjAwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tCkBAIC0wLDAgKzEsODYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3Vu
ZGF0aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViUHJlZmVyZW5jZXMuaD4KKworV1RGX0VYVEVS
Tl9DX0JFR0lOCitXZWJDYWNoZU1vZGVsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5C
dW5kbGUoTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIpOworV1RGX0VYVEVSTl9DX0VORAorCitu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1QoV2ViS2l0TGVnYWN5LCBDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZSkKK3sKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmll
d2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiTWljcm9zb2Z0L2Nv
bS5taWNyb3NvZnQuTWVzc2VuZ2VyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20u
YWRpdW1YLmFkaXVtWCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmll
d2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFsaWVudGVj
aG5vbG9neS5Qcm90ZXVzIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRW
aWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUu
RGFzaGNvZGUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwg
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5pQ2hhdCIp
KTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJl
bmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmJhcmVib25lcy5iYmVkaXQiKSk7Cisg
ICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5iYXJlYm9uZXMudGV4dHdyYW5nbGVyIikpOwor
ICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2Vz
Q2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYmFyZWJvbmVzLnlvamltYm8iKSk7CisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNo
ZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5lcXVpbnV4LmlTYWxlNCIpKTsKKyAgICBFWFBFQ1Rf
RVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKEAiY29tLmdyb3dsLmdyb3dsZnJhbWV3b3JrIikpOworICAgIEVYUEVDVF9F
UShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZv
ck1haW5CdW5kbGUoQCJjb20uaW50cmFydHMuUGFuZG9yYU1hbiIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKEAiY29tLmthcmVsaWEuU2FuZHZveCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVu
ZGxlKEAiY29tLm1hY3JvbWF0ZXMudGV4dG1hdGUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAImNvbS5yZWFsbWFjc29mdHdhcmUucmFwaWR3ZWF2ZXJwcm8iKSk7CisgICAgRVhQRUNUX0VR
KFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5yZWQtc3dlYXRlci5tYXJzZWRpdCIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKEAiY29tLnlhaG9vLm1lc3NlbmdlcjMiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNh
Y2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImRlLmNvZGluZ21vbmtleXMuU3ViRXRoYUVkaXQiKSk7CisgICAgRVhQRUNUX0VRKFdl
YkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFp
bkJ1bmRsZShAImZpLmthcnBwaW5lbi5QeXJvIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1v
ZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
QCJpbmZvLmNvbGxvcXV5IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRW
aWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJrdW5nZm9vLnR2
LmVjdG8iKSk7CisKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nlciwg
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5EaWN0aW9u
YXJ5IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLlhjb2RlIikpOwor
ICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQcmVmZXJlbmNl
c0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLmhlbHB2aWV3ZXIiKSk7CisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uY3VsdHVyZWRjb2RlLnh5bGUiKSk7CisgICAgRVhQ
RUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVN
b2RlbEZvck1haW5CdW5kbGUoQCJjb20ubWFjcmFiYml0LkNTU0VkaXQiKSk7CisgICAgRVhQRUNU
X0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bEZvck1haW5CdW5kbGUoQCJjb20ucGFuaWMuQ29kYSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImNvbS5yYW5jaGVyby5OZXROZXdzV2lyZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImNvbS50aGlua21hYy5OZXdzTGlmZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbERvY3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAIm9yZy54bGlmZS5OZXdzRmlyZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERv
Y3VtZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAInVr
LmNvLm9wZW5jb21tdW5pdHkudmllbm5hMiIpKTsKKworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1v
ZGVsUHJpbWFyeVdlYkJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5k
bGUoQCJjb20uYXBwNG1hYy5LaWRzQnJvd3NlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbFByaW1hcnlXZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVu
ZGxlKEAiY29tLmFwcDRtYWMud0tpb3NrIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
UHJpbWFyeVdlYkJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
QCJjb20uZnJlZXZlcnNlLmJ1bXBlcmNhciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2Rl
bFByaW1hcnlXZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KEAiY29tLm9tbmlncm91cC5PbW5pV2ViNSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2Rl
bFByaW1hcnlXZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KEAiY29tLnN1bnJpc2Vicm93c2VyLlN1bnJpc2UiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAIm5ldC5obWR0LXdlYi5TaGlpcmEiKSk7CisKKyAgICAvLyBUZXN0IGJ1bmRsZSBpZGVu
dGlmaWVycyB0aGF0IGFyZSBub3QgaGFyZC1jb2RlZC4KKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KG5pbCkpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlBy
ZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCIiKSk7CisgICAgRVhQRUNUX0VRKFdl
YkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFp
bkJ1bmRsZShAImNvbSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmll
d2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLlNh
ZmFyaSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLlNhZmFyaVRlY2hu
b2xvZ3lQcmV2aWV3IikpOworfQorCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412029</attachid>
            <date>2020-10-21 13:50:16 -0700</date>
            <delta_ts>2020-10-22 10:12:10 -0700</delta_ts>
            <desc>Patch v6</desc>
            <filename>bug-217960-20201021135434.patch</filename>
            <type>text/plain</type>
            <size>18908</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggOWVkZDJlZDBiNWMwYWU2NDE1MWRkOTQwOWFkYmU1ODUyYmU1MjkwZS4uYTk3MjJkOTk3ZjEw
YTdjMTlmMmIyYzhjZTY0YzQ2ZDVhOWIzYmQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTEwLTIxICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KCkgaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMTc5NjA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWc6CisgICAgICAgIChPVEhFUl9UQVBJX0ZM
QUdTW3Nkaz1pcGhvbmUqXSk6CisgICAgICAgIC0gQWRkIC1leHRyYS1wcml2YXRlLWhlYWRlciBh
cmd1bWVudCB0byBkZWNsYXJlIGZ1bmN0aW9ucyBvbmx5CisgICAgICAgICAgZXhwb3J0ZWQgZm9y
IHRlc3RpbmcgcHVycG9zZXMuCisgICAgICAgICogSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5n
Lmg6IEFkZC4KKyAgICAgICAgLSBEZWNsYXJlIGZ1bmN0aW9ucyBleHBvcnRlZCBmb3IgdGVzdGlu
ZyBvbmx5LgorICAgICAgICAqIFdlYktpdC5leHA6CisgICAgICAgIC0gRXhwb3J0IFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKSBmb3IgdGVzdGluZy4KKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoY2FjaGVNb2RlbEZvck1haW5CdW5k
bGUpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSk6Cisg
ICAgICAgIC0gUmVuYW1lIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgdG8KKyAgICAgICAgICBX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgdG8gbWFrZSB0ZXN0YWJsZS4K
KyAgICAgICAgLSBBZGQgTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIgYXJndW1lbnQgdG8gbWFr
ZSB0ZXN0YWJsZS4KKyAgICAgICAgLSBEZWNsYXJlIG5ldyBtZXRob2QgdG8gaGF2ZSAnZXh0ZXJu
ICJDIicgY2FsbGluZyBjb252ZW50aW9uLgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0
aWFsaXplXSk6CisgICAgICAgIC0gQ2hhbmdlIHRvIGNhbGwgV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZSgpIGFuZAorICAgICAgICAgIHBhc3MgbWFpbiBidW5kbGUgaWRlbnRp
ZmllciBhcyBhcmd1bWVudC4KKwogMjAyMC0xMC0xNyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTQzMCk6IEZpeCAtV3N0cmluZy1j
b25jYXRlbmF0aW9uIHdhcm5pbmcgZnJvbSBvcGVuIHNvdXJjZSBjbGFuZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5
LnhjY29uZmlnCmluZGV4IGVhMDA5NTcxZjU4YzdhYzJlNGNlYzBmOGNhY2ZlM2MyOGIyNTRjYWIu
LjFkZGU1NWIyNmQ0MThmNzdkNjc1NmEzZjYxMWY1ZmY5MTFhMTAxMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdh
Y3kueGNjb25maWcKQEAgLTE0OSw1ICsxNDksNSBAQCBXS19JTlNUQUxMX1BBVEhfUFJFRklYX0RF
UExPWU1FTlRfWUVTX01BQ09TX1NJTkNFXzEwMTVfVVNFX1NUQUdJTkdfSU5TVEFMTF9QQVRIXwog
U1VQUE9SVFNfVEVYVF9CQVNFRF9BUElbc2RrPWlwaG9uZSpdID0gWUVTOwogU1VQUE9SVFNfVEVY
VF9CQVNFRF9BUElbc2RrPWFwcGxldHYqXSA9IE5POwogU1VQUE9SVFNfVEVYVF9CQVNFRF9BUElb
c2RrPXdhdGNoKl0gPSBOTzsKLU9USEVSX1RBUElfRkxBR1Nbc2RrPWlwaG9uZSpdID0gLXggb2Jq
ZWN0aXZlLWMrKyAtc3RkPWdudSsrMXogLWZuby1ydHRpIC1EUkVMRUFTRV9XSVRIT1VUX09QVElN
SVpBVElPTlMgLWV4Y2x1ZGUtcHJpdmF0ZS1oZWFkZXIgJChCVUlMVF9QUk9EVUNUU19ESVIpLyQo
UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIKS9OU1VSTERvd25sb2FkU1BJLmg7CitPVEhFUl9U
QVBJX0ZMQUdTW3Nkaz1pcGhvbmUqXSA9IC14IG9iamVjdGl2ZS1jKysgLXN0ZD1nbnUrKzF6IC1m
bm8tcnR0aSAtRFJFTEVBU0VfV0lUSE9VVF9PUFRJTUlaQVRJT05TIC1leGNsdWRlLXByaXZhdGUt
aGVhZGVyICQoQlVJTFRfUFJPRFVDVFNfRElSKS8kKFBSSVZBVEVfSEVBREVSU19GT0xERVJfUEFU
SCkvTlNVUkxEb3dubG9hZFNQSS5oIC1leHRyYS1wcml2YXRlLWhlYWRlciAkKFNPVVJDRV9ST09U
KS9tYWMvSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5nLmg7CiBUQVBJX1ZFUklGWV9NT0RFW3Nk
az1pcGhvbmUqXSA9IFBlZGFudGljOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5nLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9JbnN0YWxsQVBJRXhwb3J0c0ZvclRlc3RpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzU4ZWY3NGJkYjQy
M2I1YzljNTY3MTM5YzI3N2U1NDBiYWFiZTEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvSW5zdGFsbEFQSUV4cG9ydHNGb3JUZXN0aW5nLmgKQEAgLTAsMCArMSwz
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPEZvdW5kYXRpb24v
Rm91bmRhdGlvbi5oPgorI2luY2x1ZGUgPFdlYktpdExlZ2FjeS9XZWJQcmVmZXJlbmNlcy5oPgor
CisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCitXZWJDYWNoZU1vZGVs
IFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoTlNTdHJpbmcgKmJ1bmRsZUlk
ZW50aWZpZXIpOworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5leHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJLaXQuZXhwCmluZGV4IGNhNzE0M2ViN2FmYzg1MTJkYTU4ZmU1NjcyMmZhYTg1YWJmMDNi
YjEuLjJiMDNlY2JkMTZhM2IxNWViNDMyMzdlZDE4NjE3MzcxOTE3YTJhYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5leHAKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViS2l0LmV4cApAQCAtMjM3LDYgKzIzNyw3IEBAIF9XZWJQbHVnSW5Db250YWlu
aW5nRWxlbWVudEtleQogX1dlYlBsdWdJbk1vZGVLZXkKIF9XZWJQbHVnSW5TaG91bGRMb2FkTWFp
blJlc291cmNlS2V5CiBfV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90
aWZpY2F0aW9uCitfV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZQogX1dlYlBy
ZWZlcmVuY2VzQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uCiBfV2ViUHJlZmVyZW5jZXNDaGFu
Z2VkTm90aWZpY2F0aW9uCiBfV2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRl
eCAyYTdlOGU0YjdlNDU0MjFjNjBlNjU2NjQ3YmMzM2FmOGI2NzJlN2U4Li4wZjNjMTg0NDJjZmQ3
MjNhOGZmMDgwODYyM2Y5MTQ3ZGM0MzQ2MmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTUwLDYgKzUwLDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvVGV4dEVuY29kaW5nUmVnaXN0cnkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2Vi
Q29yZUpJVE9wZXJhdGlvbnMuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+
CisjaW1wb3J0IDx3dGYvQ29tcGlsZXIuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAj
aW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgpAQCAtODgs
NyArODksMTIgQEAgdGVtcGxhdGU8dW5zaWduZWQgc2l6ZT4gc3RhdGljIGJvb2wgY29udGFpbnMo
Y29uc3QgY2hhciogY29uc3QgKCZhcnJheSlbc2l6ZV0sIGMKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLXN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCitX
VEZfRVhURVJOX0NfQkVHSU4KKy8vIFNlZSBhbHNvIG1hYy9JbnN0YWxsQVBJRXhwb3J0c0ZvclRl
c3RpbmcuaC4KK1dlYkNhY2hlTW9kZWwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShOU1N0cmluZyAqYnVuZGxlSWRlbnRpZmllcik7CitXVEZfRVhURVJOX0NfRU5ECisKK1dl
YkNhY2hlTW9kZWwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShOU1N0cmlu
ZyAqYnVuZGxlSWRlbnRpZmllcikKIHsKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAg
Ly8gQXBwcyB0aGF0IHByb2JhYmx5IG5lZWQgdGhlIHNtYWxsIHNldHRpbmcKQEAgLTEzOSw3ICsx
NDUsNyBAQCBzdGF0aWMgV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSh2b2lk
KQogICAgICAgICAgICAgIm5ldC5obWR0LXdlYi5TaGlpcmEiLAogICAgICAgICB9OwogCi0gICAg
ICAgIGNvbnN0IGNoYXIqIGJ1bmRsZUlEID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxl
SWRlbnRpZmllcl0gVVRGOFN0cmluZ107CisgICAgICAgIGNvbnN0IGNoYXIqIGJ1bmRsZUlEID0g
W2J1bmRsZUlkZW50aWZpZXIgVVRGOFN0cmluZ107CiAgICAgICAgIGlmIChjb250YWlucyhkb2N1
bWVudFZpZXdlcklEcywgYnVuZGxlSUQpKQogICAgICAgICAgICAgcmV0dXJuIFdlYkNhY2hlTW9k
ZWxEb2N1bWVudFZpZXdlcjsKICAgICAgICAgaWYgKGNvbnRhaW5zKGRvY3VtZW50QnJvd3NlcklE
cywgYnVuZGxlSUQpKQpAQCAtMzkxLDcgKzM5Nyw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogICAg
ICAgICBAWUVTLCBXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgQCIxODAwIiwgV2ViS2l0QmFja0ZvcndhcmRDYWNoZUV4cGlyYXRpb25JbnRlcnZh
bEtleSwKICAgICAgICAgQE5PLCBXZWJLaXRQcml2YXRlQnJvd3NpbmdFbmFibGVkUHJlZmVyZW5j
ZUtleSwKLSAgICAgICAgQChjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSgpKSwgV2ViS2l0Q2FjaGVN
b2RlbFByZWZlcmVuY2VLZXksCisgICAgICAgIEAoV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdKSksIFdl
YktpdENhY2hlTW9kZWxQcmVmZXJlbmNlS2V5LAogICAgICAgICBAWUVTLCBXZWJLaXRab29tc1Rl
eHRPbmx5UHJlZmVyZW5jZUtleSwKICAgICAgICAgQFlFUywgV2ViS2l0Rm9yY2VXZWJHTFVzZXNM
b3dQb3dlclByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3NLZXksCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggN2JiYTJhYmEzZDNiMzlkOThhOGZkMmMzMGFmZmQzODM5ZDg0NmVmYS4uZTMyNzRh
ZjFlYTFmODIxN2IxYjBkMTJjZDg2MGU1ZTU0NDIwNTgzZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTEwLTIx
ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3Qg
Zm9yIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8yMTc5NjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgLSBBZGQgV2ViUHJlZmVyZW5jZXNUZXN0Lm1t
IHRvIHByb2plY3QuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kv
Y29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tOiBBZGQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpURVNUKToKKyAgICAgICAgLSBBZGQgdGVzdCBmb3IgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZSgpLgorCiAyMDIwLTEwLTE3ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbRmxhdHBhayBTREtdIGZsYXRwYWt1dGlscy5weSBy
ZXBvcnRzICJLZXlFcnJvcjogJ2djYyciIGVycm9yIGlmIHVzaW5nIHdpdGggaWNlY2MgYW5kIHRv
b2xjaGFpbnMgYXJlbid0IGdlbmVyYXRlZCB5ZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
NDM5NGM5NzZiZmIxZjJkNTgxNTc4ODdiM2Q2ZjZkZWU1OTUyNjE2Ni4uYTkyODMwN2FjZTY1N2Q1
ZjYzNTcyOGYzNzdkYTYxMzUxNzkwYTA3MyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIz
OSw2ICsyMzksNyBAQAogCQk0MTg4MkYwMzIxMDEwQzBEMDAyRkYyODggLyogUHJvY2Vzc1ByZVdh
cm1pbmcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTg4MkYwMjIxMDEwQTcwMDAyRkYyODggLyogUHJvY2Vzc1ByZVdhcm1pbmcubW0gKi87IH07CiAJ
CTQ0MDc3QkIxMjMxNDRCNTAwMDE3OUUyRCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MDc3QkIwMjMxNDQ5
RDIwMDE3OUUyRCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAqLzsgfTsKIAkJNDQzM0EzOTYy
MDgwNDQxNDAwOTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzM0EzOTUyMDgwNDQxMzAwOTFF
RDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tICovOyB9OworCQk0NDgxMTBDMjI1M0Y0
MDMwMDA5N0ZDMzMgLyogV2ViUHJlZmVyZW5jZXNUZXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ4MTEwQzEyNTNGNDAyNDAwOTdGQzMzIC8qIFdl
YlByZWZlcmVuY2VzVGVzdC5tbSAqLzsgfTsKIAkJNDQ4MTdBMkYxRjA0ODZCRjAwMDAzODEwIC8q
IFdLUmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ4MTdBMkUxRjA0ODZCRjAwMDAzODEwIC8qIFdLUmVx
dWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvLm1tICovOyB9OwogCQk0NDhEN0U0NzFFQTZDNTU1MDBF
Q0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OEQ3RTQ1MUVBNkM1NTUwMEVDQzc1NiAvKiBF
bnZpcm9ubWVudFV0aWxpdGllc1Rlc3QuY3BwICovOyB9OwogCQk0NEFDOEJDNjIxRDAyNDVBMDBD
QUZCMzQgLyogUmV0YWluUHRyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDMDI5QjE2MTQ4NkFENjQwMDgxN0RBOSAvKiBSZXRhaW5QdHIuY3BwICov
OyB9OwpAQCAtMTk1Nyw2ICsxOTU4LDcgQEAKIAkJNDQwNzdCQjAyMzE0NDlEMjAwMTc5RTJEIC8q
IERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRGF0YURldGVjdG9yc1Rlc3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ0MkJCRjY4MUM5MUNBRDkwMDE3MDg3RiAvKiBSZWZMb2dnZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmTG9nZ2VyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQzM0EzOTUyMDgwNDQxMzAwOTFFRDU3IC8qIFN5bmNocm9ub3Vz
VGltZW91dFRlc3RzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
U3luY2hyb25vdXNUaW1lb3V0VGVzdHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQ0ODExMEMxMjUzRjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IG5hbWUgPSBXZWJQcmVmZXJlbmNlc1Rlc3QubW07IHBhdGggPSBXZWJQcmVmZXJl
bmNlc1Rlc3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0ODE3QTJFMUYwNDg2
QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRJ
bmZvLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDhEN0U0NTFFQTZDNTU1MDBF
Q0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEVudmlyb25tZW50VXRpbGl0aWVzVGVzdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTYyMkMxMTRBMEUyQjYwMDQ4NTE1QiAvKiBXVEZTdHJp
bmdVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV1RGU3RyaW5n
VXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNTI1LDYgKzM1Mjcs
MTQgQEAKIAkJCXBhdGggPSBXZWJDb3JlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJ
fTsKKwkJNDQ4MTEwQkYyNTNGM0Y4RDAwOTdGQzMzIC8qIGNvY29hICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NDgxMTBDMTI1M0Y0MDI0MDA5N0ZDMzMg
LyogV2ViUHJlZmVyZW5jZXNUZXN0Lm1tICovLAorCQkJKTsKKwkJCXBhdGggPSBjb2NvYTsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTUxRUIxMjVEMjRDQTZCM0UwMDBDQjAz
MCAvKiBHYW1lcGFkTWFwcGluZ3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtNDYwMyw2ICs0NjEzLDcgQEAKIAkJQ0RDOEU0OTgxQkM3MjhBRTAwNTk0RkVD
IC8qIFdlYktpdExlZ2FjeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJNDQ4MTEwQkYyNTNGM0Y4RDAwOTdGQzMzIC8qIGNvY29hICovLAogCQkJCUNEQzhF
NDk5MUJDNzI4QzAwMDU5NEZFQyAvKiBpb3MgKi8sCiAJCQkJOUJENTExMUExRkU4RTEwMjAwRDJC
NjMwIC8qIG1hYyAqLywKIAkJCSk7CkBAIC01NTAyLDYgKzU1MTMsNyBAQAogCQkJCTVDOTczRjVD
MUY1OEVGOEIwMDM1OUMyNyAvKiBXZWJHTFBvbGljeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMx
RTlCREExMjQ3RjRDNjIwMDJFNTFBMiAvKiBXZWJHTFByZXBhcmVEaXNwbGF5T25XZWJUaHJlYWQu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VBQjFBNDExQTI0MDA0NDdDNEMgLyogV2ViS2l0
QWdub3N0aWNUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDQ4MTEwQzIyNTNGNDAzMDAwOTdG
QzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxNzE0RUI4
MUNGOENBMTcwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAubW0gaW4gU291cmNl
cyAqLywKIAkJCQk1MzY3NzAzNDFDQzgwMjI4MDBENDI1QjEgLyogV2ViU2NyaXB0T2JqZWN0RGVz
Y3JpcHRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTIwQzgzRDFFNjc1MTI5MDAyNUIyNTAg
LyogV2Vic2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9jb2NvYS9XZWJQcmVm
ZXJlbmNlc1Rlc3QubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9j
b2NvYS9XZWJQcmVmZXJlbmNlc1Rlc3QubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZlNDgxYWEyNmZhNzUwYjFj
NmNmYjkwYjQzNjljYzc5NWE4Y2YwMAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2NvY29hL1dlYlByZWZlcmVuY2VzVGVzdC5tbQpAQCAt
MCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpbXBvcnQg
PEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYlByZWZlcmVuY2Vz
Lmg+CisKK1dURl9FWFRFUk5fQ19CRUdJTgorV2ViQ2FjaGVNb2RlbCBXZWJQcmVmZXJlbmNlc0Nh
Y2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3RyaW5nICpidW5kbGVJZGVudGlmaWVyKTsKK1dURl9F
WFRFUk5fQ19FTkQKKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdlYktpdExl
Z2FjeSwgQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUpCit7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAIk1pY3Jvc29mdC9jb20ubWljcm9zb2Z0Lk1lc3NlbmdlciIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKEAiY29tLmFkaXVtWC5hZGl1bVgiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAImNvbS5hbGllbnRlY2hub2xvZ3kuUHJvdGV1cyIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVu
ZGxlKEAiY29tLmFwcGxlLkRhc2hjb2RlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
RG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJj
b20uYXBwbGUuaUNoYXQiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZp
ZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5iYXJlYm9u
ZXMuYmJlZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIs
IFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYmFyZWJvbmVzLnRl
eHR3cmFuZ2xlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2Vy
LCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmJhcmVib25lcy55
b2ppbWJvIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdl
YlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uZXF1aW51eC5pU2FsZTQi
KSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVy
ZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5ncm93bC5ncm93bGZyYW1ld29yayIp
KTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJl
bmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmludHJhcnRzLlBhbmRvcmFNYW4iKSk7
CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5j
ZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5rYXJlbGlhLlNhbmR2b3giKSk7CisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNo
ZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5tYWNyb21hdGVzLnRleHRtYXRlIikpOworICAgIEVY
UEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVN
b2RlbEZvck1haW5CdW5kbGUoQCJjb20ucmVhbG1hY3NvZnR3YXJlLnJhcGlkd2VhdmVycHJvIikp
OworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVu
Y2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ucmVkLXN3ZWF0ZXIubWFyc2VkaXQiKSk7
CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5j
ZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS55YWhvby5tZXNzZW5nZXIzIikpOworICAg
IEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJkZS5jb2Rpbmdtb25rZXlzLlN1YkV0aGFFZGl0IikpOwor
ICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2Vz
Q2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJmaS5rYXJwcGluZW4uUHlybyIpKTsKKyAgICBFWFBF
Q1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKEAiaW5mby5jb2xsb3F1eSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVu
ZGxlKEAia3VuZ2Zvby50di5lY3RvIikpOworCisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxE
b2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJj
b20uYXBwbGUuRGljdGlvbmFyeSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3Vt
ZW50QnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5h
cHBsZS5YY29kZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nl
ciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5oZWxw
dmlld2VyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmN1bHR1cmVkY29kZS54
eWxlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLm1hY3JhYmJpdC5DU1NFZGl0
IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBXZWJQcmVm
ZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLnBhbmljLkNvZGEiKSk7CisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ucmFuY2hlcm8uTmV0TmV3c1dpcmUiKSk7CisgICAg
RVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20udGhpbmttYWMuTmV3c0xpZmUiKSk7CisgICAgRVhQ
RUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVN
b2RlbEZvck1haW5CdW5kbGUoQCJvcmcueGxpZmUuTmV3c0ZpcmUiKSk7CisgICAgRVhQRUNUX0VR
KFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZv
ck1haW5CdW5kbGUoQCJ1ay5jby5vcGVuY29tbXVuaXR5LnZpZW5uYTIiKSk7CisKKyAgICBFWFBF
Q1RfRVEoV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hl
TW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcDRtYWMuS2lkc0Jyb3dzZXIiKSk7CisgICAgRVhQ
RUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNo
ZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHA0bWFjLndLaW9zayIpKTsKKyAgICBFWFBFQ1Rf
RVEoV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKEAiY29tLmZyZWV2ZXJzZS5idW1wZXJjYXIiKSk7CisgICAgRVhQRUNU
X0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5vbW5pZ3JvdXAuT21uaVdlYjUiKSk7CisgICAgRVhQRUNU
X0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5zdW5yaXNlYnJvd3Nlci5TdW5yaXNlIikpOworICAgIEVY
UEVDVF9FUShXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXIsIFdlYlByZWZlcmVuY2VzQ2Fj
aGVNb2RlbEZvck1haW5CdW5kbGUoQCJuZXQuaG1kdC13ZWIuU2hpaXJhIikpOworCisgICAgLy8g
VGVzdCBidW5kbGUgaWRlbnRpZmllcnMgdGhhdCBhcmUgbm90IGhhcmQtY29kZWQuCisgICAgRVhQ
RUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZShuaWwpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3Vt
ZW50Vmlld2VyLCBXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiIikpOwor
ICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFdlYlByZWZlcmVuY2Vz
Q2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20iKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxEb2N1bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAImNvbS5hcHBsZS5TYWZhcmkiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1
bWVudFZpZXdlciwgV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5h
cHBsZS5TYWZhcmlUZWNobm9sb2d5UHJldmlldyIpKTsKK30KKworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412111</attachid>
            <date>2020-10-22 10:12:12 -0700</date>
            <delta_ts>2020-11-03 11:59:55 -0800</delta_ts>
            <desc>Patch v7</desc>
            <filename>bug-217960-20201022101634.patch</filename>
            <type>text/plain</type>
            <size>28245</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IDIwMzkz
NjEwYjFmYTUxNDQ0ODM2NzUxM2ZmNGI2MTI1MTY2MTJlZWYuLjE1YmZlMmMwMzk5OTZhZGY3YWVj
Njk1YTY1NDViZjRhYWUyNDM3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjAtMTAtMjIgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgdGVzdCBmb3IgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKSBpbiBXZWJLaXRMZWdh
Y3kKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIxNzk2MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdExlZ2FjeS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAtIEFkZCBUZXN0aW5nRnVuY3Rpb25zLmggdG8g
dGhlIHByb2plY3QuCisgICAgICAgIChHZW5lcmF0ZSBFeHBvcnQgRmlsZXMpOgorICAgICAgICAt
IEFwcGVuZCBXZWJLaXQuVGVzdGluZy5leHAgdG8gdGhlIGdlbmVyYXRlZCBleHBvcnQgZmlsZSBp
ZgorICAgICAgICAgIFdLX0JVSUxEX0ZPUl9URVNUSU5HIGlzIHNldCB0byBZRVMuCisKIDIwMjAt
MTAtMDcgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0
ZSBwb3N0LXByb2Nlc3NpbmcgcnVsZXMgZm9yIGhlYWRlcnMgdG8gbm90IHVubmVjZXNzYXJpbHkg
Y2hhbmdlIHRpbWVzdGFtcHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA5ZWRkMmVk
MGI1YzBhZTY0MTUxZGQ5NDA5YWRiZTU4NTJiZTUyOTBlLi4xNTUzOTZiN2UzODdhZTEyMDE4OTVh
YWIxODdhYzlkMzBlOWFjYTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDYgQEAKKzIwMjAtMTAtMjIgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgdGVzdCBmb3IgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKSBpbiBXZWJL
aXRMZWdhY3kKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIxNzk2MD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0RlYnVnUmVsZWFzZS54Y2NvbmZpZzoKKyAgICAgICAgKFdLX0JVSUxEX0ZPUl9URVNUSU5HKTog
QWRkLgorICAgICAgICAtIFRoaXMgc2luZ2xlIHNldHRpbmcgY29udHJvbHMgd2hldGhlciB0ZXN0
IGNvZGUgaXMgYnVpbHQgYW5kCisgICAgICAgICAgdGVzdCBmdW5jdGlvbnMgYXJlIGV4cG9ydGVk
LiAgQ3VycmVudGx5IG9ubHkgRGVidWcgYW5kIFJlbGVhc2UKKyAgICAgICAgICBjb25maWd1cmF0
aW9ucyBhcmUgc3VwcG9ydGVkLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVn
YWN5LnhjY29uZmlnOgorICAgICAgICAoT1RIRVJfQ0ZMQUdTKToKKyAgICAgICAgLSBJbmNsdWRl
IG5lY2Vzc2FyeSBtYWNybyBkZWZpbml0aW9uIHdoZW4gV0tfQlVJTERfRk9SX1RFU1RJTkcKKyAg
ICAgICAgICBpcyBZRVMuCisgICAgICAgIChXS19DRkxBR1NfQlVJTERfRk9SX1RFU1RJTkdfWUVT
KToKKyAgICAgICAgLSBEZWZpbmUgbWFjcm8gc2V0IHdoZW4gV0tfQlVJTERfRk9SX1RFU1RJTkcg
aXMgWUVTLiAgVXNlZCBieQorICAgICAgICAgIGJvdGggT1RIRVJfQ0ZMQUdTIGFuZCBPVEhFUl9U
QVBJX0ZMQUdTIHRvIGVuYWJsZSB0ZXN0IGNvZGUuCisgICAgICAgIChPVEhFUl9UQVBJX0ZMQUdT
W3Nkaz1pcGhvbmUqXSk6CisgICAgICAgIC0gSW5jbHVkZSBuZWNlc3NhcnkgbWFjcm8gZGVmaW5p
dGlvbiB3aGVuIFdLX0JVSUxEX0ZPUl9URVNUSU5HCisgICAgICAgICAgaXMgWUVTLgorICAgICAg
ICAtIEFkZCAtZXh0cmEtcHJpdmF0ZS1oZWFkZXIgYXJndW1lbnQgdG8gZGVjbGFyZSBleHBvcnRl
ZAorICAgICAgICAgIGZ1bmN0aW9ucyBpbiBUZXN0aW5nRnVuY3Rpb25zLmggd2hlbiBXS19CVUlM
RF9GT1JfVEVTVElORyBpcworICAgICAgICAgIFlFUy4KKworICAgICAgICAqIFRlc3RpbmdGdW5j
dGlvbnMuaDogQWRkLgorICAgICAgICAtIERlY2xhcmUgZnVuY3Rpb25zIGV4cG9ydGVkIHdoZW4g
V0tfQlVJTERfRk9SX1RFU1RJTkcgaXMgWUVTLgorCisgICAgICAgICogV2ViS2l0LlRlc3Rpbmcu
ZXhwOiBBZGQuCisgICAgICAgIC0gVGhpcyBjb250YWlucyBhIGxpc3Qgb2YgdGVzdCBmdW5jdGlv
bnMgdGhhdCBhcmUgb25seSBleHBvcnRlZAorICAgICAgICAgIHdoZW4gV0tfQlVJTERfRk9SX1RF
U1RJTkcgaXMgWUVTLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAg
ICAgICAgKGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKToKKyAgICAgICAgLSBBZGQgTlNTdHJpbmcg
KmJ1bmRsZUlkZW50aWZpZXIgYXJndW1lbnQgdG8gbWFrZSB0ZXN0YWJsZS4KKyAgICAgICAgKFRl
c3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKTogQWRkLgorICAgICAgICAt
IEFkZCBmdW5jdGlvbiBvbmx5IHVzZWQgZm9yIHRlc3RpbmcsIGFuZCBvbmx5IGNvbXBpbGVkIHdo
ZW4KKyAgICAgICAgICBXS19CVUlMRF9GT1JfVEVTVElORyBpcyBZRVMuCisgICAgICAgICgrW1dl
YlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgLSBDaGFuZ2UgdG8gcGFzcyBtYWlu
IGJ1bmRsZSBpZGVudGlmaWVyIGFzIGFyZ3VtZW50LgorCiAyMDIwLTEwLTE3ICBEYXZpZCBLaWx6
ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1NDMwKTog
Rml4IC1Xc3RyaW5nLWNvbmNhdGVuYXRpb24gd2FybmluZyBmcm9tIG9wZW4gc291cmNlIGNsYW5n
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2FjeS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJLaXRMZWdhY3kueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NzhkNWRiODE2YThmNmIwMTY3MjZjMzQ1ZGMxODQz
NWYxY2VkZGYyLi4wMWMzYjk5YWZiMzNmOWE3NDg0ZTlmZWU4NjMwZDk4OTBlYmE4NGM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2FjeS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0TGVnYWN5Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEzNiw2ICsxMzYsNyBAQAogCQkzQUJCM0M3QjEzMDlDM0I1
MDBFOTNEOTQgLyogV2ViU3RvcmFnZVRyYWNrZXJDbGllbnQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQUJCM0M3OTEzMDlDM0I1MDBFOTNEOTQgLyog
V2ViU3RvcmFnZVRyYWNrZXJDbGllbnQubW0gKi87IH07CiAJCTNBRTE1RDUwMTJEQkRFRDQwMDkz
MjNDOCAvKiBXZWJTdG9yYWdlTWFuYWdlckludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQUUxNUQ0RjEyREJERUQ0MDA5MzIzQzggLyogV2Vi
U3RvcmFnZU1hbmFnZXJJbnRlcm5hbC5oICovOyB9OwogCQk0NEJCOEIxNDEyNDFBMDIyMDAxRTNB
MjIgLyogV2ViQXJjaGl2ZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NEJCOEIxMzEyNDFBMDIyMDAxRTNBMjIgLyogV2ViQXJjaGl2ZUlu
dGVybmFsLmggKi87IH07CisJCTQ0REREMDgyMjU0MEY5N0YwMDgzNkY4MSAvKiBUZXN0aW5nRnVu
Y3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NERERDA4MTI1NDBGOEM4MDA4MzZGODEgLyogVGVzdGluZ0Z1bmN0aW9ucy5oICovOyB9OwogCQk0
NjE4REZGODFERUY3NjBBMDAzM0MzQUEgLyogV2ViVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MThERkY2MURF
Rjc2MEEwMDMzQzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5oICovOyB9OwogCQk0
NjE4REZGOTFERUY3NjBBMDAzM0MzQUEgLyogV2ViVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjE4REZGNzFE
RUY3NjBBMDAzM0MzQUEgLyogV2ViVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQubW0gKi87IH07CiAJ
CTRCRjk5RjkwMEFFMDUwQkMwMDgxNUMyQiAvKiBXZWJFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCRjk5RjhFMEFFMDUwQkMwMDgx
NUMyQiAvKiBXZWJFZGl0b3JDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgp
OyB9OyB9OwpAQCAtODc0LDYgKzg3NSw3IEBACiAJCTNBQkIzQzc5MTMwOUMzQjUwMEU5M0Q5NCAv
KiBXZWJTdG9yYWdlVHJhY2tlckNsaWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYlN0b3JhZ2VUcmFja2VyQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzQUUxNUQ0RjEyREJERUQ0MDA5MzIzQzggLyogV2ViU3RvcmFnZU1hbmFn
ZXJJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTdG9yYWdl
TWFuYWdlckludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QkI4QjEz
MTI0MUEwMjIwMDFFM0EyMiAvKiBXZWJBcmNoaXZlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViQXJjaGl2ZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ0REREMDgxMjU0MEY4QzgwMDgzNkY4MSAvKiBUZXN0aW5nRnVuY3Rpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFRlc3RpbmdGdW5jdGlvbnMuaDsgcGF0aCA9IG1hYy9UZXN0aW5n
RnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MThERkY2MURFRjc2
MEEwMDMzQzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0NjE4REZGNzFERUY3NjBBMDAzM0MzQUEgLyogV2ViVmFs
aWRhdGlvbk1lc3NhZ2VDbGllbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXZWJWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNEJGOTlGOEUwQUUwNTBCQzAwODE1QzJCIC8qIFdlYkVkaXRvckNsaWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRWRpdG9yQ2xpZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjEyLDkgKzE2MTQsMTAgQEAKIAkJMDg2N0Q2
OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJMUM2Q0IwM0UwQUE2MzkxRDAwRDIzQkZEIC8qIE1pZ3JhdGVI
ZWFkZXJzLm1ha2UgKi8sCiAJCQkJNUM5RDkyNTgyMkQ3RThBRDAwOEU5MjY2IC8qIFNvdXJjZXMu
dHh0ICovLAogCQkJCTVDOUQ5MjU5MjJEN0U4QUQwMDhFOTI2NiAvKiBTb3VyY2VzQ29jb2EudHh0
ICovLAotCQkJCTFDNkNCMDNFMEFBNjM5MUQwMEQyM0JGRCAvKiBNaWdyYXRlSGVhZGVycy5tYWtl
ICovLAorCQkJCTQ0REREMDgxMjU0MEY4QzgwMDgzNkY4MSAvKiBUZXN0aW5nRnVuY3Rpb25zLmgg
Ki8sCiAJCQkJRjVGNzMyRDIwMkZGNEQ0RjAxQTgwMTgwIC8qIFdlYktpdC5leHAgKi8sCiAJCQkJ
MzE5QTNGNEQxODg1RTVGQjAwRTBDOTAwIC8qIFdlYktpdC5tYWMuZXhwICovLAogCQkJCUExMEMx
RDhGMTgyMDMwN0QwMDM2ODgzQSAvKiBXZWJLaXQuaU9TLmV4cCAqLywKQEAgLTI5NTksNiArMjk2
Miw3IEBACiAJCQkJMUE2QjMxM0ExQTUxRjNBOTAwNDIyOTc1IC8qIFN0b3JhZ2VUaHJlYWQuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBNkIzMTNDMUE1MUYzQTkwMDQyMjk3NSAvKiBTdG9yYWdlVHJh
Y2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2QjMxM0QxQTUxRjNBOTAwNDIyOTc1IC8qIFN0
b3JhZ2VUcmFja2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0NERERDA4MjI1NDBGOTdG
MDA4MzZGODEgLyogVGVzdGluZ0Z1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxRkIz
QzIxODQ2RThFMTAwMUEwM0Q4IC8qIFdlYkFsbG93RGVueVBvbGljeUxpc3RlbmVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRURBMTJEQzE1MkNCRTY4MDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCNkNFNUMyNTEwMEJDNUY1MDAyMTk5MzYg
LyogV2ViQXBwbGljYXRpb25DYWNoZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzE5LDcgKzMzMjMs
NyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG5ta2Rp
ciAtcCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJLaXRMZWdhY3lc
IlxuXG5FWFBfR0VORVJBVEVEPVwiJHtFWFBPUlRFRF9TWU1CT0xTX0ZJTEV9XCJcblxuW1sgLXog
XCIke0VYUF9HRU5FUkFURUR9XCIgXV0gJiYgZXhpdCAxXG5cbmlmIFtbIFwiJHtXS19QTEFURk9S
TV9OQU1FfVwiICE9IFwibWFjb3N4XCIgXV07IHRoZW5cbiAgICBFWFBfV0VCS0lUX1BMQVRGT1JN
PVwiJHtQUk9KRUNUX0RJUn0vaW9zL1dlYktpdC5pT1MuZXhwXCJcbmVsc2VcbiAgICBFWFBfV0VC
S0lUX1BMQVRGT1JNPVwiJHtQUk9KRUNUX0RJUn0vbWFjL1dlYktpdC5tYWMuZXhwXCJcbmZpXG5c
bmNhdCBcIiR7UFJPSkVDVF9ESVJ9L21hYy9XZWJLaXQuZXhwXCIgPiBcIiR7RVhQX0dFTkVSQVRF
RH1cIlxuY2F0IFwiJHtFWFBfV0VCS0lUX1BMQVRGT1JNfVwiID4+IFwiJHtFWFBfR0VORVJBVEVE
fVwiXG5cbmZvciBXS19DVVJSRU5UX0FSQ0ggaW4gJHtBUkNIU307IGRvXG4gICAgRVhQX1JFRVhQ
T1JURUQ9XCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViS2l0TGVnYWN5
L1JlZXhwb3J0ZWRXZWJDb3JlU3ltYm9sc18ke1dLX0NVUlJFTlRfQVJDSH0uZXhwXCJcbiAgICBp
ZiBbWyAtZiBcIiR7RVhQX1JFRVhQT1JURUR9XCIgXV07IHRoZW5cbiAgICAgICAgY2F0IFwiJHtF
WFBfUkVFWFBPUlRFRH1cIiA+PiBcIiR7RVhQX0dFTkVSQVRFRH1cIlxuICAgIGZpXG5kb25lXG4i
OworCQkJc2hlbGxTY3JpcHQgPSAic2V0IC1lXG5cbm1rZGlyIC1wIFwiJHtCVUlMVF9QUk9EVUNU
U19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdExlZ2FjeVwiXG5cbkVYUF9HRU5FUkFURUQ9XCIk
e0VYUE9SVEVEX1NZTUJPTFNfRklMRX1cIlxuXG5bWyAteiBcIiR7RVhQX0dFTkVSQVRFRH1cIiBd
XSAmJiBleGl0IDFcblxuaWYgW1sgXCIke1dLX1BMQVRGT1JNX05BTUV9XCIgIT0gXCJtYWNvc3hc
IiBdXTsgdGhlblxuICAgIEVYUF9XRUJLSVRfUExBVEZPUk09XCIke1BST0pFQ1RfRElSfS9pb3Mv
V2ViS2l0LmlPUy5leHBcIlxuZWxzZVxuICAgIEVYUF9XRUJLSVRfUExBVEZPUk09XCIke1BST0pF
Q1RfRElSfS9tYWMvV2ViS2l0Lm1hYy5leHBcIlxuZmlcblxuY2F0IFwiJHtQUk9KRUNUX0RJUn0v
bWFjL1dlYktpdC5leHBcIiA+IFwiJHtFWFBfR0VORVJBVEVEfVwiXG5jYXQgXCIke0VYUF9XRUJL
SVRfUExBVEZPUk19XCIgPj4gXCIke0VYUF9HRU5FUkFURUR9XCJcblxuZm9yIFdLX0NVUlJFTlRf
QVJDSCBpbiAke0FSQ0hTfTsgZG9cbiAgICBFWFBfUkVFWFBPUlRFRD1cIiR7QlVJTFRfUFJPRFVD
VFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJLaXRMZWdhY3kvUmVleHBvcnRlZFdlYkNvcmVTeW1i
b2xzXyR7V0tfQ1VSUkVOVF9BUkNIfS5leHBcIlxuICAgIGlmIFtbIC1mIFwiJHtFWFBfUkVFWFBP
UlRFRH1cIiBdXTsgdGhlblxuICAgICAgICBjYXQgXCIke0VYUF9SRUVYUE9SVEVEfVwiID4+IFwi
JHtFWFBfR0VORVJBVEVEfVwiXG4gICAgZmlcbmRvbmVcblxuaWYgW1sgXCIke1dLX0JVSUxEX0ZP
Ul9URVNUSU5HfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBjYXQgXCIke1BST0pFQ1RfRElS
fS9tYWMvV2ViS2l0LlRlc3RpbmcuZXhwXCIgPj4gXCIke0VYUF9HRU5FUkFURUR9XCJcbmZpXG4i
OwogCQl9OwogCQkxQzZDQjA1MTBBQTYzRUIwMDBEMjNCRkQgLyogTWlncmF0ZSBIZWFkZXJzICov
ID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmln
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhj
Y29uZmlnCmluZGV4IDI1MzlkY2JkODVmYTQ1MmFlY2ExZTg0ODdiMWNjNmM1MTlmM2RmNjAuLmM5
OWFjMDk1ZDA1ZGZjZDlhY2ZiNzAxZDg5NWI1MTAwMmFjOWU4YzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2Uu
eGNjb25maWcKQEAgLTU2LDYgKzU2LDggQEAgU0RLUk9PVCA9ICQoU0RLUk9PVF8kKFVTRV9JTlRF
Uk5BTF9TREspKTsKIFNES1JPT1RfID0gbWFjb3N4OwogU0RLUk9PVF9ZRVMgPSBtYWNvc3guaW50
ZXJuYWw7CiAKK1dLX0JVSUxEX0ZPUl9URVNUSU5HID0gWUVTOworCiBXS19SRUxPQ0FUQUJMRV9G
UkFNRVdPUktTID0gWUVTOwogCiBXS19ERUZBVUxUX0xUT19NT0RFID0gJChXS19VU0VSX0xUT19N
T0RFX25vbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJh
dGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29u
ZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnCmluZGV4IGVhMDA5NTcxZjU4YzdhYzJl
NGNlYzBmOGNhY2ZlM2MyOGIyNTRjYWIuLjNlOThhZTE0M2IxZTQwNmI0ODU1Y2Y5MmQzZDhmMGQ3
NGRjZDdhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRp
b25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
b25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKQEAgLTQyLDExICs0MiwxMyBAQCBG
UkFNRVdPUktfU0VBUkNIX1BBVEhTW3Nkaz1tYWNvc3gqXSA9ICQoV0tfUVVPVEVEX09WRVJSSURF
X0ZSQU1FV09SS1NfRElSKSAiJChVTQogCiBTWVNURU1fRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyA9
ICQoaW5oZXJpdGVkKSAkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL1ByaXZhdGVGcmFt
ZXdvcmtzICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3JrczsKIAotT1RI
RVJfQ0ZMQUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJfQ0ZMQUdTX0NPQ09BX1RPVUNIKTsKK09U
SEVSX0NGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVSX0NGTEFHU19DT0NPQV9UT1VDSCkgJChX
S19DRkxBR1NfQlVJTERfRk9SX1RFU1RJTkdfJChXS19CVUlMRF9GT1JfVEVTVElORykpOwogT1RI
RVJfQ0ZMQUdTX0NPQ09BX1RPVUNIID0gJChPVEhFUl9DRkxBR1NfQ09DT0FfVE9VQ0hfJChXS19J
U19DT0NPQV9UT1VDSCkpOwogT1RIRVJfQ0ZMQUdTX0NPQ09BX1RPVUNIX05PID0gLWlmcmFtZXdv
cmsgJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL1dlYktpdC5mcmFt
ZXdvcmsvRnJhbWV3b3JrczsKIE9USEVSX0NQTFVTUExVU0ZMQUdTID0gJChpbmhlcml0ZWQpICQo
T1RIRVJfQ0ZMQUdTX0NPQ09BX1RPVUNIKTsKIAorV0tfQ0ZMQUdTX0JVSUxEX0ZPUl9URVNUSU5H
X1lFUyA9IC1ERU5BQkxFX0JVSUxEX0ZPUl9URVNUSU5HPTE7CisKIEdDQ19QUkVGSVhfSEVBREVS
ID0gbWFjL1dlYktpdFByZWZpeC5oOwogR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQo
REVCVUdfREVGSU5FUykgQlVJTERJTkdfV0VCS0lUIEZSQU1FV09SS19OQU1FPVdlYktpdExlZ2Fj
eSAkKGluaGVyaXRlZCk7CiAKQEAgLTE0OSw1ICsxNTEsNSBAQCBXS19JTlNUQUxMX1BBVEhfUFJF
RklYX0RFUExPWU1FTlRfWUVTX01BQ09TX1NJTkNFXzEwMTVfVVNFX1NUQUdJTkdfSU5TVEFMTF9Q
QVRIXwogU1VQUE9SVFNfVEVYVF9CQVNFRF9BUElbc2RrPWlwaG9uZSpdID0gWUVTOwogU1VQUE9S
VFNfVEVYVF9CQVNFRF9BUElbc2RrPWFwcGxldHYqXSA9IE5POwogU1VQUE9SVFNfVEVYVF9CQVNF
RF9BUElbc2RrPXdhdGNoKl0gPSBOTzsKLU9USEVSX1RBUElfRkxBR1Nbc2RrPWlwaG9uZSpdID0g
LXggb2JqZWN0aXZlLWMrKyAtc3RkPWdudSsrMXogLWZuby1ydHRpIC1EUkVMRUFTRV9XSVRIT1VU
X09QVElNSVpBVElPTlMgLWV4Y2x1ZGUtcHJpdmF0ZS1oZWFkZXIgJChCVUlMVF9QUk9EVUNUU19E
SVIpLyQoUFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIKS9OU1VSTERvd25sb2FkU1BJLmg7CitP
VEhFUl9UQVBJX0ZMQUdTW3Nkaz1pcGhvbmUqXSA9IC14IG9iamVjdGl2ZS1jKysgLXN0ZD1nbnUr
KzF6IC1mbm8tcnR0aSAkKFdLX0NGTEFHU19CVUlMRF9GT1JfVEVTVElOR18kKFdLX0JVSUxEX0ZP
Ul9URVNUSU5HKSkgLURSRUxFQVNFX1dJVEhPVVRfT1BUSU1JWkFUSU9OUyAtZXhjbHVkZS1wcml2
YXRlLWhlYWRlciAkKEJVSUxUX1BST0RVQ1RTX0RJUikvJChQUklWQVRFX0hFQURFUlNfRk9MREVS
X1BBVEgpL05TVVJMRG93bmxvYWRTUEkuaCAtZXh0cmEtcHJpdmF0ZS1oZWFkZXIgJChTT1VSQ0Vf
Uk9PVCkvbWFjL1Rlc3RpbmdGdW5jdGlvbnMuaDsKIFRBUElfVkVSSUZZX01PREVbc2RrPWlwaG9u
ZSpdID0gUGVkYW50aWM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9UZXN0
aW5nRnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9UZXN0aW5nRnVuY3Rpb25z
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDRmMzNiNzkyN2I2MDYwOWZmNDM5NDRiYTIwYzEzZTRkMzRjMTQ3Nwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1Rlc3RpbmdGdW5jdGlv
bnMuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW5jbHVkZSA8V2ViS2l0TGVnYWN5L1dl
YlByZWZlcmVuY2VzLmg+CisjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CisKKyNpZiBFTkFCTEUoQlVJTERfRk9SX1RFU1RJTkcpCisKK1dURl9FWFRF
Uk5fQ19CRUdJTgorV2ViQ2FjaGVNb2RlbCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShOU1N0cmluZyAqYnVuZGxlSWRlbnRpZmllcik7CitXVEZfRVhURVJOX0NfRU5E
CisKKyNlbmRpZiAvLyBFTkFCTEUoQlVJTERfRk9SX1RFU1RJTkcpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQuVGVzdGluZy5leHAgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJLaXQuVGVzdGluZy5leHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY0NjRhZGE3M2VkNjNlY2Y5
OGUzNmJjMzU5ZDJlMTJhOTlmNzBhNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYktpdC5UZXN0aW5nLmV4cApAQCAtMCwwICsxIEBACitfVGVzdFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDJhN2U4ZTRiN2U0NTQyMWM2MGU2
NTY2NDdiYzMzYWY4YjY3MmU3ZTguLjZkODczMDA5OGVmODM3ZTA2MGFmMzRmMGRmMGEwYTgxNWYw
YzcxOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlcy5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCAiV2ViUHJlZmVyZW5jZXNJbnRl
cm5hbC5oIgogCiAjaW1wb3J0ICJOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXAuaCIKKyNpbXBvcnQg
IlRlc3RpbmdGdW5jdGlvbnMuaCIKICNpbXBvcnQgIldlYkFwcGxpY2F0aW9uQ2FjaGUuaCIKICNp
bXBvcnQgIldlYkZlYXR1cmUuaCIKICNpbXBvcnQgIldlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQu
aCIKQEAgLTUwLDYgKzUxLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvVGV4dEVuY29kaW5nUmVnaXN0
cnkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUpJVE9wZXJhdGlvbnMuaD4KICNpbXBvcnQg
PHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CisjaW1wb3J0IDx3dGYvQ29tcGlsZXIuaD4KICNp
bXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1w
b3J0IDx3dGYvUnVuTG9vcC5oPgpAQCAtODgsNyArOTAsNyBAQCB0ZW1wbGF0ZTx1bnNpZ25lZCBz
aXplPiBzdGF0aWMgYm9vbCBjb250YWlucyhjb25zdCBjaGFyKiBjb25zdCAoJmFycmF5KVtzaXpl
XSwgYwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIFdlYkNhY2hlTW9kZWwgY2FjaGVN
b2RlbEZvck1haW5CdW5kbGUodm9pZCkKK3N0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKE5TU3RyaW5nICpidW5kbGVJZGVudGlmaWVyKQogewogICAgIEBhdXRvcmVs
ZWFzZXBvb2wgewogICAgICAgICAvLyBBcHBzIHRoYXQgcHJvYmFibHkgbmVlZCB0aGUgc21hbGwg
c2V0dGluZwpAQCAtMTM5LDcgKzE0MSw3IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgICAgICAgICAibmV0LmhtZHQtd2ViLlNoaWlyYSIs
CiAgICAgICAgIH07CiAKLSAgICAgICAgY29uc3QgY2hhciogYnVuZGxlSUQgPSBbW1tOU0J1bmRs
ZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBVVEY4U3RyaW5nXTsKKyAgICAgICAgY29u
c3QgY2hhciogYnVuZGxlSUQgPSBbYnVuZGxlSWRlbnRpZmllciBVVEY4U3RyaW5nXTsKICAgICAg
ICAgaWYgKGNvbnRhaW5zKGRvY3VtZW50Vmlld2VySURzLCBidW5kbGVJRCkpCiAgICAgICAgICAg
ICByZXR1cm4gV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyOwogICAgICAgICBpZiAoY29udGFp
bnMoZG9jdW1lbnRCcm93c2VySURzLCBidW5kbGVJRCkpCkBAIC0xNjMsNiArMTY1LDEzIEBAIHN0
YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgfQog
fQogCisjaWYgRU5BQkxFKEJVSUxEX0ZPUl9URVNUSU5HKQorV2ViQ2FjaGVNb2RlbCBUZXN0V2Vi
UHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShOU1N0cmluZyAqYnVuZGxlSWRlbnRp
ZmllcikKK3sKKyAgICByZXR1cm4gY2FjaGVNb2RlbEZvck1haW5CdW5kbGUoYnVuZGxlSWRlbnRp
Zmllcik7Cit9CisjZW5kaWYgLy8gRU5BQkxFKEJVSUxEX0ZPUl9URVNUSU5HKQorCiBAaW50ZXJm
YWNlIFdlYlByZWZlcmVuY2VzICgpCiAtICh2b2lkKV9wb3N0Q2FjaGVNb2RlbENoYW5nZWROb3Rp
ZmljYXRpb247CiBAZW5kCkBAIC0zOTEsNyArNDAwLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAg
ICAgICAgIEBZRVMsIFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNlS2V5
LAogICAgICAgICBAIjE4MDAiLCBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVy
dmFsS2V5LAogICAgICAgICBATk8sIFdlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5LAotICAgICAgICBAKGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkpLCBXZWJLaXRDYWNo
ZU1vZGVsUHJlZmVyZW5jZUtleSwKKyAgICAgICAgQChjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShb
W05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdKSksIFdlYktpdENhY2hlTW9k
ZWxQcmVmZXJlbmNlS2V5LAogICAgICAgICBAWUVTLCBXZWJLaXRab29tc1RleHRPbmx5UHJlZmVy
ZW5jZUtleSwKICAgICAgICAgQFlFUywgV2ViS2l0Rm9yY2VXZWJHTFVzZXNMb3dQb3dlclByZWZl
cmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXks
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2Ji
YTJhYmEzZDNiMzlkOThhOGZkMmMzMGFmZmQzODM5ZDg0NmVmYS4uZTIwNTk5NGVkMzA2MjMzNjY2
ZjkzY2E1MDVlMzE0MTFjNDY1MzYwNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTEwLTIyICBEYXZpZCBLaWx6
ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGNhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKCkgaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIDxodHRwczovL3dlYmtp
dC5vcmcvYi8yMTc5NjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgLSBBZGQgV2ViUHJlZmVyZW5jZXNUZXN0Lm1tIHRvIHByb2plY3Qu
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvY29jb2EvV2ViUHJl
ZmVyZW5jZXNUZXN0Lm1tOiBBZGQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAg
ICAgICAgLSBBZGQgdGVzdCBmb3IgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5C
dW5kbGUoKS4KKwogMjAyMC0xMC0xNyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0ZsYXRwYWsgU0RLXSBmbGF0cGFrdXRpbHMucHkgcmVwb3J0cyAi
S2V5RXJyb3I6ICdnY2MnIiBlcnJvciBpZiB1c2luZyB3aXRoIGljZWNjIGFuZCB0b29sY2hhaW5z
IGFyZW4ndCBnZW5lcmF0ZWQgeWV0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQzOTRjOTc2
YmZiMWYyZDU4MTU3ODg3YjNkNmY2ZGVlNTk1MjYxNjYuLmE5MjgzMDdhY2U2NTdkNWY2MzU3Mjhm
Mzc3ZGE2MTM1MTc5MGEwNzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzksNiArMjM5
LDcgQEAKIAkJNDE4ODJGMDMyMTAxMEMwRDAwMkZGMjg4IC8qIFByb2Nlc3NQcmVXYXJtaW5nLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4ODJGMDIy
MTAxMEE3MDAwMkZGMjg4IC8qIFByb2Nlc3NQcmVXYXJtaW5nLm1tICovOyB9OwogCQk0NDA3N0JC
MTIzMTQ0QjUwMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rlc3RJT1MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDA3N0JCMDIzMTQ0OUQyMDAxNzlF
MkQgLyogRGF0YURldGVjdG9yc1Rlc3RJT1MubW0gKi87IH07CiAJCTQ0MzNBMzk2MjA4MDQ0MTQw
MDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1NyAvKiBT
eW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLzsgfTsKKwkJNDQ4MTEwQzIyNTNGNDAzMDAwOTdG
QzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ0ODExMEMxMjUzRjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJl
bmNlc1Rlc3QubW0gKi87IH07CiAJCTQ0ODE3QTJGMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVl
c3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0ODE3QTJFMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3Rp
dmF0ZWRFbGVtZW50SW5mby5tbSAqLzsgfTsKIAkJNDQ4RDdFNDcxRUE2QzU1NTAwRUNDNzU2IC8q
IEVudmlyb25tZW50VXRpbGl0aWVzVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhEN0U0NTFFQTZDNTU1MDBFQ0M3NTYgLyogRW52aXJvbm1l
bnRVdGlsaXRpZXNUZXN0LmNwcCAqLzsgfTsKIAkJNDRBQzhCQzYyMUQwMjQ1QTAwQ0FGQjM0IC8q
IFJldGFpblB0ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzAyOUIxNjE0ODZBRDY0MDA4MTdEQTkgLyogUmV0YWluUHRyLmNwcCAqLzsgfTsKQEAg
LTE5NTcsNiArMTk1OCw3IEBACiAJCTQ0MDc3QkIwMjMxNDQ5RDIwMDE3OUUyRCAvKiBEYXRhRGV0
ZWN0b3JzVGVzdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NDJCQkY2ODFDOTFDQUQ5MDAxNzA4N0YgLyogUmVmTG9nZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkxvZ2dlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ0MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRU
ZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5bmNocm9u
b3VzVGltZW91dFRlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDgxMTBD
MTI1M0Y0MDI0MDA5N0ZDMzMgLyogV2ViUHJlZmVyZW5jZXNUZXN0Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gV2ViUHJlZmVyZW5jZXNUZXN0Lm1tOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNUZXN0
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4
MTAgLyogV0tSZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4RDdFNDUxRUE2QzU1NTAwRUNDNzU2IC8q
IEVudmlyb25tZW50VXRpbGl0aWVzVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBFbnZpcm9ubWVudFV0aWxpdGllc1Rlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NEE2MjJDMTE0QTBFMkI2MDA0ODUxNUIgLyogV1RGU3RyaW5nVXRpbGl0
aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdURlN0cmluZ1V0aWxpdGll
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzUyNSw2ICszNTI3LDE0IEBACiAJ
CQlwYXRoID0gV2ViQ29yZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0
ODExMEJGMjUzRjNGOEQwMDk3RkMzMyAvKiBjb2NvYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDQ4MTEwQzEyNTNGNDAyNDAwOTdGQzMzIC8qIFdlYlBy
ZWZlcmVuY2VzVGVzdC5tbSAqLywKKwkJCSk7CisJCQlwYXRoID0gY29jb2E7CisJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOworCQl9OwogCQk1MUVCMTI1RDI0Q0E2QjNFMDAwQ0IwMzAgLyogR2Ft
ZXBhZE1hcHBpbmdzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
QEAgLTQ2MDMsNiArNDYxMyw3IEBACiAJCUNEQzhFNDk4MUJDNzI4QUUwMDU5NEZFQyAvKiBXZWJL
aXRMZWdhY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CTQ0ODExMEJGMjUzRjNGOEQwMDk3RkMzMyAvKiBjb2NvYSAqLywKIAkJCQlDREM4RTQ5OTFCQzcy
OEMwMDA1OTRGRUMgLyogaW9zICovLAogCQkJCTlCRDUxMTFBMUZFOEUxMDIwMEQyQjYzMCAvKiBt
YWMgKi8sCiAJCQkpOwpAQCAtNTUwMiw2ICs1NTEzLDcgQEAKIAkJCQk1Qzk3M0Y1QzFGNThFRjhC
MDAzNTlDMjcgLyogV2ViR0xQb2xpY3kubW0gaW4gU291cmNlcyAqLywKIAkJCQkzMUU5QkRBMTI0
N0Y0QzYyMDAyRTUxQTIgLyogV2ViR0xQcmVwYXJlRGlzcGxheU9uV2ViVGhyZWFkLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0NDRTdFQUIxQTQxMUEyNDAwNDQ3QzRDIC8qIFdlYktpdEFnbm9zdGlj
VGVzdC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ0ODExMEMyMjUzRjQwMzAwMDk3RkMzMyAvKiBX
ZWJQcmVmZXJlbmNlc1Rlc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTcxNEVCODFDRjhDQTE3
MDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tpbGxJREJDbGVhbnVwLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTM2NzcwMzQxQ0M4MDIyODAwRDQyNUIxIC8qIFdlYlNjcmlwdE9iamVjdERlc2NyaXB0aW9u
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyMEM4M0QxRTY3NTEyOTAwMjVCMjUwIC8qIFdlYnNp
dGVEYXRhU3RvcmVDdXN0b21QYXRocy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNU
ZXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvY29jb2EvV2Vi
UHJlZmVyZW5jZXNUZXN0Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExM2E0N2RiNWVmZWVhNjYxNjc4ZDhlY2Jh
ZDc0YmM5MGMzN2RkYTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdExlZ2FjeS9jb2NvYS9XZWJQcmVmZXJlbmNlc1Rlc3QubW0KQEAgLTAsMCArMSw4
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0IDxGb3VuZGF0
aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJQcmVmZXJlbmNlcy5oPgorCitX
VEZfRVhURVJOX0NfQkVHSU4KK1dlYkNhY2hlTW9kZWwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVN
b2RlbEZvck1haW5CdW5kbGUoTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIpOworV1RGX0VYVEVS
Tl9DX0VORAorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1QoV2ViS2l0TGVnYWN5
LCBDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSkKK3sKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2Rl
bERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAIk1pY3Jvc29mdC9jb20ubWljcm9zb2Z0Lk1lc3NlbmdlciIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZShAImNvbS5hZGl1bVguYWRpdW1YIikpOworICAgIEVYUEVDVF9FUShXZWJD
YWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKEAiY29tLmFsaWVudGVjaG5vbG9neS5Qcm90ZXVzIikpOworICAgIEVYUEVDVF9F
UShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLkRhc2hjb2RlIikpOworICAgIEVYUEVDVF9FUShX
ZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLmlDaGF0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNo
ZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWlu
QnVuZGxlKEAiY29tLmJhcmVib25lcy5iYmVkaXQiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxEb2N1bWVudFZpZXdlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5C
dW5kbGUoQCJjb20uYmFyZWJvbmVzLnRleHR3cmFuZ2xlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5iYXJlYm9uZXMueW9qaW1ibyIpKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5lcXVpbnV4LmlTYWxlNCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFp
bkJ1bmRsZShAImNvbS5ncm93bC5ncm93bGZyYW1ld29yayIpKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5pbnRyYXJ0cy5QYW5kb3JhTWFuIikpOworICAgIEVYUEVDVF9FUShX
ZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKEAiY29tLmthcmVsaWEuU2FuZHZveCIpKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5tYWNyb21hdGVzLnRleHRtYXRlIikpOworICAgIEVYUEVDVF9FUShX
ZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKEAiY29tLnJlYWxtYWNzb2Z0d2FyZS5yYXBpZHdlYXZlcnBybyIpKTsKKyAg
ICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5j
ZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5yZWQtc3dlYXRlci5tYXJzZWRpdCIpKTsK
KyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVy
ZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS55YWhvby5tZXNzZW5nZXIzIikpOwor
ICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJl
bmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiZGUuY29kaW5nbW9ua2V5cy5TdWJFdGhhRWRp
dCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2Vi
UHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImZpLmthcnBwaW5lbi5QeXJvIikp
OworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVm
ZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiaW5mby5jb2xsb3F1eSIpKTsKKyAgICBF
WFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImt1bmdmb28udHYuZWN0byIpKTsKKworICAgIEVYUEVD
VF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNo
ZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5EaWN0aW9uYXJ5IikpOworICAgIEVYUEVD
VF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNo
ZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5YY29kZSIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuaGVscHZpZXdlciIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bEZvck1haW5CdW5kbGUoQCJjb20uY3VsdHVyZWRjb2RlLnh5bGUiKSk7CisgICAgRVhQRUNUX0VR
KFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKEAiY29tLm1hY3JhYmJpdC5DU1NFZGl0IikpOworICAgIEVYUEVDVF9F
UShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5wYW5pYy5Db2RhIikpOworICAgIEVYUEVDVF9FUShXZWJD
YWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5yYW5jaGVyby5OZXROZXdzV2lyZSIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3NlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bEZvck1haW5CdW5kbGUoQCJjb20udGhpbmttYWMuTmV3c0xpZmUiKSk7CisgICAgRVhQRUNUX0VR
KFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKEAib3JnLnhsaWZlLk5ld3NGaXJlIikpOworICAgIEVYUEVDVF9FUShX
ZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZShAInVrLmNvLm9wZW5jb21tdW5pdHkudmllbm5hMiIpKTsKKworICAgIEVY
UEVDVF9FUShXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXIsIFRlc3RXZWJQcmVmZXJlbmNl
c0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcDRtYWMuS2lkc0Jyb3dzZXIiKSk7Cisg
ICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgVGVzdFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwNG1hYy53S2lvc2siKSk7Cisg
ICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgVGVzdFdlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uZnJlZXZlcnNlLmJ1bXBlcmNhciIp
KTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCBUZXN0V2Vi
UHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5vbW5pZ3JvdXAuT21uaVdl
YjUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgVGVz
dFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uc3VucmlzZWJyb3dz
ZXIuU3VucmlzZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93
c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAIm5ldC5obWR0
LXdlYi5TaGlpcmEiKSk7CisKKyAgICAvLyBUZXN0IGJ1bmRsZSBpZGVudGlmaWVycyB0aGF0IGFy
ZSBub3QgaGFyZC1jb2RlZC4KKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmll
d2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShuaWwpKTsKKyAg
ICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5j
ZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAIiIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImNvbSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2Vy
LCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5T
YWZhcmkiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgVGVz
dFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuU2FmYXJp
VGVjaG5vbG9neVByZXZpZXciKSk7Cit9CisKK30K
</data>
<flag name="review"
          id="428485"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="429627"
          type_id="3"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413087</attachid>
            <date>2020-11-03 12:03:44 -0800</date>
            <delta_ts>2020-11-03 12:45:17 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-217960-20201103120343.patch</filename>
            <type>text/plain</type>
            <size>28217</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGQ4ZmZk
Nzk3YzI2NzNlMzA4YWM3ZDVmZjE4NjFiMjk2OGEzMWQ0MmQuLmU1MzI0ZTI5ODMxZDJlYmFhMGRi
Zjc2MDU3MzRlYWNhMWRjMTIyOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjAtMTEtMDMgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgdGVzdCBmb3IgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKSBpbiBXZWJLaXRMZWdh
Y3kKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIxNzk2MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIFdlYktpdExlZ2FjeS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAtIEFkZCBUZXN0aW5nRnVuY3Rpb25zLmggdG8gdGhl
IHByb2plY3QuCisgICAgICAgIChHZW5lcmF0ZSBFeHBvcnQgRmlsZXMpOgorICAgICAgICAtIEFw
cGVuZCBXZWJLaXQuVGVzdGluZy5leHAgdG8gdGhlIGdlbmVyYXRlZCBleHBvcnQgZmlsZSBpZgor
ICAgICAgICAgIFdLX0JVSUxEX0ZPUl9URVNUSU5HIGlzIHNldCB0byBZRVMuCisKIDIwMjAtMTEt
MDMgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4dGVuZCBj
aGVjay1mb3ItaW5hcHByb3ByaWF0ZS1maWxlcy1pbi1mcmFtZXdvcmsgdG8gV2ViS2l0TGVnYWN5
IGFuZCBKYXZhU2NyaXB0Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDhiZjk5
NWYyODA4NzNlMmI0ZmY3NTY2ZTQ0N2ZmNzM3NWU2YTA4NzguLmIzN2JjOThjNmI0ZDFmNGMyNjA2
ZjZjZmE4MzQ1MWFjZjNjMzNlZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAyMC0xMS0wMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSgpIGluIFdl
YktpdExlZ2FjeQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjE3OTYwPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RGVidWdSZWxlYXNlLnhjY29uZmlnOgorICAgICAgICAoV0tfQlVJTERfRk9SX1RFU1RJTkcpOiBB
ZGQuCisgICAgICAgIC0gVGhpcyBzaW5nbGUgc2V0dGluZyBjb250cm9scyB3aGV0aGVyIHRlc3Qg
Y29kZSBpcyBidWlsdCBhbmQKKyAgICAgICAgICB0ZXN0IGZ1bmN0aW9ucyBhcmUgZXhwb3J0ZWQu
ICBDdXJyZW50bHkgb25seSBEZWJ1ZyBhbmQgUmVsZWFzZQorICAgICAgICAgIGNvbmZpZ3VyYXRp
b25zIGFyZSBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXRMZWdh
Y3kueGNjb25maWc6CisgICAgICAgIChPVEhFUl9DRkxBR1MpOgorICAgICAgICAtIEluY2x1ZGUg
bmVjZXNzYXJ5IG1hY3JvIGRlZmluaXRpb24gd2hlbiBXS19CVUlMRF9GT1JfVEVTVElORworICAg
ICAgICAgIGlzIFlFUy4KKyAgICAgICAgKFdLX0NGTEFHU19CVUlMRF9GT1JfVEVTVElOR19ZRVMp
OgorICAgICAgICAtIERlZmluZSBtYWNybyBzZXQgd2hlbiBXS19CVUlMRF9GT1JfVEVTVElORyBp
cyBZRVMuICBVc2VkIGJ5CisgICAgICAgICAgYm90aCBPVEhFUl9DRkxBR1MgYW5kIE9USEVSX1RB
UElfRkxBR1MgdG8gZW5hYmxlIHRlc3QgY29kZS4KKyAgICAgICAgKE9USEVSX1RBUElfRkxBR1Nb
c2RrPWlwaG9uZSpdKToKKyAgICAgICAgLSBJbmNsdWRlIG5lY2Vzc2FyeSBtYWNybyBkZWZpbml0
aW9uIHdoZW4gV0tfQlVJTERfRk9SX1RFU1RJTkcKKyAgICAgICAgICBpcyBZRVMuCisgICAgICAg
IC0gQWRkIC1leHRyYS1wcml2YXRlLWhlYWRlciBhcmd1bWVudCB0byBkZWNsYXJlIGV4cG9ydGVk
CisgICAgICAgICAgZnVuY3Rpb25zIGluIFRlc3RpbmdGdW5jdGlvbnMuaCB3aGVuIFdLX0JVSUxE
X0ZPUl9URVNUSU5HIGlzCisgICAgICAgICAgWUVTLgorCisgICAgICAgICogVGVzdGluZ0Z1bmN0
aW9ucy5oOiBBZGQuCisgICAgICAgIC0gRGVjbGFyZSBmdW5jdGlvbnMgZXhwb3J0ZWQgd2hlbiBX
S19CVUlMRF9GT1JfVEVTVElORyBpcyBZRVMuCisKKyAgICAgICAgKiBXZWJLaXQuVGVzdGluZy5l
eHA6IEFkZC4KKyAgICAgICAgLSBUaGlzIGNvbnRhaW5zIGEgbGlzdCBvZiB0ZXN0IGZ1bmN0aW9u
cyB0aGF0IGFyZSBvbmx5IGV4cG9ydGVkCisgICAgICAgICAgd2hlbiBXS19CVUlMRF9GT1JfVEVT
VElORyBpcyBZRVMuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAg
ICAgICAoY2FjaGVNb2RlbEZvck1haW5CdW5kbGUpOgorICAgICAgICAtIEFkZCBOU1N0cmluZyAq
YnVuZGxlSWRlbnRpZmllciBhcmd1bWVudCB0byBtYWtlIHRlc3RhYmxlLgorICAgICAgICAoVGVz
dFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUpOiBBZGQuCisgICAgICAgIC0g
QWRkIGZ1bmN0aW9uIG9ubHkgdXNlZCBmb3IgdGVzdGluZywgYW5kIG9ubHkgY29tcGlsZWQgd2hl
bgorICAgICAgICAgIFdLX0JVSUxEX0ZPUl9URVNUSU5HIGlzIFlFUy4KKyAgICAgICAgKCtbV2Vi
UHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAtIENoYW5nZSB0byBwYXNzIG1haW4g
YnVuZGxlIGlkZW50aWZpZXIgYXMgYXJndW1lbnQuCisKIDIwMjAtMTEtMDIgIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFtUZXN0aW5nXSBNYXRjaCBXZWJLaXRUZXN0
UnVubmVyIGFuZCBlbmFibGUgYWxsICJleHBlcmltZW50YWwiIGZlYXR1cmVzIGluIER1bXBSZW5k
ZXJUcmVlIChjb2NvYSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0TGVn
YWN5Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktp
dExlZ2FjeS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJkNzQ4NGE0YjMxZWMyODcx
ZjMxM2ZjYzY1NTg5NTQ4YzljOGVmYTEuLjFhZDNhZDYwZWMxZmY2NjNiZTk1YTRjMzNjMGQyOThi
Njg5N2RmYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0TGVnYWN5Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJLaXRM
ZWdhY3kueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM2LDYgKzEzNiw3IEBACiAJCTNB
QkIzQzdCMTMwOUMzQjUwMEU5M0Q5NCAvKiBXZWJTdG9yYWdlVHJhY2tlckNsaWVudC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBQkIzQzc5MTMwOUMz
QjUwMEU5M0Q5NCAvKiBXZWJTdG9yYWdlVHJhY2tlckNsaWVudC5tbSAqLzsgfTsKIAkJM0FFMTVE
NTAxMkRCREVENDAwOTMyM0M4IC8qIFdlYlN0b3JhZ2VNYW5hZ2VySW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBRTE1RDRGMTJEQkRFRDQw
MDkzMjNDOCAvKiBXZWJTdG9yYWdlTWFuYWdlckludGVybmFsLmggKi87IH07CiAJCTQ0QkI4QjE0
MTI0MUEwMjIwMDFFM0EyMiAvKiBXZWJBcmNoaXZlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0QkI4QjEzMTI0MUEwMjIwMDFFM0EyMiAv
KiBXZWJBcmNoaXZlSW50ZXJuYWwuaCAqLzsgfTsKKwkJNDREREQwODIyNTQwRjk3RjAwODM2Rjgx
IC8qIFRlc3RpbmdGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0REREMDgxMjU0MEY4QzgwMDgzNkY4MSAvKiBUZXN0aW5nRnVuY3Rpb25z
LmggKi87IH07CiAJCTQ2MThERkY4MURFRjc2MEEwMDMzQzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVz
c2FnZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDYxOERGRjYxREVGNzYwQTAwMzNDM0FBIC8qIFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50
LmggKi87IH07CiAJCTQ2MThERkY5MURFRjc2MEEwMDMzQzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVz
c2FnZUNsaWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2MThERkY3MURFRjc2MEEwMDMzQzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVzc2FnZUNsaWVu
dC5tbSAqLzsgfTsKIAkJNEJGOTlGOTAwQUUwNTBCQzAwODE1QzJCIC8qIFdlYkVkaXRvckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJGOTlG
OEUwQUUwNTBCQzAwODE1QzJCIC8qIFdlYkVkaXRvckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKCk7IH07IH07CkBAIC04NzIsNiArODczLDcgQEAKIAkJM0FCQjNDNzkxMzA5
QzNCNTAwRTkzRDk0IC8qIFdlYlN0b3JhZ2VUcmFja2VyQ2xpZW50Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViU3RvcmFnZVRyYWNrZXJDbGllbnQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNBRTE1RDRGMTJEQkRFRDQwMDkzMjNDOCAvKiBX
ZWJTdG9yYWdlTWFuYWdlckludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYlN0b3JhZ2VNYW5hZ2VySW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDRCQjhCMTMxMjQxQTAyMjAwMUUzQTIyIC8qIFdlYkFyY2hpdmVJbnRlcm5hbC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBcmNoaXZlSW50ZXJuYWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDREREQwODEyNTQwRjhDODAwODM2RjgxIC8qIFRl
c3RpbmdGdW5jdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGVzdGluZ0Z1bmN0aW9ucy5oOyBwYXRo
ID0gbWFjL1Rlc3RpbmdGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDYxOERGRjYxREVGNzYwQTAwMzNDM0FBIC8qIFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MThERkY3MURFRjc2MEEwMDMz
QzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QkY5OUY4RTBBRTA1MEJDMDA4MTVDMkIgLyogV2Vi
RWRpdG9yQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJFZGl0
b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTAsOSArMTYxMiwx
MCBAQAogCQkwODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogV2ViS2l0ICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkxQzZDQjAzRTBBQTYzOTFEMDBEMjNC
RkQgLyogTWlncmF0ZUhlYWRlcnMubWFrZSAqLywKIAkJCQk1QzlEOTI1ODIyRDdFOEFEMDA4RTky
NjYgLyogU291cmNlcy50eHQgKi8sCiAJCQkJNUM5RDkyNTkyMkQ3RThBRDAwOEU5MjY2IC8qIFNv
dXJjZXNDb2NvYS50eHQgKi8sCi0JCQkJMUM2Q0IwM0UwQUE2MzkxRDAwRDIzQkZEIC8qIE1pZ3Jh
dGVIZWFkZXJzLm1ha2UgKi8sCisJCQkJNDREREQwODEyNTQwRjhDODAwODM2RjgxIC8qIFRlc3Rp
bmdGdW5jdGlvbnMuaCAqLywKIAkJCQlGNUY3MzJEMjAyRkY0RDRGMDFBODAxODAgLyogV2ViS2l0
LmV4cCAqLywKIAkJCQkzMTlBM0Y0RDE4ODVFNUZCMDBFMEM5MDAgLyogV2ViS2l0Lm1hYy5leHAg
Ki8sCiAJCQkJQTEwQzFEOEYxODIwMzA3RDAwMzY4ODNBIC8qIFdlYktpdC5pT1MuZXhwICovLApA
QCAtMjk1Nyw2ICsyOTYwLDcgQEAKIAkJCQkxQTZCMzEzQTFBNTFGM0E5MDA0MjI5NzUgLyogU3Rv
cmFnZVRocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2QjMxM0MxQTUxRjNBOTAwNDIyOTc1
IC8qIFN0b3JhZ2VUcmFja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZCMzEzRDFBNTFGM0E5
MDA0MjI5NzUgLyogU3RvcmFnZVRyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0
REREMDgyMjU0MEY5N0YwMDgzNkY4MSAvKiBUZXN0aW5nRnVuY3Rpb25zLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QzFGQjNDMjE4NDZFOEUxMDAxQTAzRDggLyogV2ViQWxsb3dEZW55UG9saWN5TGlz
dGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFREExMkRDMTUyQ0JFNjgwMEQ5RTA4RCAvKiBX
ZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUI2Q0U1QzI1MTAw
QkM1RjUwMDIxOTkzNiAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlLmggaW4gSGVhZGVycyAqLywKQEAg
LTMzMTYsNyArMzMyMCw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAi
c2V0IC1lXG5cbm1rZGlyIC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdExlZ2FjeVwiXG5cbkVYUF9HRU5FUkFURUQ9XCIke0VYUE9SVEVEX1NZTUJPTFNfRklM
RX1cIlxuXG5bWyAteiBcIiR7RVhQX0dFTkVSQVRFRH1cIiBdXSAmJiBleGl0IDFcblxuaWYgW1sg
XCIke1dLX1BMQVRGT1JNX05BTUV9XCIgIT0gXCJtYWNvc3hcIiBdXTsgdGhlblxuICAgIEVYUF9X
RUJLSVRfUExBVEZPUk09XCIke1BST0pFQ1RfRElSfS9pb3MvV2ViS2l0LmlPUy5leHBcIlxuZWxz
ZVxuICAgIEVYUF9XRUJLSVRfUExBVEZPUk09XCIke1BST0pFQ1RfRElSfS9tYWMvV2ViS2l0Lm1h
Yy5leHBcIlxuZmlcblxuY2F0IFwiJHtQUk9KRUNUX0RJUn0vbWFjL1dlYktpdC5leHBcIiA+IFwi
JHtFWFBfR0VORVJBVEVEfVwiXG5jYXQgXCIke0VYUF9XRUJLSVRfUExBVEZPUk19XCIgPj4gXCIk
e0VYUF9HRU5FUkFURUR9XCJcblxuZm9yIFdLX0NVUlJFTlRfQVJDSCBpbiAke0FSQ0hTfTsgZG9c
biAgICBFWFBfUkVFWFBPUlRFRD1cIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNl
cy9XZWJLaXRMZWdhY3kvUmVleHBvcnRlZFdlYkNvcmVTeW1ib2xzXyR7V0tfQ1VSUkVOVF9BUkNI
fS5leHBcIlxuICAgIGlmIFtbIC1mIFwiJHtFWFBfUkVFWFBPUlRFRH1cIiBdXTsgdGhlblxuICAg
ICAgICBjYXQgXCIke0VYUF9SRUVYUE9SVEVEfVwiID4+IFwiJHtFWFBfR0VORVJBVEVEfVwiXG4g
ICAgZmlcbmRvbmVcbiI7CisJCQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVcblxubWtkaXIgLXAgXCIk
e0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViS2l0TGVnYWN5XCJcblxuRVhQ
X0dFTkVSQVRFRD1cIiR7RVhQT1JURURfU1lNQk9MU19GSUxFfVwiXG5cbltbIC16IFwiJHtFWFBf
R0VORVJBVEVEfVwiIF1dICYmIGV4aXQgMVxuXG5pZiBbWyBcIiR7V0tfUExBVEZPUk1fTkFNRX1c
IiAhPSBcIm1hY29zeFwiIF1dOyB0aGVuXG4gICAgRVhQX1dFQktJVF9QTEFURk9STT1cIiR7UFJP
SkVDVF9ESVJ9L2lvcy9XZWJLaXQuaU9TLmV4cFwiXG5lbHNlXG4gICAgRVhQX1dFQktJVF9QTEFU
Rk9STT1cIiR7UFJPSkVDVF9ESVJ9L21hYy9XZWJLaXQubWFjLmV4cFwiXG5maVxuXG5jYXQgXCIk
e1BST0pFQ1RfRElSfS9tYWMvV2ViS2l0LmV4cFwiID4gXCIke0VYUF9HRU5FUkFURUR9XCJcbmNh
dCBcIiR7RVhQX1dFQktJVF9QTEFURk9STX1cIiA+PiBcIiR7RVhQX0dFTkVSQVRFRH1cIlxuXG5m
b3IgV0tfQ1VSUkVOVF9BUkNIIGluICR7QVJDSFN9OyBkb1xuICAgIEVYUF9SRUVYUE9SVEVEPVwi
JHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdExlZ2FjeS9SZWV4cG9y
dGVkV2ViQ29yZVN5bWJvbHNfJHtXS19DVVJSRU5UX0FSQ0h9LmV4cFwiXG4gICAgaWYgW1sgLWYg
XCIke0VYUF9SRUVYUE9SVEVEfVwiIF1dOyB0aGVuXG4gICAgICAgIGNhdCBcIiR7RVhQX1JFRVhQ
T1JURUR9XCIgPj4gXCIke0VYUF9HRU5FUkFURUR9XCJcbiAgICBmaVxuZG9uZVxuXG5pZiBbWyBc
IiR7V0tfQlVJTERfRk9SX1RFU1RJTkd9XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIGNhdCBc
IiR7UFJPSkVDVF9ESVJ9L21hYy9XZWJLaXQuVGVzdGluZy5leHBcIiA+PiBcIiR7RVhQX0dFTkVS
QVRFRH1cIlxuZmlcbiI7CiAJCX07CiAJCTFDNkNCMDUxMEFBNjNFQjAwMEQyM0JGRCAvKiBNaWdy
YXRlIEhlYWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9EZWJ1Z1Jl
bGVhc2UueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9E
ZWJ1Z1JlbGVhc2UueGNjb25maWcKaW5kZXggMjUzOWRjYmQ4NWZhNDUyYWVjYTFlODQ4N2IxY2M2
YzUxOWYzZGY2MC4uYzk5YWMwOTVkMDVkZmNkOWFjZmI3MDFkODk1YjUxMDAyYWM5ZThjMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxl
YXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25z
L0RlYnVnUmVsZWFzZS54Y2NvbmZpZwpAQCAtNTYsNiArNTYsOCBAQCBTREtST09UID0gJChTREtS
T09UXyQoVVNFX0lOVEVSTkFMX1NESykpOwogU0RLUk9PVF8gPSBtYWNvc3g7CiBTREtST09UX1lF
UyA9IG1hY29zeC5pbnRlcm5hbDsKIAorV0tfQlVJTERfRk9SX1RFU1RJTkcgPSBZRVM7CisKIFdL
X1JFTE9DQVRBQkxFX0ZSQU1FV09SS1MgPSBZRVM7CiAKIFdLX0RFRkFVTFRfTFRPX01PREUgPSAk
KFdLX1VTRVJfTFRPX01PREVfbm9uZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKaW5kZXggZWEw
MDk1NzFmNThjN2FjMmU0Y2VjMGY4Y2FjZmUzYzI4YjI1NGNhYi4uM2U5OGFlMTQzYjFlNDA2YjQ4
NTVjZjkyZDNkOGYwZDc0ZGNkN2E1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZwpAQCAtNDIs
MTEgKzQyLDEzIEBAIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNbc2RrPW1hY29zeCpdID0gJChXS19R
VU9URURfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVIpICIkKFVNCiAKIFNZU1RFTV9GUkFNRVdPUktf
U0VBUkNIX1BBVEhTID0gJChpbmhlcml0ZWQpICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJ
UikvUHJpdmF0ZUZyYW1ld29ya3MgJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFt
ZXdvcmtzOwogCi1PVEhFUl9DRkxBR1MgPSAkKGluaGVyaXRlZCkgJChPVEhFUl9DRkxBR1NfQ09D
T0FfVE9VQ0gpOworT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJfQ0ZMQUdTX0NP
Q09BX1RPVUNIKSAkKFdLX0NGTEFHU19CVUlMRF9GT1JfVEVTVElOR18kKFdLX0JVSUxEX0ZPUl9U
RVNUSU5HKSk7CiBPVEhFUl9DRkxBR1NfQ09DT0FfVE9VQ0ggPSAkKE9USEVSX0NGTEFHU19DT0NP
QV9UT1VDSF8kKFdLX0lTX0NPQ09BX1RPVUNIKSk7CiBPVEhFUl9DRkxBR1NfQ09DT0FfVE9VQ0hf
Tk8gPSAtaWZyYW1ld29yayAkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29y
a3MvV2ViS2l0LmZyYW1ld29yay9GcmFtZXdvcmtzOwogT1RIRVJfQ1BMVVNQTFVTRkxBR1MgPSAk
KGluaGVyaXRlZCkgJChPVEhFUl9DRkxBR1NfQ09DT0FfVE9VQ0gpOwogCitXS19DRkxBR1NfQlVJ
TERfRk9SX1RFU1RJTkdfWUVTID0gLURFTkFCTEVfQlVJTERfRk9SX1RFU1RJTkc9MTsKKwogR0ND
X1BSRUZJWF9IRUFERVIgPSBtYWMvV2ViS2l0UHJlZml4Lmg7CiBHQ0NfUFJFUFJPQ0VTU09SX0RF
RklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSBCVUlMRElOR19XRUJLSVQgRlJBTUVXT1JLX05B
TUU9V2ViS2l0TGVnYWN5ICQoaW5oZXJpdGVkKTsKIApAQCAtMTQ5LDUgKzE1MSw1IEBAIFdLX0lO
U1RBTExfUEFUSF9QUkVGSVhfREVQTE9ZTUVOVF9ZRVNfTUFDT1NfU0lOQ0VfMTAxNV9VU0VfU1RB
R0lOR19JTlNUQUxMX1BBVEhfCiBTVVBQT1JUU19URVhUX0JBU0VEX0FQSVtzZGs9aXBob25lKl0g
PSBZRVM7CiBTVVBQT1JUU19URVhUX0JBU0VEX0FQSVtzZGs9YXBwbGV0dipdID0gTk87CiBTVVBQ
T1JUU19URVhUX0JBU0VEX0FQSVtzZGs9d2F0Y2gqXSA9IE5POwotT1RIRVJfVEFQSV9GTEFHU1tz
ZGs9aXBob25lKl0gPSAteCBvYmplY3RpdmUtYysrIC1zdGQ9Z251KysxeiAtZm5vLXJ0dGkgLURS
RUxFQVNFX1dJVEhPVVRfT1BUSU1JWkFUSU9OUyAtZXhjbHVkZS1wcml2YXRlLWhlYWRlciAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvJChQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEgpL05TVVJMRG93
bmxvYWRTUEkuaDsKK09USEVSX1RBUElfRkxBR1Nbc2RrPWlwaG9uZSpdID0gLXggb2JqZWN0aXZl
LWMrKyAtc3RkPWdudSsrMXogLWZuby1ydHRpICQoV0tfQ0ZMQUdTX0JVSUxEX0ZPUl9URVNUSU5H
XyQoV0tfQlVJTERfRk9SX1RFU1RJTkcpKSAtRFJFTEVBU0VfV0lUSE9VVF9PUFRJTUlaQVRJT05T
IC1leGNsdWRlLXByaXZhdGUtaGVhZGVyICQoQlVJTFRfUFJPRFVDVFNfRElSKS8kKFBSSVZBVEVf
SEVBREVSU19GT0xERVJfUEFUSCkvTlNVUkxEb3dubG9hZFNQSS5oIC1leHRyYS1wcml2YXRlLWhl
YWRlciAkKFNPVVJDRV9ST09UKS9tYWMvVGVzdGluZ0Z1bmN0aW9ucy5oOwogVEFQSV9WRVJJRllf
TU9ERVtzZGs9aXBob25lKl0gPSBQZWRhbnRpYzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1Rlc3RpbmdGdW5jdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1Rl
c3RpbmdGdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NGYzM2I3OTI3YjYwNjA5ZmY0Mzk0NGJhMjBj
MTNlNGQzNGMxNDc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
VGVzdGluZ0Z1bmN0aW9ucy5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlIDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbmNsdWRlIDxX
ZWJLaXRMZWdhY3kvV2ViUHJlZmVyZW5jZXMuaD4KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4K
KyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEVOQUJMRShCVUlMRF9GT1JfVEVTVElO
RykKKworV1RGX0VYVEVSTl9DX0JFR0lOCitXZWJDYWNoZU1vZGVsIFRlc3RXZWJQcmVmZXJlbmNl
c0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3RyaW5nICpidW5kbGVJZGVudGlmaWVyKTsKK1dU
Rl9FWFRFUk5fQ19FTkQKKworI2VuZGlmIC8vIEVOQUJMRShCVUlMRF9GT1JfVEVTVElORykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5UZXN0aW5nLmV4cCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5UZXN0aW5nLmV4cApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NjQ2
NGFkYTczZWQ2M2VjZjk4ZTM2YmMzNTlkMmUxMmE5OWY3MGE2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViS2l0LlRlc3RpbmcuZXhwCkBAIC0wLDAgKzEgQEAK
K19UZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggYzJmNzc2
ZThkZGYxNGZmYjQ3NGJmN2QwZTI1OGIxNjc2MGJhZTczMC4uOTM2N2MzYzk0ODNiYmVlMGE4YmQ3
Mzg1ZTE1YTY5MzM2YThhNGRiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0zMCw2ICszMCw3IEBACiAjaW1wb3J0ICJXZWJQ
cmVmZXJlbmNlc0ludGVybmFsLmgiCiAKICNpbXBvcnQgIk5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1h
cC5oIgorI2ltcG9ydCAiVGVzdGluZ0Z1bmN0aW9ucy5oIgogI2ltcG9ydCAiV2ViQXBwbGljYXRp
b25DYWNoZS5oIgogI2ltcG9ydCAiV2ViRmVhdHVyZS5oIgogI2ltcG9ydCAiV2ViRnJhbWVOZXR3
b3JraW5nQ29udGV4dC5oIgpAQCAtNTAsNiArNTEsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9UZXh0
RW5jb2RpbmdSZWdpc3RyeS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlSklUT3BlcmF0aW9u
cy5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KKyNpbXBvcnQgPHd0Zi9D
b21waWxlci5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CkBAIC04OCw3ICs5MCw3IEBAIHRlbXBs
YXRlPHVuc2lnbmVkIHNpemU+IHN0YXRpYyBib29sIGNvbnRhaW5zKGNvbnN0IGNoYXIqIGNvbnN0
ICgmYXJyYXkpW3NpemVdLCBjCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgV2ViQ2Fj
aGVNb2RlbCBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSh2b2lkKQorc3RhdGljIFdlYkNhY2hlTW9k
ZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUoTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIpCiB7
CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIC8vIEFwcHMgdGhhdCBwcm9iYWJseSBu
ZWVkIHRoZSBzbWFsbCBzZXR0aW5nCkBAIC0xMzksNyArMTQxLDcgQEAgc3RhdGljIFdlYkNhY2hl
TW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9pZCkKICAgICAgICAgICAgICJuZXQuaG1k
dC13ZWIuU2hpaXJhIiwKICAgICAgICAgfTsKIAotICAgICAgICBjb25zdCBjaGFyKiBidW5kbGVJ
RCA9IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIFVURjhTdHJpbmdd
OworICAgICAgICBjb25zdCBjaGFyKiBidW5kbGVJRCA9IFtidW5kbGVJZGVudGlmaWVyIFVURjhT
dHJpbmddOwogICAgICAgICBpZiAoY29udGFpbnMoZG9jdW1lbnRWaWV3ZXJJRHMsIGJ1bmRsZUlE
KSkKICAgICAgICAgICAgIHJldHVybiBXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXI7CiAgICAg
ICAgIGlmIChjb250YWlucyhkb2N1bWVudEJyb3dzZXJJRHMsIGJ1bmRsZUlEKSkKQEAgLTE2Myw2
ICsxNjUsMTMgQEAgc3RhdGljIFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
dm9pZCkKICAgICB9CiB9CiAKKyNpZiBFTkFCTEUoQlVJTERfRk9SX1RFU1RJTkcpCitXZWJDYWNo
ZU1vZGVsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3RyaW5n
ICpidW5kbGVJZGVudGlmaWVyKQoreworICAgIHJldHVybiBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShidW5kbGVJZGVudGlmaWVyKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQlVJTERfRk9SX1RFU1RJ
TkcpCisKIEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKCkKIC0gKHZvaWQpX3Bvc3RDYWNoZU1v
ZGVsQ2hhbmdlZE5vdGlmaWNhdGlvbjsKIEBlbmQKQEAgLTM5MSw3ICs0MDAsNyBAQCArICh2b2lk
KWluaXRpYWxpemUKICAgICAgICAgQFlFUywgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9vcGlu
Z1ByZWZlcmVuY2VLZXksCiAgICAgICAgIEAiMTgwMCIsIFdlYktpdEJhY2tGb3J3YXJkQ2FjaGVF
eHBpcmF0aW9uSW50ZXJ2YWxLZXksCiAgICAgICAgIEBOTywgV2ViS2l0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXksCi0gICAgICAgIEAoY2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
KSksIFdlYktpdENhY2hlTW9kZWxQcmVmZXJlbmNlS2V5LAorICAgICAgICBAKGNhY2hlTW9kZWxG
b3JNYWluQnVuZGxlKFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0pKSwg
V2ViS2l0Q2FjaGVNb2RlbFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBZRVMsIFdlYktpdFpvb21z
VGV4dE9ubHlQcmVmZXJlbmNlS2V5LAogICAgICAgICBAWUVTLCBXZWJLaXRGb3JjZVdlYkdMVXNl
c0xvd1Bvd2VyUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRVc2VQcmVIVE1MNVBh
cnNlclF1aXJrc0tleSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA4ZWE1ZmY3MWY3MjYwOTYxMjEyMDVmMjRlYjA1YjdlOGQ2MjFhYTk2Li5iMzYy
MzE5OWQyMDczYmEzYTI1MWYyZDY4MzAwMGUxZDVmMTgyNDFlIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMTEt
MDMgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgdGVz
dCBmb3IgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKSBpbiBXZWJLaXRMZWdhY3kKKyAgICAgICAg
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIxNzk2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAtIEFkZCBXZWJQcmVmZXJlbmNlc1Rlc3QubW0g
dG8gcHJvamVjdC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9j
b2NvYS9XZWJQcmVmZXJlbmNlc1Rlc3QubW06IEFkZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1QpOgorICAgICAgICAtIEFkZCB0ZXN0IGZvciBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZSgpLgorCiAyMDIwLTExLTAzICBLZWl0aCBSb2xsaW4gIDxrcm9sbGlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBFeHRlbmQgY2hlY2stZm9yLWluYXBwcm9wcmlhdGUtZmls
ZXMtaW4tZnJhbWV3b3JrIHRvIFdlYktpdExlZ2FjeSBhbmQgSmF2YVNjcmlwdENvcmUKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggODJlM2ZjZDE2ZDRhNTE1YzM0NDRiNTU0MjYxMTQ2ZjRhYWMy
N2QwMy4uNWI1MDg5MzY3NDNjZDEwMDI1M2IwNWE0MTNiMWQ2YWE1OTdiNzIyOCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTI0MCw2ICsyNDAsNyBAQAogCQk0MTg4MkYwMzIxMDEwQzBEMDAy
RkYyODggLyogUHJvY2Vzc1ByZVdhcm1pbmcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTg4MkYwMjIxMDEwQTcwMDAyRkYyODggLyogUHJvY2Vzc1By
ZVdhcm1pbmcubW0gKi87IH07CiAJCTQ0MDc3QkIxMjMxNDRCNTAwMDE3OUUyRCAvKiBEYXRhRGV0
ZWN0b3JzVGVzdElPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0MDc3QkIwMjMxNDQ5RDIwMDE3OUUyRCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5t
bSAqLzsgfTsKIAkJNDQzM0EzOTYyMDgwNDQxNDAwOTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91
dFRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDQzM0EzOTUyMDgwNDQxMzAwOTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tICov
OyB9OworCQk0NDgxMTBDMjI1M0Y0MDMwMDA5N0ZDMzMgLyogV2ViUHJlZmVyZW5jZXNUZXN0Lm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ4MTEwQzEy
NTNGNDAyNDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSAqLzsgfTsKIAkJNDQ4MTdB
MkYxRjA0ODZCRjAwMDAzODEwIC8qIFdLUmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ4MTdBMkUxRjA0
ODZCRjAwMDAzODEwIC8qIFdLUmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvLm1tICovOyB9Owog
CQk0NDhEN0U0NzFFQTZDNTU1MDBFQ0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OEQ3RTQ1
MUVBNkM1NTUwMEVDQzc1NiAvKiBFbnZpcm9ubWVudFV0aWxpdGllc1Rlc3QuY3BwICovOyB9Owog
CQk0NEFDOEJDNjIxRDAyNDVBMDBDQUZCMzQgLyogUmV0YWluUHRyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDI5QjE2MTQ4NkFENjQwMDgxN0RB
OSAvKiBSZXRhaW5QdHIuY3BwICovOyB9OwpAQCAtMTk1Nyw2ICsxOTU4LDcgQEAKIAkJNDQwNzdC
QjAyMzE0NDlEMjAwMTc5RTJEIC8qIERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGF0YURldGVjdG9yc1Rlc3RJT1MubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MkJCRjY4MUM5MUNBRDkwMDE3MDg3RiAvKiBS
ZWZMb2dnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmTG9n
Z2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzM0EzOTUyMDgwNDQxMzAw
OTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gU3luY2hyb25vdXNUaW1lb3V0VGVzdHMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0ODExMEMxMjUzRjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVm
ZXJlbmNlc1Rlc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXZWJQcmVmZXJlbmNlc1Rlc3Qu
bW07IHBhdGggPSBXZWJQcmVmZXJlbmNlc1Rlc3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ0ODE3QTJFMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVt
ZW50SW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUmVx
dWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NDhEN0U0NTFFQTZDNTU1MDBFQ0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVudmlyb25tZW50VXRpbGl0
aWVzVGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTYyMkMxMTRBMEUy
QjYwMDQ4NTE1QiAvKiBXVEZTdHJpbmdVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV1RGU3RyaW5nVXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0zNTI1LDYgKzM1MjcsMTQgQEAKIAkJCXBhdGggPSBXZWJDb3JlOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDQ4MTEwQkYyNTNGM0Y4RDAwOTdGQzMzIC8qIGNv
Y29hICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NDgx
MTBDMTI1M0Y0MDI0MDA5N0ZDMzMgLyogV2ViUHJlZmVyZW5jZXNUZXN0Lm1tICovLAorCQkJKTsK
KwkJCXBhdGggPSBjb2NvYTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTUx
RUIxMjVEMjRDQTZCM0UwMDBDQjAzMCAvKiBHYW1lcGFkTWFwcGluZ3MgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNDYwMiw2ICs0NjEyLDcgQEAKIAkJQ0RD
OEU0OTgxQkM3MjhBRTAwNTk0RkVDIC8qIFdlYktpdExlZ2FjeSAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDQ4MTEwQkYyNTNGM0Y4RDAwOTdGQzMzIC8q
IGNvY29hICovLAogCQkJCUNEQzhFNDk5MUJDNzI4QzAwMDU5NEZFQyAvKiBpb3MgKi8sCiAJCQkJ
OUJENTExMUExRkU4RTEwMjAwRDJCNjMwIC8qIG1hYyAqLywKIAkJCSk7CkBAIC01NTAyLDYgKzU1
MTMsNyBAQAogCQkJCTVDOTczRjVDMUY1OEVGOEIwMDM1OUMyNyAvKiBXZWJHTFBvbGljeS5tbSBp
biBTb3VyY2VzICovLAogCQkJCTMxRTlCREExMjQ3RjRDNjIwMDJFNTFBMiAvKiBXZWJHTFByZXBh
cmVEaXNwbGF5T25XZWJUaHJlYWQubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VBQjFBNDEx
QTI0MDA0NDdDNEMgLyogV2ViS2l0QWdub3N0aWNUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
NDQ4MTEwQzIyNTNGNDAzMDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxNzE0RUI4MUNGOENBMTcwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElE
QkNsZWFudXAubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MzY3NzAzNDFDQzgwMjI4MDBENDI1QjEg
LyogV2ViU2NyaXB0T2JqZWN0RGVzY3JpcHRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTIw
QzgzRDFFNjc1MTI5MDAyNUIyNTAgLyogV2Vic2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzLm1tIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dExlZ2FjeS9jb2NvYS9XZWJQcmVmZXJlbmNlc1Rlc3QubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdExlZ2FjeS9jb2NvYS9XZWJQcmVmZXJlbmNlc1Rlc3QubW0KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTEzYTQ3ZGI1ZWZlZWE2NjE2NzhkOGVjYmFkNzRiYzkwYzM3ZGRhNwotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2NvY29hL1dlYlBy
ZWZlcmVuY2VzVGVzdC5tbQpAQCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAi
Y29uZmlnLmgiCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8
V2ViS2l0L1dlYlByZWZlcmVuY2VzLmg+CisKK1dURl9FWFRFUk5fQ19CRUdJTgorV2ViQ2FjaGVN
b2RlbCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShOU1N0cmluZyAq
YnVuZGxlSWRlbnRpZmllcik7CitXVEZfRVhURVJOX0NfRU5ECisKK25hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJIHsKKworVEVTVChXZWJLaXRMZWdhY3ksIENhY2hlTW9kZWxGb3JNYWluQnVuZGxlKQor
eworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVm
ZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiTWljcm9zb2Z0L2NvbS5taWNyb3NvZnQu
TWVzc2VuZ2VyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIs
IFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFkaXVtWC5h
ZGl1bVgiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgVGVz
dFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYWxpZW50ZWNobm9s
b2d5LlByb3RldXMiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdl
ciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUu
RGFzaGNvZGUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwg
VGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuaUNo
YXQiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgVGVzdFdl
YlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYmFyZWJvbmVzLmJiZWRp
dCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2Vi
UHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5iYXJlYm9uZXMudGV4dHdy
YW5nbGVyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRl
c3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmJhcmVib25lcy55
b2ppbWJvIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRl
c3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmVxdWludXguaVNh
bGU0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmdyb3dsLmdyb3dsZnJh
bWV3b3JrIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRl
c3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmludHJhcnRzLlBh
bmRvcmFNYW4iKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwg
VGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ua2FyZWxpYS5T
YW5kdm94IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRl
c3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLm1hY3JvbWF0ZXMu
dGV4dG1hdGUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwg
VGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ucmVhbG1hY3Nv
ZnR3YXJlLnJhcGlkd2VhdmVycHJvIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAi
Y29tLnJlZC1zd2VhdGVyLm1hcnNlZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
RG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KEAiY29tLnlhaG9vLm1lc3NlbmdlcjMiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxE
b2N1bWVudFZpZXdlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
QCJkZS5jb2Rpbmdtb25rZXlzLlN1YkV0aGFFZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNo
ZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWlu
QnVuZGxlKEAiZmkua2FycHBpbmVuLlB5cm8iKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9k
ZWxEb2N1bWVudFZpZXdlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5k
bGUoQCJpbmZvLmNvbGxvcXV5IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1l
bnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAia3Vu
Z2Zvby50di5lY3RvIikpOworCisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJy
b3dzZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFw
cGxlLkRpY3Rpb25hcnkiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJy
b3dzZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFw
cGxlLlhjb2RlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2Vy
LCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5o
ZWxwdmlld2VyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2Vy
LCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5jdWx0dXJl
ZGNvZGUueHlsZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nl
ciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20ubWFjcmFi
Yml0LkNTU0VkaXQiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dz
ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLnBhbmlj
LkNvZGEiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIsIFRl
c3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLnJhbmNoZXJvLk5l
dE5ld3NXaXJlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2Vy
LCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS50aGlua21h
Yy5OZXdzTGlmZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nl
ciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJvcmcueGxpZmUu
TmV3c0ZpcmUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIs
IFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAidWsuY28ub3BlbmNv
bW11bml0eS52aWVubmEyIikpOworCisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmltYXJ5
V2ViQnJvd3NlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJj
b20uYXBwNG1hYy5LaWRzQnJvd3NlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbFBy
aW1hcnlXZWJCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAImNvbS5hcHA0bWFjLndLaW9zayIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbFBy
aW1hcnlXZWJCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRs
ZShAImNvbS5mcmVldmVyc2UuYnVtcGVyY2FyIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1v
ZGVsUHJpbWFyeVdlYkJyb3dzZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWlu
QnVuZGxlKEAiY29tLm9tbmlncm91cC5PbW5pV2ViNSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2Fj
aGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5zdW5yaXNlYnJvd3Nlci5TdW5yaXNlIikpOworICAgIEVYUEVDVF9F
UShXZWJDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hl
TW9kZWxGb3JNYWluQnVuZGxlKEAibmV0LmhtZHQtd2ViLlNoaWlyYSIpKTsKKworICAgIC8vIFRl
c3QgYnVuZGxlIGlkZW50aWZpZXJzIHRoYXQgYXJlIG5vdCBoYXJkLWNvZGVkLgorICAgIEVYUEVD
VF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hl
TW9kZWxGb3JNYWluQnVuZGxlKG5pbCkpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAi
IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tIikpOworICAgIEVYUEVDVF9F
UShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLlNhZmFyaSIpKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShAImNvbS5hcHBsZS5TYWZhcmlUZWNobm9sb2d5UHJldmlldyIpKTsKK30KKwor
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413094</attachid>
            <date>2020-11-03 12:45:45 -0800</date>
            <delta_ts>2020-11-03 13:37:19 -0800</delta_ts>
            <desc>Patch for landing v2</desc>
            <filename>bug-217960-20201103124545.patch</filename>
            <type>text/plain</type>
            <size>28215</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGQ4ZmZk
Nzk3YzI2NzNlMzA4YWM3ZDVmZjE4NjFiMjk2OGEzMWQ0MmQuLmU1MzI0ZTI5ODMxZDJlYmFhMGRi
Zjc2MDU3MzRlYWNhMWRjMTIyOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjAtMTEtMDMgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgdGVzdCBmb3IgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUoKSBpbiBXZWJLaXRMZWdh
Y3kKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIxNzk2MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIFdlYktpdExlZ2FjeS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAtIEFkZCBUZXN0aW5nRnVuY3Rpb25zLmggdG8gdGhl
IHByb2plY3QuCisgICAgICAgIChHZW5lcmF0ZSBFeHBvcnQgRmlsZXMpOgorICAgICAgICAtIEFw
cGVuZCBXZWJLaXQuVGVzdGluZy5leHAgdG8gdGhlIGdlbmVyYXRlZCBleHBvcnQgZmlsZSBpZgor
ICAgICAgICAgIFdLX0JVSUxEX0ZPUl9URVNUSU5HIGlzIHNldCB0byBZRVMuCisKIDIwMjAtMTEt
MDMgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4dGVuZCBj
aGVjay1mb3ItaW5hcHByb3ByaWF0ZS1maWxlcy1pbi1mcmFtZXdvcmsgdG8gV2ViS2l0TGVnYWN5
IGFuZCBKYXZhU2NyaXB0Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDhiZjk5
NWYyODA4NzNlMmI0ZmY3NTY2ZTQ0N2ZmNzM3NWU2YTA4NzguLmIzN2JjOThjNmI0ZDFmNGMyNjA2
ZjZjZmE4MzQ1MWFjZjNjMzNlZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAyMC0xMS0wMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSgpIGluIFdl
YktpdExlZ2FjeQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjE3OTYwPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RGVidWdSZWxlYXNlLnhjY29uZmlnOgorICAgICAgICAoV0tfQlVJTERfRk9SX1RFU1RJTkcpOiBB
ZGQuCisgICAgICAgIC0gVGhpcyBzaW5nbGUgc2V0dGluZyBjb250cm9scyB3aGV0aGVyIHRlc3Qg
Y29kZSBpcyBidWlsdCBhbmQKKyAgICAgICAgICB0ZXN0IGZ1bmN0aW9ucyBhcmUgZXhwb3J0ZWQu
ICBDdXJyZW50bHkgb25seSBEZWJ1ZyBhbmQgUmVsZWFzZQorICAgICAgICAgIGNvbmZpZ3VyYXRp
b25zIGFyZSBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXRMZWdh
Y3kueGNjb25maWc6CisgICAgICAgIChPVEhFUl9DRkxBR1MpOgorICAgICAgICAtIEluY2x1ZGUg
bmVjZXNzYXJ5IG1hY3JvIGRlZmluaXRpb24gd2hlbiBXS19CVUlMRF9GT1JfVEVTVElORworICAg
ICAgICAgIGlzIFlFUy4KKyAgICAgICAgKFdLX0NGTEFHU19CVUlMRF9GT1JfVEVTVElOR19ZRVMp
OgorICAgICAgICAtIERlZmluZSBtYWNybyBzZXQgd2hlbiBXS19CVUlMRF9GT1JfVEVTVElORyBp
cyBZRVMuICBVc2VkIGJ5CisgICAgICAgICAgYm90aCBPVEhFUl9DRkxBR1MgYW5kIE9USEVSX1RB
UElfRkxBR1MgdG8gZW5hYmxlIHRlc3QgY29kZS4KKyAgICAgICAgKE9USEVSX1RBUElfRkxBR1Nb
c2RrPWlwaG9uZSpdKToKKyAgICAgICAgLSBJbmNsdWRlIG5lY2Vzc2FyeSBtYWNybyBkZWZpbml0
aW9uIHdoZW4gV0tfQlVJTERfRk9SX1RFU1RJTkcKKyAgICAgICAgICBpcyBZRVMuCisgICAgICAg
IC0gQWRkIC1leHRyYS1wcml2YXRlLWhlYWRlciBhcmd1bWVudCB0byBkZWNsYXJlIGV4cG9ydGVk
CisgICAgICAgICAgZnVuY3Rpb25zIGluIFRlc3RpbmdGdW5jdGlvbnMuaCB3aGVuIFdLX0JVSUxE
X0ZPUl9URVNUSU5HIGlzCisgICAgICAgICAgWUVTLgorCisgICAgICAgICogVGVzdGluZ0Z1bmN0
aW9ucy5oOiBBZGQuCisgICAgICAgIC0gRGVjbGFyZSBmdW5jdGlvbnMgZXhwb3J0ZWQgd2hlbiBX
S19CVUlMRF9GT1JfVEVTVElORyBpcyBZRVMuCisKKyAgICAgICAgKiBXZWJLaXQuVGVzdGluZy5l
eHA6IEFkZC4KKyAgICAgICAgLSBUaGlzIGNvbnRhaW5zIGEgbGlzdCBvZiB0ZXN0IGZ1bmN0aW9u
cyB0aGF0IGFyZSBvbmx5IGV4cG9ydGVkCisgICAgICAgICAgd2hlbiBXS19CVUlMRF9GT1JfVEVT
VElORyBpcyBZRVMuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAg
ICAgICAoY2FjaGVNb2RlbEZvck1haW5CdW5kbGUpOgorICAgICAgICAtIEFkZCBOU1N0cmluZyAq
YnVuZGxlSWRlbnRpZmllciBhcmd1bWVudCB0byBtYWtlIHRlc3RhYmxlLgorICAgICAgICAoVGVz
dFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUpOiBBZGQuCisgICAgICAgIC0g
QWRkIGZ1bmN0aW9uIG9ubHkgdXNlZCBmb3IgdGVzdGluZywgYW5kIG9ubHkgY29tcGlsZWQgd2hl
bgorICAgICAgICAgIFdLX0JVSUxEX0ZPUl9URVNUSU5HIGlzIFlFUy4KKyAgICAgICAgKCtbV2Vi
UHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAtIENoYW5nZSB0byBwYXNzIG1haW4g
YnVuZGxlIGlkZW50aWZpZXIgYXMgYXJndW1lbnQuCisKIDIwMjAtMTEtMDIgIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFtUZXN0aW5nXSBNYXRjaCBXZWJLaXRUZXN0
UnVubmVyIGFuZCBlbmFibGUgYWxsICJleHBlcmltZW50YWwiIGZlYXR1cmVzIGluIER1bXBSZW5k
ZXJUcmVlIChjb2NvYSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0TGVn
YWN5Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktp
dExlZ2FjeS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJkNzQ4NGE0YjMxZWMyODcx
ZjMxM2ZjYzY1NTg5NTQ4YzljOGVmYTEuLjFhZDNhZDYwZWMxZmY2NjNiZTk1YTRjMzNjMGQyOThi
Njg5N2RmYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0TGVnYWN5Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJLaXRM
ZWdhY3kueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM2LDYgKzEzNiw3IEBACiAJCTNB
QkIzQzdCMTMwOUMzQjUwMEU5M0Q5NCAvKiBXZWJTdG9yYWdlVHJhY2tlckNsaWVudC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBQkIzQzc5MTMwOUMz
QjUwMEU5M0Q5NCAvKiBXZWJTdG9yYWdlVHJhY2tlckNsaWVudC5tbSAqLzsgfTsKIAkJM0FFMTVE
NTAxMkRCREVENDAwOTMyM0M4IC8qIFdlYlN0b3JhZ2VNYW5hZ2VySW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBRTE1RDRGMTJEQkRFRDQw
MDkzMjNDOCAvKiBXZWJTdG9yYWdlTWFuYWdlckludGVybmFsLmggKi87IH07CiAJCTQ0QkI4QjE0
MTI0MUEwMjIwMDFFM0EyMiAvKiBXZWJBcmNoaXZlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0QkI4QjEzMTI0MUEwMjIwMDFFM0EyMiAv
KiBXZWJBcmNoaXZlSW50ZXJuYWwuaCAqLzsgfTsKKwkJNDREREQwODIyNTQwRjk3RjAwODM2Rjgx
IC8qIFRlc3RpbmdGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0REREMDgxMjU0MEY4QzgwMDgzNkY4MSAvKiBUZXN0aW5nRnVuY3Rpb25z
LmggKi87IH07CiAJCTQ2MThERkY4MURFRjc2MEEwMDMzQzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVz
c2FnZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDYxOERGRjYxREVGNzYwQTAwMzNDM0FBIC8qIFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50
LmggKi87IH07CiAJCTQ2MThERkY5MURFRjc2MEEwMDMzQzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVz
c2FnZUNsaWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2MThERkY3MURFRjc2MEEwMDMzQzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVzc2FnZUNsaWVu
dC5tbSAqLzsgfTsKIAkJNEJGOTlGOTAwQUUwNTBCQzAwODE1QzJCIC8qIFdlYkVkaXRvckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJGOTlG
OEUwQUUwNTBCQzAwODE1QzJCIC8qIFdlYkVkaXRvckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKCk7IH07IH07CkBAIC04NzIsNiArODczLDcgQEAKIAkJM0FCQjNDNzkxMzA5
QzNCNTAwRTkzRDk0IC8qIFdlYlN0b3JhZ2VUcmFja2VyQ2xpZW50Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViU3RvcmFnZVRyYWNrZXJDbGllbnQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNBRTE1RDRGMTJEQkRFRDQwMDkzMjNDOCAvKiBX
ZWJTdG9yYWdlTWFuYWdlckludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYlN0b3JhZ2VNYW5hZ2VySW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDRCQjhCMTMxMjQxQTAyMjAwMUUzQTIyIC8qIFdlYkFyY2hpdmVJbnRlcm5hbC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBcmNoaXZlSW50ZXJuYWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDREREQwODEyNTQwRjhDODAwODM2RjgxIC8qIFRl
c3RpbmdGdW5jdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGVzdGluZ0Z1bmN0aW9ucy5oOyBwYXRo
ID0gbWFjL1Rlc3RpbmdGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDYxOERGRjYxREVGNzYwQTAwMzNDM0FBIC8qIFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MThERkY3MURFRjc2MEEwMDMz
QzNBQSAvKiBXZWJWYWxpZGF0aW9uTWVzc2FnZUNsaWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QkY5OUY4RTBBRTA1MEJDMDA4MTVDMkIgLyogV2Vi
RWRpdG9yQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJFZGl0
b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTAsOSArMTYxMiwx
MCBAQAogCQkwODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogV2ViS2l0ICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkxQzZDQjAzRTBBQTYzOTFEMDBEMjNC
RkQgLyogTWlncmF0ZUhlYWRlcnMubWFrZSAqLywKIAkJCQk1QzlEOTI1ODIyRDdFOEFEMDA4RTky
NjYgLyogU291cmNlcy50eHQgKi8sCiAJCQkJNUM5RDkyNTkyMkQ3RThBRDAwOEU5MjY2IC8qIFNv
dXJjZXNDb2NvYS50eHQgKi8sCi0JCQkJMUM2Q0IwM0UwQUE2MzkxRDAwRDIzQkZEIC8qIE1pZ3Jh
dGVIZWFkZXJzLm1ha2UgKi8sCisJCQkJNDREREQwODEyNTQwRjhDODAwODM2RjgxIC8qIFRlc3Rp
bmdGdW5jdGlvbnMuaCAqLywKIAkJCQlGNUY3MzJEMjAyRkY0RDRGMDFBODAxODAgLyogV2ViS2l0
LmV4cCAqLywKIAkJCQkzMTlBM0Y0RDE4ODVFNUZCMDBFMEM5MDAgLyogV2ViS2l0Lm1hYy5leHAg
Ki8sCiAJCQkJQTEwQzFEOEYxODIwMzA3RDAwMzY4ODNBIC8qIFdlYktpdC5pT1MuZXhwICovLApA
QCAtMjk1Nyw2ICsyOTYwLDcgQEAKIAkJCQkxQTZCMzEzQTFBNTFGM0E5MDA0MjI5NzUgLyogU3Rv
cmFnZVRocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2QjMxM0MxQTUxRjNBOTAwNDIyOTc1
IC8qIFN0b3JhZ2VUcmFja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZCMzEzRDFBNTFGM0E5
MDA0MjI5NzUgLyogU3RvcmFnZVRyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0
REREMDgyMjU0MEY5N0YwMDgzNkY4MSAvKiBUZXN0aW5nRnVuY3Rpb25zLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QzFGQjNDMjE4NDZFOEUxMDAxQTAzRDggLyogV2ViQWxsb3dEZW55UG9saWN5TGlz
dGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFREExMkRDMTUyQ0JFNjgwMEQ5RTA4RCAvKiBX
ZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUI2Q0U1QzI1MTAw
QkM1RjUwMDIxOTkzNiAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlLmggaW4gSGVhZGVycyAqLywKQEAg
LTMzMTYsNyArMzMyMCw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAi
c2V0IC1lXG5cbm1rZGlyIC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdExlZ2FjeVwiXG5cbkVYUF9HRU5FUkFURUQ9XCIke0VYUE9SVEVEX1NZTUJPTFNfRklM
RX1cIlxuXG5bWyAteiBcIiR7RVhQX0dFTkVSQVRFRH1cIiBdXSAmJiBleGl0IDFcblxuaWYgW1sg
XCIke1dLX1BMQVRGT1JNX05BTUV9XCIgIT0gXCJtYWNvc3hcIiBdXTsgdGhlblxuICAgIEVYUF9X
RUJLSVRfUExBVEZPUk09XCIke1BST0pFQ1RfRElSfS9pb3MvV2ViS2l0LmlPUy5leHBcIlxuZWxz
ZVxuICAgIEVYUF9XRUJLSVRfUExBVEZPUk09XCIke1BST0pFQ1RfRElSfS9tYWMvV2ViS2l0Lm1h
Yy5leHBcIlxuZmlcblxuY2F0IFwiJHtQUk9KRUNUX0RJUn0vbWFjL1dlYktpdC5leHBcIiA+IFwi
JHtFWFBfR0VORVJBVEVEfVwiXG5jYXQgXCIke0VYUF9XRUJLSVRfUExBVEZPUk19XCIgPj4gXCIk
e0VYUF9HRU5FUkFURUR9XCJcblxuZm9yIFdLX0NVUlJFTlRfQVJDSCBpbiAke0FSQ0hTfTsgZG9c
biAgICBFWFBfUkVFWFBPUlRFRD1cIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNl
cy9XZWJLaXRMZWdhY3kvUmVleHBvcnRlZFdlYkNvcmVTeW1ib2xzXyR7V0tfQ1VSUkVOVF9BUkNI
fS5leHBcIlxuICAgIGlmIFtbIC1mIFwiJHtFWFBfUkVFWFBPUlRFRH1cIiBdXTsgdGhlblxuICAg
ICAgICBjYXQgXCIke0VYUF9SRUVYUE9SVEVEfVwiID4+IFwiJHtFWFBfR0VORVJBVEVEfVwiXG4g
ICAgZmlcbmRvbmVcbiI7CisJCQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVcblxubWtkaXIgLXAgXCIk
e0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViS2l0TGVnYWN5XCJcblxuRVhQ
X0dFTkVSQVRFRD1cIiR7RVhQT1JURURfU1lNQk9MU19GSUxFfVwiXG5cbltbIC16IFwiJHtFWFBf
R0VORVJBVEVEfVwiIF1dICYmIGV4aXQgMVxuXG5pZiBbWyBcIiR7V0tfUExBVEZPUk1fTkFNRX1c
IiAhPSBcIm1hY29zeFwiIF1dOyB0aGVuXG4gICAgRVhQX1dFQktJVF9QTEFURk9STT1cIiR7UFJP
SkVDVF9ESVJ9L2lvcy9XZWJLaXQuaU9TLmV4cFwiXG5lbHNlXG4gICAgRVhQX1dFQktJVF9QTEFU
Rk9STT1cIiR7UFJPSkVDVF9ESVJ9L21hYy9XZWJLaXQubWFjLmV4cFwiXG5maVxuXG5jYXQgXCIk
e1BST0pFQ1RfRElSfS9tYWMvV2ViS2l0LmV4cFwiID4gXCIke0VYUF9HRU5FUkFURUR9XCJcbmNh
dCBcIiR7RVhQX1dFQktJVF9QTEFURk9STX1cIiA+PiBcIiR7RVhQX0dFTkVSQVRFRH1cIlxuXG5m
b3IgV0tfQ1VSUkVOVF9BUkNIIGluICR7QVJDSFN9OyBkb1xuICAgIEVYUF9SRUVYUE9SVEVEPVwi
JHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdExlZ2FjeS9SZWV4cG9y
dGVkV2ViQ29yZVN5bWJvbHNfJHtXS19DVVJSRU5UX0FSQ0h9LmV4cFwiXG4gICAgaWYgW1sgLWYg
XCIke0VYUF9SRUVYUE9SVEVEfVwiIF1dOyB0aGVuXG4gICAgICAgIGNhdCBcIiR7RVhQX1JFRVhQ
T1JURUR9XCIgPj4gXCIke0VYUF9HRU5FUkFURUR9XCJcbiAgICBmaVxuZG9uZVxuXG5pZiBbWyBc
IiR7V0tfQlVJTERfRk9SX1RFU1RJTkd9XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIGNhdCBc
IiR7UFJPSkVDVF9ESVJ9L21hYy9XZWJLaXQuVGVzdGluZy5leHBcIiA+PiBcIiR7RVhQX0dFTkVS
QVRFRH1cIlxuZmlcbiI7CiAJCX07CiAJCTFDNkNCMDUxMEFBNjNFQjAwMEQyM0JGRCAvKiBNaWdy
YXRlIEhlYWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9EZWJ1Z1Jl
bGVhc2UueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9E
ZWJ1Z1JlbGVhc2UueGNjb25maWcKaW5kZXggMjUzOWRjYmQ4NWZhNDUyYWVjYTFlODQ4N2IxY2M2
YzUxOWYzZGY2MC4uYzk5YWMwOTVkMDVkZmNkOWFjZmI3MDFkODk1YjUxMDAyYWM5ZThjMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxl
YXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25z
L0RlYnVnUmVsZWFzZS54Y2NvbmZpZwpAQCAtNTYsNiArNTYsOCBAQCBTREtST09UID0gJChTREtS
T09UXyQoVVNFX0lOVEVSTkFMX1NESykpOwogU0RLUk9PVF8gPSBtYWNvc3g7CiBTREtST09UX1lF
UyA9IG1hY29zeC5pbnRlcm5hbDsKIAorV0tfQlVJTERfRk9SX1RFU1RJTkcgPSBZRVM7CisKIFdL
X1JFTE9DQVRBQkxFX0ZSQU1FV09SS1MgPSBZRVM7CiAKIFdLX0RFRkFVTFRfTFRPX01PREUgPSAk
KFdLX1VTRVJfTFRPX01PREVfbm9uZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKaW5kZXggZWEw
MDk1NzFmNThjN2FjMmU0Y2VjMGY4Y2FjZmUzYzI4YjI1NGNhYi4uMTlhOWQ1OWU2ZGFkNzAyYjIx
OTg1Y2IwYjYwZTQzY2M3NjAyNWY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZwpAQCAtNDIs
MTEgKzQyLDEzIEBAIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNbc2RrPW1hY29zeCpdID0gJChXS19R
VU9URURfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVIpICIkKFVNCiAKIFNZU1RFTV9GUkFNRVdPUktf
U0VBUkNIX1BBVEhTID0gJChpbmhlcml0ZWQpICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJ
UikvUHJpdmF0ZUZyYW1ld29ya3MgJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFt
ZXdvcmtzOwogCi1PVEhFUl9DRkxBR1MgPSAkKGluaGVyaXRlZCkgJChPVEhFUl9DRkxBR1NfQ09D
T0FfVE9VQ0gpOworT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJfQ0ZMQUdTX0NP
Q09BX1RPVUNIKSAkKFdLX0NGTEFHU19CVUlMRF9GT1JfVEVTVElOR18kKFdLX0JVSUxEX0ZPUl9U
RVNUSU5HKSk7CiBPVEhFUl9DRkxBR1NfQ09DT0FfVE9VQ0ggPSAkKE9USEVSX0NGTEFHU19DT0NP
QV9UT1VDSF8kKFdLX0lTX0NPQ09BX1RPVUNIKSk7CiBPVEhFUl9DRkxBR1NfQ09DT0FfVE9VQ0hf
Tk8gPSAtaWZyYW1ld29yayAkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29y
a3MvV2ViS2l0LmZyYW1ld29yay9GcmFtZXdvcmtzOwogT1RIRVJfQ1BMVVNQTFVTRkxBR1MgPSAk
KGluaGVyaXRlZCkgJChPVEhFUl9DRkxBR1NfQ09DT0FfVE9VQ0gpOwogCitXS19DRkxBR1NfQlVJ
TERfRk9SX1RFU1RJTkdfWUVTID0gLURFTkFCTEVfQlVJTERfRk9SX1RFU1RJTkc7CisKIEdDQ19Q
UkVGSVhfSEVBREVSID0gbWFjL1dlYktpdFByZWZpeC5oOwogR0NDX1BSRVBST0NFU1NPUl9ERUZJ
TklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgQlVJTERJTkdfV0VCS0lUIEZSQU1FV09SS19OQU1F
PVdlYktpdExlZ2FjeSAkKGluaGVyaXRlZCk7CiAKQEAgLTE0OSw1ICsxNTEsNSBAQCBXS19JTlNU
QUxMX1BBVEhfUFJFRklYX0RFUExPWU1FTlRfWUVTX01BQ09TX1NJTkNFXzEwMTVfVVNFX1NUQUdJ
TkdfSU5TVEFMTF9QQVRIXwogU1VQUE9SVFNfVEVYVF9CQVNFRF9BUElbc2RrPWlwaG9uZSpdID0g
WUVTOwogU1VQUE9SVFNfVEVYVF9CQVNFRF9BUElbc2RrPWFwcGxldHYqXSA9IE5POwogU1VQUE9S
VFNfVEVYVF9CQVNFRF9BUElbc2RrPXdhdGNoKl0gPSBOTzsKLU9USEVSX1RBUElfRkxBR1Nbc2Rr
PWlwaG9uZSpdID0gLXggb2JqZWN0aXZlLWMrKyAtc3RkPWdudSsrMXogLWZuby1ydHRpIC1EUkVM
RUFTRV9XSVRIT1VUX09QVElNSVpBVElPTlMgLWV4Y2x1ZGUtcHJpdmF0ZS1oZWFkZXIgJChCVUlM
VF9QUk9EVUNUU19ESVIpLyQoUFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIKS9OU1VSTERvd25s
b2FkU1BJLmg7CitPVEhFUl9UQVBJX0ZMQUdTW3Nkaz1pcGhvbmUqXSA9IC14IG9iamVjdGl2ZS1j
KysgLXN0ZD1nbnUrKzF6IC1mbm8tcnR0aSAkKFdLX0NGTEFHU19CVUlMRF9GT1JfVEVTVElOR18k
KFdLX0JVSUxEX0ZPUl9URVNUSU5HKSkgLURSRUxFQVNFX1dJVEhPVVRfT1BUSU1JWkFUSU9OUyAt
ZXhjbHVkZS1wcml2YXRlLWhlYWRlciAkKEJVSUxUX1BST0RVQ1RTX0RJUikvJChQUklWQVRFX0hF
QURFUlNfRk9MREVSX1BBVEgpL05TVVJMRG93bmxvYWRTUEkuaCAtZXh0cmEtcHJpdmF0ZS1oZWFk
ZXIgJChTT1VSQ0VfUk9PVCkvbWFjL1Rlc3RpbmdGdW5jdGlvbnMuaDsKIFRBUElfVkVSSUZZX01P
REVbc2RrPWlwaG9uZSpdID0gUGVkYW50aWM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9UZXN0aW5nRnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9UZXN0
aW5nRnVuY3Rpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRmMzNiNzkyN2I2MDYwOWZmNDM5NDRiYTIwYzEz
ZTRkMzRjMTQ3NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1Rl
c3RpbmdGdW5jdGlvbnMuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW5jbHVkZSA8V2Vi
S2l0TGVnYWN5L1dlYlByZWZlcmVuY2VzLmg+CisjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+Cisj
aW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisKKyNpZiBFTkFCTEUoQlVJTERfRk9SX1RFU1RJTkcp
CisKK1dURl9FWFRFUk5fQ19CRUdJTgorV2ViQ2FjaGVNb2RlbCBUZXN0V2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShOU1N0cmluZyAqYnVuZGxlSWRlbnRpZmllcik7CitXVEZf
RVhURVJOX0NfRU5ECisKKyNlbmRpZiAvLyBFTkFCTEUoQlVJTERfRk9SX1RFU1RJTkcpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQuVGVzdGluZy5leHAgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJLaXQuVGVzdGluZy5leHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY0NjRh
ZGE3M2VkNjNlY2Y5OGUzNmJjMzU5ZDJlMTJhOTlmNzBhNgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYktpdC5UZXN0aW5nLmV4cApAQCAtMCwwICsxIEBACitf
VGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IGMyZjc3NmU4
ZGRmMTRmZmI0NzRiZjdkMGUyNThiMTY3NjBiYWU3MzAuLjkzNjdjM2M5NDgzYmJlZTBhOGJkNzM4
NWUxNWE2OTMzNmE4YTRkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCAiV2ViUHJl
ZmVyZW5jZXNJbnRlcm5hbC5oIgogCiAjaW1wb3J0ICJOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXAu
aCIKKyNpbXBvcnQgIlRlc3RpbmdGdW5jdGlvbnMuaCIKICNpbXBvcnQgIldlYkFwcGxpY2F0aW9u
Q2FjaGUuaCIKICNpbXBvcnQgIldlYkZlYXR1cmUuaCIKICNpbXBvcnQgIldlYkZyYW1lTmV0d29y
a2luZ0NvbnRleHQuaCIKQEAgLTUwLDYgKzUxLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvVGV4dEVu
Y29kaW5nUmVnaXN0cnkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUpJVE9wZXJhdGlvbnMu
aD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CisjaW1wb3J0IDx3dGYvQ29t
cGlsZXIuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWlu
UHRyLmg+CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgpAQCAtODgsNyArOTAsNyBAQCB0ZW1wbGF0
ZTx1bnNpZ25lZCBzaXplPiBzdGF0aWMgYm9vbCBjb250YWlucyhjb25zdCBjaGFyKiBjb25zdCAo
JmFycmF5KVtzaXplXSwgYwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIFdlYkNhY2hl
TW9kZWwgY2FjaGVNb2RlbEZvck1haW5CdW5kbGUodm9pZCkKK3N0YXRpYyBXZWJDYWNoZU1vZGVs
IGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKE5TU3RyaW5nICpidW5kbGVJZGVudGlmaWVyKQogewog
ICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICAvLyBBcHBzIHRoYXQgcHJvYmFibHkgbmVl
ZCB0aGUgc21hbGwgc2V0dGluZwpAQCAtMTM5LDcgKzE0MSw3IEBAIHN0YXRpYyBXZWJDYWNoZU1v
ZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgICAgICAgICAibmV0LmhtZHQt
d2ViLlNoaWlyYSIsCiAgICAgICAgIH07CiAKLSAgICAgICAgY29uc3QgY2hhciogYnVuZGxlSUQg
PSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBVVEY4U3RyaW5nXTsK
KyAgICAgICAgY29uc3QgY2hhciogYnVuZGxlSUQgPSBbYnVuZGxlSWRlbnRpZmllciBVVEY4U3Ry
aW5nXTsKICAgICAgICAgaWYgKGNvbnRhaW5zKGRvY3VtZW50Vmlld2VySURzLCBidW5kbGVJRCkp
CiAgICAgICAgICAgICByZXR1cm4gV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyOwogICAgICAg
ICBpZiAoY29udGFpbnMoZG9jdW1lbnRCcm93c2VySURzLCBidW5kbGVJRCkpCkBAIC0xNjMsNiAr
MTY1LDEzIEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZv
aWQpCiAgICAgfQogfQogCisjaWYgRU5BQkxFKEJVSUxEX0ZPUl9URVNUSU5HKQorV2ViQ2FjaGVN
b2RlbCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShOU1N0cmluZyAq
YnVuZGxlSWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gY2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
YnVuZGxlSWRlbnRpZmllcik7Cit9CisjZW5kaWYgLy8gRU5BQkxFKEJVSUxEX0ZPUl9URVNUSU5H
KQorCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzICgpCiAtICh2b2lkKV9wb3N0Q2FjaGVNb2Rl
bENoYW5nZWROb3RpZmljYXRpb247CiBAZW5kCkBAIC0zOTEsNyArNDAwLDcgQEAgKyAodm9pZClp
bml0aWFsaXplCiAgICAgICAgIEBZRVMsIFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQ
cmVmZXJlbmNlS2V5LAogICAgICAgICBAIjE4MDAiLCBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhw
aXJhdGlvbkludGVydmFsS2V5LAogICAgICAgICBATk8sIFdlYktpdFByaXZhdGVCcm93c2luZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBAKGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkp
LCBXZWJLaXRDYWNoZU1vZGVsUHJlZmVyZW5jZUtleSwKKyAgICAgICAgQChjYWNoZU1vZGVsRm9y
TWFpbkJ1bmRsZShbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdKSksIFdl
YktpdENhY2hlTW9kZWxQcmVmZXJlbmNlS2V5LAogICAgICAgICBAWUVTLCBXZWJLaXRab29tc1Rl
eHRPbmx5UHJlZmVyZW5jZUtleSwKICAgICAgICAgQFlFUywgV2ViS2l0Rm9yY2VXZWJHTFVzZXNM
b3dQb3dlclByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0VXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3NLZXksCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggOGVhNWZmNzFmNzI2MDk2MTIxMjA1ZjI0ZWIwNWI3ZThkNjIxYWE5Ni4uYjM2MjMx
OTlkMjA3M2JhM2EyNTFmMmQ2ODMwMDBlMWQ1ZjE4MjQxZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTExLTAz
ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3Qg
Zm9yIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKCkgaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8yMTc5NjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgLSBBZGQgV2ViUHJlZmVyZW5jZXNUZXN0Lm1tIHRv
IHByb2plY3QuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvY29j
b2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tOiBBZGQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgLSBBZGQgdGVzdCBmb3IgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2Rl
bEZvck1haW5CdW5kbGUoKS4KKwogMjAyMC0xMS0wMyAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgRXh0ZW5kIGNoZWNrLWZvci1pbmFwcHJvcHJpYXRlLWZpbGVz
LWluLWZyYW1ld29yayB0byBXZWJLaXRMZWdhY3kgYW5kIEphdmFTY3JpcHRDb3JlCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDgyZTNmY2QxNmQ0YTUxNWMzNDQ0YjU1NDI2MTE0NmY0YWFjMjdk
MDMuLjViNTA4OTM2NzQzY2QxMDAyNTNiMDVhNDEzYjFkNmFhNTk3YjcyMjggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0yNDAsNiArMjQwLDcgQEAKIAkJNDE4ODJGMDMyMTAxMEMwRDAwMkZG
Mjg4IC8qIFByb2Nlc3NQcmVXYXJtaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE4ODJGMDIyMTAxMEE3MDAwMkZGMjg4IC8qIFByb2Nlc3NQcmVX
YXJtaW5nLm1tICovOyB9OwogCQk0NDA3N0JCMTIzMTQ0QjUwMDAxNzlFMkQgLyogRGF0YURldGVj
dG9yc1Rlc3RJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NDA3N0JCMDIzMTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rlc3RJT1MubW0g
Ki87IH07CiAJCTQ0MzNBMzk2MjA4MDQ0MTQwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRU
ZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLzsg
fTsKKwkJNDQ4MTEwQzIyNTNGNDAzMDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0ODExMEMxMjUz
RjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gKi87IH07CiAJCTQ0ODE3QTJG
MUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0ODE3QTJFMUYwNDg2
QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSAqLzsgfTsKIAkJ
NDQ4RDdFNDcxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0aWVzVGVzdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhEN0U0NTFF
QTZDNTU1MDBFQ0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcCAqLzsgfTsKIAkJ
NDRBQzhCQzYyMUQwMjQ1QTAwQ0FGQjM0IC8qIFJldGFpblB0ci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAyOUIxNjE0ODZBRDY0MDA4MTdEQTkg
LyogUmV0YWluUHRyLmNwcCAqLzsgfTsKQEAgLTE5NTcsNiArMTk1OCw3IEBACiAJCTQ0MDc3QkIw
MjMxNDQ5RDIwMDE3OUUyRCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDJCQkY2ODFDOTFDQUQ5MDAxNzA4N0YgLyogUmVm
TG9nZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkxvZ2dl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzNBMzk1MjA4MDQ0MTMwMDkx
RUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0NDgxMTBDMTI1M0Y0MDI0MDA5N0ZDMzMgLyogV2ViUHJlZmVy
ZW5jZXNUZXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV2ViUHJlZmVyZW5jZXNUZXN0Lm1t
OyBwYXRoID0gV2ViUHJlZmVyZW5jZXNUZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0aXZhdGVkRWxlbWVu
dEluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1JlcXVl
c3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDQ4RDdFNDUxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0aWVzVGVzdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbnZpcm9ubWVudFV0aWxpdGll
c1Rlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE2MjJDMTE0QTBFMkI2
MDA0ODUxNUIgLyogV1RGU3RyaW5nVXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdURlN0cmluZ1V0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMzUyNSw2ICszNTI3LDE0IEBACiAJCQlwYXRoID0gV2ViQ29yZTsKIAkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0ODExMEJGMjUzRjNGOEQwMDk3RkMzMyAvKiBjb2Nv
YSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDQ4MTEw
QzEyNTNGNDAyNDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSAqLywKKwkJCSk7CisJ
CQlwYXRoID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk1MUVC
MTI1RDI0Q0E2QjNFMDAwQ0IwMzAgLyogR2FtZXBhZE1hcHBpbmdzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTQ2MDIsNiArNDYxMiw3IEBACiAJCUNEQzhF
NDk4MUJDNzI4QUUwMDU5NEZFQyAvKiBXZWJLaXRMZWdhY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0ODExMEJGMjUzRjNGOEQwMDk3RkMzMyAvKiBj
b2NvYSAqLywKIAkJCQlDREM4RTQ5OTFCQzcyOEMwMDA1OTRGRUMgLyogaW9zICovLAogCQkJCTlC
RDUxMTFBMUZFOEUxMDIwMEQyQjYzMCAvKiBtYWMgKi8sCiAJCQkpOwpAQCAtNTUwMiw2ICs1NTEz
LDcgQEAKIAkJCQk1Qzk3M0Y1QzFGNThFRjhCMDAzNTlDMjcgLyogV2ViR0xQb2xpY3kubW0gaW4g
U291cmNlcyAqLywKIAkJCQkzMUU5QkRBMTI0N0Y0QzYyMDAyRTUxQTIgLyogV2ViR0xQcmVwYXJl
RGlzcGxheU9uV2ViVGhyZWFkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQUIxQTQxMUEy
NDAwNDQ3QzRDIC8qIFdlYktpdEFnbm9zdGljVGVzdC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ0
ODExMEMyMjUzRjQwMzAwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gaW4gU291cmNl
cyAqLywKIAkJCQk1MTcxNEVCODFDRjhDQTE3MDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tpbGxJREJD
bGVhbnVwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2NzcwMzQxQ0M4MDIyODAwRDQyNUIxIC8q
IFdlYlNjcmlwdE9iamVjdERlc2NyaXB0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyMEM4
M0QxRTY3NTEyOTAwMjVCMjUwIC8qIFdlYnNpdGVEYXRhU3RvcmVDdXN0b21QYXRocy5tbSBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRM
ZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRMZWdhY3kvY29jb2EvV2ViUHJlZmVyZW5jZXNUZXN0Lm1tCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjExM2E0N2RiNWVmZWVhNjYxNjc4ZDhlY2JhZDc0YmM5MGMzN2RkYTcKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9jb2NvYS9XZWJQcmVm
ZXJlbmNlc1Rlc3QubW0KQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNv
bmZpZy5oIgorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdl
YktpdC9XZWJQcmVmZXJlbmNlcy5oPgorCitXVEZfRVhURVJOX0NfQkVHSU4KK1dlYkNhY2hlTW9k
ZWwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoTlNTdHJpbmcgKmJ1
bmRsZUlkZW50aWZpZXIpOworV1RGX0VYVEVSTl9DX0VORAorCituYW1lc3BhY2UgVGVzdFdlYktp
dEFQSSB7CisKK1RFU1QoV2ViS2l0TGVnYWN5LCBDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSkKK3sK
KyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVy
ZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAIk1pY3Jvc29mdC9jb20ubWljcm9zb2Z0Lk1l
c3NlbmdlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBU
ZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hZGl1bVguYWRp
dW1YIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFsaWVudGVjaG5vbG9n
eS5Qcm90ZXVzIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIs
IFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLkRh
c2hjb2RlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRl
c3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmFwcGxlLmlDaGF0
IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQ
cmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmJhcmVib25lcy5iYmVkaXQi
KSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudFZpZXdlciwgVGVzdFdlYlBy
ZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYmFyZWJvbmVzLnRleHR3cmFu
Z2xlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5iYXJlYm9uZXMueW9q
aW1ibyIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5lcXVpbnV4LmlTYWxl
NCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2Vi
UHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5ncm93bC5ncm93bGZyYW1l
d29yayIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5pbnRyYXJ0cy5QYW5k
b3JhTWFuIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRl
c3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLmthcmVsaWEuU2Fu
ZHZveCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5tYWNyb21hdGVzLnRl
eHRtYXRlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIsIFRl
c3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLnJlYWxtYWNzb2Z0
d2FyZS5yYXBpZHdlYXZlcnBybyIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3Vt
ZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNv
bS5yZWQtc3dlYXRlci5tYXJzZWRpdCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERv
Y3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShA
ImNvbS55YWhvby5tZXNzZW5nZXIzIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9j
dW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAi
ZGUuY29kaW5nbW9ua2V5cy5TdWJFdGhhRWRpdCIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVN
b2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImZpLmthcnBwaW5lbi5QeXJvIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVs
RG9jdW1lbnRWaWV3ZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KEAiaW5mby5jb2xsb3F1eSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50
Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImt1bmdm
b28udHYuZWN0byIpKTsKKworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93
c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBs
ZS5EaWN0aW9uYXJ5IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93
c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5hcHBs
ZS5YY29kZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nlciwg
VGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uYXBwbGUuaGVs
cHZpZXdlciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nlciwg
VGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20uY3VsdHVyZWRj
b2RlLnh5bGUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIs
IFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29tLm1hY3JhYmJp
dC5DU1NFZGl0IikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2Vy
LCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5wYW5pYy5D
b2RhIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBUZXN0
V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbS5yYW5jaGVyby5OZXRO
ZXdzV2lyZSIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nlciwg
VGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUoQCJjb20udGhpbmttYWMu
TmV3c0xpZmUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIs
IFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAib3JnLnhsaWZlLk5l
d3NGaXJlIikpOworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyLCBU
ZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAInVrLmNvLm9wZW5jb21t
dW5pdHkudmllbm5hMiIpKTsKKworICAgIEVYUEVDVF9FUShXZWJDYWNoZU1vZGVsUHJpbWFyeVdl
YkJyb3dzZXIsIFRlc3RXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxGb3JNYWluQnVuZGxlKEAiY29t
LmFwcDRtYWMuS2lkc0Jyb3dzZXIiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmlt
YXJ5V2ViQnJvd3NlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
QCJjb20uYXBwNG1hYy53S2lvc2siKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hlTW9kZWxQcmlt
YXJ5V2ViQnJvd3NlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1haW5CdW5kbGUo
QCJjb20uZnJlZXZlcnNlLmJ1bXBlcmNhciIpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2Rl
bFByaW1hcnlXZWJCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1
bmRsZShAImNvbS5vbW5pZ3JvdXAuT21uaVdlYjUiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNhY2hl
TW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1h
aW5CdW5kbGUoQCJjb20uc3VucmlzZWJyb3dzZXIuU3VucmlzZSIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZShAIm5ldC5obWR0LXdlYi5TaGlpcmEiKSk7CisKKyAgICAvLyBUZXN0
IGJ1bmRsZSBpZGVudGlmaWVycyB0aGF0IGFyZSBub3QgaGFyZC1jb2RlZC4KKyAgICBFWFBFQ1Rf
RVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1v
ZGVsRm9yTWFpbkJ1bmRsZShuaWwpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3Vt
ZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAIiIp
KTsKKyAgICBFWFBFQ1RfRVEoV2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJl
ZmVyZW5jZXNDYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZShAImNvbSIpKTsKKyAgICBFWFBFQ1RfRVEo
V2ViQ2FjaGVNb2RlbERvY3VtZW50Vmlld2VyLCBUZXN0V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVs
Rm9yTWFpbkJ1bmRsZShAImNvbS5hcHBsZS5TYWZhcmkiKSk7CisgICAgRVhQRUNUX0VRKFdlYkNh
Y2hlTW9kZWxEb2N1bWVudFZpZXdlciwgVGVzdFdlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbEZvck1h
aW5CdW5kbGUoQCJjb20uYXBwbGUuU2FmYXJpVGVjaG5vbG9neVByZXZpZXciKSk7Cit9CisKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>