<?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>189442</bug_id>
          
          <creation_ts>2018-09-07 16:18:48 -0700</creation_ts>
          <short_desc>Add and expose Internal features from WebKit</short_desc>
          <delta_ts>2021-02-03 09:00:46 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=191679</see_also>
          <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>
          
          <blocked>189486</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>fred.wang</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1457767</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-07 16:18:48 -0700</bug_when>
    <thetext>Add and expose Internal features from WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457768</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-07 16:19:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/44243404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457769</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-07 16:19:37 -0700</bug_when>
    <thetext>Experimental features have become a mess. People are using them for anything that they want to be easily toggled from a host app (e.g. Safari), which means the user-facing menu has become large and confusing.

Introduce the idea of Internal features, that will be exposed in a way that end-users are not expected to ever see (unless they really want to).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457772</commentid>
    <comment_count>3</comment_count>
      <attachid>349215</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-07 16:29:20 -0700</bug_when>
    <thetext>Created attachment 349215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457783</commentid>
    <comment_count>4</comment_count>
      <attachid>349218</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-07 17:18:17 -0700</bug_when>
    <thetext>Created attachment 349218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457804</commentid>
    <comment_count>5</comment_count>
      <attachid>349215</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-07 17:44:35 -0700</bug_when>
    <thetext>Comment on attachment 349215
Patch

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

&gt; Source/WebKit/Shared/WebPreferences.yaml:1162
&gt; -  humanReadableName: &quot;VisualViewportAPI&quot;
&gt; +  humanReadableName: &quot;VisualViewport API&quot;

THANK YOU maybe a space between visual and viewport too?

&gt; Source/WebKit/Sources.txt:291
&gt; +UIProcess/API/APIInternalDebugFeature.cpp @no-unify

Sort

&gt; Source/WebKit/SourcesCocoa.txt:237
&gt; +UIProcess/API/Cocoa/_WKInternalDebugFeature.mm @no-unify

Sort

&gt; Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h:57
&gt; +@class _WKInternalDebugFeature;

Sort

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKInternalDebugFeature.h:32
&gt; +WK_CLASS_AVAILABLE(macosx(10.12), ios(10.0))

These don&apos;t seem like accurate versions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457836</commentid>
    <comment_count>6</comment_count>
      <attachid>349218</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-09-07 19:19:56 -0700</bug_when>
    <thetext>Comment on attachment 349218
Patch

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

Very cool!

&gt; Source/WebKit/Shared/WebPreferences.yaml:1246
&gt; +  humanReadableDescription: &quot;Modern Encrypted Media API&quot;

This humanReadableDescription does not begin with &quot;Enable&quot; like at least ServerTimingEnabled and WebAPIStatisticsEnabled do. I am not sure which is better (or if we have any consistency here, but I thought I would point it out.

&gt; Source/WebKit/Shared/WebPreferences.yaml:1261
&gt; +# You must provide a humanReadableName and humanReadableName for all debug features. They

You repeat humanReadableName twice here. I think you mean humanReadableDescription for one of them. Also, I think you mean internal rather than debug.

&gt; Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:38
&gt; +#import &quot;_WKInternalDebugFeature.h&quot;
&gt; +#import &quot;_WKInternalDebugFeatureInternal.h&quot;

I don&apos;t think you need to include both of these since _WKInternalDebugFeatureInternal.h includes _WKInternalDebugFeature.h already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458666</commentid>
    <comment_count>7</comment_count>
      <attachid>349455</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-11 14:29:22 -0700</bug_when>
    <thetext>Created attachment 349455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458667</commentid>
    <comment_count>8</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-11 14:30:19 -0700</bug_when>
    <thetext>OOPS. Hadn&apos;t seen review comments. Will upload again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458676</commentid>
    <comment_count>9</comment_count>
      <attachid>349458</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-11 14:38:56 -0700</bug_when>
    <thetext>Created attachment 349458
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458681</commentid>
    <comment_count>10</comment_count>
      <attachid>349461</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-11 14:45:58 -0700</bug_when>
    <thetext>Created attachment 349461
Build Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458687</commentid>
    <comment_count>11</comment_count>
      <attachid>349458</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-09-11 14:51:46 -0700</bug_when>
    <thetext>Comment on attachment 349458
Patch

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

&gt; Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:2
&gt; +* THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.

Lies.

&gt; Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:552
&gt; +// FIXME: Remove this once Safari has adopted the new API.

What new API?

&gt; Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:558
&gt; +// FIXME: Remove this once Safari has adopted the new API.

What new API?

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKInternalDebugFeature.mm:35
&gt; +    _internalDebugFeature-&gt;API::InternalDebugFeature::~InternalDebugFeature();

Doesn&apos;t this happen automatically yet?

&gt; Source/WebKit/UIProcess/WebPreferences.h:68
&gt; +    bool isEnabledForFeature(const API::InternalDebugFeature&amp;) const;

This could be isFeatureEnabled().

&gt; Source/WebKit/UIProcess/WebPreferences.h:69
&gt; +    void setEnabledForFeature(bool, const API::InternalDebugFeature&amp;);

This could be setFeatureEnabled()

&gt; Tools/MiniBrowser/mac/SettingsController.m:251
&gt; +    [internalDebugFeaturesSubmenuItem release];
&gt; +    [internalDebugFeaturesMenu release];

I guess this isn&apos;t ARC&apos;ed yet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458700</commentid>
    <comment_count>12</comment_count>
      <attachid>349458</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-11 15:00:34 -0700</bug_when>
    <thetext>Comment on attachment 349458
Patch

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

&gt;&gt; Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:2
&gt;&gt; +* THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
&gt; 
&gt; Lies.

Yeah. It&apos;s a bit silly that the ruby script doesn&apos;t insert this text, rather than have it in the template.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:552
&gt;&gt; +// FIXME: Remove this once Safari has adopted the new API.
&gt; 
&gt; What new API?

EnabledForFeature is not EnabledForExperimentalFeature. I have a patch coming that updates Safari. Once that lands, these implementations can be removed.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/_WKInternalDebugFeature.mm:35
&gt;&gt; +    _internalDebugFeature-&gt;API::InternalDebugFeature::~InternalDebugFeature();
&gt; 
&gt; Doesn&apos;t this happen automatically yet?

Nope.

&gt;&gt; Source/WebKit/UIProcess/WebPreferences.h:68
&gt;&gt; +    bool isEnabledForFeature(const API::InternalDebugFeature&amp;) const;
&gt; 
&gt; This could be isFeatureEnabled().

Yep. I&apos;d have to stage the changes again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458702</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-09-11 15:07:50 -0700</bug_when>
    <thetext>(In reply to Dean Jackson from comment #12)
&gt; Comment on attachment 349458 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=349458&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:2
&gt; &gt;&gt; +* THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
&gt; &gt; 
&gt; &gt; Lies.
&gt; 
&gt; Yeah. It&apos;s a bit silly that the ruby script doesn&apos;t insert this text, rather
&gt; than have it in the template.

It us.

&gt; &gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:552
&gt; &gt;&gt; +// FIXME: Remove this once Safari has adopted the new API.
&gt; &gt; 
&gt; &gt; What new API?
&gt; 
&gt; EnabledForFeature is not EnabledForExperimentalFeature. I have a patch
&gt; coming that updates Safari. Once that lands, these implementations can be
&gt; removed.

I&apos;d like to propose a new API. The current one is really cumbersome, since it requires enumeration of all the features to switch any of them.

New API:

- (NSArray&lt;NSString *&gt; *)experimentalFeatureKeys; // Or maybe return an NSSet
- (NSDictionary*)featureDetailsForKey:(NSString *)key; // Dict with some specified keys
- (BOOL)isExperimentalFeatureWithKeyEnabled:(NSString *)key;
- (void)setExperimentalFeatureWithKey:(NSString *)key enabled:(BOOL)enabled;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458753</commentid>
    <comment_count>14</comment_count>
      <attachid>349461</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-09-11 16:08:03 -0700</bug_when>
    <thetext>Comment on attachment 349461
Build Test

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

&gt; Source/WebKit/Shared/WebPreferences.yaml:1257
&gt; +  category: experimental

I think this should be internal.

&gt; Source/WebKit/UIProcess/API/APIInternalDebugFeature.cpp:45
&gt; +InternalDebugFeature::~InternalDebugFeature()

= default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458775</commentid>
    <comment_count>15</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-11 16:34:04 -0700</bug_when>
    <thetext>Committed r235921: &lt;https://trac.webkit.org/changeset/235921&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458948</commentid>
    <comment_count>16</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2018-09-12 08:33:20 -0700</bug_when>
    <thetext>Looks like https://trac.webkit.org/changeset/235921

has caused these 4 tests to fail continuously:

http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html
http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html
http/tests/webAPIStatistics/font-load-data-collection.html
http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html

Combined test history:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=http%2Ftests%2FwebAPIStatistics%2Fnavigator-functions-accessed-data-collection.html%20http%2Ftests%2FwebAPIStatistics%2Fcanvas-read-and-write-data-collection.html%20http%2Ftests%2FwebAPIStatistics%2Ffont-load-data-collection.html%20http%2Ftests%2FwebAPIStatistics%2Fscreen-functions-accessed-data-collection.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459145</commentid>
    <comment_count>17</comment_count>
      <attachid>349461</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-12 15:37:50 -0700</bug_when>
    <thetext>Comment on attachment 349461
Build Test

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

&gt; Source/WebKit/Shared/WebPreferences.yaml:1278
&gt; +  category: internal

How can I turn on my feature now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459146</commentid>
    <comment_count>18</comment_count>
      <attachid>349461</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-12 15:41:19 -0700</bug_when>
    <thetext>Comment on attachment 349461
Build Test

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

&gt;&gt; Source/WebKit/Shared/WebPreferences.yaml:1278
&gt;&gt; +  category: internal
&gt; 
&gt; How can I turn on my feature now?

And why was this removed from experimental given that we&apos;d like people to try it out with STP?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464748</commentid>
    <comment_count>19</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2018-09-29 07:58:46 -0700</bug_when>
    <thetext>Did you intend to keep this first patch maked review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478857</commentid>
    <comment_count>20</comment_count>
      <attachid>349461</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-11-15 06:25:32 -0800</bug_when>
    <thetext>Comment on attachment 349461
Build Test

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

&gt; Source/WebKit/Shared/WebPreferences.yaml:1294
&gt; +  category: internal

This was moved to experimental, but is exposed in the iOS experimental WebKit features menu (iOS 12.1.1 beta). Is it intentional?

&gt; Source/WebKit/Shared/WebPreferences.yaml:1302
&gt; +  category: internal

Ditto.

&gt; Source/WebKit/Shared/WebPreferences.yaml:1312
&gt; +  category: internal

Ditto.

&gt; Source/WebKit/Shared/WebPreferences.yaml:1328
&gt; +  category: internal

Ditto.

&gt; Source/WebKit/Shared/WebPreferences.yaml:1337
&gt; +  category: internal

Ditto.

&gt; Source/WebKit/Shared/WebPreferences.yaml:1347
&gt; +  category: internal

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478858</commentid>
    <comment_count>21</comment_count>
      <attachid>349461</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-11-15 06:26:52 -0800</bug_when>
    <thetext>Comment on attachment 349461
Build Test

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

&gt;&gt; Source/WebKit/Shared/WebPreferences.yaml:1294
&gt;&gt; +  category: internal
&gt; 
&gt; This was moved to experimental, but is exposed in the iOS experimental WebKit features menu (iOS 12.1.1 beta). Is it intentional?

Moved to *internal*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478929</commentid>
    <comment_count>22</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-11-15 09:04:13 -0800</bug_when>
    <thetext>(In reply to Frédéric Wang (:fredw) from comment #20)
&gt; Comment on attachment 349461 [details]
&gt; Build Test
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=349461&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Shared/WebPreferences.yaml:1294
&gt; &gt; +  category: internal
&gt; 
&gt; This was moved to experimental, but is exposed in the iOS experimental
&gt; WebKit features menu (iOS 12.1.1 beta). Is it intentional?

Insert usual spiel about Apple not commenting on timing/content of future releases. But no, this change isn’t in that beta.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349215</attachid>
            <date>2018-09-07 16:29:20 -0700</date>
            <delta_ts>2018-09-11 14:29:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189442-20180908092918.patch</filename>
            <type>text/plain</type>
            <size>64548</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFkMmZjYTU3NzU4ZGU0Yjg0
ODM3ZjhkMzEzZDBkY2JhNzRmNWFjNmUuLjBkZmY5ODhhNGY3NDU1ZGNjZWZlOWY5ODZiOGYzYTdh
NDMzMzhhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzQgQEAKKzIwMTgtMDktMDcgIERlYW4gSmFj
a3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbmQgZXhwb3NlIEludGVybmFs
IGZlYXR1cmVzIGZyb20gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODk0NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MjQzNDA0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cGVyaW1l
bnRhbCBmZWF0dXJlcyBoYXZlIGJlY29tZSBhIG1lc3MuIFBlb3BsZSBhcmUgdXNpbmcgdGhlbSBm
b3IKKyAgICAgICAgYW55dGhpbmcgdGhhdCB0aGV5IHdhbnQgdG8gYmUgZWFzaWx5IHRvZ2dsZWQg
ZnJvbSBhIGhvc3QgYXBwIChlLmcuCisgICAgICAgIFNhZmFyaSksIHdoaWNoIG1lYW5zIHRoZSB1
c2VyLWZhY2luZyBtZW51IGhhcyBiZWNvbWUgbGFyZ2UgYW5kCisgICAgICAgIGNvbmZ1c2luZy4K
KworICAgICAgICBJbnRyb2R1Y2UgdGhlIGlkZWEgb2YgSW50ZXJuYWwgZmVhdHVyZXMsIHRoYXQg
d2lsbCBiZSBleHBvc2VkIGluIGEgd2F5CisgICAgICAgIHRoYXQgZW5kLXVzZXJzIGFyZSBub3Qg
ZXhwZWN0ZWQgdG8gZXZlciBzZWUgKHVubGVzcyB0aGV5IHJlYWxseSB3YW50CisgICAgICAgIHRv
KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzLgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOiBBZGQgbmV3IGdlbmVyYXRlZCBmaWxlcy4KKyAgICAgICAgKiBTY3JpcHRzL0dlbmVy
YXRlUHJlZmVyZW5jZXMucmI6IEdlbmVyYXRlIHRoZSBwcmVmZXJlbmNlcyBzdHVmZiBmb3IgSW50
ZXJuYWwgRGVidWcgZmVhdHVyZXMuCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBs
YXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiOgorICAgICAgICAqIFNjcmlwdHMv
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMu
Y3BwLmVyYjogQWRkZWQuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSU9iamVjdC5oOiBOZXcg
QVBJIG9iamVjdCBmb3IgSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuCisgICAgICAgICogU2hhcmVkL0Nv
Y29hL0FQSU9iamVjdC5tbToKKyAgICAgICAgKEFQSTo6T2JqZWN0OjpuZXdPYmplY3QpOgorCisg
ICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6IENoYW5nZSBzb21lIG9mIHRoZSBl
eGlzdGluZyBleHBlcmltZW50YWwgZmVhdHVyZXMgdG8gImludGVybmFsIi4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuY3BwOiBOZXcgQVBJIHR5cGUg
LSBqdXN0IGxpa2UgQVBJRXhwZXJpbWVudGFsRmVhdHVyZS4KKyAgICAgICAgKEFQSTo6SW50ZXJu
YWxEZWJ1Z0ZlYXR1cmU6OmNyZWF0ZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdGZWF0
dXJlOjpJbnRlcm5hbERlYnVnRmVhdHVyZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdG
ZWF0dXJlOjp+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
QVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW06IENoYW5nZSB0aGUgbmFtaW5nIG9mIHRoZSBleHBlcmltZW50YWwgZmVhdHVyZSBBUEkgc28g
dGhhdCBpdAorICAgICAgICB3b24ndCBjbGFzaCB3aXRoIGludGVybmFsIGRlYnVnIGZlYXR1cmVz
LiBXZSBjYW4gcmVtb3ZlIHRoZSBvbGQgQVBJIG9uY2UgU2FmYXJpIGhhcyBhZG9wdGVkLgorICAg
ICAgICAoK1tXS1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNdKToKKyAgICAgICAg
KC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6XSk6Cisg
ICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6XSk6CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX2lzRW5hYmxlZEZvckZlYXR1cmU6XSk6
CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9yRmVhdHVyZTpdKToKKyAg
ICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZTpd
KToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDpmb3JFeHBlcmltZW50YWxG
ZWF0dXJlOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1By
aXZhdGUuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuaDogTmV3IG9iamVjdCAtIHNhbWUgYXMgX1dLRXhwZXJpbWVudGFsRmVhdHVyZS4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlLm1t
OgorICAgICAgICAoLVtfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSBkZWFsbG9jXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW19X
S0ludGVybmFsRGVidWdGZWF0dXJlIG5hbWVdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUga2V5XSk6CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRldGFp
bHNdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgZGVmYXVsdFZhbHVlXSk6
CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGlzSGlkZGVuXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIF9hcGlPYmplY3RdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaDoKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHA6IEFkZCBzdXBwb3J0IGZvciBJbnRl
cm5hbCBEZWJ1ZyBmZWF0dXJlcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnVw
ZGF0ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdGZWF0dXJlS2V5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmVL
ZXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDogQ2hhbmdlIGEgY29tbWVudCBub3cgdGhhdCBp
dCBpcyBhbiBpbnRlcm5hbCBmZWF0dXJlLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6Y3JlYXRlV2ViUGFnZSk6CisKIDIwMTgtMDktMDQgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBw
bGUuY29tPgogCiAgICAgICAgIFBvc3QgcmV2aWV3IFdlaW5pZyBmaXgtdXBzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3Rz
LnR4dAppbmRleCAxZDZiM2I3NDhhN2E1MjgyODgyNWQ4YzdlY2ExZDVkNTNlYjUyMGNjLi5iNTQz
ZjJlNTA4MWU4ZjM2Y2EwYTQyNDRjZjFlMDIzMGM2Yzg1OGY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQK
QEAgLTM5OSw2ICszOTksNyBAQCBzZXQoV2ViS2l0X1dFQl9QUkVGRVJFTkNFU19URU1QTEFURVMK
ICAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUGFnZVVw
ZGF0ZVByZWZlcmVuY2VzLmNwcC5lcmIKICAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVy
ZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYgogICAgICR7V0VC
S0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0V4cGVy
aW1lbnRhbEZlYXR1cmVzLmNwcC5lcmIKKyAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVy
ZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwLmVy
YgogICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVm
ZXJlbmNlc0tleXMuY3BwLmVyYgogICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNl
c1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuaC5lcmIKICAgICAke1dFQktJVF9ESVJ9L1Nj
cmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFw
LmNwcC5lcmIKQEAgLTQxOSw2ICs0MjAsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXRfSEVBREVSUwog
bGlzdChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKICAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVRf
RElSfS9XZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwCiAgICAgJHtERVJJVkVEX1NPVVJDRVNf
V0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAKKyAgICAk
e0RFUklWRURfU09VUkNFU19XRUJLSVRfRElSfS9XZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdG
ZWF0dXJlcy5jcHAKICAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVRfRElSfS9XZWJQcmVmZXJl
bmNlc0tleXMuY3BwCiAgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVy
ZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IDFlNGNjNTFkOGY5MGY0YzMzZTNiOGM4NDBmNjUzNTMzYmFjY2JlNDUuLmRlOGE5YWY2Mjgy
YWYzYmMxNWI1Yzg2NDhiNjFjZDdkMjliNTNkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTI5NSwxNCArMjk1LDE1IEBAIFdFQl9QUkVGRVJFTkNFU19URU1QTEFURVMgPSBcCiAg
ICAgJChXZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlBhZ2VVcGRhdGVQ
cmVmZXJlbmNlcy5jcHAuZXJiIFwKICAgICAkKFdlYktpdDIpL1NjcmlwdHMvUHJlZmVyZW5jZXNU
ZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYiBcCiAgICAgJChXZWJLaXQy
KS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
RmVhdHVyZXMuY3BwLmVyYiBcCisgICAgJChXZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVt
cGxhdGVzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcC5lcmIgXAogICAg
ICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tl
eXMuaC5lcmIgXAogICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9X
ZWJQcmVmZXJlbmNlc0tleXMuY3BwLmVyYiBcCiAgICAgJChXZWJLaXQyKS9TY3JpcHRzL1ByZWZl
cmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAuZXJiIFwK
IAogIwogCi1hbGwgOiBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwIFdlYlByZWZlcmVuY2Vz
RGVmaW5pdGlvbnMuaCBXZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcCBXZWJQ
cmVmZXJlbmNlc0tleXMuaCBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIFdlYlByZWZlcmVuY2VzU3Rv
cmVEZWZhdWx0c01hcC5jcHAKK2FsbCA6IFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgV2Vi
UHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVy
ZXMuY3BwIFdlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcCBXZWJQcmVmZXJl
bmNlc0tleXMuaCBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZh
dWx0c01hcC5jcHAKIAotV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzJWNwcCBXZWJQcmVmZXJlbmNl
c0RlZmluaXRpb25zJWggV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcyVjcHAgV2Vi
UHJlZmVyZW5jZXNLZXlzJWggV2ViUHJlZmVyZW5jZXNLZXlzJWNwcCBXZWJQcmVmZXJlbmNlc1N0
b3JlRGVmYXVsdHNNYXAlY3BwIDogJChXZWJLaXQyKS9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5j
ZXMucmIgJChXRUJfUFJFRkVSRU5DRVNfVEVNUExBVEVTKSAkKFdlYktpdDIpL1NoYXJlZC9XZWJQ
cmVmZXJlbmNlcy55YW1sCitXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMlY3BwIFdlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnMlaCBXZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzJWNwcCBX
ZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcyVjcHAgV2ViUHJlZmVyZW5jZXNLZXlz
JWggV2ViUHJlZmVyZW5jZXNLZXlzJWNwcCBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAl
Y3BwIDogJChXZWJLaXQyKS9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIgJChXRUJfUFJF
RkVSRU5DRVNfVEVNUExBVEVTKSAkKFdlYktpdDIpL1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CiAJJChSVUJZKSAkPCAtLWlucHV0ICQoV2ViS2l0MikvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlh
bWwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5j
ZXMucmIgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJlbmNlcy5yYgppbmRl
eCAxMzFjYWY0YWRkZDk3ZmQ2NTdjZjRhZTg3NGM1YjFlMTI3ZGM4OWUyLi41ZmY1YmQ4N2I2Y2Vh
NmQxODVhYzNkYmEzNDI5YmZkZjVkY2UxMDhiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvR2VuZXJhdGVQcmVmZXJlbmNlcy5yYgorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
R2VuZXJhdGVQcmVmZXJlbmNlcy5yYgpAQCAtMjgsNyArMjgsNyBAQCByZXF1aXJlICdlcmInCiBy
ZXF1aXJlICdvcHRwYXJzZScKIHJlcXVpcmUgJ3lhbWwnCiAKLW9wdGlvbnMgPSB7IAorb3B0aW9u
cyA9IHsKICAgOmlucHV0ID0+IG5pbCwKICAgOm91dHB1dERpcmVjdG9yeSA9PiBuaWwKIH0KQEAg
LTEyOCwxNyArMTI4LDE4IEBAIGVuZAogCiBjbGFzcyBQcmVmZXJlbmNlcwogICBhdHRyX2FjY2Vz
c29yIDpwcmVmZXJlbmNlcwotICAKKwogICBkZWYgaW5pdGlhbGl6ZShoYXNoKQogICAgIEBwcmVm
ZXJlbmNlcyA9IFtdCiAgICAgaGFzaC5lYWNoIGRvIHxuYW1lLCBvcHRpb25zfAogICAgICAgQHBy
ZWZlcmVuY2VzIDw8IFByZWZlcmVuY2UubmV3KG5hbWUsIG9wdGlvbnMpCiAgICAgZW5kCiAgICAg
QHByZWZlcmVuY2VzLnNvcnQhIHsgfHgsIHl8IHgubmFtZSA8PT4geS5uYW1lIH0KLSAgICAKKwog
ICAgIEBwcmVmZXJlbmNlc05vdERlYnVnID0gQHByZWZlcmVuY2VzLnNlbGVjdCB7IHxwfCAhcC5j
YXRlZ29yeSB9CiAgICAgQHByZWZlcmVuY2VzRGVidWcgPSBAcHJlZmVyZW5jZXMuc2VsZWN0IHsg
fHB8IHAuY2F0ZWdvcnkgPT0gImRlYnVnIiB9CiAgICAgQGV4cGVyaW1lbnRhbEZlYXR1cmVzID0g
QHByZWZlcmVuY2VzLnNlbGVjdCB7IHxwfCBwLmNhdGVnb3J5ID09ICJleHBlcmltZW50YWwiIH0K
KyAgICBAaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzID0gQHByZWZlcmVuY2VzLnNlbGVjdCB7IHxwfCBw
LmNhdGVnb3J5ID09ICJpbnRlcm5hbCIgfQogCiAgICAgQHByZWZlcmVuY2VzQm91bmRUb1NldHRp
bmcgPSBAcHJlZmVyZW5jZXMuc2VsZWN0IHsgfHB8ICFwLndlYmNvcmVCaW5kaW5nIH0KICAgICBA
cHJlZmVyZW5jZXNCb3VuZFRvRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzID0gQHByZWZlcmVuY2Vz
LnNlbGVjdCB7IHxwfCBwLndlYmNvcmVCaW5kaW5nID09ICJEZXByZWNhdGVkR2xvYmFsU2V0dGlu
Z3MiIH0KQEAgLTE2MSw0ICsxNjIsNSBAQCBwcmVmZXJlbmNlcy5yZW5kZXJUb0ZpbGUoIlByZWZl
cmVuY2VzVGVtcGxhdGVzL1dlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAuZXJiIgogcHJlZmVy
ZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tl
eXMuaC5lcmIiLCBGaWxlLmpvaW4ob3B0aW9uc1s6b3V0cHV0RGlyZWN0b3J5XSwgIldlYlByZWZl
cmVuY2VzS2V5cy5oIikpCiBwcmVmZXJlbmNlcy5yZW5kZXJUb0ZpbGUoIlByZWZlcmVuY2VzVGVt
cGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5jcHAuZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNbOm91
dHB1dERpcmVjdG9yeV0sICJXZWJQcmVmZXJlbmNlc0tleXMuY3BwIikpCiBwcmVmZXJlbmNlcy5y
ZW5kZXJUb0ZpbGUoIlByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzU3RvcmVEZWZh
dWx0c01hcC5jcHAuZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNbOm91dHB1dERpcmVjdG9yeV0sICJX
ZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwIikpCitwcmVmZXJlbmNlcy5yZW5kZXJU
b0ZpbGUoIlByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0Zl
YXR1cmVzLmNwcC5lcmIiLCBGaWxlLmpvaW4ob3B0aW9uc1s6b3V0cHV0RGlyZWN0b3J5XSwgIldl
YlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcCIpKQogcHJlZmVyZW5jZXMucmVu
ZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRh
bEZlYXR1cmVzLmNwcC5lcmIiLCBGaWxlLmpvaW4ob3B0aW9uc1s6b3V0cHV0RGlyZWN0b3J5XSwg
IldlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwIikpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNE
ZWZpbml0aW9ucy5oLmVyYiBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBs
YXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiCmluZGV4IDljYjczMmRkNGNlNzYw
ZmVkYjBiMDJhN2NjMjgxODE4NTQ4YmQxZTIuLmU2Nzc0ZTI2YmU4MzQ0ODZlYjY0NThlYjg2YmNj
OTZjOGZjYWYzNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNl
c1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRp
b25zLmguZXJiCkBAIC00Niw2ICs0NiwxMyBAQAogPCUtIGVuZCAtJT4KICAgICBcCiAKKy8vIElu
dGVybmFsIERlYnVnIEZlYXR1cmVzCisKKyNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0lOVEVSTkFM
X0RFQlVHX0ZFQVRVUkVfUFJFRkVSRU5DRShtYWNybykgXAorPCUtIGZvciBAcHJlZiBpbiBAaW50
ZXJuYWxEZWJ1Z0ZlYXR1cmVzIGRvIC0lPgorICAgIG1hY3JvKDwlPSBAcHJlZi5uYW1lICU+LCA8
JT0gQHByZWYubmFtZUxvd2VyICU+LCBCb29sLCBib29sLCA8JT0gQHByZWYuZGVmYXVsdFZhbHVl
ICU+LCA8JT0gQHByZWYuaHVtYW5SZWFkYWJsZU5hbWUgJT4sIDwlPSBAcHJlZi5odW1hblJlYWRh
YmxlRGVzY3JpcHRpb24gJT4pIFwKKzwlLSBlbmQgLSU+CisgICBcCiAKIC8vIEV4cGVyaW1lbnRh
bCBGZWF0dXJlcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5j
ZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwLmVyYiBi
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNl
c0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAuZXJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4YWU5NTEyZjc0NmVj
NjNlNGVhMTlkZjA4OGQxMzY1YmY3N2NkNzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERl
YnVnRmVhdHVyZXMuY3BwLmVyYgpAQCAtMCwwICsxLDEyNCBAQAorLyoKKyogVEhJUyBGSUxFIFdB
UyBBVVRPTUFUSUNBTExZIEdFTkVSQVRFRCwgRE8gTk9UIEVESVQuCisqCisqIENvcHlyaWdodCAo
QykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldlYlByZWZlcmVuY2VzLmgiCisKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0tleXMuaCIK
KworbmFtZXNwYWNlIFdlYktpdCB7CisKKzwlLSBmb3IgQHByZWYgaW4gQGludGVybmFsRGVidWdG
ZWF0dXJlcyBkbyAtJT4KK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldDwlPSBAcHJlZi5uYW1lICU+
KGNvbnN0IGJvb2wmIHZhbHVlKQoreworICAgIGlmICghbV9zdG9yZS5zZXRCb29sVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OjwlPSBAcHJlZi5uYW1lTG93ZXIgJT5LZXkoKSwgdmFsdWUp
KQorICAgICAgICByZXR1cm47CisgICAgdXBkYXRlQm9vbFZhbHVlRm9ySW50ZXJuYWxEZWJ1Z0Zl
YXR1cmVLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OjwlPSBAcHJlZi5uYW1lTG93ZXIgJT5LZXkoKSwg
dmFsdWUpOworfQorCitib29sIFdlYlByZWZlcmVuY2VzOjo8JT0gQHByZWYubmFtZUxvd2VyICU+
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OjwlPSBAcHJlZi5uYW1lTG93ZXIgJT5LZXkoKSk7Cit9CisKKzwlLSBlbmQg
LSU+Citjb25zdCBWZWN0b3I8UmVmUHRyPEFQSTo6T2JqZWN0Pj4mIFdlYlByZWZlcmVuY2VzOjpp
bnRlcm5hbERlYnVnRmVhdHVyZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0
b3I8UmVmUHRyPEFQSTo6T2JqZWN0Pj4+IGZlYXR1cmVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxS
ZWZQdHI8QVBJOjpPYmplY3Q+PiB7Cis8JS0gZm9yIEBwcmVmIGluIEBpbnRlcm5hbERlYnVnRmVh
dHVyZXMgZG8gLSU+Cis8JS0gaWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2lmIDwlPSBAcHJlZi5j
b25kaXRpb24gJT4KKzwlLSBlbmQgLSU+CisgICAgICAgIEFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6OmNyZWF0ZSg8JT0gQHByZWYuaHVtYW5SZWFkYWJsZU5hbWUgJT4sICI8JT0gQHByZWYubmFt
ZSAlPiIsIDwlPSBAcHJlZi5odW1hblJlYWRhYmxlRGVzY3JpcHRpb24gJT4sIDwlPSBAcHJlZi5k
ZWZhdWx0VmFsdWUgJT4sIDwlPSBAcHJlZi5oaWRkZW4gJT4pLAorPCUtIGlmIEBwcmVmLmNvbmRp
dGlvbiAtJT4KKyNlbmRpZgorPCUtIGVuZCAtJT4KKzwlLSBlbmQgLSU+CisgICAgfSk7CisKKyAg
ICByZXR1cm4gZmVhdHVyZXM7Cit9CisKK2Jvb2wgV2ViUHJlZmVyZW5jZXM6OmlzRW5hYmxlZEZv
ckZlYXR1cmUoY29uc3QgQVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZSYgZmVhdHVyZSkgY29uc3QK
K3sKKyAgICBzdHJ1Y3QgRmVhdHVyZUdldHRlck1hcHBpbmcgeworICAgICAgICBjb25zdCBjaGFy
KiBuYW1lOworICAgICAgICBib29sIChXZWJQcmVmZXJlbmNlczo6KmZ1bmN0aW9uKSAoKSBjb25z
dDsKKyAgICB9OworCisgICAgc3RhdGljIEZlYXR1cmVHZXR0ZXJNYXBwaW5nIGdldHRlcnNbXSA9
IHsKKzwlLSBmb3IgQHByZWYgaW4gQGludGVybmFsRGVidWdGZWF0dXJlcyBkbyAtJT4KKzwlLSBp
ZiBAcHJlZi5jb25kaXRpb24gLSU+CisjaWYgPCU9IEBwcmVmLmNvbmRpdGlvbiAlPgorPCUtIGVu
ZCAtJT4KKyAgICAgICAgeyAiPCU9IEBwcmVmLm5hbWUgJT4iLCAmV2ViUHJlZmVyZW5jZXM6Ojwl
PSBAcHJlZi5uYW1lTG93ZXIgJT4gfSwKKzwlLSBpZiBAcHJlZi5jb25kaXRpb24gLSU+CisjZW5k
aWYKKzwlLSBlbmQgLSU+Cis8JS0gZW5kIC0lPgorICAgIH07CisKKyAgICBjb25zdCBTdHJpbmcm
IGtleSA9IGZlYXR1cmUua2V5KCk7CisKKyAgICBmb3IgKGF1dG8mIGdldHRlciA6IGdldHRlcnMp
IHsKKyAgICAgICAgaWYgKGtleSA9PSBnZXR0ZXIubmFtZSkKKyAgICAgICAgICAgIHJldHVybiAo
dGhpcy0+KmdldHRlci5mdW5jdGlvbikoKTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldEVuYWJsZWRGb3JGZWF0dXJlKGJvb2wgdmFsdWUs
IGNvbnN0IEFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUmIGZlYXR1cmUpCit7CisgICAgc3RydWN0
IEZlYXR1cmVTZXR0ZXJNYXBwaW5nIHsKKyAgICAgICAgY29uc3QgY2hhciogbmFtZTsKKyAgICAg
ICAgdm9pZCAoV2ViUHJlZmVyZW5jZXM6OipmdW5jdGlvbikgKGNvbnN0IGJvb2wmKTsKKyAgICB9
OworCisgICAgc3RhdGljIEZlYXR1cmVTZXR0ZXJNYXBwaW5nIHNldHRlcnNbXSA9IHsKKzwlLSBm
b3IgQHByZWYgaW4gQGludGVybmFsRGVidWdGZWF0dXJlcyBkbyAtJT4KKzwlLSBpZiBAcHJlZi5j
b25kaXRpb24gLSU+CisjaWYgPCU9IEBwcmVmLmNvbmRpdGlvbiAlPgorPCUtIGVuZCAtJT4KKyAg
ICAgICAgeyAiPCU9IEBwcmVmLm5hbWUgJT4iLCAmV2ViUHJlZmVyZW5jZXM6OnNldDwlPSBAcHJl
Zi5uYW1lICU+IH0sCis8JS0gaWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2VuZGlmCis8JS0gZW5k
IC0lPgorPCUtIGVuZCAtJT4KKyAgICB9OworCisgICAgY29uc3QgU3RyaW5nJiBrZXkgPSBmZWF0
dXJlLmtleSgpOworCisgICAgZm9yIChhdXRvJiBzZXR0ZXIgOiBzZXR0ZXJzKSB7CisgICAgICAg
IGlmIChrZXkgPT0gc2V0dGVyLm5hbWUpIHsKKyAgICAgICAgICAgICh0aGlzLT4qc2V0dGVyLmZ1
bmN0aW9uKSh2YWx1ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElPYmplY3QuaCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElPYmplY3QuaAppbmRleCAxZjYwMDNmZjVmNGQ5
ZGU0ZjE4NmU3YjFhM2JhNGVkMmExMmQyYzcwLi5iMGNhNTRkOGZhYWIyOWQ4OTAxODU0MGZhNjY1
MGI4YWFiMTk1YTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2Jq
ZWN0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCkBAIC0xMTAs
NiArMTEwLDcgQEAgcHVibGljOgogICAgICAgICBDb250ZW50UnVsZUxpc3RTdG9yZSwKICAgICAg
ICAgQ29udGV4dE1lbnVMaXN0ZW5lciwKICAgICAgICAgQ29va2llTWFuYWdlciwKKyAgICAgICAg
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUsCiAgICAgICAgIERvd25sb2FkLAogICAgICAgICBFeHBlcmlt
ZW50YWxGZWF0dXJlLAogICAgICAgICBGb3JtU3VibWlzc2lvbkxpc3RlbmVyLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tCmluZGV4IDQ0OGZmZDI4YWNhN2I4ZjBkOTExZDdj
M2MyYmQ3NDRmMjJmODQ3ZjcuLmVjYzM1MmYyZmRmOTViNGJkY2NjY2UyMDhjN2MyZGZkZDEwYWQ4
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0KQEAgLTc2LDYgKzc2
LDcgQEAKICNpbXBvcnQgIl9XS0dlb2xvY2F0aW9uUG9zaXRpb25JbnRlcm5hbC5oIgogI2ltcG9y
dCAiX1dLSGl0VGVzdFJlc3VsdEludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tJbnNwZWN0b3JJbnRl
cm5hbC5oIgorI2ltcG9ydCAiX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oIgogI2lt
cG9ydCAiX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9X
S1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLVXNlckluaXRpYXRlZEFj
dGlvbkludGVybmFsLmgiCkBAIC0xOTQsNiArMTk1LDEwIEBAIHZvaWQqIE9iamVjdDo6bmV3T2Jq
ZWN0KHNpemVfdCBzaXplLCBUeXBlIHR5cGUpCiAgICAgICAgIHdyYXBwZXIgPSBbV0tOU0RhdGEg
YWxsb2NdOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgVHlwZTo6SW50ZXJuYWxEZWJ1Z0Zl
YXR1cmU6CisgICAgICAgIHdyYXBwZXIgPSBbX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgYWxsb2Nd
OworICAgICAgICBicmVhazsKKwogICAgIGNhc2UgVHlwZTo6RGljdGlvbmFyeToKICAgICAgICAg
d3JhcHBlciA9IFtXS05TRGljdGlvbmFyeSBhbGxvY107CiAgICAgICAgIGJyZWFrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggY2ViY2M3NjNmZjY1YmRiNjY5
NDc4YmI3NGJmMzkwNzc5MDE2M2Y5Yi4uYmRhYjliZDZiYTA3MWI2NjBlN2VmY2EwMTBmMjE4NTI0
NzY5MmRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0x
MTMyLDEzICsxMTMyLDYgQEAgSXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZDoKICMgICB3
aWRlciB0ZXN0aW5nKS4KIAogCi1Bc3luY0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZDoKLSAgdHlwZTog
Ym9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiQXN5bmMg
RnJhbWUgU2Nyb2xsaW5nIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJQZXJmb3JtIGZy
YW1lIHNjcm9sbGluZyBpbiBhIGRlZGljYXRlZCB0aHJlYWQgb3IgcHJvY2VzcyIKLSAgY2F0ZWdv
cnk6IGV4cGVyaW1lbnRhbAotCiBTcHJpbmdUaW1pbmdGdW5jdGlvbkVuYWJsZWQ6CiAgIHR5cGU6
IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFC
TEVECkBAIC0xMTYzLDM4ICsxMTU2LDEwIEBAIEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZDoK
ICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICBjb25kaXRpb246IEVOQUJMRShJTlRFUlNFQ1RJ
T05fT0JTRVJWRVIpCiAKLU1ETlNJQ0VDYW5kaWRhdGVzRW5hYmxlZDoKLSAgdHlwZTogYm9vbAot
ICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiRW5hYmxlIE1ETlMg
SUNFIGNhbmRpZGF0ZXMiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBNRE5T
IElDRSBjYW5kaWRhdGVzIgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJl
cwotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCi0gIGNvbmRpdGlvbjogRU5BQkxFKFdFQl9SVEMp
Ci0KLUZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFs
dWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiRmV0Y2ggQVBJIFJlcXVlc3QgS2VlcEFs
aXZlIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgRmV0Y2ggQVBJIFJlcXVl
c3QgS2VlcEFsaXZlIgotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCi0gIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gIHdlYmNvcmVOYW1lOiBmZXRjaEFQSUtlZXBBbGl2
ZUVuYWJsZWQKLQotU2VydmljZVdvcmtlcnNFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1
bHRWYWx1ZTogREVGQVVMVF9TRVJWSUNFX1dPUktFUlNfRU5BQkxFRAotICBodW1hblJlYWRhYmxl
TmFtZTogIlNlcnZpY2VXb3JrZXJzIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFi
bGUgU2VydmljZVdvcmtlcnMiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKLSAgd2ViY29yZUJp
bmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLSAgd2ViY29yZU5hbWU6IHNlcnZpY2VXb3Jr
ZXJFbmFibGVkCi0gIGNvbmRpdGlvbjogRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotCiBWaXN1YWxW
aWV3cG9ydEFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxU
X0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVECi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiVmlz
dWFsVmlld3BvcnRBUEkiCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiVmlzdWFsVmlld3BvcnQgQVBJ
IgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgVmlzdWFsIFZpZXdwb3J0IEFQ
SSIKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogCkBAIC0xMjE2LDcgKzExODEsNyBAQCBXZWJB
bmltYXRpb25zRW5hYmxlZDoKIFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQ6CiAg
IHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJF
U19FTkFCTEVECi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViIEFuaW1hdGlvbnMgYW5kIENTUyBJ
bnRlZ3JhdGlvbiIKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgQW5pbWF0aW9ucyB2aWEgV2Vi
IEFuaW1hdGlvbnMiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkV4cG9zZSBDU1MgQW5p
bWF0aW9ucyBhbmQgQ1NTIFRyYW5zaXRpb25zIHRocm91Z2ggZ2V0QW5pbWF0aW9ucygpIgogICBj
YXRlZ29yeTogZXhwZXJpbWVudGFsCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzCkBAIC0xMjQ3LDE0ICsxMjEyLDYgQEAgQWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5h
YmxlZDoKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwogCi1BcmlhUmVmbGVjdGlvbkVuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wK
LSAgZGVmYXVsdFZhbHVlOiB0cnVlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiQVJJQSBSZWZsZWN0
aW9uIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJBUklBIFJlZmxlY3Rpb24gc3VwcG9y
dCIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVu
YWJsZWRGZWF0dXJlcwotCiBXZWJWUkVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZh
bHVlOiBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVECkBAIC0xMjY0LDIyICsx
MjIxLDYgQEAgV2ViVlJFbmFibGVkOgogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAgIGNvbmRp
dGlvbjogUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCiAKLVJlc291cmNlTG9hZFN0YXRp
c3RpY3NEZWJ1Z01vZGU6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICBo
dW1hblJlYWRhYmxlTmFtZTogIklUUCBEZWJ1ZyBNb2RlIgotICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJJbnRlbGxpZ2VudCBUcmFja2luZyBQcmV2ZW50aW9uIERlYnVnIE1vZGUiCi0gIGNh
dGVnb3J5OiBleHBlcmltZW50YWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMKLQotV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVENTdXBwb3J0RW5hYmxlZDoKLSAgdHlw
ZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiQVNU
QyBUZXh0dXJlIFN1cHBvcnQiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIlN1cHBvcnQg
Zm9yIEFTVEMgY29tcHJlc3NlZCB0ZXh0dXJlIGZvcm1hdHMgaW4gV2ViR0wiCi0gIGNhdGVnb3J5
OiBleHBlcmltZW50YWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMK
LQogU2VydmVyVGltaW5nRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZh
bHNlCkBAIC0xMjg5LDI0ICsxMjMwLDYgQEAgU2VydmVyVGltaW5nRW5hYmxlZDoKICAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgd2ViY29yZU5hbWU6IHNlcnZlclRp
bWluZ0VuYWJsZWQKIAotRXhwZXJpbWVudGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZDoK
LSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1l
OiAiU2FuZGJveCBQbHVnLUlucyIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxl
IFBsdWctSW4gc2FuZGJveGluZyIKLSAgY2F0ZWdvcnk6IGRlYnVnCi0gIHdlYmNvcmVCaW5kaW5n
OiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gIHdlYmNvcmVOYW1lOiBleHBlcmltZW50YWxQbHVn
SW5TYW5kYm94UHJvZmlsZXNFbmFibGVkCi0KLUZ1bGxTY3JlZW5FbmFibGVkOgotICB0eXBlOiBi
b29sCi0gIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgY29uZGl0aW9uOiBFTkFCTEUoRlVMTFNDUkVF
Tl9BUEkpCi0gIGhpZGRlbjogRVhQRVJJTUVOVEFMX0ZVTExTQ1JFRU5fQVBJX0hJRERFTgotICBo
dW1hblJlYWRhYmxlTmFtZTogIkZ1bGxzY3JlZW4gQVBJIgotICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJGdWxsc2NyZWVuIEFQSSIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAotCiBFbmNy
eXB0ZWRNZWRpYUFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBERUZB
VUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVECkBAIC0xMzE2LDE4ICsxMjM5LDEwMCBA
QCBFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQ6CiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKICAg
Y29uZGl0aW9uOiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCisjIEZvciBpbnRlcm5hbCBmZWF0
dXJlczoKKyMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xlYW4uCisjIFlvdSBtdXN0IHByb3ZpZGUg
YSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFkYWJsZU5hbWUgZm9yIGFsbCBkZWJ1ZyBm
ZWF0dXJlcy4gVGhleQorIyAgIGFyZSB0aGUgdGV4dCBleHBvc2VkIHRvIHRoZSB1c2VyIGZyb20g
dGhlIFdlYktpdCBjbGllbnQuCisKK0V4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQcm9maWxlc0Vu
YWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRh
YmxlTmFtZTogIlNhbmRib3ggUGx1Zy1JbnMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBQbHVnLUluIHNhbmRib3hpbmciCisgIGNhdGVnb3J5OiBpbnRlcm5hbAorICB3ZWJj
b3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICB3ZWJjb3JlTmFtZTogZXhwZXJp
bWVudGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZAorCiBQcm9jZXNzU3dhcE9uTmF2aWdh
dGlvbkVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBodW1h
blJlYWRhYmxlTmFtZTogIlN3YXAgUHJvY2Vzc2VzIG9uIE5hdmlnYXRpb24iCiAgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIlN3YXAgV2ViQ29udGVudCBwcm9jZXNzZXMgb24gY3Jvc3Mtb3Jp
Z2luIG5hdmlnYXRpb25zIgotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIGNhdGVnb3J5OiBp
bnRlcm5hbAogICB3ZWJjb3JlQmluZGluZzogbm9uZQogCiBTb3VyY2VCdWZmZXJDaGFuZ2VUeXBl
RW5hYmxlZDoKICAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTX0VOQUJMRUQKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBodW1hblJlYWRh
YmxlTmFtZTogIk1lZGlhIFNvdXJjZSBDb2RlYyBTd2l0Y2hpbmcgU3VwcG9ydCIKICAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIE1lZGlhIFNvdXJjZSBDb2RlYyBTd2l0Y2hpbmcg
dGhyb3VnaCBjaGFuZ2VUeXBlKCkiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgY2F0ZWdv
cnk6IGludGVybmFsCiAgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKKworUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZToKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6
IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiSVRQIERlYnVnIE1vZGUiCisgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkludGVsbGlnZW50IFRyYWNraW5nIFByZXZlbnRpb24gRGVidWcg
TW9kZSIKKyAgY2F0ZWdvcnk6IGludGVybmFsCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzCisKK1NlcnZpY2VXb3JrZXJzRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBk
ZWZhdWx0VmFsdWU6IERFRkFVTFRfU0VSVklDRV9XT1JLRVJTX0VOQUJMRUQKKyAgaHVtYW5SZWFk
YWJsZU5hbWU6ICJTZXJ2aWNlV29ya2VycyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAi
RW5hYmxlIFNlcnZpY2VXb3JrZXJzIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgd2ViY29yZUJp
bmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgd2ViY29yZU5hbWU6IHNlcnZpY2VXb3Jr
ZXJFbmFibGVkCisgIGNvbmRpdGlvbjogRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorCitBc3luY0Zy
YW1lU2Nyb2xsaW5nRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNl
CisgIGh1bWFuUmVhZGFibGVOYW1lOiAiQXN5bmMgRnJhbWUgU2Nyb2xsaW5nIgorICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJQZXJmb3JtIGZyYW1lIHNjcm9sbGluZyBpbiBhIGRlZGljYXRl
ZCB0aHJlYWQgb3IgcHJvY2VzcyIKKyAgY2F0ZWdvcnk6IGludGVybmFsCisKK01ETlNJQ0VDYW5k
aWRhdGVzRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1
bWFuUmVhZGFibGVOYW1lOiAiRW5hYmxlIE1ETlMgSUNFIGNhbmRpZGF0ZXMiCisgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBNRE5TIElDRSBjYW5kaWRhdGVzIgorICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICBjYXRlZ29yeTogaW50ZXJuYWwKKyAg
Y29uZGl0aW9uOiBFTkFCTEUoV0VCX1JUQykKKworRmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJGZXRjaCBBUEkgUmVxdWVzdCBLZWVwQWxpdmUiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
bjogIkVuYWJsZSBGZXRjaCBBUEkgUmVxdWVzdCBLZWVwQWxpdmUiCisgIGNhdGVnb3J5OiBpbnRl
cm5hbAorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICB3ZWJjb3Jl
TmFtZTogZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkCisKK1dlYkdMQ29tcHJlc3NlZFRleHR1cmVB
U1RDU3VwcG9ydEVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQor
ICBodW1hblJlYWRhYmxlTmFtZTogIkFTVEMgVGV4dHVyZSBTdXBwb3J0IgorICBodW1hblJlYWRh
YmxlRGVzY3JpcHRpb246ICJTdXBwb3J0IGZvciBBU1RDIGNvbXByZXNzZWQgdGV4dHVyZSBmb3Jt
YXRzIGluIFdlYkdMIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgd2ViY29yZUJpbmRpbmc6IFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMKKworRnVsbFNjcmVlbkVuYWJsZWQ6CisgIHR5cGU6IGJvb2wK
KyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBjb25kaXRpb246IEVOQUJMRShGVUxMU0NSRUVOX0FQ
SSkKKyAgaGlkZGVuOiBFWFBFUklNRU5UQUxfRlVMTFNDUkVFTl9BUElfSElEREVOCisgIGh1bWFu
UmVhZGFibGVOYW1lOiAiRnVsbHNjcmVlbiBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
bjogIkZ1bGxzY3JlZW4gQVBJIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKworQXJpYVJlZmxlY3Rp
b25FbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJl
YWRhYmxlTmFtZTogIkFSSUEgUmVmbGVjdGlvbiIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiQVJJQSBSZWZsZWN0aW9uIHN1cHBvcnQiCisgIGNhdGVnb3J5OiBpbnRlcm5hbAorICB3ZWJj
b3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNTZhNWMy
YmJiZTljNmI1NjAwNjFiM2E4MzQzOTQ1MGQ2ODYxOTczZC4uZjAwNWQ1NTc5MjkzZWEyMDJiNzcy
NzYxMzhkM2Q5ZmZhYmEwNDU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0yODgsNiArMjg4LDcgQEAgVUlQ
cm9jZXNzL1dlYlVSTFNjaGVtZVRhc2suY3BwCiBVSVByb2Nlc3MvQVBJL0FQSUF0dGFjaG1lbnQu
Y3BwIEBuby11bmlmeQogVUlQcm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3QuY3BwIEBuby11
bmlmeQogVUlQcm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RTdG9yZS5jcHAgQG5vLXVuaWZ5
CitVSVByb2Nlc3MvQVBJL0FQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcCBAbm8tdW5pZnkKIFVJ
UHJvY2Vzcy9BUEkvQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nl
c3MvQVBJL0FQSUZyYW1lSW5mby5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nlc3MvQVBJL0FQSUhUVFBD
b29raWVTdG9yZS5jcHAgQG5vLXVuaWZ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggMTM4ZTIw
ZTY4NzUxMDMxNGM0YTAzNTc4MWJjMWMxZDk4NGI5NGNkZC4uODM3YzVhM2E1MTBmOWVkMjdkZTZj
NzRiMWVmMWNmMzM0NThhOGVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtMjM0LDYgKzIz
NCw3IEBAIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXR0YWNobWVudC5tbSBAbm8tdW5pZnkKIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Npb24ubW0gQG5vLXVuaWZ5CiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5tbSBAbm8t
dW5pZnkKIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mby5tbSBA
bm8tdW5pZnkKK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0g
QG5vLXVuaWZ5CiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0Rvd25sb2FkLm1tIEBuby11bmlmeQog
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tIEBuby11bmlmeQogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5tbSBAbm8tdW5pZnkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVh
dHVyZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1Z0Zl
YXR1cmUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNjBmNjI5OTRiMDI2Mzc0MTU2MTQyNzY4MmM3NzQ0ZmFh
NjY2MWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCIK
KworbmFtZXNwYWNlIEFQSSB7CisKK1JlZjxJbnRlcm5hbERlYnVnRmVhdHVyZT4gSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmU6OmNyZWF0ZShjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgY29uc3QgV1RGOjpT
dHJpbmcmIGtleSwgY29uc3QgV1RGOjpTdHJpbmcmIGRldGFpbHMsIGJvb2wgZGVmYXVsdFZhbHVl
LCBib29sIGhpZGRlbikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbnRlcm5hbERlYnVn
RmVhdHVyZShuYW1lLCBrZXksIGRldGFpbHMsIGRlZmF1bHRWYWx1ZSwgaGlkZGVuKSk7Cit9CisK
K0ludGVybmFsRGVidWdGZWF0dXJlOjpJbnRlcm5hbERlYnVnRmVhdHVyZShjb25zdCBXVEY6OlN0
cmluZyYgbmFtZSwgY29uc3QgV1RGOjpTdHJpbmcmIGtleSwgY29uc3QgV1RGOjpTdHJpbmcmIGRl
dGFpbHMsIGJvb2wgZGVmYXVsdFZhbHVlLCBib29sIGhpZGRlbikKKyAgICA6IG1fbmFtZShuYW1l
KQorICAgICwgbV9rZXkoa2V5KQorICAgICwgbV9kZXRhaWxzKGRldGFpbHMpCisgICAgLCBtX2Rl
ZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWUpCisgICAgLCBtX2hpZGRlbihoaWRkZW4pCit7Cit9CisK
K0ludGVybmFsRGVidWdGZWF0dXJlOjp+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUoKQoreworfQorCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVn
RmVhdHVyZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxODliZWNlYzc3NGYxZTk0NjlmYzhkNmFmMWNiZGZiMzRi
NmFhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIEFQSSB7CisKK2NsYXNzIEludGVybmFsRGVidWdGZWF0
dXJlIGZpbmFsIDogcHVibGljIE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpJbnRlcm5hbERlYnVn
RmVhdHVyZT4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8SW50ZXJuYWxEZWJ1Z0ZlYXR1cmU+
IGNyZWF0ZShjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgY29uc3QgV1RGOjpTdHJpbmcmIGtleSwg
Y29uc3QgV1RGOjpTdHJpbmcmIGRldGFpbHMsIGJvb2wgZGVmYXVsdFZhbHVlLCBib29sIGhpZGRl
bik7CisgICAgdmlydHVhbCB+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUoKTsKKworICAgIFdURjo6U3Ry
aW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKyAgICBXVEY6OlN0cmluZyBrZXko
KSBjb25zdCB7IHJldHVybiBtX2tleTsgfQorICAgIFdURjo6U3RyaW5nIGRldGFpbHMoKSBjb25z
dCB7IHJldHVybiBtX2RldGFpbHM7IH0KKyAgICBib29sIGRlZmF1bHRWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fZGVmYXVsdFZhbHVlOyB9CisgICAgYm9vbCBpc0hpZGRlbigpIGNvbnN0IHsgcmV0
dXJuIG1faGlkZGVuOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgSW50ZXJuYWxEZWJ1Z0Zl
YXR1cmUoY29uc3QgV1RGOjpTdHJpbmcmIG5hbWUsIGNvbnN0IFdURjo6U3RyaW5nJiBrZXksIGNv
bnN0IFdURjo6U3RyaW5nJiBkZXRhaWxzLCBib29sIGRlZmF1bHRWYWx1ZSwgYm9vbCBoaWRkZW4p
OworCisgICAgV1RGOjpTdHJpbmcgbV9uYW1lOworICAgIFdURjo6U3RyaW5nIG1fa2V5OworICAg
IFdURjo6U3RyaW5nIG1fZGV0YWlsczsKKyAgICBib29sIG1fZGVmYXVsdFZhbHVlOworICAgIGJv
b2wgbV9oaWRkZW47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oCmluZGV4IGU2NWZkOTcwMjZjZTlkOTgyODQzYjM5YmI2Zjg3OThlMjg3NDkxMmUuLjcx
ODcwN2ZhOTEzNmUzOTY1YjYxYmNjOTBkNzk1ZjgzNjE4NTRhMzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBAIC01NCw2ICs1NCw3IEBACiBuYW1lc3BhY2Ug
QVBJIHsKIGNsYXNzIENvbnRlbnRSdWxlTGlzdDsKIGNsYXNzIENvbnRlbnRSdWxlTGlzdFN0b3Jl
OworY2xhc3MgSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU7CiBjbGFzcyBFeHBlcmltZW50YWxGZWF0dXJl
OwogY2xhc3MgRnJhbWVIYW5kbGU7CiBjbGFzcyBGcmFtZUluZm87CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCmluZGV4IDNlODI3ZWM0
NGIyMWU3MWE1YjQ2NWYzZThhNjUwOWEyNzA2NjQ1NTAuLjE1YWViOWU1YzI1OTFkZjY2YTVkZDNm
NWEwMzYyNjQ0NjJiYmJkY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCkBAIC0zNCw2ICszNCw4IEBACiAjaW1wb3J0ICJXZWJQ
cmVmZXJlbmNlcy5oIgogI2ltcG9ydCAiX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oIgogI2ltcG9y
dCAiX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmgiCisjaW1wb3J0ICJfV0tJbnRlcm5h
bERlYnVnRmVhdHVyZS5oIgorI2ltcG9ydCAiX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5h
bC5oIgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9TZXR0aW5ncy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpAQCAtNTI3LDE4ICs1Mjks
NDYgQEAgc3RhdGljIF9XS1N0b3JhZ2VCbG9ja2luZ1BvbGljeSB0b0FQSShXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG8KICAgICBfcHJlZmVyZW5jZXMtPnNldEZpeGVk
Rm9udEZhbWlseShmaXhlZFBpdGNoRm9udEZhbWlseSk7CiB9CiAKKysgKE5TQXJyYXk8X1dLSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmUgKj4gKilfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzCit7CisgICAgYXV0
byBmZWF0dXJlcyA9IFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmludGVybmFsRGVidWdGZWF0dXJl
cygpOworICAgIHJldHVybiB3cmFwcGVyKEFQSTo6QXJyYXk6OmNyZWF0ZShXVEZNb3ZlKGZlYXR1
cmVzKSkpOworfQorCistIChCT09MKV9pc0VuYWJsZWRGb3JJbnRlcm5hbERlYnVnRmVhdHVyZToo
X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKilmZWF0dXJlCit7CisgICAgcmV0dXJuIF9wcmVmZXJl
bmNlcy0+aXNFbmFibGVkRm9yRmVhdHVyZSgqZmVhdHVyZS0+X2ludGVybmFsRGVidWdGZWF0dXJl
KTsKK30KKworLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JJbnRlcm5hbERlYnVn
RmVhdHVyZTooX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKilmZWF0dXJlCit7CisgICAgX3ByZWZl
cmVuY2VzLT5zZXRFbmFibGVkRm9yRmVhdHVyZSh2YWx1ZSwgKmZlYXR1cmUtPl9pbnRlcm5hbERl
YnVnRmVhdHVyZSk7Cit9CisKICsgKE5TQXJyYXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAq
KV9leHBlcmltZW50YWxGZWF0dXJlcwogewogICAgIGF1dG8gZmVhdHVyZXMgPSBXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzOjpleHBlcmltZW50YWxGZWF0dXJlcygpOwogICAgIHJldHVybiB3cmFwcGVy
KEFQSTo6QXJyYXk6OmNyZWF0ZShXVEZNb3ZlKGZlYXR1cmVzKSkpOwogfQogCisvLyBGSVhNRTog
UmVtb3ZlIHRoaXMgb25jZSBTYWZhcmkgaGFzIGFkb3B0ZWQgdGhlIG5ldyBBUEkuCiAtIChCT09M
KV9pc0VuYWJsZWRGb3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVyZQog
ewotICAgIHJldHVybiBfcHJlZmVyZW5jZXMtPmlzRW5hYmxlZEZvckZlYXR1cmUoKmZlYXR1cmUt
Pl9leHBlcmltZW50YWxGZWF0dXJlKTsKKyAgICByZXR1cm4gW3NlbGYgX2lzRW5hYmxlZEZvckV4
cGVyaW1lbnRhbEZlYXR1cmU6ZmVhdHVyZV07CiB9CiAKKy8vIEZJWE1FOiBSZW1vdmUgdGhpcyBv
bmNlIFNhZmFyaSBoYXMgYWRvcHRlZCB0aGUgbmV3IEFQSS4KIC0gKHZvaWQpX3NldEVuYWJsZWQ6
KEJPT0wpdmFsdWUgZm9yRmVhdHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUK
K3sKKyAgICBbc2VsZiBfc2V0RW5hYmxlZDp2YWx1ZSBmb3JFeHBlcmltZW50YWxGZWF0dXJlOmZl
YXR1cmVdOworfQorCistIChCT09MKV9pc0VuYWJsZWRGb3JFeHBlcmltZW50YWxGZWF0dXJlOihf
V0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVyZQoreworICAgIHJldHVybiBfcHJlZmVyZW5j
ZXMtPmlzRW5hYmxlZEZvckZlYXR1cmUoKmZlYXR1cmUtPl9leHBlcmltZW50YWxGZWF0dXJlKTsK
K30KKworLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JFeHBlcmltZW50YWxGZWF0
dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVyZQogewogICAgIF9wcmVmZXJlbmNl
cy0+c2V0RW5hYmxlZEZvckZlYXR1cmUodmFsdWUsICpmZWF0dXJlLT5fZXhwZXJpbWVudGFsRmVh
dHVyZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDM4NzllMzVlZDMyNWU4NTdiMGM1YWI3M2Nk
N2JkYWM0MTllNjUzM2MuLmY1N2VmNDdmMDQwZGNhYTEwNGI3YmE5ZjI2MDA2Y2Q3ZTllMjhhNTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC01NCw2ICs1NCw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0lu
dGVnZXIsIF9XS0VkaXRhYmxlTGlua0JlaGF2aW9yKSB7CiAgICAgX1dLRWRpdGFibGVMaW5rQmVo
YXZpb3JOZXZlckxpdmUsCiB9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3Mo
MTEuMykpOwogCitAY2xhc3MgX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU7CiBAY2xhc3MgX1dLRXhw
ZXJpbWVudGFsRmVhdHVyZTsKIAogQGludGVyZmFjZSBXS1ByZWZlcmVuY2VzICgpIDxOU0NvcHlp
bmc+CkBAIC0xMzAsOSArMTMxLDE1IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0Vk
aXRhYmxlTGlua0JlaGF2aW9yKSB7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dEFWRm91bmRhdGlvbkVuYWJsZWQ6KSBCT09MIF9hdkZvdW5kYXRpb25FbmFibGVkIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEwKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorKyAoTlNBcnJheTxf
V0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqPiAqKV9pbnRlcm5hbERlYnVnRmVhdHVyZXMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CistIChCT09M
KV9pc0VuYWJsZWRGb3JJbnRlcm5hbERlYnVnRmVhdHVyZTooX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmUgKilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOworLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JJbnRlcm5hbERl
YnVnRmVhdHVyZTooX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKilmZWF0dXJlIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiArIChOU0FycmF5
PF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4gKilfZXhwZXJpbWVudGFsRmVhdHVyZXMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwogLSAoQk9PTClfaXNFbmFibGVk
Rm9yRmVhdHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwogLSAodm9pZClfc2V0RW5hYmxlZDooQk9P
TCl2YWx1ZSBmb3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVyZSBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CistIChCT09MKV9pc0VuYWJs
ZWRGb3JFeHBlcmltZW50YWxGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVy
ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CistICh2b2lkKV9z
ZXRFbmFibGVkOihCT09MKXZhbHVlIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6KF9XS0V4cGVyaW1l
bnRhbEZlYXR1cmUgKilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9z
KDEwLjApKTsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvdWxkRW5hYmxl
VGV4dEF1dG9zaXppbmdCb29zdDopIEJPT0wgX3Nob3VsZEVuYWJsZVRleHRBdXRvc2l6aW5nQm9v
c3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRl
cm5hbERlYnVnRmVhdHVyZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0ludGVybmFsRGVidWdGZWF0dXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE3YTlkNWY1MmEwNDU5OTZjYjcz
YTBjMjFiZDI0NjhiNjI3NjViMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oCkBAIC0wLDAgKzEsNDMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBX
S19BUElfRU5BQkxFRAorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworV0tf
Q0xBU1NfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSkKK0BpbnRlcmZhY2UgX1dL
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgOiBOU09iamVjdAorCitAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICprZXk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHksIGNvcHkpIE5TU3RyaW5nICpuYW1lOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5LCBjb3B5KSBOU1N0cmluZyAqZGV0YWlsczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgQk9PTCBkZWZhdWx0VmFsdWU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHks
IGdldHRlcj1pc0hpZGRlbikgQk9PTCBoaWRkZW47CisKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0Zl
YXR1cmUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmM3ODcwNzQ1NTYyODgzMDA2MjUzYTNmNjczMmI5
NGY4ODg2MDZlZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5tbQpAQCAtMCwwICsxLDc5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tJbnRlcm5hbERlYnVnRmVh
dHVyZUludGVybmFsLmgiCisKKyNpZiBXS19BUElfRU5BQkxFRAorCitAaW1wbGVtZW50YXRpb24g
X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUKKworLSAodm9pZClkZWFsbG9jCit7CisgICAgX2ludGVy
bmFsRGVidWdGZWF0dXJlLT5BUEk6OkludGVybmFsRGVidWdGZWF0dXJlOjp+SW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUoKTsKKworICAgIFtzdXBlciBkZWFsbG9jXTsKK30KKworLSAoTlNTdHJpbmcgKilk
ZXNjcmlwdGlvbgoreworICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjwl
QDogJXA7IG5hbWUgPSAlQDsga2V5ID0gJUA7IGRlZmF1bHRWYWx1ZSA9ICVzID4iLCBOU1N0cmlu
Z0Zyb21DbGFzcyhzZWxmLmNsYXNzKSwgc2VsZiwgc2VsZi5uYW1lLCBzZWxmLmtleSwgc2VsZi5k
ZWZhdWx0VmFsdWUgPyAib24iIDogIm9mZiJdOworfQorCistIChOU1N0cmluZyAqKW5hbWUKK3sK
KyAgICByZXR1cm4gX2ludGVybmFsRGVidWdGZWF0dXJlLT5uYW1lKCk7Cit9CisKKy0gKE5TU3Ry
aW5nICopa2V5Cit7CisgICAgcmV0dXJuIF9pbnRlcm5hbERlYnVnRmVhdHVyZS0+a2V5KCk7Cit9
CisKKy0gKE5TU3RyaW5nICopZGV0YWlscworeworICAgIHJldHVybiBfaW50ZXJuYWxEZWJ1Z0Zl
YXR1cmUtPmRldGFpbHMoKTsKK30KKworLSAoQk9PTClkZWZhdWx0VmFsdWUKK3sKKyAgICByZXR1
cm4gX2ludGVybmFsRGVidWdGZWF0dXJlLT5kZWZhdWx0VmFsdWUoKTsKK30KKworLSAoQk9PTClp
c0hpZGRlbgoreworICAgIHJldHVybiBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmUtPmlzSGlkZGVuKCk7
Cit9CisKKyNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgorCist
IChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAoreworICAgIHJldHVybiAqX2ludGVybmFsRGVidWdG
ZWF0dXJlOworfQorCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZUlu
dGVybmFsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZmZTljMTI5MjE1NDlkNWRkYTUwMjY4MDQ5MjgxNTQ0OWQ5
ODI3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmgKQEAgLTAsMCArMSw0NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbXBvcnQgIl9XS0ludGVybmFsRGVidWdGZWF0dXJlLmgiCisKKyNpZiBXS19B
UElfRU5BQkxFRAorCisjaW1wb3J0ICJBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oIgorI2ltcG9y
dCAiV0tPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3RlbXBsYXRlPD4gc3RydWN0
IFdyYXBwZXJUcmFpdHM8QVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZT4geworICAgIHVzaW5nIFdy
YXBwZXJDbGFzcyA9IF9XS0ludGVybmFsRGVidWdGZWF0dXJlOworfTsKKworfQorCitAaW50ZXJm
YWNlIF9XS0ludGVybmFsRGVidWdGZWF0dXJlICgpIDxXS09iamVjdD4geworQHBhY2thZ2UKKyAg
ICBBUEk6Ok9iamVjdFN0b3JhZ2U8QVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZT4gX2ludGVybmFs
RGVidWdGZWF0dXJlOworfQorQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCA2MmNhZGVjMjdjNWZlMjQ4YjQ1MGUxNzNkMmE2OTJl
ODI1ZmU3ZmM5Li5mM2EyNjY3ZmUwMGIwMTJmMThkYTBhNjdhZDg2YTU0MGI2ZTU4MTdiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0xMzEsNyArMTMx
LDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlQm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0
cmluZyYga2V5LCBib29sIHZhbHVlKQogICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBzZW5k
IG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2YWx1ZS4KIH0KIAotdm9pZCBXZWJQcmVmZXJlbmNl
czo6dXBkYXRlQm9vbFZhbHVlRm9yRXhwZXJpbWVudGFsRmVhdHVyZUtleShjb25zdCBTdHJpbmcm
IGtleSwgYm9vbCB2YWx1ZSkKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZv
ckludGVybmFsRGVidWdGZWF0dXJlS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQog
ewogICAgIGlmIChrZXkgPT0gV2ViUHJlZmVyZW5jZXNLZXk6OnByb2Nlc3NTd2FwT25OYXZpZ2F0
aW9uRW5hYmxlZEtleSgpKSB7CiAgICAgICAgIGZvciAoYXV0byogcGFnZSA6IG1fcGFnZXMpCkBA
IC0xNDMsNiArMTQzLDExIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZv
ckV4cGVyaW1lbnRhbEZlYXR1cmVLZXkoY29uc3QgU3RyaW5nJiBrZXksCiAgICAgdXBkYXRlKCk7
IC8vIEZJWE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVlLgogfQog
Cit2b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVCb29sVmFsdWVGb3JFeHBlcmltZW50YWxGZWF0
dXJlS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQoreworICAgIHVwZGF0ZSgpOyAv
LyBGSVhNRTogT25seSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2YWx1ZS4KK30KKwog
dm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlVUludDMyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5n
JiBrZXksIHVpbnQzMl90IHZhbHVlKQogewogICAgIHBsYXRmb3JtVXBkYXRlVUludDMyVmFsdWVG
b3JLZXkoa2V5LCB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMu
aAppbmRleCAzM2U4NGEyZmZjMTAwZWQzNzVjMTY1NjExNTVmM2JiMmYxNGZhYzA1Li44ZTgxZTYy
MTEyZTIyMTAyMWE3NDdhNTBlYWY4YTI4MmVlMjEzYjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAj
aW5jbHVkZSAiQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIgorI2luY2x1ZGUgIkFQSUludGVybmFs
RGVidWdGZWF0dXJlLmgiCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiRm9udFNt
b290aGluZ0xldmVsLmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIgpA
QCAtNjAsOCArNjEsMTMgQEAgcHVibGljOgogCiAgICAgRk9SX0VBQ0hfV0VCS0lUX1BSRUZFUkVO
Q0UoREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKICAgICBGT1JfRUFDSF9X
RUJLSVRfREVCVUdfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRU
RVJTKQorICAgIEZPUl9FQUNIX1dFQktJVF9JTlRFUk5BTF9ERUJVR19GRUFUVVJFX1BSRUZFUkVO
Q0UoREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKICAgICBGT1JfRUFDSF9X
RUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0Vf
R0VUVEVSX0FORF9TRVRURVJTKQogCisgICAgc3RhdGljIGNvbnN0IFZlY3RvcjxSZWZQdHI8QVBJ
OjpPYmplY3Q+PiYgaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKCk7CisgICAgYm9vbCBpc0VuYWJsZWRG
b3JGZWF0dXJlKGNvbnN0IEFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUmKSBjb25zdDsKKyAgICB2
b2lkIHNldEVuYWJsZWRGb3JGZWF0dXJlKGJvb2wsIGNvbnN0IEFQSTo6SW50ZXJuYWxEZWJ1Z0Zl
YXR1cmUmKTsKKwogICAgIHN0YXRpYyBjb25zdCBWZWN0b3I8UmVmUHRyPEFQSTo6T2JqZWN0Pj4m
IGV4cGVyaW1lbnRhbEZlYXR1cmVzKCk7CiAgICAgYm9vbCBpc0VuYWJsZWRGb3JGZWF0dXJlKGNv
bnN0IEFQSTo6RXhwZXJpbWVudGFsRmVhdHVyZSYpIGNvbnN0OwogICAgIHZvaWQgc2V0RW5hYmxl
ZEZvckZlYXR1cmUoYm9vbCwgY29uc3QgQVBJOjpFeHBlcmltZW50YWxGZWF0dXJlJik7CkBAIC03
OSw2ICs4NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0ZVN0cmluZ1ZhbHVlRm9yS2V5
KGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKICAgICB2b2lkIHVwZGF0
ZUJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1ZSk7CisgICAgdm9p
ZCB1cGRhdGVCb29sVmFsdWVGb3JJbnRlcm5hbERlYnVnRmVhdHVyZUtleShjb25zdCBTdHJpbmcm
IGtleSwgYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCB1cGRhdGVCb29sVmFsdWVGb3JFeHBlcmltZW50
YWxGZWF0dXJlS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKTsKICAgICB2b2lkIHVw
ZGF0ZVVJbnQzMlZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCB1aW50MzJfdCB2YWx1ZSk7
CiAgICAgdm9pZCB1cGRhdGVEb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgZG91
YmxlIHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApp
bmRleCA0MTFmZTYxMjUyZjlkY2E5YjZlOTViNGUyYzk5ZTVmY2VkYjliYjMyLi43M2M3NmMwYWM5
OGU5OWE3N2NlYzhkNzM5NWRjMDFiZmU5YThhYTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xMTU3LDcgKzExNTcsNyBAQCBSZWY8V2ViUGFnZVBy
b3h5PiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlV2ViUGFnZShQYWdlQ2xpZW50JiBwYWdlQ2xpZW50
LCBSZWY8QVBJOgogICAgIGF1dG8gcGFnZSA9IHByb2Nlc3MtPmNyZWF0ZVdlYlBhZ2UocGFnZUNs
aWVudCwgV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikpOwogICAgIGlmIChwYWdlLT5wcmVmZXJl
bmNlcygpLnByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAgIG1fY29u
ZmlndXJhdGlvbi0+c2V0UHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uKHRydWUpOwotICAgICAgICAv
LyBGSVhNRTogRm9yIG5vdywgdHVybmluZyBvbiBQU09OIGZyb20gdGhlIGV4cGVyaW1lbnRhbCBm
ZWF0dXJlcyBtZW51IGFsc28gdHVybnMgb24KKyAgICAgICAgLy8gRklYTUU6IEZvciBub3csIHR1
cm5pbmcgb24gUFNPTiBmcm9tIHRoZSBkZWJ1ZyBmZWF0dXJlcyBtZW51IGFsc28gdHVybnMgb24K
ICAgICAgICAgLy8gYXV0b21hdGljIHByb2Nlc3Mgd2FybWluZyB1bnRpbCBjbGllbnRzIGNhbiBi
ZSB1cGRhdGVkLgogICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPnNldElzQXV0b21hdGljUHJvY2Vz
c1dhcm1pbmdFbmFibGVkKHRydWUpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQzZjhiOWVhOWI5MjM3YjA1MTYwZTU3MmE2
ZTg1MGNlMzY0NTk3ZDIuLmI0MDdjYWFmYmM0ZjY5NDJjZGJjMzFiYmJhYmExZTViZjYwYzAyYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtODMyLDYgKzgzMiwxMiBAQAogCQkzMUEyRUM3NzE0OEQ2NjJFMDA4MTBENzEgLyogV0tOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM3NTE0OEQ2NUJCMDA4MTBENzEgLyogV0tOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi87IH07CiAJCTMxQTUwNUZBMTY4MDAyNTUwMEE5
MzBFQiAvKiBXZWJDb250ZXh0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUE1MDVGODE2ODAwMjU1MDBBOTMwRUIgLyogV2ViQ29udGV4dENs
aWVudC5oICovOyB9OwogCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0
YXJ0UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5o
ICovOyB9OworCQkzMUIzNjI4RjIxNDFFQTVEMDA3QkZBNTMgLyogQVBJSW50ZXJuYWxEZWJ1Z0Zl
YXR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
QjM2MjhFMjE0MUVBNEQwMDdCRkE1MyAvKiBBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oICovOyB9
OworCQkzMUIzNjI5MTIxNDFFQUM0MDA3QkZBNTMgLyogQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFCMzYy
OTAyMTQxRUFCQzAwN0JGQTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcCAqLzsgfTsK
KwkJMzFCMzYyOTUyMTQxRUJDRDAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIzNjI5NDIx
NDFFQkFEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMUIzNjI5NjIxNDFFQkQ0MDA3
QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIzNjI5MjIxNDFFQkFDMDA3QkZBNTMgLyogX1dL
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0gKi87IH07CisJCTMxQjM2Mjk3MjE0MUVCRDkwMDdCRkE1
MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIzNjI5MzIxNDFFQkFEMDA3QkZBNTMgLyog
X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oICovOyB9OworCQkzMUIzNjI5OTIxNDFG
NkU4MDA3QkZBNTMgLyogV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFCMzYyOTgyMTQx
RjZFMDAwN0JGQTUzIC8qIFdlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcCAq
LzsgfTsKIAkJMzFCQTkyNEQxNDg4MzEyNjAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFCQTkyNDgxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMUJBOTI0RTE0ODgzMTI2MDA2MkVE
QjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0OTE0ODgzMDgxMDA2MkVEQjUgLyog
V2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CiAJCTMxRDU5MjlGMTY2RTA2
MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDU5MjlEMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVn
SW5DbGllbnQuaCAqLzsgfTsKQEAgLTMwNzYsNiArMzA4MiwxMiBAQAogCQkzMUE1MDVGODE2ODAw
MjU1MDBBOTMwRUIgLyogV2ViQ29udGV4dENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJDb250ZXh0Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxQTY3RTBBMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRQ
cm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTY3RTBCMTY1QjJB
OTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUIzNjI4RTIxNDFFQTREMDA3QkZBNTMgLyogQVBJSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFCMzYyOTAyMTQxRUFCQzAwN0JGQTUzIC8q
IEFQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEFQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMzFCMzYyOTIyMTQxRUJBQzAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdG
ZWF0dXJlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQjM2
MjkzMjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0ludGVybmFsRGVidWdGZWF0dXJl
SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFCMzYyOTQyMTQxRUJB
RDAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IF9XS0ludGVybmFsRGVidWdGZWF0dXJlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTMxQjM2Mjk4MjE0MUY2RTAwMDdCRkE1MyAvKiBXZWJQcmVmZXJlbmNl
c0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQkE5MjQ4MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUJBOTI0OTE0ODgzMDgxMDA2MkVEQjUg
LyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzMUQ1OTI5QzE2NkUwNUZGMDBFNkJGMDIgLyogV2ViUGx1Z0lu
Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBsdWdJ
bkNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MTgxLDYgKzYxOTMs
OSBAQAogCQkJCTVDQUZERTQyMjEzMDg0MzUwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3IuaCAqLywK
IAkJCQk1Q0FGREU0MzIxMzA4NDM2MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9yLm1tICovLAogCQkJ
CTVDQUZERTQ0MjEzMDg0MzYwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3JJbnRlcm5hbC5oICovLAor
CQkJCTMxQjM2Mjk0MjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5o
ICovLAorCQkJCTMxQjM2MjkyMjE0MUVCQUMwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVh
dHVyZS5tbSAqLywKKwkJCQkzMUIzNjI5MzIxNDFFQkFEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oICovLAogCQkJCTJENzkwQTlDMUFENzA1MEQwMEFCOTBCMyAv
KiBfV0tMYXlvdXRNb2RlLmggKi8sCiAJCQkJNTFDMEM5NzkxRERENzg1NDAwMzJDQUQzIC8qIF9X
S0xpbmtJY29uUGFyYW1ldGVycy5oICovLAogCQkJCTUxQzBDOTdBMURERDc4NTQwMDMyQ0FEMyAv
KiBfV0tMaW5rSWNvblBhcmFtZXRlcnMubW0gKi8sCkBAIC03NjQxLDYgKzc2NTYsOCBAQAogCQkJ
CTdBQjZFQTQ0MUVFQUFFMjMwMDAzN0IyQiAvKiBBUElJY29uRGF0YWJhc2VDbGllbnQuaCAqLywK
IAkJCQk1MTQzQjI2MTFEREQwREEwMDAxNEZBQzYgLyogQVBJSWNvbkxvYWRpbmdDbGllbnQuaCAq
LywKIAkJCQk3QThBOUQ1NzFFRjExOUFBMDA5ODAxQUUgLyogQVBJSW5qZWN0ZWRCdW5kbGVDbGll
bnQuaCAqLywKKwkJCQkzMUIzNjI5MDIxNDFFQUJDMDA3QkZBNTMgLyogQVBJSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuY3BwICovLAorCQkJCTMxQjM2MjhFMjE0MUVBNEQwMDdCRkE1MyAvKiBBUElJbnRl
cm5hbERlYnVnRmVhdHVyZS5oICovLAogCQkJCTdDRTREMjA2MUE0Njc3NTcwMEM3RjE1MiAvKiBB
UElMZWdhY3lDb250ZXh0SGlzdG9yeUNsaWVudC5oICovLAogCQkJCTFBMjQ2NEYyMTg5MUU0NTEw
MDIzNEM1QiAvKiBBUElMb2FkZXJDbGllbnQuaCAqLywKIAkJCQk3Q0QzQTQ4MDFBNUQwMkZBMDA5
NjIzQjggLyogQVBJTmF2aWdhdGlvbi5jcHAgKi8sCkBAIC04NjM0LDYgKzg2NTEsNyBAQAogCQkJ
CTFBQjFGNzk1MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1l
c3NhZ2VzLmggKi8sCiAJCQkJN0NERTczQTMxRjlEQUI2NTAwMzkwMzEyIC8qIFdlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnMuaCAqLywKIAkJCQk3Q0VCMDBEQzFGQTY5QTg5MDA2NTQ3M0IgLyogV2Vi
UHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAgKi8sCisJCQkJMzFCMzYyOTgyMTQx
RjZFMDAwN0JGQTUzIC8qIFdlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcCAq
LywKIAkJCQk3Q0IxMDBFRTFGQTJENzRBMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNw
cCAqLywKIAkJCQk3Q0IxMDBFRjFGQTJENzRCMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlz
LmggKi8sCiAJCQkJN0NCMTAwRjAxRkEyRDc4NDAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzU3Rv
cmVEZWZhdWx0c01hcC5jcHAgKi8sCkBAIC04OTY5LDYgKzg5ODcsOCBAQAogCQkJCTM3QTY0RTU1
MThGMzhFM0MwMEVCMzBGMSAvKiBfV0tJbnB1dERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1Q0FGREU0NTIxMzA4NDYzMDBCMUY3RTEgLyogX1dLSW5zcGVjdG9yLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1Q0FGREU0NzIxMzA4NDZBMDBCMUY3RTEgLyogX1dLSW5zcGVjdG9ySW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovLAorCQkJCTMxQjM2Mjk1MjE0MUVCQ0QwMDdCRkE1MyAvKiBfV0tJbnRl
cm5hbERlYnVnRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFCMzYyOTcyMTQxRUJEOTAw
N0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJENzkwQTlEMUFENzA1MEQwMEFCOTBCMyAvKiBfV0tMYXlvdXRNb2RlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTBGNTkxMTFEREUyOTcwMDA0MTJGRjUgLyogX1dLTGlua0ljb25QYXJh
bWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTE4QTlGMzE5MDhCOEVBMDBGN0M5MkIgLyog
X1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCkBAIC05MDQ4LDYgKzkwNjgs
NyBAQAogCQkJCTdBM0FDRTFCMUVFRUY3OUIwMEE4NjRBNCAvKiBBUElJbmplY3RlZEJ1bmRsZVBh
Z2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBOEE5RDVDMUVGMTQ1OTgwMDk4
MDFBRSAvKiBBUElJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTM3NjkwNzlBMThGMzFDQjIwMDFERkYwNCAvKiBBUElJbmplY3RlZEJ1bmRs
ZVBhZ2VVSUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFCMzYyOEYyMTQxRUE1RDAwN0JG
QTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0U0
RDIwNzFBNDY3NzYxMDBDN0YxNTIgLyogQVBJTGVnYWN5Q29udGV4dEhpc3RvcnlDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBMjQ2NEYzMTg5MUU0NTEwMDIzNEM1QiAvKiBBUElMb2FkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRDNBNDgzMUE1RDAyRkEwMDk2MjNCOCAvKiBB
UElOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTEwODgxLDYgKzEwOTAyLDcgQEAKIAkJ
CQk2M0MzMkMyNTFFOTgxMEQ5MDA2OTlCRDAgLyogX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbSBp
biBTb3VyY2VzICovLAogCQkJCTkzQTg4QjM5MUJDNzBGM0YwMEFCQTVDMiAvKiBfV0tIaXRUZXN0
UmVzdWx0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNBRkRFNDYyMTMwODQ2ODAwQjFGN0UxIC8q
IF9XS0luc3BlY3Rvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTMxQjM2Mjk2MjE0MUVCRDQwMDdC
RkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUx
MEY1OTEyMURERTI5NzcwMDQxMkZGNSAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMubW0gaW4gU291
cmNlcyAqLywKIAkJCQlBMTE4QTlGMjE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdl
ckV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE1QzBGMEE4MjAwMDY1NTEwMDUzNjUzNiAv
KiBfV0tOU1dpbmRvd0V4dHJhcy5tbSBpbiBTb3VyY2VzICovLApAQCAtMTA5MTYsNiArMTA5Mzgs
NyBAQAogCQkJCTFBQzEzMzc0MTg1N0MyMUUwMEYzRUMwNSAvKiBBUElHZW9tZXRyeS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5M0E4OEI0NzFCQzg4Mjk3MDBBQkE1QzIgLyogQVBJSGl0VGVzdFJl
c3VsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUQxMjQ5MTFFNzRCRjNDMDAyQjI4MjAgLyog
QVBJSFRUUENvb2tpZVN0b3JlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxQjM2MjkxMjE0MUVB
QzQwMDdCRkE1MyAvKiBBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk3Q0QzQTQ4MjFBNUQwMkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0Y2OUZBMzExNzZEMDE0MDA0NzFBNTIgLyogQVBJTmF2aWdhdGlvbkRh
dGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjYzNDAzRjkxNDkxMEQ1NzAwMTA3MEI1IC8qIEFQ
SU9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTExMjYyLDYgKzExMjg1LDcgQEAKIAkJCQky
RDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVnaW5JbmZv
UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFQjAwREQxRkE2OUFCRTAwNjU0NzNC
IC8qIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMzFCMzYyOTkyMTQxRjZFODAwN0JGQTUzIC8qIFdlYlByZWZlcmVuY2VzSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQjEwMEYxMUZBMzg1OEEwMDE3
MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NCMTAw
RjQxRkEzODU5MjAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQTA0M0EwQTEyNEQxMUE5MDBGRkJGQjUgLyogV2ViUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMTQxMSw3ICsxMTQzNSw2IEBACiAJ
CQkJQkM0MDc2MDMxMjRGRjAyNzAwNjhGMjBBIC8qIFdLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBREU0NkIyMTk1NEVDNjEwMDBGNzk4NSAvKiBXS1Nlc3Np
b25TdGF0ZVJlZi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxREIwMTk0NDIxMUNGMDA1MDA5RkIz
RTggLyogV0tTaGFyZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEzRTQ2MkUxQUQ4Mzc1
NjAwMTYyMzRBIC8qIFdLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzRjU0OUI2MUUzMTc0REEwMDBFNzIzOSAvKiBXS1NuYXBzaG90Q29uZmlndXJh
dGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NjA1MTI0RkYwMjcwMDY4RjIwQSAvKiBX
S1N0cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzYxOTEyNEZGMDM3MDA2OEYyMEEg
LyogV0tTdHJpbmdDRi5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUxZDk2MWI4OGY0MmFlOTUxZGFiYjc5NDBmMTM2
ZmEzZWM3ZjkyMzcuLjNlNzY3YzlkZGRlOTEyYTdjZmIyOGZlOWViOGM2MGExOTlmZGNkNTQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMSBAQAorMjAxOC0wOS0wNyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIGFuZCBleHBvc2UgSW50ZXJuYWwgZmVhdHVyZXMgZnJvbSBXZWJLaXQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTQ0MgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDQyNDM0MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIE1pbmlCcm93c2VyIHRvIGV4cG9zZSBhbiBJbnRl
cm5hbCBmZWF0dXJlIG1lbnUuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdh
dGUubToKKyAgICAgICAgKGRlZmF1bHRDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBNaW5pQnJv
d3Nlci9tYWMvU2V0dGluZ3NDb250cm9sbGVyLm06CisgICAgICAgICgtW1NldHRpbmdzQ29udHJv
bGxlciBfcG9wdWxhdGVNZW51XSk6CisgICAgICAgICgtW1NldHRpbmdzQ29udHJvbGxlciB2YWxp
ZGF0ZU1lbnVJdGVtOl0pOgorICAgICAgICAoLVtTZXR0aW5nc0NvbnRyb2xsZXIgdG9nZ2xlRXhw
ZXJpbWVudGFsRmVhdHVyZTpdKToKKyAgICAgICAgKC1bU2V0dGluZ3NDb250cm9sbGVyIHRvZ2ds
ZUludGVybmFsRGVidWdGZWF0dXJlOl0pOgorCiAyMDE4LTA5LTA0ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBmb2xsb3ctdXAg
dG8gcjIzNTYzNQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRl
Lm0gYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQppbmRleCAzYTM2OWE0MDlj
NGJjZGE3NWExMTM2YzExMjNhMDg2M2Q1NzcwZWE3Li4yNTYxN2VjNGQ2NmNmYWI0NGVjOWEzYWMw
N2UxMWFjNDAzZjY4Y2MxIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVs
ZWdhdGUubQorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQpAQCAtNDAs
NiArNDAsNyBAQAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKICNpbXBvcnQgPFdlYktpdC9fV0tFeHBl
cmltZW50YWxGZWF0dXJlLmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmUuaD4KICNlbmRpZgogCiBlbnVtIHsKQEAgLTEwNiwxMCArMTA3LDE2IEBAIC0gKHZvaWQpYXdh
a2VGcm9tTmliCiAgICAgICAgIGNvbmZpZ3VyYXRpb24ucHJvY2Vzc1Bvb2wgPSBbW1tXS1Byb2Nl
c3NQb29sIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOnByb2Nlc3NDb25maWd1cmF0aW9u
XSBhdXRvcmVsZWFzZV07CiAKICNpZiBXS19BUElfRU5BQkxFRAotICAgICAgICBOU0FycmF5PF9X
S0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4gKmZlYXR1cmVzID0gW1dLUHJlZmVyZW5jZXMgX2V4cGVy
aW1lbnRhbEZlYXR1cmVzXTsKLSAgICAgICAgZm9yIChfV0tFeHBlcmltZW50YWxGZWF0dXJlICpm
ZWF0dXJlIGluIGZlYXR1cmVzKSB7CisgICAgICAgIE5TQXJyYXk8X1dLRXhwZXJpbWVudGFsRmVh
dHVyZSAqPiAqZXhwZXJpbWVudGFsRmVhdHVyZXMgPSBbV0tQcmVmZXJlbmNlcyBfZXhwZXJpbWVu
dGFsRmVhdHVyZXNdOworICAgICAgICBmb3IgKF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKmZlYXR1
cmUgaW4gZXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKICAgICAgICAgICAgIEJPT0wgZW5hYmxlZCA9
IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6ZmVhdHVy
ZS5rZXldOwotICAgICAgICAgICAgW2NvbmZpZ3VyYXRpb24ucHJlZmVyZW5jZXMgX3NldEVuYWJs
ZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOworICAgICAgICAgICAgW2NvbmZpZ3VyYXRp
b24ucHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JFeHBlcmltZW50YWxGZWF0dXJl
OmZlYXR1cmVdOworICAgICAgICB9CisKKyAgICAgICAgTlNBcnJheTxfV0tJbnRlcm5hbERlYnVn
RmVhdHVyZSAqPiAqaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzID0gW1dLUHJlZmVyZW5jZXMgX2ludGVy
bmFsRGVidWdGZWF0dXJlc107CisgICAgICAgIGZvciAoX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUg
KmZlYXR1cmUgaW4gaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKSB7CisgICAgICAgICAgICBCT09MIGVu
YWJsZWQgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5
OmZlYXR1cmUua2V5XTsKKyAgICAgICAgICAgIFtjb25maWd1cmF0aW9uLnByZWZlcmVuY2VzIF9z
ZXRFbmFibGVkOmVuYWJsZWQgZm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV07CiAgICAg
ICAgIH0KICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL21hYy9T
ZXR0aW5nc0NvbnRyb2xsZXIubSBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9TZXR0aW5nc0NvbnRy
b2xsZXIubQppbmRleCA3MDQxNzBkZmE2ZjI0NGRhYzQxOWZkY2QyOGFkZGFmMDdjZjA5YWFiLi4y
NGEzN2RlOTA4NTI4OTBhMmZhYmUzZjlhOTU5ZDlkNDViOGM1ODYwIDEwMDY0NAotLS0gYS9Ub29s
cy9NaW5pQnJvd3Nlci9tYWMvU2V0dGluZ3NDb250cm9sbGVyLm0KKysrIGIvVG9vbHMvTWluaUJy
b3dzZXIvbWFjL1NldHRpbmdzQ29udHJvbGxlci5tCkBAIC0zMiw2ICszMiw3IEBACiAKICNpZiBX
S19BUElfRU5BQkxFRAogI2ltcG9ydCA8V2ViS2l0L19XS0V4cGVyaW1lbnRhbEZlYXR1cmUuaD4K
KyNpbXBvcnQgPFdlYktpdC9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oPgogI2VuZGlmCiAKIHN0
YXRpYyBOU1N0cmluZyAqIGNvbnN0IGRlZmF1bHRVUkwgPSBAImh0dHA6Ly93d3cud2Via2l0Lm9y
Zy8iOwpAQCAtODEsNiArODIsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBEZWJ1Z092
ZXJ5bGF5TWVudUl0ZW1UYWcpIHsKICAgICBXaGVlbEV2ZW50SGFuZGxlclJlZ2lvbk92ZXJsYXlU
YWcsCiAjaWYgV0tfQVBJX0VOQUJMRUQKICAgICBFeHBlcmltZW50YWxGZWF0dXJlVGFnLAorICAg
IEludGVybmFsRGVidWdGZWF0dXJlVGFnLAogI2VuZGlmCiB9OwogCkBAIC0yMTIsOSArMjE0LDkg
QEAgLSAodm9pZClfcG9wdWxhdGVNZW51CiAgICAgTlNNZW51ICpleHBlcmltZW50YWxGZWF0dXJl
c01lbnUgPSBbW05TTWVudSBhbGxvY10gaW5pdFdpdGhUaXRsZTpAIkV4cGVyaW1lbnRhbCBGZWF0
dXJlcyJdOwogICAgIFtleHBlcmltZW50YWxGZWF0dXJlc1N1Ym1lbnVJdGVtIHNldFN1Ym1lbnU6
ZXhwZXJpbWVudGFsRmVhdHVyZXNNZW51XTsKIAotICAgIE5TQXJyYXk8X1dLRXhwZXJpbWVudGFs
RmVhdHVyZSAqPiAqZmVhdHVyZXMgPSBbV0tQcmVmZXJlbmNlcyBfZXhwZXJpbWVudGFsRmVhdHVy
ZXNdOworICAgIE5TQXJyYXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqZXhwZXJpbWVudGFs
RmVhdHVyZXMgPSBbV0tQcmVmZXJlbmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdOwogCi0gICAg
Zm9yIChfV0tFeHBlcmltZW50YWxGZWF0dXJlICpmZWF0dXJlIGluIGZlYXR1cmVzKSB7CisgICAg
Zm9yIChfV0tFeHBlcmltZW50YWxGZWF0dXJlICpmZWF0dXJlIGluIGV4cGVyaW1lbnRhbEZlYXR1
cmVzKSB7CiAgICAgICAgIE5TTWVudUl0ZW0gKml0ZW0gPSBbW05TTWVudUl0ZW0gYWxsb2NdIGlu
aXRXaXRoVGl0bGU6ZmVhdHVyZS5uYW1lIGFjdGlvbjpAc2VsZWN0b3IodG9nZ2xlRXhwZXJpbWVu
dGFsRmVhdHVyZTopIGtleUVxdWl2YWxlbnQ6QCIiXTsKICAgICAgICAgaXRlbS50b29sVGlwID0g
ZmVhdHVyZS5kZXRhaWxzOwogICAgICAgICBpdGVtLnJlcHJlc2VudGVkT2JqZWN0ID0gZmVhdHVy
ZTsKQEAgLTIyNyw2ICsyMjksMjYgQEAgLSAodm9pZClfcG9wdWxhdGVNZW51CiAgICAgW19tZW51
IGFkZEl0ZW06ZXhwZXJpbWVudGFsRmVhdHVyZXNTdWJtZW51SXRlbV07CiAgICAgW2V4cGVyaW1l
bnRhbEZlYXR1cmVzU3VibWVudUl0ZW0gcmVsZWFzZV07CiAgICAgW2V4cGVyaW1lbnRhbEZlYXR1
cmVzTWVudSByZWxlYXNlXTsKKworICAgIE5TTWVudUl0ZW0gKmludGVybmFsRGVidWdGZWF0dXJl
c1N1Ym1lbnVJdGVtID0gW1tOU01lbnVJdGVtIGFsbG9jXSBpbml0V2l0aFRpdGxlOkAiSW50ZXJu
YWwgRmVhdHVyZXMiIGFjdGlvbjpuaWwga2V5RXF1aXZhbGVudDpAIiJdOworICAgIE5TTWVudSAq
aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzTWVudSA9IFtbTlNNZW51IGFsbG9jXSBpbml0V2l0aFRpdGxl
OkAiSW50ZXJuYWwgRmVhdHVyZXMiXTsKKyAgICBbaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzU3VibWVu
dUl0ZW0gc2V0U3VibWVudTppbnRlcm5hbERlYnVnRmVhdHVyZXNNZW51XTsKKworICAgIE5TQXJy
YXk8X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKj4gKmludGVybmFsRGVidWdGZWF0dXJlcyA9IFtX
S1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNdOworCisgICAgZm9yIChfV0tJbnRl
cm5hbERlYnVnRmVhdHVyZSAqZmVhdHVyZSBpbiBpbnRlcm5hbERlYnVnRmVhdHVyZXMpIHsKKyAg
ICAgICAgTlNNZW51SXRlbSAqaXRlbSA9IFtbTlNNZW51SXRlbSBhbGxvY10gaW5pdFdpdGhUaXRs
ZTpmZWF0dXJlLm5hbWUgYWN0aW9uOkBzZWxlY3Rvcih0b2dnbGVJbnRlcm5hbERlYnVnRmVhdHVy
ZTopIGtleUVxdWl2YWxlbnQ6QCIiXTsKKyAgICAgICAgaXRlbS50b29sVGlwID0gZmVhdHVyZS5k
ZXRhaWxzOworICAgICAgICBpdGVtLnJlcHJlc2VudGVkT2JqZWN0ID0gZmVhdHVyZTsKKworICAg
ICAgICBbaXRlbSBzZXRUYWc6SW50ZXJuYWxEZWJ1Z0ZlYXR1cmVUYWddOworICAgICAgICBbaXRl
bSBzZXRUYXJnZXQ6c2VsZl07CisgICAgICAgIFtpbnRlcm5hbERlYnVnRmVhdHVyZXNNZW51IGFk
ZEl0ZW06W2l0ZW0gYXV0b3JlbGVhc2VdXTsKKyAgICB9CisKKyAgICBbX21lbnUgYWRkSXRlbTpp
bnRlcm5hbERlYnVnRmVhdHVyZXNTdWJtZW51SXRlbV07CisgICAgW2ludGVybmFsRGVidWdGZWF0
dXJlc1N1Ym1lbnVJdGVtIHJlbGVhc2VdOworICAgIFtpbnRlcm5hbERlYnVnRmVhdHVyZXNNZW51
IHJlbGVhc2VdOwogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECiAKICAgICBbc2VsZiBfYWRkSGVh
ZGVyV2l0aFRpdGxlOkAiV2ViS2l0MS1vbmx5IFNldHRpbmdzIl07CkBAIC0zMDEsNyArMzIzLDEx
IEBAIC0gKEJPT0wpdmFsaWRhdGVNZW51SXRlbTooTlNNZW51SXRlbSAqKW1lbnVJdGVtCiAjaWYg
V0tfQVBJX0VOQUJMRUQKICAgICBpZiAobWVudUl0ZW0udGFnID09IEV4cGVyaW1lbnRhbEZlYXR1
cmVUYWcpIHsKICAgICAgICAgX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqZmVhdHVyZSA9IG1lbnVJ
dGVtLnJlcHJlc2VudGVkT2JqZWN0OwotICAgICAgICBbbWVudUl0ZW0gc2V0U3RhdGU6W2RlZmF1
bHRQcmVmZXJlbmNlcygpIF9pc0VuYWJsZWRGb3JGZWF0dXJlOmZlYXR1cmVdID8gTlNDb250cm9s
U3RhdGVWYWx1ZU9uIDogTlNDb250cm9sU3RhdGVWYWx1ZU9mZl07CisgICAgICAgIFttZW51SXRl
bSBzZXRTdGF0ZTpbZGVmYXVsdFByZWZlcmVuY2VzKCkgX2lzRW5hYmxlZEZvckV4cGVyaW1lbnRh
bEZlYXR1cmU6ZmVhdHVyZV0gPyBOU0NvbnRyb2xTdGF0ZVZhbHVlT24gOiBOU0NvbnRyb2xTdGF0
ZVZhbHVlT2ZmXTsKKyAgICB9CisgICAgaWYgKG1lbnVJdGVtLnRhZyA9PSBJbnRlcm5hbERlYnVn
RmVhdHVyZVRhZykgeworICAgICAgICBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqZmVhdHVyZSA9
IG1lbnVJdGVtLnJlcHJlc2VudGVkT2JqZWN0OworICAgICAgICBbbWVudUl0ZW0gc2V0U3RhdGU6
W2RlZmF1bHRQcmVmZXJlbmNlcygpIF9pc0VuYWJsZWRGb3JJbnRlcm5hbERlYnVnRmVhdHVyZTpm
ZWF0dXJlXSA/IE5TQ29udHJvbFN0YXRlVmFsdWVPbiA6IE5TQ29udHJvbFN0YXRlVmFsdWVPZmZd
OwogICAgIH0KICNlbmRpZgogCkBAIC02NTQsOCArNjgwLDE5IEBAIC0gKHZvaWQpdG9nZ2xlRXhw
ZXJpbWVudGFsRmVhdHVyZTooaWQpc2VuZGVyCiAgICAgX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAq
ZmVhdHVyZSA9ICgoTlNNZW51SXRlbSAqKXNlbmRlcikucmVwcmVzZW50ZWRPYmplY3Q7CiAgICAg
V0tQcmVmZXJlbmNlcyAqcHJlZmVyZW5jZXMgPSBkZWZhdWx0UHJlZmVyZW5jZXMoKTsKIAotICAg
IEJPT0wgY3VycmVudGx5RW5hYmxlZCA9IFtwcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9yRmVhdHVy
ZTpmZWF0dXJlXTsKLSAgICBbcHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6IWN1cnJlbnRseUVuYWJs
ZWQgZm9yRmVhdHVyZTpmZWF0dXJlXTsKKyAgICBCT09MIGN1cnJlbnRseUVuYWJsZWQgPSBbcHJl
ZmVyZW5jZXMgX2lzRW5hYmxlZEZvckV4cGVyaW1lbnRhbEZlYXR1cmU6ZmVhdHVyZV07CisgICAg
W3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOiFjdXJyZW50bHlFbmFibGVkIGZvckV4cGVyaW1lbnRh
bEZlYXR1cmU6ZmVhdHVyZV07CisKKyAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXSBzZXRCb29sOiFjdXJyZW50bHlFbmFibGVkIGZvcktleTpmZWF0dXJlLmtleV07Cit9
CisKKy0gKHZvaWQpdG9nZ2xlSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6KGlkKXNlbmRlcgoreworICAg
IF9XS0ludGVybmFsRGVidWdGZWF0dXJlICpmZWF0dXJlID0gKChOU01lbnVJdGVtICopc2VuZGVy
KS5yZXByZXNlbnRlZE9iamVjdDsKKyAgICBXS1ByZWZlcmVuY2VzICpwcmVmZXJlbmNlcyA9IGRl
ZmF1bHRQcmVmZXJlbmNlcygpOworCisgICAgQk9PTCBjdXJyZW50bHlFbmFibGVkID0gW3ByZWZl
cmVuY2VzIF9pc0VuYWJsZWRGb3JJbnRlcm5hbERlYnVnRmVhdHVyZTpmZWF0dXJlXTsKKyAgICBb
cHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6IWN1cnJlbnRseUVuYWJsZWQgZm9ySW50ZXJuYWxEZWJ1
Z0ZlYXR1cmU6ZmVhdHVyZV07CiAKICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXSBzZXRCb29sOiFjdXJyZW50bHlFbmFibGVkIGZvcktleTpmZWF0dXJlLmtleV07CiB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMTg1MjAyNzg5NThjMTIyZGNmYTg0NjdkODRhOGZmMWRmNDE5NTliNS4uZTYzNjhi
M2VjMzQxNGY2ZjUzZmM5OWE3OGE3NjNlY2FiZTdiODI1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDE4LTA5LTA3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgYW5kIGV4cG9zZSBJbnRlcm5hbCBmZWF0dXJlcyBmcm9tIFdlYktpdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NDQyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NDI0MzQwND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBTa2lwIHNvbWUgdGVzdHMgdGhhdCByZWx5IG9uIGFuIGV4cGVyaW1lbnRh
bCBmZWF0dXJlIHRoYXQgaGFzCisgICAgICAgIG1vdmVkIHRvIGludGVybmFsLiBBIGZvbGxvdy11
cCBwYXRjaCB3aWxsIGFsbG93IFdLVFIgdG8gZW5hYmxlCisgICAgICAgIHRoZW0gb24gZGVtYW5k
LgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMDkt
MDQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGp1c3QgWE1MSHR0
cFJlcXVlc3QgdXNlcm5hbWUvcGFzc3dvcmQgcHJlY2VkZW5jZSBydWxlcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkZTgwOTk2NjU1YWQ0MTYxOGE2ODFl
ODM1N2U3NjE3ZGVjOGUwMjQxLi5iN2UyMGU5NmNmOTQyNjdlNGVmMWQ5YzcxZjZiYTE4NjA5MmE5
ODEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTc1
NSwzICsxNzU1LDcgQEAgd2Via2l0Lm9yZy9iLzE4NzM5MyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGUKIFsgTW9qYXZlKyBdIGZhc3Qv
aW5saW5lL2JyZWFrLWJldHdlZW4tbm9ici5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBbIE1v
amF2ZSsgXSBpbXBvcnRlZC9ibGluay9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LXNoYXBp
bmctYXJhYmljLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIFsgTW9qYXZlKyBdIGltcG9ydGVk
L2JsaW5rL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3ZlcnRpY2FsLXBvc2l0aW9uaW5nLXdpdGgt
Y29tYmluaW5nLW1hcmtzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKworIyBNYXJrIHRoZXNl
IGFzIGZhaWxpbmcgd2hpbGUgSW50ZXJuYWwgRGVidWcgRmVhdHVyZXMgZGVmYXVsdCB0byBvZmYg
aW4gV0tUUgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVk
aWFzb3VyY2UtY2hhbmdldHlwZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNoYW5nZXR5cGUtcGxh
eS5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349218</attachid>
            <date>2018-09-07 17:18:17 -0700</date>
            <delta_ts>2018-09-11 14:29:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189442-20180908101815.patch</filename>
            <type>text/plain</type>
            <size>64636</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc3Y2NlOTQ1NGRmZWRlYjhm
ZmVkZTE3YTE3MTYxZTBmMTkzNGE2YjkuLmJhN2JhMWM1ZWVlMzhkMjE5NTg3YzJhOTY2ZjA1MDZj
MGY2YWEwYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzQgQEAKKzIwMTgtMDktMDcgIERlYW4gSmFj
a3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbmQgZXhwb3NlIEludGVybmFs
IGZlYXR1cmVzIGZyb20gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODk0NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MjQzNDA0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cGVyaW1l
bnRhbCBmZWF0dXJlcyBoYXZlIGJlY29tZSBhIG1lc3MuIFBlb3BsZSBhcmUgdXNpbmcgdGhlbSBm
b3IKKyAgICAgICAgYW55dGhpbmcgdGhhdCB0aGV5IHdhbnQgdG8gYmUgZWFzaWx5IHRvZ2dsZWQg
ZnJvbSBhIGhvc3QgYXBwIChlLmcuCisgICAgICAgIFNhZmFyaSksIHdoaWNoIG1lYW5zIHRoZSB1
c2VyLWZhY2luZyBtZW51IGhhcyBiZWNvbWUgbGFyZ2UgYW5kCisgICAgICAgIGNvbmZ1c2luZy4K
KworICAgICAgICBJbnRyb2R1Y2UgdGhlIGlkZWEgb2YgSW50ZXJuYWwgZmVhdHVyZXMsIHRoYXQg
d2lsbCBiZSBleHBvc2VkIGluIGEgd2F5CisgICAgICAgIHRoYXQgZW5kLXVzZXJzIGFyZSBub3Qg
ZXhwZWN0ZWQgdG8gZXZlciBzZWUgKHVubGVzcyB0aGV5IHJlYWxseSB3YW50CisgICAgICAgIHRv
KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzLgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOiBBZGQgbmV3IGdlbmVyYXRlZCBmaWxlcy4KKyAgICAgICAgKiBTY3JpcHRzL0dlbmVy
YXRlUHJlZmVyZW5jZXMucmI6IEdlbmVyYXRlIHRoZSBwcmVmZXJlbmNlcyBzdHVmZiBmb3IgSW50
ZXJuYWwgRGVidWcgZmVhdHVyZXMuCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBs
YXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiOgorICAgICAgICAqIFNjcmlwdHMv
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMu
Y3BwLmVyYjogQWRkZWQuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSU9iamVjdC5oOiBOZXcg
QVBJIG9iamVjdCBmb3IgSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuCisgICAgICAgICogU2hhcmVkL0Nv
Y29hL0FQSU9iamVjdC5tbToKKyAgICAgICAgKEFQSTo6T2JqZWN0OjpuZXdPYmplY3QpOgorCisg
ICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6IENoYW5nZSBzb21lIG9mIHRoZSBl
eGlzdGluZyBleHBlcmltZW50YWwgZmVhdHVyZXMgdG8gImludGVybmFsIi4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuY3BwOiBOZXcgQVBJIHR5cGUg
LSBqdXN0IGxpa2UgQVBJRXhwZXJpbWVudGFsRmVhdHVyZS4KKyAgICAgICAgKEFQSTo6SW50ZXJu
YWxEZWJ1Z0ZlYXR1cmU6OmNyZWF0ZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdGZWF0
dXJlOjpJbnRlcm5hbERlYnVnRmVhdHVyZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdG
ZWF0dXJlOjp+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
QVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW06IENoYW5nZSB0aGUgbmFtaW5nIG9mIHRoZSBleHBlcmltZW50YWwgZmVhdHVyZSBBUEkgc28g
dGhhdCBpdAorICAgICAgICB3b24ndCBjbGFzaCB3aXRoIGludGVybmFsIGRlYnVnIGZlYXR1cmVz
LiBXZSBjYW4gcmVtb3ZlIHRoZSBvbGQgQVBJIG9uY2UgU2FmYXJpIGhhcyBhZG9wdGVkLgorICAg
ICAgICAoK1tXS1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNdKToKKyAgICAgICAg
KC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6XSk6Cisg
ICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6XSk6CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX2lzRW5hYmxlZEZvckZlYXR1cmU6XSk6
CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9yRmVhdHVyZTpdKToKKyAg
ICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZTpd
KToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDpmb3JFeHBlcmltZW50YWxG
ZWF0dXJlOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1By
aXZhdGUuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuaDogTmV3IG9iamVjdCAtIHNhbWUgYXMgX1dLRXhwZXJpbWVudGFsRmVhdHVyZS4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlLm1t
OgorICAgICAgICAoLVtfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSBkZWFsbG9jXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW19X
S0ludGVybmFsRGVidWdGZWF0dXJlIG5hbWVdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUga2V5XSk6CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRldGFp
bHNdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgZGVmYXVsdFZhbHVlXSk6
CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGlzSGlkZGVuXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIF9hcGlPYmplY3RdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaDoKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHA6IEFkZCBzdXBwb3J0IGZvciBJbnRl
cm5hbCBEZWJ1ZyBmZWF0dXJlcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnVw
ZGF0ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdGZWF0dXJlS2V5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmVL
ZXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDogQ2hhbmdlIGEgY29tbWVudCBub3cgdGhhdCBp
dCBpcyBhbiBpbnRlcm5hbCBmZWF0dXJlLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6Y3JlYXRlV2ViUGFnZSk6CisKIDIwMTgtMDktMDcgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgV2ViQ29udGVudCBhY2Nlc3MgdG8gQVZDU3Vw
cG9ydGVkIElPS2l0IHByb3BlcnR5IGluIHNhbmRib3gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDFk
NmIzYjc0OGE3YTUyODI4ODI1ZDhjN2VjYTFkNWQ1M2ViNTIwY2MuLmI1NDNmMmU1MDgxZThmMzZj
YTBhNDI0NGNmMWUwMjMwYzZjODU4ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dApAQCAtMzk5LDYgKzM5
OSw3IEBAIHNldChXZWJLaXRfV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFUwogICAgICR7V0VCS0lU
X0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQYWdlVXBkYXRlUHJlZmVyZW5j
ZXMuY3BwLmVyYgogICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRl
cy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiCiAgICAgJHtXRUJLSVRfRElSfS9TY3Jp
cHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVy
ZXMuY3BwLmVyYgorICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRl
cy9XZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAuZXJiCiAgICAgJHtXRUJL
SVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5j
cHAuZXJiCiAgICAgJHtXRUJLSVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dl
YlByZWZlcmVuY2VzS2V5cy5oLmVyYgogICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJl
bmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYgpAQCAt
NDE5LDYgKzQyMCw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9IRUFERVJTCiBsaXN0KEFQUEVORCBX
ZWJLaXRfU09VUkNFUwogICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlBhZ2VV
cGRhdGVQcmVmZXJlbmNlcy5jcHAKICAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVRfRElSfS9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcAorICAgICR7REVSSVZFRF9TT1VS
Q0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcAog
ICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzS2V5cy5jcHAK
ICAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVRfRElSfS9XZWJQcmVmZXJlbmNlc1N0b3JlRGVm
YXVsdHNNYXAuY3BwCiApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMWU0Y2M1MWQ4
ZjkwZjRjMzNlM2I4Yzg0MGY2NTM1MzNiYWNjYmU0NS4uZGU4YTlhZjYyODJhZjNiYzE1YjVjODY0
OGI2MWNkN2QyOWI1M2Q4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjk1LDE0
ICsyOTUsMTUgQEAgV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFUyA9IFwKICAgICAkKFdlYktpdDIp
L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNw
cC5lcmIgXAogICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQ
cmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiIFwKICAgICAkKFdlYktpdDIpL1NjcmlwdHMvUHJl
ZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAu
ZXJiIFwKKyAgICAkKFdlYktpdDIpL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJl
ZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwLmVyYiBcCiAgICAgJChXZWJLaXQyKS9T
Y3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5oLmVyYiBcCiAg
ICAgJChXZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2Vz
S2V5cy5jcHAuZXJiIFwKICAgICAkKFdlYktpdDIpL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0
ZXMvV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcC5lcmIgXAogCiAjCiAKLWFsbCA6
IFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5o
IFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwIFdlYlByZWZlcmVuY2VzS2V5
cy5oIFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFw
LmNwcAorYWxsIDogV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCBXZWJQcmVmZXJlbmNlc0Rl
ZmluaXRpb25zLmggV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAgV2ViUHJl
ZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwIFdlYlByZWZlcmVuY2VzS2V5cy5oIFdl
YlByZWZlcmVuY2VzS2V5cy5jcHAgV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcAog
Ci1XZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMlY3BwIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMl
aCBXZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzJWNwcCBXZWJQcmVmZXJlbmNlc0tl
eXMlaCBXZWJQcmVmZXJlbmNlc0tleXMlY3BwIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01h
cCVjcHAgOiAkKFdlYktpdDIpL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAkKFdFQl9Q
UkVGRVJFTkNFU19URU1QTEFURVMpICQoV2ViS2l0MikvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlh
bWwKK1dlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcyVjcHAgV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9u
cyVoIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMlY3BwIFdlYlByZWZlcmVuY2Vz
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzJWNwcCBXZWJQcmVmZXJlbmNlc0tleXMlaCBXZWJQcmVmZXJl
bmNlc0tleXMlY3BwIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcCVjcHAgOiAkKFdlYktp
dDIpL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAkKFdFQl9QUkVGRVJFTkNFU19URU1Q
TEFURVMpICQoV2ViS2l0MikvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKIAkkKFJVQlkpICQ8
IC0taW5wdXQgJChXZWJLaXQyKS9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiBiL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiCmluZGV4IDEzMWNhZjRhZGRk
OTdmZDY1N2NmNGFlODc0YzViMWUxMjdkYzg5ZTIuLjVmZjViZDg3YjZjZWE2ZDE4NWFjM2RiYTM0
MjliZmRmNWRjZTEwOGIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9HZW5lcmF0
ZVByZWZlcmVuY2VzLnJiCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9HZW5lcmF0ZVByZWZl
cmVuY2VzLnJiCkBAIC0yOCw3ICsyOCw3IEBAIHJlcXVpcmUgJ2VyYicKIHJlcXVpcmUgJ29wdHBh
cnNlJwogcmVxdWlyZSAneWFtbCcKIAotb3B0aW9ucyA9IHsgCitvcHRpb25zID0gewogICA6aW5w
dXQgPT4gbmlsLAogICA6b3V0cHV0RGlyZWN0b3J5ID0+IG5pbAogfQpAQCAtMTI4LDE3ICsxMjgs
MTggQEAgZW5kCiAKIGNsYXNzIFByZWZlcmVuY2VzCiAgIGF0dHJfYWNjZXNzb3IgOnByZWZlcmVu
Y2VzCi0gIAorCiAgIGRlZiBpbml0aWFsaXplKGhhc2gpCiAgICAgQHByZWZlcmVuY2VzID0gW10K
ICAgICBoYXNoLmVhY2ggZG8gfG5hbWUsIG9wdGlvbnN8CiAgICAgICBAcHJlZmVyZW5jZXMgPDwg
UHJlZmVyZW5jZS5uZXcobmFtZSwgb3B0aW9ucykKICAgICBlbmQKICAgICBAcHJlZmVyZW5jZXMu
c29ydCEgeyB8eCwgeXwgeC5uYW1lIDw9PiB5Lm5hbWUgfQotICAgIAorCiAgICAgQHByZWZlcmVu
Y2VzTm90RGVidWcgPSBAcHJlZmVyZW5jZXMuc2VsZWN0IHsgfHB8ICFwLmNhdGVnb3J5IH0KICAg
ICBAcHJlZmVyZW5jZXNEZWJ1ZyA9IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC5jYXRlZ29y
eSA9PSAiZGVidWciIH0KICAgICBAZXhwZXJpbWVudGFsRmVhdHVyZXMgPSBAcHJlZmVyZW5jZXMu
c2VsZWN0IHsgfHB8IHAuY2F0ZWdvcnkgPT0gImV4cGVyaW1lbnRhbCIgfQorICAgIEBpbnRlcm5h
bERlYnVnRmVhdHVyZXMgPSBAcHJlZmVyZW5jZXMuc2VsZWN0IHsgfHB8IHAuY2F0ZWdvcnkgPT0g
ImludGVybmFsIiB9CiAKICAgICBAcHJlZmVyZW5jZXNCb3VuZFRvU2V0dGluZyA9IEBwcmVmZXJl
bmNlcy5zZWxlY3QgeyB8cHwgIXAud2ViY29yZUJpbmRpbmcgfQogICAgIEBwcmVmZXJlbmNlc0Jv
dW5kVG9EZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MgPSBAcHJlZmVyZW5jZXMuc2VsZWN0IHsgfHB8
IHAud2ViY29yZUJpbmRpbmcgPT0gIkRlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncyIgfQpAQCAtMTYx
LDQgKzE2Miw1IEBAIHByZWZlcmVuY2VzLnJlbmRlclRvRmlsZSgiUHJlZmVyZW5jZXNUZW1wbGF0
ZXMvV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcC5lcmIiCiBwcmVmZXJlbmNlcy5yZW5kZXJU
b0ZpbGUoIlByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5oLmVyYiIsIEZp
bGUuam9pbihvcHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAiV2ViUHJlZmVyZW5jZXNLZXlzLmgi
KSkKIHByZWZlcmVuY2VzLnJlbmRlclRvRmlsZSgiUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJl
ZmVyZW5jZXNLZXlzLmNwcC5lcmIiLCBGaWxlLmpvaW4ob3B0aW9uc1s6b3V0cHV0RGlyZWN0b3J5
XSwgIldlYlByZWZlcmVuY2VzS2V5cy5jcHAiKSkKIHByZWZlcmVuY2VzLnJlbmRlclRvRmlsZSgi
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcC5l
cmIiLCBGaWxlLmpvaW4ob3B0aW9uc1s6b3V0cHV0RGlyZWN0b3J5XSwgIldlYlByZWZlcmVuY2Vz
U3RvcmVEZWZhdWx0c01hcC5jcHAiKSkKK3ByZWZlcmVuY2VzLnJlbmRlclRvRmlsZSgiUHJlZmVy
ZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwLmVy
YiIsIEZpbGUuam9pbihvcHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAiV2ViUHJlZmVyZW5jZXNJ
bnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwIikpCiBwcmVmZXJlbmNlcy5yZW5kZXJUb0ZpbGUoIlBy
ZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3Bw
LmVyYiIsIEZpbGUuam9pbihvcHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAiV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgu
ZXJiIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZl
cmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIKaW5kZXggOWNiNzMyZGQ0Y2U3NjBmZWRiMGIwMmE3Y2My
ODE4MTg1NDhiZDFlMi4uZTY3NzRlMjZiZTgzNDQ4NmViNjQ1OGViODZiY2M5NmM4ZmNhZjM1OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dl
YlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRz
L1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIKQEAg
LTQ2LDYgKzQ2LDEzIEBACiA8JS0gZW5kIC0lPgogICAgIFwKIAorLy8gSW50ZXJuYWwgRGVidWcg
RmVhdHVyZXMKKworI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfSU5URVJOQUxfREVCVUdfRkVBVFVS
RV9QUkVGRVJFTkNFKG1hY3JvKSBcCis8JS0gZm9yIEBwcmVmIGluIEBpbnRlcm5hbERlYnVnRmVh
dHVyZXMgZG8gLSU+CisgICAgbWFjcm8oPCU9IEBwcmVmLm5hbWUgJT4sIDwlPSBAcHJlZi5uYW1l
TG93ZXIgJT4sIEJvb2wsIGJvb2wsIDwlPSBAcHJlZi5kZWZhdWx0VmFsdWUgJT4sIDwlPSBAcHJl
Zi5odW1hblJlYWRhYmxlTmFtZSAlPiwgPCU9IEBwcmVmLmh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
biAlPikgXAorPCUtIGVuZCAtJT4KKyAgIFwKIAogLy8gRXhwZXJpbWVudGFsIEZlYXR1cmVzCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9X
ZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAuZXJiIGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmVzLmNwcC5lcmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhhZTk1MTJmNzQ2ZWM2M2U0ZWExOWRmMDg4
ZDEzNjViZjc3Y2Q3MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9Q
cmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5j
cHAuZXJiCkBAIC0wLDAgKzEsMTI0IEBACisvKgorKiBUSElTIEZJTEUgV0FTIEFVVE9NQVRJQ0FM
TFkgR0VORVJBVEVELCBETyBOT1QgRURJVC4KKyoKKyogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
KiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUHJlZmVy
ZW5jZXMuaCIKKworI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzS2V5cy5oIgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworPCUtIGZvciBAcHJlZiBpbiBAaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzIGRvIC0l
Pgordm9pZCBXZWJQcmVmZXJlbmNlczo6c2V0PCU9IEBwcmVmLm5hbWUgJT4oY29uc3QgYm9vbCYg
dmFsdWUpCit7CisgICAgaWYgKCFtX3N0b3JlLnNldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6PCU9IEBwcmVmLm5hbWVMb3dlciAlPktleSgpLCB2YWx1ZSkpCisgICAgICAgIHJl
dHVybjsKKyAgICB1cGRhdGVCb29sVmFsdWVGb3JJbnRlcm5hbERlYnVnRmVhdHVyZUtleShXZWJQ
cmVmZXJlbmNlc0tleTo6PCU9IEBwcmVmLm5hbWVMb3dlciAlPktleSgpLCB2YWx1ZSk7Cit9CisK
K2Jvb2wgV2ViUHJlZmVyZW5jZXM6OjwlPSBAcHJlZi5uYW1lTG93ZXIgJT4oKSBjb25zdAorewor
ICAgIHJldHVybiBtX3N0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
PCU9IEBwcmVmLm5hbWVMb3dlciAlPktleSgpKTsKK30KKworPCUtIGVuZCAtJT4KK2NvbnN0IFZl
Y3RvcjxSZWZQdHI8QVBJOjpPYmplY3Q+PiYgV2ViUHJlZmVyZW5jZXM6OmludGVybmFsRGVidWdG
ZWF0dXJlcygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxSZWZQdHI8QVBJ
OjpPYmplY3Q+Pj4gZmVhdHVyZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFJlZlB0cjxBUEk6Ok9i
amVjdD4+IHsKKzwlLSBmb3IgQHByZWYgaW4gQGludGVybmFsRGVidWdGZWF0dXJlcyBkbyAtJT4K
KzwlLSBpZiBAcHJlZi5jb25kaXRpb24gLSU+CisjaWYgPCU9IEBwcmVmLmNvbmRpdGlvbiAlPgor
PCUtIGVuZCAtJT4KKyAgICAgICAgQVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZTo6Y3JlYXRlKDwl
PSBAcHJlZi5odW1hblJlYWRhYmxlTmFtZSAlPiwgIjwlPSBAcHJlZi5uYW1lICU+IiwgPCU9IEBw
cmVmLmh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbiAlPiwgPCU9IEBwcmVmLmRlZmF1bHRWYWx1ZSAl
PiwgPCU9IEBwcmVmLmhpZGRlbiAlPiksCis8JS0gaWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2Vu
ZGlmCis8JS0gZW5kIC0lPgorPCUtIGVuZCAtJT4KKyAgICB9KTsKKworICAgIHJldHVybiBmZWF0
dXJlczsKK30KKworYm9vbCBXZWJQcmVmZXJlbmNlczo6aXNFbmFibGVkRm9yRmVhdHVyZShjb25z
dCBBUEk6OkludGVybmFsRGVidWdGZWF0dXJlJiBmZWF0dXJlKSBjb25zdAoreworICAgIHN0cnVj
dCBGZWF0dXJlR2V0dGVyTWFwcGluZyB7CisgICAgICAgIGNvbnN0IGNoYXIqIG5hbWU7CisgICAg
ICAgIGJvb2wgKFdlYlByZWZlcmVuY2VzOjoqZnVuY3Rpb24pICgpIGNvbnN0OworICAgIH07CisK
KyAgICBzdGF0aWMgRmVhdHVyZUdldHRlck1hcHBpbmcgZ2V0dGVyc1tdID0geworPCUtIGZvciBA
cHJlZiBpbiBAaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzIGRvIC0lPgorPCUtIGlmIEBwcmVmLmNvbmRp
dGlvbiAtJT4KKyNpZiA8JT0gQHByZWYuY29uZGl0aW9uICU+Cis8JS0gZW5kIC0lPgorICAgICAg
ICB7ICI8JT0gQHByZWYubmFtZSAlPiIsICZXZWJQcmVmZXJlbmNlczo6PCU9IEBwcmVmLm5hbWVM
b3dlciAlPiB9LAorPCUtIGlmIEBwcmVmLmNvbmRpdGlvbiAtJT4KKyNlbmRpZgorPCUtIGVuZCAt
JT4KKzwlLSBlbmQgLSU+CisgICAgfTsKKworICAgIGNvbnN0IFN0cmluZyYga2V5ID0gZmVhdHVy
ZS5rZXkoKTsKKworICAgIGZvciAoYXV0byYgZ2V0dGVyIDogZ2V0dGVycykgeworICAgICAgICBp
ZiAoa2V5ID09IGdldHRlci5uYW1lKQorICAgICAgICAgICAgcmV0dXJuICh0aGlzLT4qZ2V0dGVy
LmZ1bmN0aW9uKSgpOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBXZWJQ
cmVmZXJlbmNlczo6c2V0RW5hYmxlZEZvckZlYXR1cmUoYm9vbCB2YWx1ZSwgY29uc3QgQVBJOjpJ
bnRlcm5hbERlYnVnRmVhdHVyZSYgZmVhdHVyZSkKK3sKKyAgICBzdHJ1Y3QgRmVhdHVyZVNldHRl
ck1hcHBpbmcgeworICAgICAgICBjb25zdCBjaGFyKiBuYW1lOworICAgICAgICB2b2lkIChXZWJQ
cmVmZXJlbmNlczo6KmZ1bmN0aW9uKSAoY29uc3QgYm9vbCYpOworICAgIH07CisKKyAgICBzdGF0
aWMgRmVhdHVyZVNldHRlck1hcHBpbmcgc2V0dGVyc1tdID0geworPCUtIGZvciBAcHJlZiBpbiBA
aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzIGRvIC0lPgorPCUtIGlmIEBwcmVmLmNvbmRpdGlvbiAtJT4K
KyNpZiA8JT0gQHByZWYuY29uZGl0aW9uICU+Cis8JS0gZW5kIC0lPgorICAgICAgICB7ICI8JT0g
QHByZWYubmFtZSAlPiIsICZXZWJQcmVmZXJlbmNlczo6c2V0PCU9IEBwcmVmLm5hbWUgJT4gfSwK
KzwlLSBpZiBAcHJlZi5jb25kaXRpb24gLSU+CisjZW5kaWYKKzwlLSBlbmQgLSU+Cis8JS0gZW5k
IC0lPgorICAgIH07CisKKyAgICBjb25zdCBTdHJpbmcmIGtleSA9IGZlYXR1cmUua2V5KCk7CisK
KyAgICBmb3IgKGF1dG8mIHNldHRlciA6IHNldHRlcnMpIHsKKyAgICAgICAgaWYgKGtleSA9PSBz
ZXR0ZXIubmFtZSkgeworICAgICAgICAgICAgKHRoaXMtPipzZXR0ZXIuZnVuY3Rpb24pKHZhbHVl
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCmluZGV4IDFmNjAwM2ZmNWY0ZDlkZTRmMTg2ZTdiMWEz
YmE0ZWQyYTEyZDJjNzAuLmIwY2E1NGQ4ZmFhYjI5ZDg5MDE4NTQwZmE2NjUwYjhhYWIxOTVhMGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgKQEAgLTExMCw2ICsxMTAsNyBAQCBw
dWJsaWM6CiAgICAgICAgIENvbnRlbnRSdWxlTGlzdFN0b3JlLAogICAgICAgICBDb250ZXh0TWVu
dUxpc3RlbmVyLAogICAgICAgICBDb29raWVNYW5hZ2VyLAorICAgICAgICBJbnRlcm5hbERlYnVn
RmVhdHVyZSwKICAgICAgICAgRG93bmxvYWQsCiAgICAgICAgIEV4cGVyaW1lbnRhbEZlYXR1cmUs
CiAgICAgICAgIEZvcm1TdWJtaXNzaW9uTGlzdGVuZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9BUElPYmplY3QubW0KaW5kZXggNDQ4ZmZkMjhhY2E3YjhmMGQ5MTFkN2MzYzJiZDc0NGYyMmY4
NDdmNy4uZWNjMzUyZjJmZGY5NWI0YmRjY2NjZTIwOGM3YzJkZmRkMTBhZDhiYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQpAQCAtNzYsNiArNzYsNyBAQAogI2ltcG9y
dCAiX1dLR2VvbG9jYXRpb25Qb3NpdGlvbkludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tIaXRUZXN0
UmVzdWx0SW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0luc3BlY3RvckludGVybmFsLmgiCisjaW1w
b3J0ICJfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLVXNlckNvbnRlbnRX
b3JsZEludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tVc2VySW5pdGlhdGVkQWN0aW9uSW50ZXJuYWwu
aCIKQEAgLTE5NCw2ICsxOTUsMTAgQEAgdm9pZCogT2JqZWN0OjpuZXdPYmplY3Qoc2l6ZV90IHNp
emUsIFR5cGUgdHlwZSkKICAgICAgICAgd3JhcHBlciA9IFtXS05TRGF0YSBhbGxvY107CiAgICAg
ICAgIGJyZWFrOwogCisgICAgY2FzZSBUeXBlOjpJbnRlcm5hbERlYnVnRmVhdHVyZToKKyAgICAg
ICAgd3JhcHBlciA9IFtfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSBhbGxvY107CisgICAgICAgIGJy
ZWFrOworCiAgICAgY2FzZSBUeXBlOjpEaWN0aW9uYXJ5OgogICAgICAgICB3cmFwcGVyID0gW1dL
TlNEaWN0aW9uYXJ5IGFsbG9jXTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCA0YmVlNjM3OTA4ZTg0MDRmNzdmMTVhMmMyNDIyOGY4
YzM3MGZjYWFmLi43ZTA5YTFlYWNlYjQwMTUwMGQ0MmQxYjEyOWQ4NGViMmIzOThiOTc5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTExMzQsMTMgKzExMzQs
NiBAQCBJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkOgogIyAgIHdpZGVyIHRlc3Rpbmcp
LgogCiAKLUFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1
bHRWYWx1ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBc3luYyBGcmFtZSBTY3JvbGxp
bmciCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIlBlcmZvcm0gZnJhbWUgc2Nyb2xsaW5n
IGluIGEgZGVkaWNhdGVkIHRocmVhZCBvciBwcm9jZXNzIgotICBjYXRlZ29yeTogZXhwZXJpbWVu
dGFsCi0KIFNwcmluZ1RpbWluZ0Z1bmN0aW9uRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZh
dWx0VmFsdWU6IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQKQEAgLTExNzIs
MzggKzExNjUsMTAgQEAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOgogICBjYXRlZ29yeTog
ZXhwZXJpbWVudGFsCiAgIGNvbmRpdGlvbjogRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikK
IAotTUROU0lDRUNhbmRpZGF0ZXNFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1
ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJFbmFibGUgTUROUyBJQ0UgY2FuZGlkYXRl
cyIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIE1ETlMgSUNFIGNhbmRpZGF0
ZXMiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gIGNhdGVnb3J5
OiBleHBlcmltZW50YWwKLSAgY29uZGl0aW9uOiBFTkFCTEUoV0VCX1JUQykKLQotRmV0Y2hBUElL
ZWVwQWxpdmVFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAg
aHVtYW5SZWFkYWJsZU5hbWU6ICJGZXRjaCBBUEkgUmVxdWVzdCBLZWVwQWxpdmUiCi0gIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBGZXRjaCBBUEkgUmVxdWVzdCBLZWVwQWxpdmUi
Ci0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMKLSAgd2ViY29yZU5hbWU6IGZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZAotCi1T
ZXJ2aWNlV29ya2Vyc0VuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBERUZB
VUxUX1NFUlZJQ0VfV09SS0VSU19FTkFCTEVECi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiU2Vydmlj
ZVdvcmtlcnMiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBTZXJ2aWNlV29y
a2VycyIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAotICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwotICB3ZWJjb3JlTmFtZTogc2VydmljZVdvcmtlckVuYWJsZWQKLSAg
Y29uZGl0aW9uOiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0KIFZpc3VhbFZpZXdwb3J0QVBJRW5h
YmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTX0VOQUJMRUQKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJWaXN1YWxWaWV3cG9ydEFQ
SSIKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJWaXN1YWxWaWV3cG9ydCBBUEkiCiAgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBWaXN1YWwgVmlld3BvcnQgQVBJIgogICBjYXRlZ29y
eTogZXhwZXJpbWVudGFsCiAKQEAgLTEyMjUsNyArMTE5MCw3IEBAIFdlYkFuaW1hdGlvbnNFbmFi
bGVkOgogV2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZDoKICAgdHlwZTogYm9vbAog
ICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQKLSAg
aHVtYW5SZWFkYWJsZU5hbWU6ICJXZWIgQW5pbWF0aW9ucyBhbmQgQ1NTIEludGVncmF0aW9uIgor
ICBodW1hblJlYWRhYmxlTmFtZTogIkNTUyBBbmltYXRpb25zIHZpYSBXZWIgQW5pbWF0aW9ucyIK
ICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRXhwb3NlIENTUyBBbmltYXRpb25zIGFuZCBD
U1MgVHJhbnNpdGlvbnMgdGhyb3VnaCBnZXRBbmltYXRpb25zKCkiCiAgIGNhdGVnb3J5OiBleHBl
cmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKQEAgLTEy
NTYsMTQgKzEyMjEsNiBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkOgogICBjYXRl
Z29yeTogZXhwZXJpbWVudGFsCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCiAKLUFyaWFSZWZsZWN0aW9uRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFs
dWU6IHRydWUKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBUklBIFJlZmxlY3Rpb24iCi0gIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkFSSUEgUmVmbGVjdGlvbiBzdXBwb3J0IgotICBjYXRlZ29y
eTogZXhwZXJpbWVudGFsCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ci0KIFdlYlZSRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IERFRkFVTFRf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQKQEAgLTEyNzMsNzggKzEyMzAsMTI2IEBAIFdl
YlZSRW5hYmxlZDoKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICBjb25kaXRpb246IFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogCi1SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdN
b2RlOgorU2VydmVyVGltaW5nRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6
IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiSVRQIERlYnVnIE1vZGUiCi0gIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkludGVsbGlnZW50IFRyYWNraW5nIFByZXZlbnRpb24gRGVidWcg
TW9kZSIKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJTZXJ2ZXIgVGltaW5nIgorICBodW1hblJlYWRh
YmxlRGVzY3JpcHRpb246ICJFbmFibGUgU2VydmVyIFRpbWluZyBBUEkiCiAgIGNhdGVnb3J5OiBl
eHBlcmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAg
d2ViY29yZU5hbWU6IHNlcnZlclRpbWluZ0VuYWJsZWQKIAotV2ViR0xDb21wcmVzc2VkVGV4dHVy
ZUFTVENTdXBwb3J0RW5hYmxlZDoKK0VuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZDoKICAgdHlwZTog
Ym9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiQVNUQyBU
ZXh0dXJlIFN1cHBvcnQiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIlN1cHBvcnQgZm9y
IEFTVEMgY29tcHJlc3NlZCB0ZXh0dXJlIGZvcm1hdHMgaW4gV2ViR0wiCi0gIGNhdGVnb3J5OiBl
eHBlcmltZW50YWwKKyAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJF
U19FTkFCTEVECisgIGh1bWFuUmVhZGFibGVOYW1lOiAiTW9kZXJuIEVuY3J5cHRlZCBNZWRpYSBB
UEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIk1vZGVybiBFbmNyeXB0ZWQgTWVkaWEg
QVBJIgogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICBjYXRlZ29y
eTogZXhwZXJpbWVudGFsCisgIGNvbmRpdGlvbjogRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAot
U2VydmVyVGltaW5nRW5hYmxlZDoKK1dlYkFQSVN0YXRpc3RpY3NFbmFibGVkOgogICB0eXBlOiBi
b29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJTZXJ2ZXIg
VGltaW5nIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgU2VydmVyIFRpbWlu
ZyBBUEkiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJX
ZWIgQVBJIFN0YXRpc3RpY3MiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBX
ZWIgQVBJIFN0YXRpc3RpY3MiCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzCi0gIHdlYmNvcmVOYW1lOiBzZXJ2ZXJUaW1pbmdFbmFibGVkCisgIGNhdGVnb3J5OiBleHBl
cmltZW50YWwKKworIyBGb3IgaW50ZXJuYWwgZmVhdHVyZXM6CisjIFRoZSB0eXBlIHNob3VsZCBi
ZSBib29sZWFuLgorIyBZb3UgbXVzdCBwcm92aWRlIGEgaHVtYW5SZWFkYWJsZU5hbWUgYW5kIGh1
bWFuUmVhZGFibGVOYW1lIGZvciBhbGwgZGVidWcgZmVhdHVyZXMuIFRoZXkKKyMgICBhcmUgdGhl
IHRleHQgZXhwb3NlZCB0byB0aGUgdXNlciBmcm9tIHRoZSBXZWJLaXQgY2xpZW50LgogCiBFeHBl
cmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmlsZXNFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRl
ZmF1bHRWYWx1ZTogZmFsc2UKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJTYW5kYm94IFBsdWctSW5z
IgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgUGx1Zy1JbiBzYW5kYm94aW5n
IgotICBjYXRlZ29yeTogZGVidWcKKyAgY2F0ZWdvcnk6IGludGVybmFsCiAgIHdlYmNvcmVCaW5k
aW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIHdlYmNvcmVOYW1lOiBleHBlcmltZW50YWxQ
bHVnSW5TYW5kYm94UHJvZmlsZXNFbmFibGVkCiAKLUZ1bGxTY3JlZW5FbmFibGVkOgotICB0eXBl
OiBib29sCi0gIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgY29uZGl0aW9uOiBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpCi0gIGhpZGRlbjogRVhQRVJJTUVOVEFMX0ZVTExTQ1JFRU5fQVBJX0hJRERFTgot
ICBodW1hblJlYWRhYmxlTmFtZTogIkZ1bGxzY3JlZW4gQVBJIgotICBodW1hblJlYWRhYmxlRGVz
Y3JpcHRpb246ICJGdWxsc2NyZWVuIEFQSSIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAotCi1F
bmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBE
RUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVECi0gIGh1bWFuUmVhZGFibGVOYW1l
OiAiTW9kZXJuIEVuY3J5cHRlZCBNZWRpYSBBUEkiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
bjogIk1vZGVybiBFbmNyeXB0ZWQgTWVkaWEgQVBJIgotICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCi0gIGNvbmRpdGlvbjog
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKLQogUHJvY2Vzc1N3YXBPbkNyb3NzU2l0ZU5hdmlnYXRp
b25FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJTd2FwIFByb2Nlc3NlcyBvbiBDcm9zcy1TaXRlIE5hdmlnYXRpb24iCiAg
IGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIlN3YXAgV2ViQ29udGVudCBwcm9jZXNzZXMgb24g
Y3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9ucyIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICBjYXRl
Z29yeTogaW50ZXJuYWwKICAgd2ViY29yZUJpbmRpbmc6IG5vbmUKIAogU291cmNlQnVmZmVyQ2hh
bmdlVHlwZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VY
UEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVECisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJNZWRpYSBTb3VyY2UgQ29kZWMgU3dpdGNoaW5nIFN1cHBvcnQiCiAg
IGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBNZWRpYSBTb3VyY2UgQ29kZWMgU3dp
dGNoaW5nIHRocm91Z2ggY2hhbmdlVHlwZSgpIgotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisg
IGNhdGVnb3J5OiBpbnRlcm5hbAogICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TT1VSQ0UpCiAK
LVdlYkFQSVN0YXRpc3RpY3NFbmFibGVkOgorUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9k
ZToKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVO
YW1lOiAiV2ViIEFQSSBTdGF0aXN0aWNzIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJF
bmFibGUgV2ViIEFQSSBTdGF0aXN0aWNzIgorICBodW1hblJlYWRhYmxlTmFtZTogIklUUCBEZWJ1
ZyBNb2RlIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJJbnRlbGxpZ2VudCBUcmFja2lu
ZyBQcmV2ZW50aW9uIERlYnVnIE1vZGUiCisgIGNhdGVnb3J5OiBpbnRlcm5hbAorICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworCitTZXJ2aWNlV29ya2Vyc0VuYWJsZWQ6
CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1NFUlZJQ0VfV09SS0VSU19F
TkFCTEVECisgIGh1bWFuUmVhZGFibGVOYW1lOiAiU2VydmljZVdvcmtlcnMiCisgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBTZXJ2aWNlV29ya2VycyIKKyAgY2F0ZWdvcnk6IGlu
dGVybmFsCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisgIHdlYmNv
cmVOYW1lOiBzZXJ2aWNlV29ya2VyRW5hYmxlZAorICBjb25kaXRpb246IEVOQUJMRShTRVJWSUNF
X1dPUktFUikKKworQXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAg
ZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFzeW5jIEZyYW1lIFNj
cm9sbGluZyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiUGVyZm9ybSBmcmFtZSBzY3Jv
bGxpbmcgaW4gYSBkZWRpY2F0ZWQgdGhyZWFkIG9yIHByb2Nlc3MiCisgIGNhdGVnb3J5OiBpbnRl
cm5hbAorCitNRE5TSUNFQ2FuZGlkYXRlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVs
dFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkVuYWJsZSBNRE5TIElDRSBjYW5k
aWRhdGVzIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgTUROUyBJQ0UgY2Fu
ZGlkYXRlcyIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgY2F0
ZWdvcnk6IGludGVybmFsCisgIGNvbmRpdGlvbjogRU5BQkxFKFdFQl9SVEMpCisKK0ZldGNoQVBJ
S2VlcEFsaXZlRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisg
IGh1bWFuUmVhZGFibGVOYW1lOiAiRmV0Y2ggQVBJIFJlcXVlc3QgS2VlcEFsaXZlIgorICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgRmV0Y2ggQVBJIFJlcXVlc3QgS2VlcEFsaXZl
IgorICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKKyAgd2ViY29yZU5hbWU6IGZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZAorCitXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVNUQ1N1cHBvcnRFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRl
ZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBU1RDIFRleHR1cmUgU3Vw
cG9ydCIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiU3VwcG9ydCBmb3IgQVNUQyBjb21w
cmVzc2VkIHRleHR1cmUgZm9ybWF0cyBpbiBXZWJHTCIKKyAgY2F0ZWdvcnk6IGludGVybmFsCisg
IHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisKK0Z1bGxTY3JlZW5FbmFi
bGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgY29uZGl0aW9uOiBF
TkFCTEUoRlVMTFNDUkVFTl9BUEkpCisgIGhpZGRlbjogRVhQRVJJTUVOVEFMX0ZVTExTQ1JFRU5f
QVBJX0hJRERFTgorICBodW1hblJlYWRhYmxlTmFtZTogIkZ1bGxzY3JlZW4gQVBJIgorICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJGdWxsc2NyZWVuIEFQSSIKKyAgY2F0ZWdvcnk6IGludGVy
bmFsCisKK0FyaWFSZWZsZWN0aW9uRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFs
dWU6IHRydWUKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBUklBIFJlZmxlY3Rpb24iCisgIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkFSSUEgUmVmbGVjdGlvbiBzdXBwb3J0IgorICBjYXRlZ29y
eTogaW50ZXJuYWwKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLSAg
Y2F0ZWdvcnk6IGV4cGVyaW1lbnRhbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNTZhNWMyYmJiZTljNmI1NjAw
NjFiM2E4MzQzOTQ1MGQ2ODYxOTczZC4uZjAwNWQ1NTc5MjkzZWEyMDJiNzcyNzYxMzhkM2Q5ZmZh
YmEwNDU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0yODgsNiArMjg4LDcgQEAgVUlQcm9jZXNzL1dlYlVS
TFNjaGVtZVRhc2suY3BwCiBVSVByb2Nlc3MvQVBJL0FQSUF0dGFjaG1lbnQuY3BwIEBuby11bmlm
eQogVUlQcm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3QuY3BwIEBuby11bmlmeQogVUlQcm9j
ZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RTdG9yZS5jcHAgQG5vLXVuaWZ5CitVSVByb2Nlc3Mv
QVBJL0FQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcCBAbm8tdW5pZnkKIFVJUHJvY2Vzcy9BUEkv
QVBJRXhwZXJpbWVudGFsRmVhdHVyZS5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nlc3MvQVBJL0FQSUZy
YW1lSW5mby5jcHAgQG5vLXVuaWZ5CiBVSVByb2Nlc3MvQVBJL0FQSUhUVFBDb29raWVTdG9yZS5j
cHAgQG5vLXVuaWZ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggMTM4ZTIwZTY4NzUxMDMxNGM0
YTAzNTc4MWJjMWMxZDk4NGI5NGNkZC4uODM3YzVhM2E1MTBmOWVkMjdkZTZjNzRiMWVmMWNmMzM0
NThhOGVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBi
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtMjM0LDYgKzIzNCw3IEBAIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLQXR0YWNobWVudC5tbSBAbm8tdW5pZnkKIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLQXV0b21hdGlvblNlc3Npb24ubW0gQG5vLXVuaWZ5CiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5tbSBAbm8tdW5pZnkKIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mby5tbSBAbm8tdW5pZnkKK1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0gQG5vLXVuaWZ5CiBV
SVByb2Nlc3MvQVBJL0NvY29hL19XS0Rvd25sb2FkLm1tIEBuby11bmlmeQogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tIEBuby11bmlmeQogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5tbSBAbm8tdW5pZnkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRkNjBmNjI5OTRiMDI2Mzc0MTU2MTQyNzY4MmM3NzQ0ZmFhNjY2MWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCIKKworbmFtZXNwYWNl
IEFQSSB7CisKK1JlZjxJbnRlcm5hbERlYnVnRmVhdHVyZT4gSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6
OmNyZWF0ZShjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgY29uc3QgV1RGOjpTdHJpbmcmIGtleSwg
Y29uc3QgV1RGOjpTdHJpbmcmIGRldGFpbHMsIGJvb2wgZGVmYXVsdFZhbHVlLCBib29sIGhpZGRl
bikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbnRlcm5hbERlYnVnRmVhdHVyZShuYW1l
LCBrZXksIGRldGFpbHMsIGRlZmF1bHRWYWx1ZSwgaGlkZGVuKSk7Cit9CisKK0ludGVybmFsRGVi
dWdGZWF0dXJlOjpJbnRlcm5hbERlYnVnRmVhdHVyZShjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwg
Y29uc3QgV1RGOjpTdHJpbmcmIGtleSwgY29uc3QgV1RGOjpTdHJpbmcmIGRldGFpbHMsIGJvb2wg
ZGVmYXVsdFZhbHVlLCBib29sIGhpZGRlbikKKyAgICA6IG1fbmFtZShuYW1lKQorICAgICwgbV9r
ZXkoa2V5KQorICAgICwgbV9kZXRhaWxzKGRldGFpbHMpCisgICAgLCBtX2RlZmF1bHRWYWx1ZShk
ZWZhdWx0VmFsdWUpCisgICAgLCBtX2hpZGRlbihoaWRkZW4pCit7Cit9CisKK0ludGVybmFsRGVi
dWdGZWF0dXJlOjp+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUoKQoreworfQorCit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYxODliZWNlYzc3NGYxZTk0NjlmYzhkNmFmMWNiZGZiMzRiNmFhMTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIEFQSSB7CisKK2NsYXNzIEludGVybmFsRGVidWdGZWF0dXJlIGZpbmFsIDog
cHVibGljIE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpJbnRlcm5hbERlYnVnRmVhdHVyZT4gewor
cHVibGljOgorICAgIHN0YXRpYyBSZWY8SW50ZXJuYWxEZWJ1Z0ZlYXR1cmU+IGNyZWF0ZShjb25z
dCBXVEY6OlN0cmluZyYgbmFtZSwgY29uc3QgV1RGOjpTdHJpbmcmIGtleSwgY29uc3QgV1RGOjpT
dHJpbmcmIGRldGFpbHMsIGJvb2wgZGVmYXVsdFZhbHVlLCBib29sIGhpZGRlbik7CisgICAgdmly
dHVhbCB+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUoKTsKKworICAgIFdURjo6U3RyaW5nIG5hbWUoKSBj
b25zdCB7IHJldHVybiBtX25hbWU7IH0KKyAgICBXVEY6OlN0cmluZyBrZXkoKSBjb25zdCB7IHJl
dHVybiBtX2tleTsgfQorICAgIFdURjo6U3RyaW5nIGRldGFpbHMoKSBjb25zdCB7IHJldHVybiBt
X2RldGFpbHM7IH0KKyAgICBib29sIGRlZmF1bHRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVm
YXVsdFZhbHVlOyB9CisgICAgYm9vbCBpc0hpZGRlbigpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVu
OyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUoY29uc3Qg
V1RGOjpTdHJpbmcmIG5hbWUsIGNvbnN0IFdURjo6U3RyaW5nJiBrZXksIGNvbnN0IFdURjo6U3Ry
aW5nJiBkZXRhaWxzLCBib29sIGRlZmF1bHRWYWx1ZSwgYm9vbCBoaWRkZW4pOworCisgICAgV1RG
OjpTdHJpbmcgbV9uYW1lOworICAgIFdURjo6U3RyaW5nIG1fa2V5OworICAgIFdURjo6U3RyaW5n
IG1fZGV0YWlsczsKKyAgICBib29sIG1fZGVmYXVsdFZhbHVlOworICAgIGJvb2wgbV9oaWRkZW47
Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQ
SUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCmluZGV4
IGU2NWZkOTcwMjZjZTlkOTgyODQzYjM5YmI2Zjg3OThlMjg3NDkxMmUuLjcxODcwN2ZhOTEzNmUz
OTY1YjYxYmNjOTBkNzk1ZjgzNjE4NTRhMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLQVBJQ2FzdC5oCkBAIC01NCw2ICs1NCw3IEBACiBuYW1lc3BhY2UgQVBJIHsKIGNsYXNz
IENvbnRlbnRSdWxlTGlzdDsKIGNsYXNzIENvbnRlbnRSdWxlTGlzdFN0b3JlOworY2xhc3MgSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmU7CiBjbGFzcyBFeHBlcmltZW50YWxGZWF0dXJlOwogY2xhc3MgRnJh
bWVIYW5kbGU7CiBjbGFzcyBGcmFtZUluZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCmluZGV4IDNlODI3ZWM0NGIyMWU3MWE1YjQ2
NWYzZThhNjUwOWEyNzA2NjQ1NTAuLjE1YWViOWU1YzI1OTFkZjY2YTVkZDNmNWEwMzYyNjQ0NjJi
YmJkY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
ZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
ZWZlcmVuY2VzLm1tCkBAIC0zNCw2ICszNCw4IEBACiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlcy5o
IgogI2ltcG9ydCAiX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oIgogI2ltcG9ydCAiX1dLRXhwZXJp
bWVudGFsRmVhdHVyZUludGVybmFsLmgiCisjaW1wb3J0ICJfV0tJbnRlcm5hbERlYnVnRmVhdHVy
ZS5oIgorI2ltcG9ydCAiX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oIgogI2ltcG9y
dCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZXR0aW5ncy5o
PgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpAQCAtNTI3LDE4ICs1MjksNDYgQEAgc3RhdGlj
IF9XS1N0b3JhZ2VCbG9ja2luZ1BvbGljeSB0b0FQSShXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6
U3RvcmFnZUJsb2NraW5nUG8KICAgICBfcHJlZmVyZW5jZXMtPnNldEZpeGVkRm9udEZhbWlseShm
aXhlZFBpdGNoRm9udEZhbWlseSk7CiB9CiAKKysgKE5TQXJyYXk8X1dLSW50ZXJuYWxEZWJ1Z0Zl
YXR1cmUgKj4gKilfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzCit7CisgICAgYXV0byBmZWF0dXJlcyA9
IFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmludGVybmFsRGVidWdGZWF0dXJlcygpOworICAgIHJl
dHVybiB3cmFwcGVyKEFQSTo6QXJyYXk6OmNyZWF0ZShXVEZNb3ZlKGZlYXR1cmVzKSkpOworfQor
CistIChCT09MKV9pc0VuYWJsZWRGb3JJbnRlcm5hbERlYnVnRmVhdHVyZTooX1dLSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUgKilmZWF0dXJlCit7CisgICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+aXNFbmFi
bGVkRm9yRmVhdHVyZSgqZmVhdHVyZS0+X2ludGVybmFsRGVidWdGZWF0dXJlKTsKK30KKworLSAo
dm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JJbnRlcm5hbERlYnVnRmVhdHVyZTooX1dL
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKilmZWF0dXJlCit7CisgICAgX3ByZWZlcmVuY2VzLT5zZXRF
bmFibGVkRm9yRmVhdHVyZSh2YWx1ZSwgKmZlYXR1cmUtPl9pbnRlcm5hbERlYnVnRmVhdHVyZSk7
Cit9CisKICsgKE5TQXJyYXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqKV9leHBlcmltZW50
YWxGZWF0dXJlcwogewogICAgIGF1dG8gZmVhdHVyZXMgPSBXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
OjpleHBlcmltZW50YWxGZWF0dXJlcygpOwogICAgIHJldHVybiB3cmFwcGVyKEFQSTo6QXJyYXk6
OmNyZWF0ZShXVEZNb3ZlKGZlYXR1cmVzKSkpOwogfQogCisvLyBGSVhNRTogUmVtb3ZlIHRoaXMg
b25jZSBTYWZhcmkgaGFzIGFkb3B0ZWQgdGhlIG5ldyBBUEkuCiAtIChCT09MKV9pc0VuYWJsZWRG
b3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVyZQogewotICAgIHJldHVy
biBfcHJlZmVyZW5jZXMtPmlzRW5hYmxlZEZvckZlYXR1cmUoKmZlYXR1cmUtPl9leHBlcmltZW50
YWxGZWF0dXJlKTsKKyAgICByZXR1cm4gW3NlbGYgX2lzRW5hYmxlZEZvckV4cGVyaW1lbnRhbEZl
YXR1cmU6ZmVhdHVyZV07CiB9CiAKKy8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIFNhZmFyaSBo
YXMgYWRvcHRlZCB0aGUgbmV3IEFQSS4KIC0gKHZvaWQpX3NldEVuYWJsZWQ6KEJPT0wpdmFsdWUg
Zm9yRmVhdHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUKK3sKKyAgICBbc2Vs
ZiBfc2V0RW5hYmxlZDp2YWx1ZSBmb3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1cmVdOworfQor
CistIChCT09MKV9pc0VuYWJsZWRGb3JFeHBlcmltZW50YWxGZWF0dXJlOihfV0tFeHBlcmltZW50
YWxGZWF0dXJlICopZmVhdHVyZQoreworICAgIHJldHVybiBfcHJlZmVyZW5jZXMtPmlzRW5hYmxl
ZEZvckZlYXR1cmUoKmZlYXR1cmUtPl9leHBlcmltZW50YWxGZWF0dXJlKTsKK30KKworLSAodm9p
ZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JFeHBlcmltZW50YWxGZWF0dXJlOihfV0tFeHBl
cmltZW50YWxGZWF0dXJlICopZmVhdHVyZQogewogICAgIF9wcmVmZXJlbmNlcy0+c2V0RW5hYmxl
ZEZvckZlYXR1cmUodmFsdWUsICpmZWF0dXJlLT5fZXhwZXJpbWVudGFsRmVhdHVyZSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNl
c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5oCmluZGV4IDM4NzllMzVlZDMyNWU4NTdiMGM1YWI3M2NkN2JkYWM0MTllNjUz
M2MuLmY1N2VmNDdmMDQwZGNhYTEwNGI3YmE5ZjI2MDA2Y2Q3ZTllMjhhNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJp
dmF0ZS5oCkBAIC01NCw2ICs1NCw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0Vk
aXRhYmxlTGlua0JlaGF2aW9yKSB7CiAgICAgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3JOZXZlckxp
dmUsCiB9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogCitA
Y2xhc3MgX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU7CiBAY2xhc3MgX1dLRXhwZXJpbWVudGFsRmVh
dHVyZTsKIAogQGludGVyZmFjZSBXS1ByZWZlcmVuY2VzICgpIDxOU0NvcHlpbmc+CkBAIC0xMzAs
OSArMTMxLDE1IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0VkaXRhYmxlTGlua0Jl
aGF2aW9yKSB7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFWRm91bmRhdGlv
bkVuYWJsZWQ6KSBCT09MIF9hdkZvdW5kYXRpb25FbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KDEwLjEwKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorKyAoTlNBcnJheTxfV0tJbnRlcm5hbERl
YnVnRmVhdHVyZSAqPiAqKV9pbnRlcm5hbERlYnVnRmVhdHVyZXMgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CistIChCT09MKV9pc0VuYWJsZWRG
b3JJbnRlcm5hbERlYnVnRmVhdHVyZTooX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKilmZWF0dXJl
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwor
LSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JJbnRlcm5hbERlYnVnRmVhdHVyZToo
X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiArIChOU0FycmF5PF9XS0V4cGVyaW1l
bnRhbEZlYXR1cmUgKj4gKilfZXhwZXJpbWVudGFsRmVhdHVyZXMgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwogLSAoQk9PTClfaXNFbmFibGVkRm9yRmVhdHVyZToo
X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTIpLCBpb3MoMTAuMCkpOwogLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JG
ZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVyZSBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CistIChCT09MKV9pc0VuYWJsZWRGb3JFeHBlcmlt
ZW50YWxGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVyZSBXS19BUElfQVZB
SUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CistICh2b2lkKV9zZXRFbmFibGVkOihC
T09MKXZhbHVlIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUg
KilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIAog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvdWxkRW5hYmxlVGV4dEF1dG9zaXpp
bmdCb29zdDopIEJPT0wgX3Nob3VsZEVuYWJsZVRleHRBdXRvc2l6aW5nQm9vc3QgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVh
dHVyZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVi
dWdGZWF0dXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE3YTlkNWY1MmEwNDU5OTZjYjczYTBjMjFiZDI0Njhi
NjI3NjViMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBXS19BUElfRU5BQkxF
RAorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworV0tfQ0xBU1NfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSkKK0BpbnRlcmZhY2UgX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUgOiBOU09iamVjdAorCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNv
cHkpIE5TU3RyaW5nICprZXk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkp
IE5TU3RyaW5nICpuYW1lOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBO
U1N0cmluZyAqZGV0YWlsczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBk
ZWZhdWx0VmFsdWU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1pc0hp
ZGRlbikgQk9PTCBoaWRkZW47CisKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNmM3ODcwNzQ1NTYyODgzMDA2MjUzYTNmNjczMmI5NGY4ODg2MDZlZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJ
bnRlcm5hbERlYnVnRmVhdHVyZS5tbQpAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lt
cG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFs
LmgiCisKKyNpZiBXS19BUElfRU5BQkxFRAorCitAaW1wbGVtZW50YXRpb24gX1dLSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUKKworLSAodm9pZClkZWFsbG9jCit7CisgICAgX2ludGVybmFsRGVidWdGZWF0
dXJlLT5BUEk6OkludGVybmFsRGVidWdGZWF0dXJlOjp+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUoKTsK
KworICAgIFtzdXBlciBkZWFsbG9jXTsKK30KKworLSAoTlNTdHJpbmcgKilkZXNjcmlwdGlvbgor
eworICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjwlQDogJXA7IG5hbWUg
PSAlQDsga2V5ID0gJUA7IGRlZmF1bHRWYWx1ZSA9ICVzID4iLCBOU1N0cmluZ0Zyb21DbGFzcyhz
ZWxmLmNsYXNzKSwgc2VsZiwgc2VsZi5uYW1lLCBzZWxmLmtleSwgc2VsZi5kZWZhdWx0VmFsdWUg
PyAib24iIDogIm9mZiJdOworfQorCistIChOU1N0cmluZyAqKW5hbWUKK3sKKyAgICByZXR1cm4g
X2ludGVybmFsRGVidWdGZWF0dXJlLT5uYW1lKCk7Cit9CisKKy0gKE5TU3RyaW5nICopa2V5Cit7
CisgICAgcmV0dXJuIF9pbnRlcm5hbERlYnVnRmVhdHVyZS0+a2V5KCk7Cit9CisKKy0gKE5TU3Ry
aW5nICopZGV0YWlscworeworICAgIHJldHVybiBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmUtPmRldGFp
bHMoKTsKK30KKworLSAoQk9PTClkZWZhdWx0VmFsdWUKK3sKKyAgICByZXR1cm4gX2ludGVybmFs
RGVidWdGZWF0dXJlLT5kZWZhdWx0VmFsdWUoKTsKK30KKworLSAoQk9PTClpc0hpZGRlbgorewor
ICAgIHJldHVybiBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmUtPmlzSGlkZGVuKCk7Cit9CisKKyNwcmFn
bWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgorCistIChBUEk6Ok9iamVj
dCYpX2FwaU9iamVjdAoreworICAgIHJldHVybiAqX2ludGVybmFsRGVidWdGZWF0dXJlOworfQor
CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZGZmZTljMTI5MjE1NDlkNWRkYTUwMjY4MDQ5MjgxNTQ0OWQ5ODI3YgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5h
bERlYnVnRmVhdHVyZUludGVybmFsLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bXBvcnQgIl9XS0ludGVybmFsRGVidWdGZWF0dXJlLmgiCisKKyNpZiBXS19BUElfRU5BQkxFRAor
CisjaW1wb3J0ICJBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oIgorI2ltcG9ydCAiV0tPYmplY3Qu
aCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3RlbXBsYXRlPD4gc3RydWN0IFdyYXBwZXJUcmFp
dHM8QVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZT4geworICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9
IF9XS0ludGVybmFsRGVidWdGZWF0dXJlOworfTsKKworfQorCitAaW50ZXJmYWNlIF9XS0ludGVy
bmFsRGVidWdGZWF0dXJlICgpIDxXS09iamVjdD4geworQHBhY2thZ2UKKyAgICBBUEk6Ok9iamVj
dFN0b3JhZ2U8QVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZT4gX2ludGVybmFsRGVidWdGZWF0dXJl
OworfQorQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVu
Y2VzLmNwcAppbmRleCAwODRiZWQzZWMxYmVkNjJiMjQyZjZiYmZhNDgwMTgwZDhlZjIzODU0Li40
NGEwYTAyYjk4YmM2Y2IxYjEzMTJkZDZlM2E1YmIyNGNmMzJkMWQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0xMzEsNyArMTMxLDcgQEAgdm9pZCBX
ZWJQcmVmZXJlbmNlczo6dXBkYXRlQm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBi
b29sIHZhbHVlKQogICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBzZW5kIG92ZXIgdGhlIGNo
YW5nZWQga2V5IGFuZCB2YWx1ZS4KIH0KIAotdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlQm9v
bFZhbHVlRm9yRXhwZXJpbWVudGFsRmVhdHVyZUtleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2
YWx1ZSkKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZvckludGVybmFsRGVi
dWdGZWF0dXJlS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQogewogICAgIGlmIChr
ZXkgPT0gV2ViUHJlZmVyZW5jZXNLZXk6OnByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9u
RW5hYmxlZEtleSgpKSB7CiAgICAgICAgIGZvciAoYXV0byogcGFnZSA6IG1fcGFnZXMpCkBAIC0x
NDMsNiArMTQzLDExIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZvckV4
cGVyaW1lbnRhbEZlYXR1cmVLZXkoY29uc3QgU3RyaW5nJiBrZXksCiAgICAgdXBkYXRlKCk7IC8v
IEZJWE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVlLgogfQogCit2
b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVCb29sVmFsdWVGb3JFeHBlcmltZW50YWxGZWF0dXJl
S2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQoreworICAgIHVwZGF0ZSgpOyAvLyBG
SVhNRTogT25seSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2YWx1ZS4KK30KKwogdm9p
ZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlVUludDMyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBr
ZXksIHVpbnQzMl90IHZhbHVlKQogewogICAgIHBsYXRmb3JtVXBkYXRlVUludDMyVmFsdWVGb3JL
ZXkoa2V5LCB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaApp
bmRleCAzM2U4NGEyZmZjMTAwZWQzNzVjMTY1NjExNTVmM2JiMmYxNGZhYzA1Li44ZTgxZTYyMTEy
ZTIyMTAyMWE3NDdhNTBlYWY4YTI4MmVlMjEzYjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByZWZlcmVuY2VzLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSAiQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIgorI2luY2x1ZGUgIkFQSUludGVybmFsRGVi
dWdGZWF0dXJlLmgiCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiRm9udFNtb290
aGluZ0xldmVsLmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIgpAQCAt
NjAsOCArNjEsMTMgQEAgcHVibGljOgogCiAgICAgRk9SX0VBQ0hfV0VCS0lUX1BSRUZFUkVOQ0Uo
REVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKICAgICBGT1JfRUFDSF9XRUJL
SVRfREVCVUdfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJT
KQorICAgIEZPUl9FQUNIX1dFQktJVF9JTlRFUk5BTF9ERUJVR19GRUFUVVJFX1BSRUZFUkVOQ0Uo
REVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKICAgICBGT1JfRUFDSF9XRUJL
SVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0VfR0VU
VEVSX0FORF9TRVRURVJTKQogCisgICAgc3RhdGljIGNvbnN0IFZlY3RvcjxSZWZQdHI8QVBJOjpP
YmplY3Q+PiYgaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKCk7CisgICAgYm9vbCBpc0VuYWJsZWRGb3JG
ZWF0dXJlKGNvbnN0IEFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUmKSBjb25zdDsKKyAgICB2b2lk
IHNldEVuYWJsZWRGb3JGZWF0dXJlKGJvb2wsIGNvbnN0IEFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1
cmUmKTsKKwogICAgIHN0YXRpYyBjb25zdCBWZWN0b3I8UmVmUHRyPEFQSTo6T2JqZWN0Pj4mIGV4
cGVyaW1lbnRhbEZlYXR1cmVzKCk7CiAgICAgYm9vbCBpc0VuYWJsZWRGb3JGZWF0dXJlKGNvbnN0
IEFQSTo6RXhwZXJpbWVudGFsRmVhdHVyZSYpIGNvbnN0OwogICAgIHZvaWQgc2V0RW5hYmxlZEZv
ckZlYXR1cmUoYm9vbCwgY29uc3QgQVBJOjpFeHBlcmltZW50YWxGZWF0dXJlJik7CkBAIC03OSw2
ICs4NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0ZVN0cmluZ1ZhbHVlRm9yS2V5KGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKICAgICB2b2lkIHVwZGF0ZUJv
b2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1ZSk7CisgICAgdm9pZCB1
cGRhdGVCb29sVmFsdWVGb3JJbnRlcm5hbERlYnVnRmVhdHVyZUtleShjb25zdCBTdHJpbmcmIGtl
eSwgYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCB1cGRhdGVCb29sVmFsdWVGb3JFeHBlcmltZW50YWxG
ZWF0dXJlS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKTsKICAgICB2b2lkIHVwZGF0
ZVVJbnQzMlZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCB1aW50MzJfdCB2YWx1ZSk7CiAg
ICAgdm9pZCB1cGRhdGVEb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgZG91Ymxl
IHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRl
eCAxNGI2NzQ2OWNhZWVjMTQyNTMyYzBhOWU1MDY4YTQ1NzE1Y2Y4MDNiLi40YmJkNzM2Y2I5M2Y5
ZDhiZDY5ZGNjZDZkYWZlYTg4NzM2OTdjZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xMTU5LDcgKzExNTksNyBAQCBSZWY8V2ViUGFnZVByb3h5
PiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlV2ViUGFnZShQYWdlQ2xpZW50JiBwYWdlQ2xpZW50LCBS
ZWY8QVBJOgogICAgIGF1dG8gcGFnZSA9IHByb2Nlc3MtPmNyZWF0ZVdlYlBhZ2UocGFnZUNsaWVu
dCwgV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikpOwogICAgIGlmIChwYWdlLT5wcmVmZXJlbmNl
cygpLnByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAg
IG1fY29uZmlndXJhdGlvbi0+c2V0UHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uKHRydWUpOwotICAg
ICAgICAvLyBGSVhNRTogRm9yIG5vdywgdHVybmluZyBvbiBQU09OIGZyb20gdGhlIGV4cGVyaW1l
bnRhbCBmZWF0dXJlcyBtZW51IGFsc28gdHVybnMgb24KKyAgICAgICAgLy8gRklYTUU6IEZvciBu
b3csIHR1cm5pbmcgb24gUFNPTiBmcm9tIHRoZSBkZWJ1ZyBmZWF0dXJlcyBtZW51IGFsc28gdHVy
bnMgb24KICAgICAgICAgLy8gYXV0b21hdGljIHByb2Nlc3Mgd2FybWluZyB1bnRpbCBjbGllbnRz
IGNhbiBiZSB1cGRhdGVkLgogICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPnNldElzQXV0b21hdGlj
UHJvY2Vzc1dhcm1pbmdFbmFibGVkKHRydWUpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk0MzAwODY5OTQ2ZjgxNTUwMWY5
ODUyYjVhMmE2NWJlOTY0ODhmOTYuLmZjMmRmZmIzMDEzOGJjYTg1ZDc3YzAxYmI2NTc4NWZiNDFh
OWMyNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtODMyLDYgKzgzMiwxMiBAQAogCQkzMUEyRUM3NzE0OEQ2NjJFMDA4MTBENzEgLyog
V0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM3NTE0OEQ2NUJCMDA4MTBENzEgLyogV0tO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi87IH07CiAJCTMxQTUwNUZBMTY4MDAy
NTUwMEE5MzBFQiAvKiBXZWJDb250ZXh0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE1MDVGODE2ODAwMjU1MDBBOTMwRUIgLyogV2ViQ29u
dGV4dENsaWVudC5oICovOyB9OwogCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92
aWRlci5oICovOyB9OworCQkzMUIzNjI4RjIxNDFFQTVEMDA3QkZBNTMgLyogQVBJSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxQjM2MjhFMjE0MUVBNEQwMDdCRkE1MyAvKiBBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5o
ICovOyB9OworCQkzMUIzNjI5MTIxNDFFQUM0MDA3QkZBNTMgLyogQVBJSW50ZXJuYWxEZWJ1Z0Zl
YXR1cmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzFCMzYyOTAyMTQxRUFCQzAwN0JGQTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcCAq
LzsgfTsKKwkJMzFCMzYyOTUyMTQxRUJDRDAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0
dXJlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIz
NjI5NDIxNDFFQkFEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMUIzNjI5NjIxNDFF
QkQ0MDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIzNjI5MjIxNDFFQkFDMDA3QkZBNTMg
LyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0gKi87IH07CisJCTMxQjM2Mjk3MjE0MUVCRDkw
MDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIzNjI5MzIxNDFFQkFEMDA3QkZB
NTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oICovOyB9OworCQkzMUIzNjI5
OTIxNDFGNkU4MDA3QkZBNTMgLyogV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFCMzYy
OTgyMTQxRjZFMDAwN0JGQTUzIC8qIFdlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVz
LmNwcCAqLzsgfTsKIAkJMzFCQTkyNEQxNDg4MzEyNjAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFCQTkyNDgxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMUJBOTI0RTE0ODgzMTI2
MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0OTE0ODgzMDgxMDA2MkVE
QjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CiAJCTMxRDU5MjlG
MTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDU5MjlEMTY2RTA2MDAwMEU2QkYwMiAvKiBX
ZWJQbHVnSW5DbGllbnQuaCAqLzsgfTsKQEAgLTMwNzYsNiArMzA4MiwxMiBAQAogCQkzMUE1MDVG
ODE2ODAwMjU1MDBBOTMwRUIgLyogV2ViQ29udGV4dENsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxQTY3RTBBMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92
aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnSW5BdXRv
U3RhcnRQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTY3RTBC
MTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMUIzNjI4RTIxNDFFQTREMDA3QkZBNTMgLyogQVBJSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFCMzYyOTAyMTQxRUFCQzAwN0JG
QTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEFQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzFCMzYyOTIyMTQxRUJBQzAwN0JGQTUzIC8qIF9XS0ludGVybmFs
RGVidWdGZWF0dXJlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxQjM2MjkzMjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0ludGVybmFsRGVidWdG
ZWF0dXJlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFCMzYyOTQy
MTQxRUJBRDAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0ludGVybmFsRGVidWdGZWF0dXJlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQjM2Mjk4MjE0MUY2RTAwMDdCRkE1MyAvKiBXZWJQcmVm
ZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQkE5MjQ4MTQ4ODMwODEwMDYyRURCNSAvKiBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUJBOTI0OTE0ODgzMDgxMDA2
MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUQ1OTI5QzE2NkUwNUZGMDBFNkJGMDIgLyogV2Vi
UGx1Z0luQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YlBsdWdJbkNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MTgxLDYg
KzYxOTMsOSBAQAogCQkJCTVDQUZERTQyMjEzMDg0MzUwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3Iu
aCAqLywKIAkJCQk1Q0FGREU0MzIxMzA4NDM2MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9yLm1tICov
LAogCQkJCTVDQUZERTQ0MjEzMDg0MzYwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3JJbnRlcm5hbC5o
ICovLAorCQkJCTMxQjM2Mjk0MjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVh
dHVyZS5oICovLAorCQkJCTMxQjM2MjkyMjE0MUVCQUMwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERl
YnVnRmVhdHVyZS5tbSAqLywKKwkJCQkzMUIzNjI5MzIxNDFFQkFEMDA3QkZBNTMgLyogX1dLSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oICovLAogCQkJCTJENzkwQTlDMUFENzA1MEQwMEFC
OTBCMyAvKiBfV0tMYXlvdXRNb2RlLmggKi8sCiAJCQkJNTFDMEM5NzkxRERENzg1NDAwMzJDQUQz
IC8qIF9XS0xpbmtJY29uUGFyYW1ldGVycy5oICovLAogCQkJCTUxQzBDOTdBMURERDc4NTQwMDMy
Q0FEMyAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMubW0gKi8sCkBAIC03NjQwLDYgKzc2NTUsOCBA
QAogCQkJCTdBQjZFQTQ0MUVFQUFFMjMwMDAzN0IyQiAvKiBBUElJY29uRGF0YWJhc2VDbGllbnQu
aCAqLywKIAkJCQk1MTQzQjI2MTFEREQwREEwMDAxNEZBQzYgLyogQVBJSWNvbkxvYWRpbmdDbGll
bnQuaCAqLywKIAkJCQk3QThBOUQ1NzFFRjExOUFBMDA5ODAxQUUgLyogQVBJSW5qZWN0ZWRCdW5k
bGVDbGllbnQuaCAqLywKKwkJCQkzMUIzNjI5MDIxNDFFQUJDMDA3QkZBNTMgLyogQVBJSW50ZXJu
YWxEZWJ1Z0ZlYXR1cmUuY3BwICovLAorCQkJCTMxQjM2MjhFMjE0MUVBNEQwMDdCRkE1MyAvKiBB
UElJbnRlcm5hbERlYnVnRmVhdHVyZS5oICovLAogCQkJCTdDRTREMjA2MUE0Njc3NTcwMEM3RjE1
MiAvKiBBUElMZWdhY3lDb250ZXh0SGlzdG9yeUNsaWVudC5oICovLAogCQkJCTFBMjQ2NEYyMTg5
MUU0NTEwMDIzNEM1QiAvKiBBUElMb2FkZXJDbGllbnQuaCAqLywKIAkJCQk3Q0QzQTQ4MDFBNUQw
MkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5jcHAgKi8sCkBAIC04NjMyLDYgKzg2NDksNyBA
QAogCQkJCTFBQjFGNzk1MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJN0NERTczQTMxRjlEQUI2NTAwMzkwMzEyIC8qIFdlYlBy
ZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCAqLywKIAkJCQk3Q0VCMDBEQzFGQTY5QTg5MDA2NTQ3M0Ig
LyogV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAgKi8sCisJCQkJMzFCMzYy
OTgyMTQxRjZFMDAwN0JGQTUzIC8qIFdlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVz
LmNwcCAqLywKIAkJCQk3Q0IxMDBFRTFGQTJENzRBMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNL
ZXlzLmNwcCAqLywKIAkJCQk3Q0IxMDBFRjFGQTJENzRCMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5j
ZXNLZXlzLmggKi8sCiAJCQkJN0NCMTAwRjAxRkEyRDc4NDAwMTcyOUVFIC8qIFdlYlByZWZlcmVu
Y2VzU3RvcmVEZWZhdWx0c01hcC5jcHAgKi8sCkBAIC04OTU4LDYgKzg5NzYsOCBAQAogCQkJCTM3
QTY0RTU1MThGMzhFM0MwMEVCMzBGMSAvKiBfV0tJbnB1dERlbGVnYXRlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1Q0FGREU0NTIxMzA4NDYzMDBCMUY3RTEgLyogX1dLSW5zcGVjdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1Q0FGREU0NzIxMzA4NDZBMDBCMUY3RTEgLyogX1dLSW5zcGVjdG9ySW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxQjM2Mjk1MjE0MUVCQ0QwMDdCRkE1MyAvKiBf
V0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFCMzYyOTcyMTQx
RUJEOTAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTJENzkwQTlEMUFENzA1MEQwMEFCOTBCMyAvKiBfV0tMYXlvdXRNb2RlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTBGNTkxMTFEREUyOTcwMDA0MTJGRjUgLyogX1dLTGlua0lj
b25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTE4QTlGMzE5MDhCOEVBMDBGN0M5
MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCkBAIC05MDM3LDYg
KzkwNTcsNyBAQAogCQkJCTdBM0FDRTFCMUVFRUY3OUIwMEE4NjRBNCAvKiBBUElJbmplY3RlZEJ1
bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBOEE5RDVDMUVGMTQ1
OTgwMDk4MDFBRSAvKiBBUElJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTM3NjkwNzlBMThGMzFDQjIwMDFERkYwNCAvKiBBUElJbmplY3Rl
ZEJ1bmRsZVBhZ2VVSUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFCMzYyOEYyMTQxRUE1
RDAwN0JGQTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3Q0U0RDIwNzFBNDY3NzYxMDBDN0YxNTIgLyogQVBJTGVnYWN5Q29udGV4dEhpc3RvcnlDbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjQ2NEYzMTg5MUU0NTEwMDIzNEM1QiAvKiBBUElM
b2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRDNBNDgzMUE1RDAyRkEwMDk2MjNC
OCAvKiBBUElOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTEwODY2LDYgKzEwODg3LDcg
QEAKIAkJCQk2M0MzMkMyNTFFOTgxMEQ5MDA2OTlCRDAgLyogX1dLR2VvbG9jYXRpb25Qb3NpdGlv
bi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzQTg4QjM5MUJDNzBGM0YwMEFCQTVDMiAvKiBfV0tI
aXRUZXN0UmVzdWx0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNBRkRFNDYyMTMwODQ2ODAwQjFG
N0UxIC8qIF9XS0luc3BlY3Rvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTMxQjM2Mjk2MjE0MUVC
RDQwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTUxMEY1OTEyMURERTI5NzcwMDQxMkZGNSAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMubW0g
aW4gU291cmNlcyAqLywKIAkJCQlBMTE4QTlGMjE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxl
TWFuYWdlckV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE1QzBGMEE4MjAwMDY1NTEwMDUz
NjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5tbSBpbiBTb3VyY2VzICovLApAQCAtMTA5MDEsNiAr
MTA5MjMsNyBAQAogCQkJCTFBQzEzMzc0MTg1N0MyMUUwMEYzRUMwNSAvKiBBUElHZW9tZXRyeS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0E4OEI0NzFCQzg4Mjk3MDBBQkE1QzIgLyogQVBJSGl0
VGVzdFJlc3VsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUQxMjQ5MTFFNzRCRjNDMDAyQjI4
MjAgLyogQVBJSFRUUENvb2tpZVN0b3JlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxQjM2Mjkx
MjE0MUVBQzQwMDdCRkE1MyAvKiBBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3Q0QzQTQ4MjFBNUQwMkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQ0Y2OUZBMzExNzZEMDE0MDA0NzFBNTIgLyogQVBJTmF2aWdh
dGlvbkRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjYzNDAzRjkxNDkxMEQ1NzAwMTA3MEI1
IC8qIEFQSU9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTExMjQ3LDYgKzExMjcwLDcgQEAK
IAkJCQkyRDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEyOEFGRCAvKiBXZWJQbHVn
aW5JbmZvUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFQjAwREQxRkE2OUFCRTAw
NjU0NzNCIC8qIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMzFCMzYyOTkyMTQxRjZFODAwN0JGQTUzIC8qIFdlYlByZWZlcmVuY2VzSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQjEwMEYxMUZBMzg1
OEEwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0NCMTAwRjQxRkEzODU5MjAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01h
cC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTA0M0EwQTEyNEQxMUE5MDBGRkJGQjUgLyogV2Vi
UHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjBmMDVkNThjOTViYzg2MWQwNTM2NDc4
MTY2OWNjYTM2ODBjODIyMC4uNTNmZGU0ZGJiMDg3Y2U3MmQyMjRhMWE4OGI0MDk3YTZhZjI1Zjlk
NyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDE4LTA5LTA3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgYW5kIGV4cG9zZSBJbnRlcm5hbCBmZWF0dXJlcyBmcm9tIFdlYktpdAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NDQyCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDI0MzQwND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgTWluaUJyb3dzZXIgdG8gZXhwb3NlIGFu
IEludGVybmFsIGZlYXR1cmUgbWVudS4KKworICAgICAgICAqIE1pbmlCcm93c2VyL21hYy9BcHBE
ZWxlZ2F0ZS5tOgorICAgICAgICAoZGVmYXVsdENvbmZpZ3VyYXRpb24pOgorICAgICAgICAqIE1p
bmlCcm93c2VyL21hYy9TZXR0aW5nc0NvbnRyb2xsZXIubToKKyAgICAgICAgKC1bU2V0dGluZ3ND
b250cm9sbGVyIF9wb3B1bGF0ZU1lbnVdKToKKyAgICAgICAgKC1bU2V0dGluZ3NDb250cm9sbGVy
IHZhbGlkYXRlTWVudUl0ZW06XSk6CisgICAgICAgICgtW1NldHRpbmdzQ29udHJvbGxlciB0b2dn
bGVFeHBlcmltZW50YWxGZWF0dXJlOl0pOgorICAgICAgICAoLVtTZXR0aW5nc0NvbnRyb2xsZXIg
dG9nZ2xlSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6XSk6CisKIDIwMTgtMDktMDcgIERhbmllbCBCYXRl
cyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIHVpQ29udHJvbGxlci50eXBl
Q2hhcmFjdGVyVXNpbmdIYXJkd2FyZUtleWJvYXJkKCJgIiwgLi4uKSBkaXNwYXRjaGVzIERPTSBr
ZXkgZXZlbnRzIGZvciB+CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVs
ZWdhdGUubSBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9BcHBEZWxlZ2F0ZS5tCmluZGV4IDNhMzY5
YTQwOWM0YmNkYTc1YTExMzZjMTEyM2EwODYzZDU3NzBlYTcuLjI1NjE3ZWM0ZDY2Y2ZhYjQ0ZWM5
YTNhYzA3ZTExYWM0MDNmNjhjYzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL21hYy9B
cHBEZWxlZ2F0ZS5tCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9BcHBEZWxlZ2F0ZS5tCkBA
IC00MCw2ICs0MCw3IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogI2ltcG9ydCA8V2ViS2l0L19X
S0V4cGVyaW1lbnRhbEZlYXR1cmUuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tJbnRlcm5hbERlYnVn
RmVhdHVyZS5oPgogI2VuZGlmCiAKIGVudW0gewpAQCAtMTA2LDEwICsxMDcsMTYgQEAgLSAodm9p
ZClhd2FrZUZyb21OaWIKICAgICAgICAgY29uZmlndXJhdGlvbi5wcm9jZXNzUG9vbCA9IFtbW1dL
UHJvY2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246cHJvY2Vzc0NvbmZpZ3Vy
YXRpb25dIGF1dG9yZWxlYXNlXTsKIAogI2lmIFdLX0FQSV9FTkFCTEVECi0gICAgICAgIE5TQXJy
YXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqZmVhdHVyZXMgPSBbV0tQcmVmZXJlbmNlcyBf
ZXhwZXJpbWVudGFsRmVhdHVyZXNdOwotICAgICAgICBmb3IgKF9XS0V4cGVyaW1lbnRhbEZlYXR1
cmUgKmZlYXR1cmUgaW4gZmVhdHVyZXMpIHsKKyAgICAgICAgTlNBcnJheTxfV0tFeHBlcmltZW50
YWxGZWF0dXJlICo+ICpleHBlcmltZW50YWxGZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9leHBl
cmltZW50YWxGZWF0dXJlc107CisgICAgICAgIGZvciAoX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAq
ZmVhdHVyZSBpbiBleHBlcmltZW50YWxGZWF0dXJlcykgewogICAgICAgICAgICAgQk9PTCBlbmFi
bGVkID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpm
ZWF0dXJlLmtleV07Ci0gICAgICAgICAgICBbY29uZmlndXJhdGlvbi5wcmVmZXJlbmNlcyBfc2V0
RW5hYmxlZDplbmFibGVkIGZvckZlYXR1cmU6ZmVhdHVyZV07CisgICAgICAgICAgICBbY29uZmln
dXJhdGlvbi5wcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDplbmFibGVkIGZvckV4cGVyaW1lbnRhbEZl
YXR1cmU6ZmVhdHVyZV07CisgICAgICAgIH0KKworICAgICAgICBOU0FycmF5PF9XS0ludGVybmFs
RGVidWdGZWF0dXJlICo+ICppbnRlcm5hbERlYnVnRmVhdHVyZXMgPSBbV0tQcmVmZXJlbmNlcyBf
aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzXTsKKyAgICAgICAgZm9yIChfV0tJbnRlcm5hbERlYnVnRmVh
dHVyZSAqZmVhdHVyZSBpbiBpbnRlcm5hbERlYnVnRmVhdHVyZXMpIHsKKyAgICAgICAgICAgIEJP
T0wgZW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xG
b3JLZXk6ZmVhdHVyZS5rZXldOworICAgICAgICAgICAgW2NvbmZpZ3VyYXRpb24ucHJlZmVyZW5j
ZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JJbnRlcm5hbERlYnVnRmVhdHVyZTpmZWF0dXJlXTsK
ICAgICAgICAgfQogI2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
bWFjL1NldHRpbmdzQ29udHJvbGxlci5tIGIvVG9vbHMvTWluaUJyb3dzZXIvbWFjL1NldHRpbmdz
Q29udHJvbGxlci5tCmluZGV4IDcwNDE3MGRmYTZmMjQ0ZGFjNDE5ZmRjZDI4YWRkYWYwN2NmMDlh
YWIuLjI0YTM3ZGU5MDg1Mjg5MGEyZmFiZTNmOWE5NTlkOWQ0NWI4YzU4NjAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL01pbmlCcm93c2VyL21hYy9TZXR0aW5nc0NvbnRyb2xsZXIubQorKysgYi9Ub29scy9N
aW5pQnJvd3Nlci9tYWMvU2V0dGluZ3NDb250cm9sbGVyLm0KQEAgLTMyLDYgKzMyLDcgQEAKIAog
I2lmIFdLX0FQSV9FTkFCTEVECiAjaW1wb3J0IDxXZWJLaXQvX1dLRXhwZXJpbWVudGFsRmVhdHVy
ZS5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0ludGVybmFsRGVidWdGZWF0dXJlLmg+CiAjZW5kaWYK
IAogc3RhdGljIE5TU3RyaW5nICogY29uc3QgZGVmYXVsdFVSTCA9IEAiaHR0cDovL3d3dy53ZWJr
aXQub3JnLyI7CkBAIC04MSw2ICs4Miw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIERl
YnVnT3ZlcnlsYXlNZW51SXRlbVRhZykgewogICAgIFdoZWVsRXZlbnRIYW5kbGVyUmVnaW9uT3Zl
cmxheVRhZywKICNpZiBXS19BUElfRU5BQkxFRAogICAgIEV4cGVyaW1lbnRhbEZlYXR1cmVUYWcs
CisgICAgSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVUYWcsCiAjZW5kaWYKIH07CiAKQEAgLTIxMiw5ICsy
MTQsOSBAQCAtICh2b2lkKV9wb3B1bGF0ZU1lbnUKICAgICBOU01lbnUgKmV4cGVyaW1lbnRhbEZl
YXR1cmVzTWVudSA9IFtbTlNNZW51IGFsbG9jXSBpbml0V2l0aFRpdGxlOkAiRXhwZXJpbWVudGFs
IEZlYXR1cmVzIl07CiAgICAgW2V4cGVyaW1lbnRhbEZlYXR1cmVzU3VibWVudUl0ZW0gc2V0U3Vi
bWVudTpleHBlcmltZW50YWxGZWF0dXJlc01lbnVdOwogCi0gICAgTlNBcnJheTxfV0tFeHBlcmlt
ZW50YWxGZWF0dXJlICo+ICpmZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9leHBlcmltZW50YWxG
ZWF0dXJlc107CisgICAgTlNBcnJheTxfV0tFeHBlcmltZW50YWxGZWF0dXJlICo+ICpleHBlcmlt
ZW50YWxGZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJlc107CiAK
LSAgICBmb3IgKF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKmZlYXR1cmUgaW4gZmVhdHVyZXMpIHsK
KyAgICBmb3IgKF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKmZlYXR1cmUgaW4gZXhwZXJpbWVudGFs
RmVhdHVyZXMpIHsKICAgICAgICAgTlNNZW51SXRlbSAqaXRlbSA9IFtbTlNNZW51SXRlbSBhbGxv
Y10gaW5pdFdpdGhUaXRsZTpmZWF0dXJlLm5hbWUgYWN0aW9uOkBzZWxlY3Rvcih0b2dnbGVFeHBl
cmltZW50YWxGZWF0dXJlOikga2V5RXF1aXZhbGVudDpAIiJdOwogICAgICAgICBpdGVtLnRvb2xU
aXAgPSBmZWF0dXJlLmRldGFpbHM7CiAgICAgICAgIGl0ZW0ucmVwcmVzZW50ZWRPYmplY3QgPSBm
ZWF0dXJlOwpAQCAtMjI3LDYgKzIyOSwyNiBAQCAtICh2b2lkKV9wb3B1bGF0ZU1lbnUKICAgICBb
X21lbnUgYWRkSXRlbTpleHBlcmltZW50YWxGZWF0dXJlc1N1Ym1lbnVJdGVtXTsKICAgICBbZXhw
ZXJpbWVudGFsRmVhdHVyZXNTdWJtZW51SXRlbSByZWxlYXNlXTsKICAgICBbZXhwZXJpbWVudGFs
RmVhdHVyZXNNZW51IHJlbGVhc2VdOworCisgICAgTlNNZW51SXRlbSAqaW50ZXJuYWxEZWJ1Z0Zl
YXR1cmVzU3VibWVudUl0ZW0gPSBbW05TTWVudUl0ZW0gYWxsb2NdIGluaXRXaXRoVGl0bGU6QCJJ
bnRlcm5hbCBGZWF0dXJlcyIgYWN0aW9uOm5pbCBrZXlFcXVpdmFsZW50OkAiIl07CisgICAgTlNN
ZW51ICppbnRlcm5hbERlYnVnRmVhdHVyZXNNZW51ID0gW1tOU01lbnUgYWxsb2NdIGluaXRXaXRo
VGl0bGU6QCJJbnRlcm5hbCBGZWF0dXJlcyJdOworICAgIFtpbnRlcm5hbERlYnVnRmVhdHVyZXNT
dWJtZW51SXRlbSBzZXRTdWJtZW51OmludGVybmFsRGVidWdGZWF0dXJlc01lbnVdOworCisgICAg
TlNBcnJheTxfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqPiAqaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVz
ID0gW1dLUHJlZmVyZW5jZXMgX2ludGVybmFsRGVidWdGZWF0dXJlc107CisKKyAgICBmb3IgKF9X
S0ludGVybmFsRGVidWdGZWF0dXJlICpmZWF0dXJlIGluIGludGVybmFsRGVidWdGZWF0dXJlcykg
eworICAgICAgICBOU01lbnVJdGVtICppdGVtID0gW1tOU01lbnVJdGVtIGFsbG9jXSBpbml0V2l0
aFRpdGxlOmZlYXR1cmUubmFtZSBhY3Rpb246QHNlbGVjdG9yKHRvZ2dsZUludGVybmFsRGVidWdG
ZWF0dXJlOikga2V5RXF1aXZhbGVudDpAIiJdOworICAgICAgICBpdGVtLnRvb2xUaXAgPSBmZWF0
dXJlLmRldGFpbHM7CisgICAgICAgIGl0ZW0ucmVwcmVzZW50ZWRPYmplY3QgPSBmZWF0dXJlOwor
CisgICAgICAgIFtpdGVtIHNldFRhZzpJbnRlcm5hbERlYnVnRmVhdHVyZVRhZ107CisgICAgICAg
IFtpdGVtIHNldFRhcmdldDpzZWxmXTsKKyAgICAgICAgW2ludGVybmFsRGVidWdGZWF0dXJlc01l
bnUgYWRkSXRlbTpbaXRlbSBhdXRvcmVsZWFzZV1dOworICAgIH0KKworICAgIFtfbWVudSBhZGRJ
dGVtOmludGVybmFsRGVidWdGZWF0dXJlc1N1Ym1lbnVJdGVtXTsKKyAgICBbaW50ZXJuYWxEZWJ1
Z0ZlYXR1cmVzU3VibWVudUl0ZW0gcmVsZWFzZV07CisgICAgW2ludGVybmFsRGVidWdGZWF0dXJl
c01lbnUgcmVsZWFzZV07CiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKIAogICAgIFtzZWxmIF9h
ZGRIZWFkZXJXaXRoVGl0bGU6QCJXZWJLaXQxLW9ubHkgU2V0dGluZ3MiXTsKQEAgLTMwMSw3ICsz
MjMsMTEgQEAgLSAoQk9PTCl2YWxpZGF0ZU1lbnVJdGVtOihOU01lbnVJdGVtICopbWVudUl0ZW0K
ICNpZiBXS19BUElfRU5BQkxFRAogICAgIGlmIChtZW51SXRlbS50YWcgPT0gRXhwZXJpbWVudGFs
RmVhdHVyZVRhZykgewogICAgICAgICBfV0tFeHBlcmltZW50YWxGZWF0dXJlICpmZWF0dXJlID0g
bWVudUl0ZW0ucmVwcmVzZW50ZWRPYmplY3Q7Ci0gICAgICAgIFttZW51SXRlbSBzZXRTdGF0ZTpb
ZGVmYXVsdFByZWZlcmVuY2VzKCkgX2lzRW5hYmxlZEZvckZlYXR1cmU6ZmVhdHVyZV0gPyBOU0Nv
bnRyb2xTdGF0ZVZhbHVlT24gOiBOU0NvbnRyb2xTdGF0ZVZhbHVlT2ZmXTsKKyAgICAgICAgW21l
bnVJdGVtIHNldFN0YXRlOltkZWZhdWx0UHJlZmVyZW5jZXMoKSBfaXNFbmFibGVkRm9yRXhwZXJp
bWVudGFsRmVhdHVyZTpmZWF0dXJlXSA/IE5TQ29udHJvbFN0YXRlVmFsdWVPbiA6IE5TQ29udHJv
bFN0YXRlVmFsdWVPZmZdOworICAgIH0KKyAgICBpZiAobWVudUl0ZW0udGFnID09IEludGVybmFs
RGVidWdGZWF0dXJlVGFnKSB7CisgICAgICAgIF9XS0ludGVybmFsRGVidWdGZWF0dXJlICpmZWF0
dXJlID0gbWVudUl0ZW0ucmVwcmVzZW50ZWRPYmplY3Q7CisgICAgICAgIFttZW51SXRlbSBzZXRT
dGF0ZTpbZGVmYXVsdFByZWZlcmVuY2VzKCkgX2lzRW5hYmxlZEZvckludGVybmFsRGVidWdGZWF0
dXJlOmZlYXR1cmVdID8gTlNDb250cm9sU3RhdGVWYWx1ZU9uIDogTlNDb250cm9sU3RhdGVWYWx1
ZU9mZl07CiAgICAgfQogI2VuZGlmCiAKQEAgLTY1NCw4ICs2ODAsMTkgQEAgLSAodm9pZCl0b2dn
bGVFeHBlcmltZW50YWxGZWF0dXJlOihpZClzZW5kZXIKICAgICBfV0tFeHBlcmltZW50YWxGZWF0
dXJlICpmZWF0dXJlID0gKChOU01lbnVJdGVtICopc2VuZGVyKS5yZXByZXNlbnRlZE9iamVjdDsK
ICAgICBXS1ByZWZlcmVuY2VzICpwcmVmZXJlbmNlcyA9IGRlZmF1bHRQcmVmZXJlbmNlcygpOwog
Ci0gICAgQk9PTCBjdXJyZW50bHlFbmFibGVkID0gW3ByZWZlcmVuY2VzIF9pc0VuYWJsZWRGb3JG
ZWF0dXJlOmZlYXR1cmVdOwotICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDohY3VycmVudGx5
RW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOworICAgIEJPT0wgY3VycmVudGx5RW5hYmxlZCA9
IFtwcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZTpmZWF0dXJlXTsK
KyAgICBbcHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6IWN1cnJlbnRseUVuYWJsZWQgZm9yRXhwZXJp
bWVudGFsRmVhdHVyZTpmZWF0dXJlXTsKKworICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdIHNldEJvb2w6IWN1cnJlbnRseUVuYWJsZWQgZm9yS2V5OmZlYXR1cmUua2V5
XTsKK30KKworLSAodm9pZCl0b2dnbGVJbnRlcm5hbERlYnVnRmVhdHVyZTooaWQpc2VuZGVyCit7
CisgICAgX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKmZlYXR1cmUgPSAoKE5TTWVudUl0ZW0gKilz
ZW5kZXIpLnJlcHJlc2VudGVkT2JqZWN0OworICAgIFdLUHJlZmVyZW5jZXMgKnByZWZlcmVuY2Vz
ID0gZGVmYXVsdFByZWZlcmVuY2VzKCk7CisKKyAgICBCT09MIGN1cnJlbnRseUVuYWJsZWQgPSBb
cHJlZmVyZW5jZXMgX2lzRW5hYmxlZEZvckludGVybmFsRGVidWdGZWF0dXJlOmZlYXR1cmVdOwor
ICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDohY3VycmVudGx5RW5hYmxlZCBmb3JJbnRlcm5h
bERlYnVnRmVhdHVyZTpmZWF0dXJlXTsKIAogICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdIHNldEJvb2w6IWN1cnJlbnRseUVuYWJsZWQgZm9yS2V5OmZlYXR1cmUua2V5
XTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA3ODE5ZGRkNzI3NDc1NjliMGE0OGU5MTliNWRjNzAzNzNmNTc5OTc5Li41
MzVlMGIyYjY4ZWY3Njg4YmQ4NzQ2ZDRkYjEzOWY1NzJhNmY5NDYyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTgtMDktMDcgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBhbmQgZXhwb3NlIEludGVybmFsIGZlYXR1cmVzIGZyb20gV2ViS2l0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0NDIKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzQ0MjQzNDA0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNraXAgc29tZSB0ZXN0cyB0aGF0IHJlbHkgb24gYW4gZXhwZXJp
bWVudGFsIGZlYXR1cmUgdGhhdCBoYXMKKyAgICAgICAgbW92ZWQgdG8gaW50ZXJuYWwuIEEgZm9s
bG93LXVwIHBhdGNoIHdpbGwgYWxsb3cgV0tUUiB0byBlbmFibGUKKyAgICAgICAgdGhlbSBvbiBk
ZW1hbmQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAx
OC0wOS0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVGVz
dHMgY2hlY2tpbmcgZG9jdW1lbnQgR0MgaW4gY2FzZSBvZiBBY3RpdmVET01PYmplY3RzIGFyZSBm
bGFreQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0MTRl
MmQzODkxM2FiZDU4YzNlMGQ0MTQ2YmFhN2ViZTU0MDgzYTg0Li45Mzk0Y2FlOTU1MTg0ZDVlNGEw
NzU0ZjRkYjBhZjkxMmIzNDRmZTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMTc2NCwzICsxNzY0LDYgQEAgd2Via2l0Lm9yZy9iLzE4NzM5MyBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGUK
IFsgTW9qYXZlKyBdIGZhc3QvZ3JhZGllbnRzL2NvbmljLWNlbnRlci1vdXRzaWRlLWJveC5odG1s
IFsgUGFzcyBdCiBbIE1vamF2ZSsgXSBmYXN0L2dyYWRpZW50cy9jb25pYy1leHRlbmRlZC1zdG9w
cy5odG1sIFsgUGFzcyBdCiAKKyMgTWFyayB0aGVzZSBhcyBmYWlsaW5nIHdoaWxlIEludGVybmFs
IERlYnVnIEZlYXR1cmVzIGRlZmF1bHQgdG8gb2ZmIGluIFdLVFIKK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNoYW5nZXR5cGUuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9tZWRpYXNvdXJjZS1jaGFuZ2V0eXBlLXBsYXkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349455</attachid>
            <date>2018-09-11 14:29:22 -0700</date>
            <delta_ts>2018-09-11 14:38:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189442-20180912072920.patch</filename>
            <type>text/plain</type>
            <size>63149</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ5MTY5ZmQzZmQ1MTViZmU4
ZmQzY2NmNTc5MGZiMjY2OTA1MmYyMGQuLjgzYTZmYmU4MzExOWJjMzdkZGRhOTlkNzY3NjM1ODlh
Y2E0MGFiZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzQgQEAKKzIwMTgtMDktMDcgIERlYW4gSmFj
a3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbmQgZXhwb3NlIEludGVybmFs
IGZlYXR1cmVzIGZyb20gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODk0NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MjQzNDA0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cGVyaW1l
bnRhbCBmZWF0dXJlcyBoYXZlIGJlY29tZSBhIG1lc3MuIFBlb3BsZSBhcmUgdXNpbmcgdGhlbSBm
b3IKKyAgICAgICAgYW55dGhpbmcgdGhhdCB0aGV5IHdhbnQgdG8gYmUgZWFzaWx5IHRvZ2dsZWQg
ZnJvbSBhIGhvc3QgYXBwIChlLmcuCisgICAgICAgIFNhZmFyaSksIHdoaWNoIG1lYW5zIHRoZSB1
c2VyLWZhY2luZyBtZW51IGhhcyBiZWNvbWUgbGFyZ2UgYW5kCisgICAgICAgIGNvbmZ1c2luZy4K
KworICAgICAgICBJbnRyb2R1Y2UgdGhlIGlkZWEgb2YgSW50ZXJuYWwgZmVhdHVyZXMsIHRoYXQg
d2lsbCBiZSBleHBvc2VkIGluIGEgd2F5CisgICAgICAgIHRoYXQgZW5kLXVzZXJzIGFyZSBub3Qg
ZXhwZWN0ZWQgdG8gZXZlciBzZWUgKHVubGVzcyB0aGV5IHJlYWxseSB3YW50CisgICAgICAgIHRv
KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzLgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOiBBZGQgbmV3IGdlbmVyYXRlZCBmaWxlcy4KKyAgICAgICAgKiBTY3JpcHRzL0dlbmVy
YXRlUHJlZmVyZW5jZXMucmI6IEdlbmVyYXRlIHRoZSBwcmVmZXJlbmNlcyBzdHVmZiBmb3IgSW50
ZXJuYWwgRGVidWcgZmVhdHVyZXMuCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBs
YXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiOgorICAgICAgICAqIFNjcmlwdHMv
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMu
Y3BwLmVyYjogQWRkZWQuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSU9iamVjdC5oOiBOZXcg
QVBJIG9iamVjdCBmb3IgSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuCisgICAgICAgICogU2hhcmVkL0Nv
Y29hL0FQSU9iamVjdC5tbToKKyAgICAgICAgKEFQSTo6T2JqZWN0OjpuZXdPYmplY3QpOgorCisg
ICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6IENoYW5nZSBzb21lIG9mIHRoZSBl
eGlzdGluZyBleHBlcmltZW50YWwgZmVhdHVyZXMgdG8gImludGVybmFsIi4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuY3BwOiBOZXcgQVBJIHR5cGUg
LSBqdXN0IGxpa2UgQVBJRXhwZXJpbWVudGFsRmVhdHVyZS4KKyAgICAgICAgKEFQSTo6SW50ZXJu
YWxEZWJ1Z0ZlYXR1cmU6OmNyZWF0ZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdGZWF0
dXJlOjpJbnRlcm5hbERlYnVnRmVhdHVyZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdG
ZWF0dXJlOjp+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
QVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW06IENoYW5nZSB0aGUgbmFtaW5nIG9mIHRoZSBleHBlcmltZW50YWwgZmVhdHVyZSBBUEkgc28g
dGhhdCBpdAorICAgICAgICB3b24ndCBjbGFzaCB3aXRoIGludGVybmFsIGRlYnVnIGZlYXR1cmVz
LiBXZSBjYW4gcmVtb3ZlIHRoZSBvbGQgQVBJIG9uY2UgU2FmYXJpIGhhcyBhZG9wdGVkLgorICAg
ICAgICAoK1tXS1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNdKToKKyAgICAgICAg
KC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6XSk6Cisg
ICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6XSk6CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX2lzRW5hYmxlZEZvckZlYXR1cmU6XSk6
CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9yRmVhdHVyZTpdKToKKyAg
ICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZTpd
KToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDpmb3JFeHBlcmltZW50YWxG
ZWF0dXJlOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1By
aXZhdGUuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuaDogTmV3IG9iamVjdCAtIHNhbWUgYXMgX1dLRXhwZXJpbWVudGFsRmVhdHVyZS4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlLm1t
OgorICAgICAgICAoLVtfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSBkZWFsbG9jXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW19X
S0ludGVybmFsRGVidWdGZWF0dXJlIG5hbWVdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUga2V5XSk6CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRldGFp
bHNdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgZGVmYXVsdFZhbHVlXSk6
CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGlzSGlkZGVuXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIF9hcGlPYmplY3RdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaDoKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHA6IEFkZCBzdXBwb3J0IGZvciBJbnRl
cm5hbCBEZWJ1ZyBmZWF0dXJlcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnVw
ZGF0ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdGZWF0dXJlS2V5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmVL
ZXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDogQ2hhbmdlIGEgY29tbWVudCBub3cgdGhhdCBp
dCBpcyBhbiBpbnRlcm5hbCBmZWF0dXJlLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6Y3JlYXRlV2ViUGFnZSk6CisKIDIwMTgtMDktMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB1bmRlciBQbGF0Zm9ybVBvcHVwTWVu
dURhdGE6OmVuY29kZSB3aGVuIGludGVyYWN0aW5nIHdpdGggYSBzZWxlY3QgbWVudSB0aGF0IGhh
cyB2YXJpYWJsZSBmb250cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggMWQ2YjNiNzQ4YTdhNTI4Mjg4
MjVkOGM3ZWNhMWQ1ZDUzZWI1MjBjYy4uYjU0M2YyZTUwODFlOGYzNmNhMGE0MjQ0Y2YxZTAyMzBj
NmM4NThmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC0zOTksNiArMzk5LDcgQEAgc2V0KFdlYktp
dF9XRUJfUFJFRkVSRU5DRVNfVEVNUExBVEVTCiAgICAgJHtXRUJLSVRfRElSfS9TY3JpcHRzL1By
ZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAuZXJiCiAgICAg
JHtXRUJLSVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2Vz
RGVmaW5pdGlvbnMuaC5lcmIKICAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5jZXNU
ZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAuZXJiCisgICAg
JHtXRUJLSVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2Vz
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcC5lcmIKICAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMv
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcC5lcmIKICAgICAke1dF
QktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlz
LmguZXJiCiAgICAgJHtXRUJLSVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dl
YlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAuZXJiCkBAIC00MTksNiArNDIwLDcgQEAg
bGlzdChBUFBFTkQgV2ViS2l0X0hFQURFUlMKIGxpc3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAg
ICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2Vz
LmNwcAogICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzRXhw
ZXJpbWVudGFsRmVhdHVyZXMuY3BwCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0v
V2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwCiAgICAgJHtERVJJVkVEX1NP
VVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNLZXlzLmNwcAogICAgICR7REVSSVZFRF9T
T1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAKICkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiZGVjMjgzMWI2NTEwYTc4MGZlZDZiYjQy
NjExYmM5MmY0Nzg3M2EwLi4wYzAyMGQzNjg4MjBiODdhMmQwNGE1ZTZkODI4MWQ1MjFmYzc4MjUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yOTUsMTQgKzI5NSwxNSBAQCBXRUJf
UFJFRkVSRU5DRVNfVEVNUExBVEVTID0gXAogICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJl
bmNlc1RlbXBsYXRlcy9XZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwLmVyYiBcCiAgICAgJChX
ZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaC5lcmIgXAogICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRl
cy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcC5lcmIgXAorICAgICQoV2Vi
S2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFs
RGVidWdGZWF0dXJlcy5jcHAuZXJiIFwKICAgICAkKFdlYktpdDIpL1NjcmlwdHMvUHJlZmVyZW5j
ZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmguZXJiIFwKICAgICAkKFdlYktpdDIpL1Nj
cmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcC5lcmIgXAog
ICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNl
c1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYiBcCiAKICMKIAotYWxsIDogV2ViUGFnZVVwZGF0ZVBy
ZWZlcmVuY2VzLmNwcCBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggV2ViUHJlZmVyZW5jZXNF
eHBlcmltZW50YWxGZWF0dXJlcy5jcHAgV2ViUHJlZmVyZW5jZXNLZXlzLmggV2ViUHJlZmVyZW5j
ZXNLZXlzLmNwcCBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwCithbGwgOiBXZWJQ
YWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBXZWJQ
cmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcCBXZWJQcmVmZXJlbmNlc0ludGVybmFs
RGVidWdGZWF0dXJlcy5jcHAgV2ViUHJlZmVyZW5jZXNLZXlzLmggV2ViUHJlZmVyZW5jZXNLZXlz
LmNwcCBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwCiAKLVdlYlBhZ2VVcGRhdGVQ
cmVmZXJlbmNlcyVjcHAgV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucyVoIFdlYlByZWZlcmVuY2Vz
RXhwZXJpbWVudGFsRmVhdHVyZXMlY3BwIFdlYlByZWZlcmVuY2VzS2V5cyVoIFdlYlByZWZlcmVu
Y2VzS2V5cyVjcHAgV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwJWNwcCA6ICQoV2ViS2l0
MikvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiICQoV0VCX1BSRUZFUkVOQ0VTX1RFTVBM
QVRFUykgJChXZWJLaXQyKS9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorV2ViUGFnZVVwZGF0
ZVByZWZlcmVuY2VzJWNwcCBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zJWggV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWxGZWF0dXJlcyVjcHAgV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVh
dHVyZXMlY3BwIFdlYlByZWZlcmVuY2VzS2V5cyVoIFdlYlByZWZlcmVuY2VzS2V5cyVjcHAgV2Vi
UHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwJWNwcCA6ICQoV2ViS2l0MikvU2NyaXB0cy9HZW5l
cmF0ZVByZWZlcmVuY2VzLnJiICQoV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFUykgJChXZWJLaXQy
KS9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAogCSQoUlVCWSkgJDwgLS1pbnB1dCAkKFdlYktp
dDIpL1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiIGIvU291cmNlL1dlYktpdC9TY3JpcHRz
L0dlbmVyYXRlUHJlZmVyZW5jZXMucmIKaW5kZXggMTMxY2FmNGFkZGQ5N2ZkNjU3Y2Y0YWU4NzRj
NWIxZTEyN2RjODllMi4uNWZmNWJkODdiNmNlYTZkMTg1YWMzZGJhMzQyOWJmZGY1ZGNlMTA4YiAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIK
KysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIKQEAgLTI4
LDcgKzI4LDcgQEAgcmVxdWlyZSAnZXJiJwogcmVxdWlyZSAnb3B0cGFyc2UnCiByZXF1aXJlICd5
YW1sJwogCi1vcHRpb25zID0geyAKK29wdGlvbnMgPSB7CiAgIDppbnB1dCA9PiBuaWwsCiAgIDpv
dXRwdXREaXJlY3RvcnkgPT4gbmlsCiB9CkBAIC0xMjgsMTcgKzEyOCwxOCBAQCBlbmQKIAogY2xh
c3MgUHJlZmVyZW5jZXMKICAgYXR0cl9hY2Nlc3NvciA6cHJlZmVyZW5jZXMKLSAgCisKICAgZGVm
IGluaXRpYWxpemUoaGFzaCkKICAgICBAcHJlZmVyZW5jZXMgPSBbXQogICAgIGhhc2guZWFjaCBk
byB8bmFtZSwgb3B0aW9uc3wKICAgICAgIEBwcmVmZXJlbmNlcyA8PCBQcmVmZXJlbmNlLm5ldyhu
YW1lLCBvcHRpb25zKQogICAgIGVuZAogICAgIEBwcmVmZXJlbmNlcy5zb3J0ISB7IHx4LCB5fCB4
Lm5hbWUgPD0+IHkubmFtZSB9Ci0gICAgCisKICAgICBAcHJlZmVyZW5jZXNOb3REZWJ1ZyA9IEBw
cmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgIXAuY2F0ZWdvcnkgfQogICAgIEBwcmVmZXJlbmNlc0Rl
YnVnID0gQHByZWZlcmVuY2VzLnNlbGVjdCB7IHxwfCBwLmNhdGVnb3J5ID09ICJkZWJ1ZyIgfQog
ICAgIEBleHBlcmltZW50YWxGZWF0dXJlcyA9IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC5j
YXRlZ29yeSA9PSAiZXhwZXJpbWVudGFsIiB9CisgICAgQGludGVybmFsRGVidWdGZWF0dXJlcyA9
IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC5jYXRlZ29yeSA9PSAiaW50ZXJuYWwiIH0KIAog
ICAgIEBwcmVmZXJlbmNlc0JvdW5kVG9TZXR0aW5nID0gQHByZWZlcmVuY2VzLnNlbGVjdCB7IHxw
fCAhcC53ZWJjb3JlQmluZGluZyB9CiAgICAgQHByZWZlcmVuY2VzQm91bmRUb0RlcHJlY2F0ZWRH
bG9iYWxTZXR0aW5ncyA9IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC53ZWJjb3JlQmluZGlu
ZyA9PSAiRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzIiB9CkBAIC0xNjEsNCArMTYyLDUgQEAgcHJl
ZmVyZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQYWdlVXBkYXRl
UHJlZmVyZW5jZXMuY3BwLmVyYiIKIHByZWZlcmVuY2VzLnJlbmRlclRvRmlsZSgiUHJlZmVyZW5j
ZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmguZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNb
Om91dHB1dERpcmVjdG9yeV0sICJXZWJQcmVmZXJlbmNlc0tleXMuaCIpKQogcHJlZmVyZW5jZXMu
cmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuY3Bw
LmVyYiIsIEZpbGUuam9pbihvcHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAiV2ViUHJlZmVyZW5j
ZXNLZXlzLmNwcCIpKQogcHJlZmVyZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBs
YXRlcy9XZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYiIsIEZpbGUuam9pbihv
cHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAiV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFw
LmNwcCIpKQorcHJlZmVyZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9X
ZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAuZXJiIiwgRmlsZS5qb2luKG9w
dGlvbnNbOm91dHB1dERpcmVjdG9yeV0sICJXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0
dXJlcy5jcHAiKSkKIHByZWZlcmVuY2VzLnJlbmRlclRvRmlsZSgiUHJlZmVyZW5jZXNUZW1wbGF0
ZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAuZXJiIiwgRmlsZS5qb2lu
KG9wdGlvbnNbOm91dHB1dERpcmVjdG9yeV0sICJXZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZl
YXR1cmVzLmNwcCIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVu
Y2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIgYi9Tb3VyY2UvV2Vi
S2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9u
cy5oLmVyYgppbmRleCA5Y2I3MzJkZDRjZTc2MGZlZGIwYjAyYTdjYzI4MTgxODU0OGJkMWUyLi5l
Njc3NGUyNmJlODM0NDg2ZWI2NDU4ZWI4NmJjYzk2YzhmY2FmMzU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZp
bml0aW9ucy5oLmVyYgorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1w
bGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYgpAQCAtNDYsNiArNDYsMTMgQEAK
IDwlLSBlbmQgLSU+CiAgICAgXAogCisvLyBJbnRlcm5hbCBEZWJ1ZyBGZWF0dXJlcworCisjZGVm
aW5lIEZPUl9FQUNIX1dFQktJVF9JTlRFUk5BTF9ERUJVR19GRUFUVVJFX1BSRUZFUkVOQ0UobWFj
cm8pIFwKKzwlLSBmb3IgQHByZWYgaW4gQGludGVybmFsRGVidWdGZWF0dXJlcyBkbyAtJT4KKyAg
ICBtYWNybyg8JT0gQHByZWYubmFtZSAlPiwgPCU9IEBwcmVmLm5hbWVMb3dlciAlPiwgQm9vbCwg
Ym9vbCwgPCU9IEBwcmVmLmRlZmF1bHRWYWx1ZSAlPiwgPCU9IEBwcmVmLmh1bWFuUmVhZGFibGVO
YW1lICU+LCA8JT0gQHByZWYuaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uICU+KSBcCis8JS0gZW5k
IC0lPgorICAgXAogCiAvLyBFeHBlcmltZW50YWwgRmVhdHVyZXMKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcC5lcmIgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVy
ZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwLmVy
YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kOGFlOTUxMmY3NDZlYzYzZTRlYTE5ZGYwODhkMTM2NWJmNzdjZDcyCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxh
dGVzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcC5lcmIKQEAgLTAsMCAr
MSwxMjQgQEAKKy8qCisqIFRISVMgRklMRSBXQVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQsIERP
IE5PVCBFRElULgorKgorKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgorCisjaW5j
bHVkZSAiV2ViUHJlZmVyZW5jZXNLZXlzLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCis8JS0g
Zm9yIEBwcmVmIGluIEBpbnRlcm5hbERlYnVnRmVhdHVyZXMgZG8gLSU+Cit2b2lkIFdlYlByZWZl
cmVuY2VzOjpzZXQ8JT0gQHByZWYubmFtZSAlPihjb25zdCBib29sJiB2YWx1ZSkKK3sKKyAgICBp
ZiAoIW1fc3RvcmUuc2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8JT0gQHBy
ZWYubmFtZUxvd2VyICU+S2V5KCksIHZhbHVlKSkKKyAgICAgICAgcmV0dXJuOworICAgIHVwZGF0
ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdGZWF0dXJlS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8
JT0gQHByZWYubmFtZUxvd2VyICU+S2V5KCksIHZhbHVlKTsKK30KKworYm9vbCBXZWJQcmVmZXJl
bmNlczo6PCU9IEBwcmVmLm5hbWVMb3dlciAlPigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8JT0gQHByZWYubmFtZUxv
d2VyICU+S2V5KCkpOworfQorCis8JS0gZW5kIC0lPgorY29uc3QgVmVjdG9yPFJlZlB0cjxBUEk6
Ok9iamVjdD4+JiBXZWJQcmVmZXJlbmNlczo6aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKCkKK3sKKyAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+PiBmZWF0
dXJlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8UmVmUHRyPEFQSTo6T2JqZWN0Pj4geworPCUtIGZv
ciBAcHJlZiBpbiBAaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzIGRvIC0lPgorPCUtIGlmIEBwcmVmLmNv
bmRpdGlvbiAtJT4KKyNpZiA8JT0gQHByZWYuY29uZGl0aW9uICU+Cis8JS0gZW5kIC0lPgorICAg
ICAgICBBUEk6OkludGVybmFsRGVidWdGZWF0dXJlOjpjcmVhdGUoPCU9IEBwcmVmLmh1bWFuUmVh
ZGFibGVOYW1lICU+LCAiPCU9IEBwcmVmLm5hbWUgJT4iLCA8JT0gQHByZWYuaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uICU+LCA8JT0gQHByZWYuZGVmYXVsdFZhbHVlICU+LCA8JT0gQHByZWYuaGlk
ZGVuICU+KSwKKzwlLSBpZiBAcHJlZi5jb25kaXRpb24gLSU+CisjZW5kaWYKKzwlLSBlbmQgLSU+
Cis8JS0gZW5kIC0lPgorICAgIH0pOworCisgICAgcmV0dXJuIGZlYXR1cmVzOworfQorCitib29s
IFdlYlByZWZlcmVuY2VzOjppc0VuYWJsZWRGb3JGZWF0dXJlKGNvbnN0IEFQSTo6SW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUmIGZlYXR1cmUpIGNvbnN0Cit7CisgICAgc3RydWN0IEZlYXR1cmVHZXR0ZXJN
YXBwaW5nIHsKKyAgICAgICAgY29uc3QgY2hhciogbmFtZTsKKyAgICAgICAgYm9vbCAoV2ViUHJl
ZmVyZW5jZXM6OipmdW5jdGlvbikgKCkgY29uc3Q7CisgICAgfTsKKworICAgIHN0YXRpYyBGZWF0
dXJlR2V0dGVyTWFwcGluZyBnZXR0ZXJzW10gPSB7Cis8JS0gZm9yIEBwcmVmIGluIEBpbnRlcm5h
bERlYnVnRmVhdHVyZXMgZG8gLSU+Cis8JS0gaWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2lmIDwl
PSBAcHJlZi5jb25kaXRpb24gJT4KKzwlLSBlbmQgLSU+CisgICAgICAgIHsgIjwlPSBAcHJlZi5u
YW1lICU+IiwgJldlYlByZWZlcmVuY2VzOjo8JT0gQHByZWYubmFtZUxvd2VyICU+IH0sCis8JS0g
aWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2VuZGlmCis8JS0gZW5kIC0lPgorPCUtIGVuZCAtJT4K
KyAgICB9OworCisgICAgY29uc3QgU3RyaW5nJiBrZXkgPSBmZWF0dXJlLmtleSgpOworCisgICAg
Zm9yIChhdXRvJiBnZXR0ZXIgOiBnZXR0ZXJzKSB7CisgICAgICAgIGlmIChrZXkgPT0gZ2V0dGVy
Lm5hbWUpCisgICAgICAgICAgICByZXR1cm4gKHRoaXMtPipnZXR0ZXIuZnVuY3Rpb24pKCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXRF
bmFibGVkRm9yRmVhdHVyZShib29sIHZhbHVlLCBjb25zdCBBUEk6OkludGVybmFsRGVidWdGZWF0
dXJlJiBmZWF0dXJlKQoreworICAgIHN0cnVjdCBGZWF0dXJlU2V0dGVyTWFwcGluZyB7CisgICAg
ICAgIGNvbnN0IGNoYXIqIG5hbWU7CisgICAgICAgIHZvaWQgKFdlYlByZWZlcmVuY2VzOjoqZnVu
Y3Rpb24pIChjb25zdCBib29sJik7CisgICAgfTsKKworICAgIHN0YXRpYyBGZWF0dXJlU2V0dGVy
TWFwcGluZyBzZXR0ZXJzW10gPSB7Cis8JS0gZm9yIEBwcmVmIGluIEBpbnRlcm5hbERlYnVnRmVh
dHVyZXMgZG8gLSU+Cis8JS0gaWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2lmIDwlPSBAcHJlZi5j
b25kaXRpb24gJT4KKzwlLSBlbmQgLSU+CisgICAgICAgIHsgIjwlPSBAcHJlZi5uYW1lICU+Iiwg
JldlYlByZWZlcmVuY2VzOjpzZXQ8JT0gQHByZWYubmFtZSAlPiB9LAorPCUtIGlmIEBwcmVmLmNv
bmRpdGlvbiAtJT4KKyNlbmRpZgorPCUtIGVuZCAtJT4KKzwlLSBlbmQgLSU+CisgICAgfTsKKwor
ICAgIGNvbnN0IFN0cmluZyYga2V5ID0gZmVhdHVyZS5rZXkoKTsKKworICAgIGZvciAoYXV0byYg
c2V0dGVyIDogc2V0dGVycykgeworICAgICAgICBpZiAoa2V5ID09IHNldHRlci5uYW1lKSB7Cisg
ICAgICAgICAgICAodGhpcy0+KnNldHRlci5mdW5jdGlvbikodmFsdWUpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgfQorfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJ
T2JqZWN0LmgKaW5kZXggMWY2MDAzZmY1ZjRkOWRlNGYxODZlN2IxYTNiYTRlZDJhMTJkMmM3MC4u
YjBjYTU0ZDhmYWFiMjlkODkwMTg1NDBmYTY2NTBiOGFhYjE5NWEwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSS9BUElPYmplY3QuaApAQCAtMTEwLDYgKzExMCw3IEBAIHB1YmxpYzoKICAgICAgICAg
Q29udGVudFJ1bGVMaXN0U3RvcmUsCiAgICAgICAgIENvbnRleHRNZW51TGlzdGVuZXIsCiAgICAg
ICAgIENvb2tpZU1hbmFnZXIsCisgICAgICAgIEludGVybmFsRGVidWdGZWF0dXJlLAogICAgICAg
ICBEb3dubG9hZCwKICAgICAgICAgRXhwZXJpbWVudGFsRmVhdHVyZSwKICAgICAgICAgRm9ybVN1
Ym1pc3Npb25MaXN0ZW5lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L0FQSU9iamVjdC5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQpp
bmRleCA0NDhmZmQyOGFjYTdiOGYwZDkxMWQ3YzNjMmJkNzQ0ZjIyZjg0N2Y3Li5lY2MzNTJmMmZk
Zjk1YjRiZGNjY2NlMjA4YzdjMmRmZGQxMGFkOGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvQVBJT2JqZWN0Lm1tCkBAIC03Niw2ICs3Niw3IEBACiAjaW1wb3J0ICJfV0tHZW9sb2NhdGlv
blBvc2l0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0hpdFRlc3RSZXN1bHRJbnRlcm5hbC5o
IgogI2ltcG9ydCAiX1dLSW5zcGVjdG9ySW50ZXJuYWwuaCIKKyNpbXBvcnQgIl9XS0ludGVybmFs
RGVidWdGZWF0dXJlSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbkludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwuaCIK
ICNpbXBvcnQgIl9XS1VzZXJJbml0aWF0ZWRBY3Rpb25JbnRlcm5hbC5oIgpAQCAtMTk0LDYgKzE5
NSwxMCBAQCB2b2lkKiBPYmplY3Q6Om5ld09iamVjdChzaXplX3Qgc2l6ZSwgVHlwZSB0eXBlKQog
ICAgICAgICB3cmFwcGVyID0gW1dLTlNEYXRhIGFsbG9jXTsKICAgICAgICAgYnJlYWs7CiAKKyAg
ICBjYXNlIFR5cGU6OkludGVybmFsRGVidWdGZWF0dXJlOgorICAgICAgICB3cmFwcGVyID0gW19X
S0ludGVybmFsRGVidWdGZWF0dXJlIGFsbG9jXTsKKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNl
IFR5cGU6OkRpY3Rpb25hcnk6CiAgICAgICAgIHdyYXBwZXIgPSBbV0tOU0RpY3Rpb25hcnkgYWxs
b2NdOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sCmluZGV4IDRiZWU2Mzc5MDhlODQwNGY3N2YxNWEyYzI0MjI4ZjhjMzcwZmNhYWYuLjdlMDlh
MWVhY2ViNDAxNTAwZDQyZDFiMTI5ZDg0ZWIyYjM5OGI5NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTEzNCwxMyArMTEzNCw2IEBAIElzU2VjdXJlQ29u
dGV4dEF0dHJpYnV0ZUVuYWJsZWQ6CiAjICAgd2lkZXIgdGVzdGluZykuCiAKIAotQXN5bmNGcmFt
ZVNjcm9sbGluZ0VuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBmYWxzZQot
ICBodW1hblJlYWRhYmxlTmFtZTogIkFzeW5jIEZyYW1lIFNjcm9sbGluZyIKLSAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiUGVyZm9ybSBmcmFtZSBzY3JvbGxpbmcgaW4gYSBkZWRpY2F0ZWQg
dGhyZWFkIG9yIHByb2Nlc3MiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKLQogU3ByaW5nVGlt
aW5nRnVuY3Rpb25FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVM
VF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRApAQCAtMTE3MiwzOCArMTE2NSwxMCBAQCBJ
bnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ6CiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKICAg
Y29uZGl0aW9uOiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQogCi1NRE5TSUNFQ2FuZGlk
YXRlc0VuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICBodW1h
blJlYWRhYmxlTmFtZTogIkVuYWJsZSBNRE5TIElDRSBjYW5kaWRhdGVzIgotICBodW1hblJlYWRh
YmxlRGVzY3JpcHRpb246ICJFbmFibGUgTUROUyBJQ0UgY2FuZGlkYXRlcyIKLSAgd2ViY29yZUJp
bmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAot
ICBjb25kaXRpb246IEVOQUJMRShXRUJfUlRDKQotCi1GZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQ6
Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICBodW1hblJlYWRhYmxlTmFt
ZTogIkZldGNoIEFQSSBSZXF1ZXN0IEtlZXBBbGl2ZSIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiRW5hYmxlIEZldGNoIEFQSSBSZXF1ZXN0IEtlZXBBbGl2ZSIKLSAgY2F0ZWdvcnk6IGV4
cGVyaW1lbnRhbAotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwotICB3
ZWJjb3JlTmFtZTogZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkCi0KLVNlcnZpY2VXb3JrZXJzRW5h
YmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfU0VSVklDRV9XT1JL
RVJTX0VOQUJMRUQKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJTZXJ2aWNlV29ya2VycyIKLSAgaHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFNlcnZpY2VXb3JrZXJzIgotICBjYXRlZ29y
eTogZXhwZXJpbWVudGFsCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ci0gIHdlYmNvcmVOYW1lOiBzZXJ2aWNlV29ya2VyRW5hYmxlZAotICBjb25kaXRpb246IEVOQUJM
RShTRVJWSUNFX1dPUktFUikKLQogVmlzdWFsVmlld3BvcnRBUElFbmFibGVkOgogICB0eXBlOiBi
b29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxF
RAotICBodW1hblJlYWRhYmxlTmFtZTogIlZpc3VhbFZpZXdwb3J0QVBJIgorICBodW1hblJlYWRh
YmxlTmFtZTogIlZpc3VhbFZpZXdwb3J0IEFQSSIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiRW5hYmxlIFZpc3VhbCBWaWV3cG9ydCBBUEkiCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwK
IApAQCAtMTIyNSw3ICsxMTkwLDcgQEAgV2ViQW5pbWF0aW9uc0VuYWJsZWQ6CiBXZWJBbmltYXRp
b25zQ1NTSW50ZWdyYXRpb25FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTog
REVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRAotICBodW1hblJlYWRhYmxlTmFt
ZTogIldlYiBBbmltYXRpb25zIGFuZCBDU1MgSW50ZWdyYXRpb24iCisgIGh1bWFuUmVhZGFibGVO
YW1lOiAiQ1NTIEFuaW1hdGlvbnMgdmlhIFdlYiBBbmltYXRpb25zIgogICBodW1hblJlYWRhYmxl
RGVzY3JpcHRpb246ICJFeHBvc2UgQ1NTIEFuaW1hdGlvbnMgYW5kIENTUyBUcmFuc2l0aW9ucyB0
aHJvdWdoIGdldEFuaW1hdGlvbnMoKSIKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICB3ZWJj
b3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwpAQCAtMTI1NiwxNCArMTIyMSw2IEBA
IEFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVuYWJsZWQ6CiAgIGNhdGVnb3J5OiBleHBlcmltZW50
YWwKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAotQXJpYVJlZmxl
Y3Rpb25FbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICBodW1h
blJlYWRhYmxlTmFtZTogIkFSSUEgUmVmbGVjdGlvbiIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiQVJJQSBSZWZsZWN0aW9uIHN1cHBvcnQiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwK
LSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLQogV2ViVlJFbmFibGVk
OgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FWFBFUklNRU5UQUxfRkVB
VFVSRVNfRU5BQkxFRApAQCAtMTI3Myw3OCArMTIzMCwxMjYgQEAgV2ViVlJFbmFibGVkOgogICBj
YXRlZ29yeTogZXhwZXJpbWVudGFsCiAgIGNvbmRpdGlvbjogUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShXUEUpCiAKLVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGU6CitTZXJ2ZXJUaW1p
bmdFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJJVFAgRGVidWcgTW9kZSIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiSW50ZWxsaWdlbnQgVHJhY2tpbmcgUHJldmVudGlvbiBEZWJ1ZyBNb2RlIgorICBodW1hblJl
YWRhYmxlTmFtZTogIlNlcnZlciBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBTZXJ2ZXIgVGltaW5nIEFQSSIKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICB3
ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICB3ZWJjb3JlTmFtZTogc2Vy
dmVyVGltaW5nRW5hYmxlZAogCi1XZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQ1N1cHBvcnRFbmFi
bGVkOgorRW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOgogICB0eXBlOiBib29sCi0gIGRlZmF1bHRW
YWx1ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBU1RDIFRleHR1cmUgU3VwcG9ydCIK
LSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiU3VwcG9ydCBmb3IgQVNUQyBjb21wcmVzc2Vk
IHRleHR1cmUgZm9ybWF0cyBpbiBXZWJHTCIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICBk
ZWZhdWx0VmFsdWU6IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQKKyAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJNb2Rlcm4gRW5jcnlwdGVkIE1lZGlhIEFQSSIKKyAgaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uOiAiTW9kZXJuIEVuY3J5cHRlZCBNZWRpYSBBUEkiCiAgIHdlYmNvcmVC
aW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwK
KyAgY29uZGl0aW9uOiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCi1TZXJ2ZXJUaW1pbmdFbmFi
bGVkOgorV2ViQVBJU3RhdGlzdGljc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZh
bHVlOiBmYWxzZQotICBodW1hblJlYWRhYmxlTmFtZTogIlNlcnZlciBUaW1pbmciCi0gIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBTZXJ2ZXIgVGltaW5nIEFQSSIKLSAgY2F0ZWdv
cnk6IGV4cGVyaW1lbnRhbAorICBodW1hblJlYWRhYmxlTmFtZTogIldlYiBBUEkgU3RhdGlzdGlj
cyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYiBBUEkgU3RhdGlzdGlj
cyIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLSAgd2ViY29yZU5h
bWU6IHNlcnZlclRpbWluZ0VuYWJsZWQKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCisjIEZv
ciBpbnRlcm5hbCBmZWF0dXJlczoKKyMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xlYW4uCisjIFlv
dSBtdXN0IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFkYWJsZU5hbWUg
Zm9yIGFsbCBkZWJ1ZyBmZWF0dXJlcy4gVGhleQorIyAgIGFyZSB0aGUgdGV4dCBleHBvc2VkIHRv
IHRoZSB1c2VyIGZyb20gdGhlIFdlYktpdCBjbGllbnQuCiAKIEV4cGVyaW1lbnRhbFBsdWdJblNh
bmRib3hQcm9maWxlc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxz
ZQogICBodW1hblJlYWRhYmxlTmFtZTogIlNhbmRib3ggUGx1Zy1JbnMiCiAgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQbHVnLUluIHNhbmRib3hpbmciCi0gIGNhdGVnb3J5OiBk
ZWJ1ZworICBjYXRlZ29yeTogaW50ZXJuYWwKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMKICAgd2ViY29yZU5hbWU6IGV4cGVyaW1lbnRhbFBsdWdJblNhbmRib3hQcm9m
aWxlc0VuYWJsZWQKIAotRnVsbFNjcmVlbkVuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVs
dFZhbHVlOiBmYWxzZQotICBjb25kaXRpb246IEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgaGlk
ZGVuOiBFWFBFUklNRU5UQUxfRlVMTFNDUkVFTl9BUElfSElEREVOCi0gIGh1bWFuUmVhZGFibGVO
YW1lOiAiRnVsbHNjcmVlbiBBUEkiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkZ1bGxz
Y3JlZW4gQVBJIgotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCi0KLUVuY3J5cHRlZE1lZGlhQVBJ
RW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTX0VOQUJMRUQKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJNb2Rlcm4gRW5jcnlw
dGVkIE1lZGlhIEFQSSIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiTW9kZXJuIEVuY3J5
cHRlZCBNZWRpYSBBUEkiCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ci0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKLSAgY29uZGl0aW9uOiBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQotCiBQcm9jZXNzU3dhcE9uQ3Jvc3NTaXRlTmF2aWdhdGlvbkVuYWJsZWQ6CiAgIHR5
cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBodW1hblJlYWRhYmxlTmFtZTogIlN3
YXAgUHJvY2Vzc2VzIG9uIENyb3NzLVNpdGUgTmF2aWdhdGlvbiIKICAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiU3dhcCBXZWJDb250ZW50IHByb2Nlc3NlcyBvbiBjcm9zcy1zaXRlIG5hdmln
YXRpb25zIgotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIGNhdGVnb3J5OiBpbnRlcm5hbAog
ICB3ZWJjb3JlQmluZGluZzogbm9uZQogCiBTb3VyY2VCdWZmZXJDaGFuZ2VUeXBlRW5hYmxlZDoK
ICAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTX0VOQUJMRUQKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICBodW1hblJlYWRhYmxlTmFtZTog
Ik1lZGlhIFNvdXJjZSBDb2RlYyBTd2l0Y2hpbmcgU3VwcG9ydCIKICAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIE1lZGlhIFNvdXJjZSBDb2RlYyBTd2l0Y2hpbmcgdGhyb3VnaCBj
aGFuZ2VUeXBlKCkiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgY2F0ZWdvcnk6IGludGVy
bmFsCiAgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NPVVJDRSkKIAotV2ViQVBJU3RhdGlzdGlj
c0VuYWJsZWQ6CitSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlOgogICB0eXBlOiBib29s
CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWIgQVBJIFN0
YXRpc3RpY3MiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBXZWIgQVBJIFN0
YXRpc3RpY3MiCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiSVRQIERlYnVnIE1vZGUiCisgIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkludGVsbGlnZW50IFRyYWNraW5nIFByZXZlbnRpb24gRGVi
dWcgTW9kZSIKKyAgY2F0ZWdvcnk6IGludGVybmFsCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCisKK1NlcnZpY2VXb3JrZXJzRW5hYmxlZDoKKyAgdHlwZTogYm9vbAor
ICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfU0VSVklDRV9XT1JLRVJTX0VOQUJMRUQKKyAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJTZXJ2aWNlV29ya2VycyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiRW5hYmxlIFNlcnZpY2VXb3JrZXJzIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgd2ViY29yZU5hbWU6IHNlcnZpY2VX
b3JrZXJFbmFibGVkCisgIGNvbmRpdGlvbjogRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorCitBc3lu
Y0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZh
bHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiQXN5bmMgRnJhbWUgU2Nyb2xsaW5nIgorICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJQZXJmb3JtIGZyYW1lIHNjcm9sbGluZyBpbiBhIGRlZGlj
YXRlZCB0aHJlYWQgb3IgcHJvY2VzcyIKKyAgY2F0ZWdvcnk6IGludGVybmFsCisKK01ETlNJQ0VD
YW5kaWRhdGVzRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisg
IGh1bWFuUmVhZGFibGVOYW1lOiAiRW5hYmxlIE1ETlMgSUNFIGNhbmRpZGF0ZXMiCisgIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBNRE5TIElDRSBjYW5kaWRhdGVzIgorICB3ZWJj
b3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICBjYXRlZ29yeTogaW50ZXJuYWwK
KyAgY29uZGl0aW9uOiBFTkFCTEUoV0VCX1JUQykKKworRmV0Y2hBUElLZWVwQWxpdmVFbmFibGVk
OgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJGZXRjaCBBUEkgUmVxdWVzdCBLZWVwQWxpdmUiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBGZXRjaCBBUEkgUmVxdWVzdCBLZWVwQWxpdmUiCisgIGNhdGVnb3J5OiBp
bnRlcm5hbAorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICB3ZWJj
b3JlTmFtZTogZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkCisKK1dlYkdMQ29tcHJlc3NlZFRleHR1
cmVBU1RDU3VwcG9ydEVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxz
ZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFTVEMgVGV4dHVyZSBTdXBwb3J0IgorICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJTdXBwb3J0IGZvciBBU1RDIGNvbXByZXNzZWQgdGV4dHVyZSBm
b3JtYXRzIGluIFdlYkdMIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgd2ViY29yZUJpbmRpbmc6
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKworRnVsbFNjcmVlbkVuYWJsZWQ6CisgIHR5cGU6IGJv
b2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBjb25kaXRpb246IEVOQUJMRShGVUxMU0NSRUVO
X0FQSSkKKyAgaGlkZGVuOiBFWFBFUklNRU5UQUxfRlVMTFNDUkVFTl9BUElfSElEREVOCisgIGh1
bWFuUmVhZGFibGVOYW1lOiAiRnVsbHNjcmVlbiBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkZ1bGxzY3JlZW4gQVBJIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKworQXJpYVJlZmxl
Y3Rpb25FbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1h
blJlYWRhYmxlTmFtZTogIkFSSUEgUmVmbGVjdGlvbiIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiQVJJQSBSZWZsZWN0aW9uIHN1cHBvcnQiCisgIGNhdGVnb3J5OiBpbnRlcm5hbAogICB3
ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwotICBjYXRlZ29yeTogZXhwZXJp
bWVudGFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dAppbmRleCA5NDdjZmQ0NzQ0MjIwNmU2NDk0MmJkOTA3M2JjMTMxY2Zj
OTNiMzU3Li5kYWQ3MDNhOGNjY2I5NTU1YTMxYmUzY2M1OTM3MWQ0ZmMyNmVhYWIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNl
cy50eHQKQEAgLTI5Miw2ICsyOTIsNyBAQCBVSVByb2Nlc3MvQVBJL0FQSUV4cGVyaW1lbnRhbEZl
YXR1cmUuY3BwCiBVSVByb2Nlc3MvQVBJL0FQSUZyYW1lSW5mby5jcHAKIFVJUHJvY2Vzcy9BUEkv
QVBJSFRUUENvb2tpZVN0b3JlLmNwcAogVUlQcm9jZXNzL0FQSS9BUElIaXRUZXN0UmVzdWx0LmNw
cAorVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHAKIFVJUHJvY2Vzcy9B
UEkvQVBJTmF2aWdhdGlvbi5jcHAKIFVJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbkRhdGEuY3Bw
CiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CmluZGV4IDE2ZDA3YmEwMzNjZTg3Y2ZlMzc2OWFiM2RlOGY4Mjk2MGJhNzI5ODYuLjJmYjhl
MWFiZTVhNzU1ZTJjYzRhYWUzYWQ2MDA4MGI4ODM2MzU2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKQEAgLTI0MCw2ICsyNDAsNyBAQCBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0Vycm9yUmVjb3Zl
cnlBdHRlbXB0aW5nLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0V4cGVyaW1lbnRhbEZlYXR1
cmUubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbQogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3IubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLTGlua0ljb25Q
YXJhbWV0ZXJzLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbi5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29u
dHJvbGxlci5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUlu
dGVybmFsRGVidWdGZWF0dXJlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJ
bnRlcm5hbERlYnVnRmVhdHVyZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ2MGY2Mjk5NGIwMjYzNzQxNTYx
NDI3NjgyYzc3NDRmYWE2NjYxYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHAKQEAgLTAsMCArMSw0OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBUElJbnRlcm5hbERl
YnVnRmVhdHVyZS5oIgorCituYW1lc3BhY2UgQVBJIHsKKworUmVmPEludGVybmFsRGVidWdGZWF0
dXJlPiBJbnRlcm5hbERlYnVnRmVhdHVyZTo6Y3JlYXRlKGNvbnN0IFdURjo6U3RyaW5nJiBuYW1l
LCBjb25zdCBXVEY6OlN0cmluZyYga2V5LCBjb25zdCBXVEY6OlN0cmluZyYgZGV0YWlscywgYm9v
bCBkZWZhdWx0VmFsdWUsIGJvb2wgaGlkZGVuKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEludGVybmFsRGVidWdGZWF0dXJlKG5hbWUsIGtleSwgZGV0YWlscywgZGVmYXVsdFZhbHVlLCBo
aWRkZW4pKTsKK30KKworSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6OkludGVybmFsRGVidWdGZWF0dXJl
KGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lLCBjb25zdCBXVEY6OlN0cmluZyYga2V5LCBjb25zdCBX
VEY6OlN0cmluZyYgZGV0YWlscywgYm9vbCBkZWZhdWx0VmFsdWUsIGJvb2wgaGlkZGVuKQorICAg
IDogbV9uYW1lKG5hbWUpCisgICAgLCBtX2tleShrZXkpCisgICAgLCBtX2RldGFpbHMoZGV0YWls
cykKKyAgICAsIG1fZGVmYXVsdFZhbHVlKGRlZmF1bHRWYWx1ZSkKKyAgICAsIG1faGlkZGVuKGhp
ZGRlbikKK3sKK30KKworSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6On5JbnRlcm5hbERlYnVnRmVhdHVy
ZSgpCit7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElJbnRlcm5hbERlYnVnRmVhdHVyZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SUludGVybmFsRGVidWdGZWF0dXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE4OWJlY2VjNzc0ZjFlOTQ2OWZj
OGQ2YWYxY2JkZmIzNGI2YWExOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgQVBJIHsKKworY2xhc3MgSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmUgZmluYWwgOiBwdWJsaWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6
OkludGVybmFsRGVidWdGZWF0dXJlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxJbnRlcm5h
bERlYnVnRmVhdHVyZT4gY3JlYXRlKGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lLCBjb25zdCBXVEY6
OlN0cmluZyYga2V5LCBjb25zdCBXVEY6OlN0cmluZyYgZGV0YWlscywgYm9vbCBkZWZhdWx0VmFs
dWUsIGJvb2wgaGlkZGVuKTsKKyAgICB2aXJ0dWFsIH5JbnRlcm5hbERlYnVnRmVhdHVyZSgpOwor
CisgICAgV1RGOjpTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIFdU
Rjo6U3RyaW5nIGtleSgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5OyB9CisgICAgV1RGOjpTdHJpbmcg
ZGV0YWlscygpIGNvbnN0IHsgcmV0dXJuIG1fZGV0YWlsczsgfQorICAgIGJvb2wgZGVmYXVsdFZh
bHVlKCkgY29uc3QgeyByZXR1cm4gbV9kZWZhdWx0VmFsdWU7IH0KKyAgICBib29sIGlzSGlkZGVu
KCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW47IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBJ
bnRlcm5hbERlYnVnRmVhdHVyZShjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgY29uc3QgV1RGOjpT
dHJpbmcmIGtleSwgY29uc3QgV1RGOjpTdHJpbmcmIGRldGFpbHMsIGJvb2wgZGVmYXVsdFZhbHVl
LCBib29sIGhpZGRlbik7CisKKyAgICBXVEY6OlN0cmluZyBtX25hbWU7CisgICAgV1RGOjpTdHJp
bmcgbV9rZXk7CisgICAgV1RGOjpTdHJpbmcgbV9kZXRhaWxzOworICAgIGJvb2wgbV9kZWZhdWx0
VmFsdWU7CisgICAgYm9vbCBtX2hpZGRlbjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tBUElDYXN0LmgKaW5kZXggZTY1ZmQ5NzAyNmNlOWQ5ODI4NDNiMzliYjZmODc5
OGUyODc0OTEyZS4uNzE4NzA3ZmE5MTM2ZTM5NjViNjFiY2M5MGQ3OTVmODM2MTg1NGEzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTU0LDYgKzU0LDcg
QEAKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgQ29udGVudFJ1bGVMaXN0OwogY2xhc3MgQ29udGVu
dFJ1bGVMaXN0U3RvcmU7CitjbGFzcyBJbnRlcm5hbERlYnVnRmVhdHVyZTsKIGNsYXNzIEV4cGVy
aW1lbnRhbEZlYXR1cmU7CiBjbGFzcyBGcmFtZUhhbmRsZTsKIGNsYXNzIEZyYW1lSW5mbzsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2Vz
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0K
aW5kZXggM2U4MjdlYzQ0YjIxZTcxYTViNDY1ZjNlOGE2NTA5YTI3MDY2NDU1MC4uMTVhZWI5ZTVj
MjU5MWRmNjZhNWRkM2Y1YTAzNjI2NDQ2MmJiYmRjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KQEAgLTM0LDYgKzM0LDggQEAK
ICNpbXBvcnQgIldlYlByZWZlcmVuY2VzLmgiCiAjaW1wb3J0ICJfV0tFeHBlcmltZW50YWxGZWF0
dXJlLmgiCiAjaW1wb3J0ICJfV0tFeHBlcmltZW50YWxGZWF0dXJlSW50ZXJuYWwuaCIKKyNpbXBv
cnQgIl9XS0ludGVybmFsRGVidWdGZWF0dXJlLmgiCisjaW1wb3J0ICJfV0tJbnRlcm5hbERlYnVn
RmVhdHVyZUludGVybmFsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1NldHRpbmdzLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBA
IC01MjcsMTggKzUyOSw0NiBAQCBzdGF0aWMgX1dLU3RvcmFnZUJsb2NraW5nUG9saWN5IHRvQVBJ
KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tpbmdQbwogICAgIF9wcmVmZXJl
bmNlcy0+c2V0Rml4ZWRGb250RmFtaWx5KGZpeGVkUGl0Y2hGb250RmFtaWx5KTsKIH0KIAorKyAo
TlNBcnJheTxfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqPiAqKV9pbnRlcm5hbERlYnVnRmVhdHVy
ZXMKK3sKKyAgICBhdXRvIGZlYXR1cmVzID0gV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6aW50ZXJu
YWxEZWJ1Z0ZlYXR1cmVzKCk7CisgICAgcmV0dXJuIHdyYXBwZXIoQVBJOjpBcnJheTo6Y3JlYXRl
KFdURk1vdmUoZmVhdHVyZXMpKSk7Cit9CisKKy0gKEJPT0wpX2lzRW5hYmxlZEZvckludGVybmFs
RGVidWdGZWF0dXJlOihfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqKWZlYXR1cmUKK3sKKyAgICBy
ZXR1cm4gX3ByZWZlcmVuY2VzLT5pc0VuYWJsZWRGb3JGZWF0dXJlKCpmZWF0dXJlLT5faW50ZXJu
YWxEZWJ1Z0ZlYXR1cmUpOworfQorCistICh2b2lkKV9zZXRFbmFibGVkOihCT09MKXZhbHVlIGZv
ckludGVybmFsRGVidWdGZWF0dXJlOihfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqKWZlYXR1cmUK
K3sKKyAgICBfcHJlZmVyZW5jZXMtPnNldEVuYWJsZWRGb3JGZWF0dXJlKHZhbHVlLCAqZmVhdHVy
ZS0+X2ludGVybmFsRGVidWdGZWF0dXJlKTsKK30KKwogKyAoTlNBcnJheTxfV0tFeHBlcmltZW50
YWxGZWF0dXJlICo+ICopX2V4cGVyaW1lbnRhbEZlYXR1cmVzCiB7CiAgICAgYXV0byBmZWF0dXJl
cyA9IFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmV4cGVyaW1lbnRhbEZlYXR1cmVzKCk7CiAgICAg
cmV0dXJuIHdyYXBwZXIoQVBJOjpBcnJheTo6Y3JlYXRlKFdURk1vdmUoZmVhdHVyZXMpKSk7CiB9
CiAKKy8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIFNhZmFyaSBoYXMgYWRvcHRlZCB0aGUgbmV3
IEFQSS4KIC0gKEJPT0wpX2lzRW5hYmxlZEZvckZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1
cmUgKilmZWF0dXJlCiB7Ci0gICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+aXNFbmFibGVkRm9yRmVh
dHVyZSgqZmVhdHVyZS0+X2V4cGVyaW1lbnRhbEZlYXR1cmUpOworICAgIHJldHVybiBbc2VsZiBf
aXNFbmFibGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZTpmZWF0dXJlXTsKIH0KIAorLy8gRklYTUU6
IFJlbW92ZSB0aGlzIG9uY2UgU2FmYXJpIGhhcyBhZG9wdGVkIHRoZSBuZXcgQVBJLgogLSAodm9p
ZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0
dXJlICopZmVhdHVyZQoreworICAgIFtzZWxmIF9zZXRFbmFibGVkOnZhbHVlIGZvckV4cGVyaW1l
bnRhbEZlYXR1cmU6ZmVhdHVyZV07Cit9CisKKy0gKEJPT0wpX2lzRW5hYmxlZEZvckV4cGVyaW1l
bnRhbEZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKilmZWF0dXJlCit7CisgICAgcmV0
dXJuIF9wcmVmZXJlbmNlcy0+aXNFbmFibGVkRm9yRmVhdHVyZSgqZmVhdHVyZS0+X2V4cGVyaW1l
bnRhbEZlYXR1cmUpOworfQorCistICh2b2lkKV9zZXRFbmFibGVkOihCT09MKXZhbHVlIGZvckV4
cGVyaW1lbnRhbEZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKilmZWF0dXJlCiB7CiAg
ICAgX3ByZWZlcmVuY2VzLT5zZXRFbmFibGVkRm9yRmVhdHVyZSh2YWx1ZSwgKmZlYXR1cmUtPl9l
eHBlcmltZW50YWxGZWF0dXJlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggMzg3OWUzNWVkMzI1
ZTg1N2IwYzVhYjczY2Q3YmRhYzQxOWU2NTMzYy4uZjU3ZWY0N2YwNDBkY2FhMTA0YjdiYTlmMjYw
MDZjZDdlOWUyOGE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTU0LDYgKzU0LDcgQEAgdHlwZWRl
ZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IpIHsKICAgICBfV0tF
ZGl0YWJsZUxpbmtCZWhhdmlvck5ldmVyTGl2ZSwKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTMuNCksIGlvcygxMS4zKSk7CiAKK0BjbGFzcyBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZTsK
IEBjbGFzcyBfV0tFeHBlcmltZW50YWxGZWF0dXJlOwogCiBAaW50ZXJmYWNlIFdLUHJlZmVyZW5j
ZXMgKCkgPE5TQ29weWluZz4KQEAgLTEzMCw5ICsxMzEsMTUgQEAgdHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IpIHsKIAogQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0QVZGb3VuZGF0aW9uRW5hYmxlZDopIEJPT0wgX2F2Rm91bmRhdGlvbkVu
YWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTApLCBpb3MoV0tfSU9TX1RCQSkpOwog
CisrIChOU0FycmF5PF9XS0ludGVybmFsRGVidWdGZWF0dXJlICo+ICopX2ludGVybmFsRGVidWdG
ZWF0dXJlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKKy0gKEJPT0wpX2lzRW5hYmxlZEZvckludGVybmFsRGVidWdGZWF0dXJlOihfV0tJbnRl
cm5hbERlYnVnRmVhdHVyZSAqKWZlYXR1cmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CistICh2b2lkKV9zZXRFbmFibGVkOihCT09MKXZhbHVl
IGZvckludGVybmFsRGVidWdGZWF0dXJlOihfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqKWZlYXR1
cmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
CisKICsgKE5TQXJyYXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqKV9leHBlcmltZW50YWxG
ZWF0dXJlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CiAtIChC
T09MKV9pc0VuYWJsZWRGb3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVy
ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CiAtICh2b2lkKV9z
ZXRFbmFibGVkOihCT09MKXZhbHVlIGZvckZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUg
KilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKKy0g
KEJPT0wpX2lzRW5hYmxlZEZvckV4cGVyaW1lbnRhbEZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZl
YXR1cmUgKilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjAp
KTsKKy0gKHZvaWQpX3NldEVuYWJsZWQ6KEJPT0wpdmFsdWUgZm9yRXhwZXJpbWVudGFsRmVhdHVy
ZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goMTAuMTIpLCBpb3MoMTAuMCkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRTaG91bGRFbmFibGVUZXh0QXV0b3NpemluZ0Jvb3N0OikgQk9PTCBfc2hvdWxkRW5hYmxlVGV4
dEF1dG9zaXppbmdCb29zdCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTdhOWQ1
ZjUyYTA0NTk5NmNiNzNhMGMyMWJkMjQ2OGI2Mjc2NWIzCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlLmgK
QEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRp
b24uaD4KKworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorCitXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKQor
QGludGVyZmFjZSBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSA6IE5TT2JqZWN0CisKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNTdHJpbmcgKmtleTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNTdHJpbmcgKm5hbWU7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICpkZXRhaWxzOworQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGRlZmF1bHRWYWx1ZTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSwgZ2V0dGVyPWlzSGlkZGVuKSBCT09MIGhpZGRlbjsKKworQGVuZAorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJ
bnRlcm5hbERlYnVnRmVhdHVyZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Yzc4NzA3NDU1NjI4ODMw
MDYyNTNhM2Y2NzMyYjk0Zjg4ODYwNmVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlLm1tCkBAIC0wLDAg
KzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIl9XS0lu
dGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCIKKworI2lmIFdLX0FQSV9FTkFCTEVECisKK0Bp
bXBsZW1lbnRhdGlvbiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZQorCistICh2b2lkKWRlYWxsb2MK
K3sKKyAgICBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmUtPkFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6
On5JbnRlcm5hbERlYnVnRmVhdHVyZSgpOworCisgICAgW3N1cGVyIGRlYWxsb2NdOworfQorCist
IChOU1N0cmluZyAqKWRlc2NyaXB0aW9uCit7CisgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdX
aXRoRm9ybWF0OkAiPCVAOiAlcDsgbmFtZSA9ICVAOyBrZXkgPSAlQDsgZGVmYXVsdFZhbHVlID0g
JXMgPiIsIE5TU3RyaW5nRnJvbUNsYXNzKHNlbGYuY2xhc3MpLCBzZWxmLCBzZWxmLm5hbWUsIHNl
bGYua2V5LCBzZWxmLmRlZmF1bHRWYWx1ZSA/ICJvbiIgOiAib2ZmIl07Cit9CisKKy0gKE5TU3Ry
aW5nICopbmFtZQoreworICAgIHJldHVybiBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmUtPm5hbWUoKTsK
K30KKworLSAoTlNTdHJpbmcgKilrZXkKK3sKKyAgICByZXR1cm4gX2ludGVybmFsRGVidWdGZWF0
dXJlLT5rZXkoKTsKK30KKworLSAoTlNTdHJpbmcgKilkZXRhaWxzCit7CisgICAgcmV0dXJuIF9p
bnRlcm5hbERlYnVnRmVhdHVyZS0+ZGV0YWlscygpOworfQorCistIChCT09MKWRlZmF1bHRWYWx1
ZQoreworICAgIHJldHVybiBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmUtPmRlZmF1bHRWYWx1ZSgpOwor
fQorCistIChCT09MKWlzSGlkZGVuCit7CisgICAgcmV0dXJuIF9pbnRlcm5hbERlYnVnRmVhdHVy
ZS0+aXNIaWRkZW4oKTsKK30KKworI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxl
bWVudGF0aW9uCisKKy0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0Cit7CisgICAgcmV0dXJuICpf
aW50ZXJuYWxEZWJ1Z0ZlYXR1cmU7Cit9CisKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJ
bnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFs
RGVidWdGZWF0dXJlSW50ZXJuYWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZmZlOWMxMjkyMTU0OWQ1ZGRhNTAy
NjgwNDkyODE1NDQ5ZDk4MjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaApAQCAtMCww
ICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUu
aCIKKworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpbXBvcnQgIkFQSUludGVybmFsRGVidWdGZWF0
dXJlLmgiCisjaW1wb3J0ICJXS09iamVjdC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordGVt
cGxhdGU8PiBzdHJ1Y3QgV3JhcHBlclRyYWl0czxBUEk6OkludGVybmFsRGVidWdGZWF0dXJlPiB7
CisgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU7Cit9Owor
Cit9CisKK0BpbnRlcmZhY2UgX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKCkgPFdLT2JqZWN0PiB7
CitAcGFja2FnZQorICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxBUEk6OkludGVybmFsRGVidWdGZWF0
dXJlPiBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmU7Cit9CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IDA4NGJlZDNlYzFiZWQ2MmIy
NDJmNmJiZmE0ODAxODBkOGVmMjM4NTQuLjQ0YTBhMDJiOThiYzZjYjFiMTMxMmRkNmUzYTViYjI0
Y2YzMmQxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVu
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAK
QEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVCb29sVmFsdWVG
b3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIGJvb2wgdmFsdWUpCiAgICAgdXBkYXRlKCk7IC8vIEZJ
WE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVlLgogfQogCi12b2lk
IFdlYlByZWZlcmVuY2VzOjp1cGRhdGVCb29sVmFsdWVGb3JFeHBlcmltZW50YWxGZWF0dXJlS2V5
KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQordm9pZCBXZWJQcmVmZXJlbmNlczo6dXBk
YXRlQm9vbFZhbHVlRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmVLZXkoY29uc3QgU3RyaW5nJiBrZXks
IGJvb2wgdmFsdWUpCiB7CiAgICAgaWYgKGtleSA9PSBXZWJQcmVmZXJlbmNlc0tleTo6cHJvY2Vz
c1N3YXBPbkNyb3NzU2l0ZU5hdmlnYXRpb25FbmFibGVkS2V5KCkpIHsKICAgICAgICAgZm9yIChh
dXRvKiBwYWdlIDogbV9wYWdlcykKQEAgLTE0Myw2ICsxNDMsMTEgQEAgdm9pZCBXZWJQcmVmZXJl
bmNlczo6dXBkYXRlQm9vbFZhbHVlRm9yRXhwZXJpbWVudGFsRmVhdHVyZUtleShjb25zdCBTdHJp
bmcmIGtleSwKICAgICB1cGRhdGUoKTsgLy8gRklYTUU6IE9ubHkgc2VuZCBvdmVyIHRoZSBjaGFu
Z2VkIGtleSBhbmQgdmFsdWUuCiB9CiAKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xW
YWx1ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmVLZXkoY29uc3QgU3RyaW5nJiBrZXksIGJvb2wgdmFs
dWUpCit7CisgICAgdXBkYXRlKCk7IC8vIEZJWE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdl
ZCBrZXkgYW5kIHZhbHVlLgorfQorCiB2b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVVSW50MzJW
YWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgdWludDMyX3QgdmFsdWUpCiB7CiAgICAgcGxh
dGZvcm1VcGRhdGVVSW50MzJWYWx1ZUZvcktleShrZXksIHZhbHVlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IDMzZTg0YTJmZmMxMDBlZDM3NWMxNjU2MTE1
NWYzYmIyZjE0ZmFjMDUuLjhlODFlNjIxMTJlMjIxMDIxYTc0N2E1MGVhZjhhMjgyZWUyMTNiM2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaApAQCAtMjYsNiArMjYs
NyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBUElFeHBlcmltZW50YWxGZWF0dXJlLmgi
CisjaW5jbHVkZSAiQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCIKICNpbmNsdWRlICJBUElPYmpl
Y3QuaCIKICNpbmNsdWRlICJGb250U21vb3RoaW5nTGV2ZWwuaCIKICNpbmNsdWRlICJXZWJQcmVm
ZXJlbmNlc0RlZmluaXRpb25zLmgiCkBAIC02MCw4ICs2MSwxMyBAQCBwdWJsaWM6CiAKICAgICBG
T1JfRUFDSF9XRUJLSVRfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9T
RVRURVJTKQogICAgIEZPUl9FQUNIX1dFQktJVF9ERUJVR19QUkVGRVJFTkNFKERFQ0xBUkVfUFJF
RkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMpCisgICAgRk9SX0VBQ0hfV0VCS0lUX0lOVEVSTkFM
X0RFQlVHX0ZFQVRVUkVfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9T
RVRURVJTKQogICAgIEZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5UQUxfRkVBVFVSRV9QUkVGRVJF
TkNFKERFQ0xBUkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMpCiAKKyAgICBzdGF0aWMg
Y29uc3QgVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+JiBpbnRlcm5hbERlYnVnRmVhdHVyZXMo
KTsKKyAgICBib29sIGlzRW5hYmxlZEZvckZlYXR1cmUoY29uc3QgQVBJOjpJbnRlcm5hbERlYnVn
RmVhdHVyZSYpIGNvbnN0OworICAgIHZvaWQgc2V0RW5hYmxlZEZvckZlYXR1cmUoYm9vbCwgY29u
c3QgQVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZSYpOworCiAgICAgc3RhdGljIGNvbnN0IFZlY3Rv
cjxSZWZQdHI8QVBJOjpPYmplY3Q+PiYgZXhwZXJpbWVudGFsRmVhdHVyZXMoKTsKICAgICBib29s
IGlzRW5hYmxlZEZvckZlYXR1cmUoY29uc3QgQVBJOjpFeHBlcmltZW50YWxGZWF0dXJlJikgY29u
c3Q7CiAgICAgdm9pZCBzZXRFbmFibGVkRm9yRmVhdHVyZShib29sLCBjb25zdCBBUEk6OkV4cGVy
aW1lbnRhbEZlYXR1cmUmKTsKQEAgLTc5LDYgKzg1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
dXBkYXRlU3RyaW5nVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYg
dmFsdWUpOwogICAgIHZvaWQgdXBkYXRlQm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5
LCBib29sIHZhbHVlKTsKKyAgICB2b2lkIHVwZGF0ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdG
ZWF0dXJlS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKTsKICAgICB2b2lkIHVwZGF0
ZUJvb2xWYWx1ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmVLZXkoY29uc3QgU3RyaW5nJiBrZXksIGJv
b2wgdmFsdWUpOwogICAgIHZvaWQgdXBkYXRlVUludDMyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5n
JiBrZXksIHVpbnQzMl90IHZhbHVlKTsKICAgICB2b2lkIHVwZGF0ZURvdWJsZVZhbHVlRm9yS2V5
KGNvbnN0IFN0cmluZyYga2V5LCBkb3VibGUgdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDE0YjY3NDY5Y2FlZWMxNDI1MzJjMGE5ZTUwNjhh
NDU3MTVjZjgwM2IuLjRiYmQ3MzZjYjkzZjlkOGJkNjlkY2NkNmRhZmVhODg3MzY5N2NlMGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTExNTksNyAr
MTE1OSw3IEBAIFJlZjxXZWJQYWdlUHJveHk+IFdlYlByb2Nlc3NQb29sOjpjcmVhdGVXZWJQYWdl
KFBhZ2VDbGllbnQmIHBhZ2VDbGllbnQsIFJlZjxBUEk6CiAgICAgYXV0byBwYWdlID0gcHJvY2Vz
cy0+Y3JlYXRlV2ViUGFnZShwYWdlQ2xpZW50LCBXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7
CiAgICAgaWYgKHBhZ2UtPnByZWZlcmVuY2VzKCkucHJvY2Vzc1N3YXBPbkNyb3NzU2l0ZU5hdmln
YXRpb25FbmFibGVkKCkpIHsKICAgICAgICAgbV9jb25maWd1cmF0aW9uLT5zZXRQcm9jZXNzU3dh
cHNPbk5hdmlnYXRpb24odHJ1ZSk7Ci0gICAgICAgIC8vIEZJWE1FOiBGb3Igbm93LCB0dXJuaW5n
IG9uIFBTT04gZnJvbSB0aGUgZXhwZXJpbWVudGFsIGZlYXR1cmVzIG1lbnUgYWxzbyB0dXJucyBv
bgorICAgICAgICAvLyBGSVhNRTogRm9yIG5vdywgdHVybmluZyBvbiBQU09OIGZyb20gdGhlIGRl
YnVnIGZlYXR1cmVzIG1lbnUgYWxzbyB0dXJucyBvbgogICAgICAgICAvLyBhdXRvbWF0aWMgcHJv
Y2VzcyB3YXJtaW5nIHVudGlsIGNsaWVudHMgY2FuIGJlIHVwZGF0ZWQuCiAgICAgICAgIG1fY29u
ZmlndXJhdGlvbi0+c2V0SXNBdXRvbWF0aWNQcm9jZXNzV2FybWluZ0VuYWJsZWQodHJ1ZSk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggN2E0NmJmNTRkZWQ2Mzk3YzRhOGRiYTlhOGZjMTNmNWYxNWQwOWQyZS4uZjY4MTcxOWU1
MjZlODUwY2I3YjI5NjliZTg5YzMxMGQzNzA5NGNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NTEsNiArNzUxLDEwIEBACiAJCTMx
QTJFQzc0MTQ4RDU5Q0EwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM3
MjE0OEQ1OUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxQTUwNUZB
MTY4MDAyNTUwMEE5MzBFQiAvKiBXZWJDb250ZXh0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE1MDVGODE2ODAwMjU1MDBBOTMwRUIgLyog
V2ViQ29udGV4dENsaWVudC5oICovOyB9OwogCQkzMUE2N0UwRDE2NUIyQTk5MDA2Q0JBNjYgLyog
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3Rh
cnRQcm92aWRlci5oICovOyB9OworCQkzMUIzNjI4RjIxNDFFQTVEMDA3QkZBNTMgLyogQVBJSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxQjM2MjhFMjE0MUVBNEQwMDdCRkE1MyAvKiBBUElJbnRlcm5hbERlYnVnRmVh
dHVyZS5oICovOyB9OworCQkzMUIzNjI5NTIxNDFFQkNEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxQjM2Mjk0MjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTMxQjM2
Mjk3MjE0MUVCRDkwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIzNjI5MzIx
NDFFQkFEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oICovOyB9
OworCQkzMUIzNjI5OTIxNDFGNkU4MDA3QkZBNTMgLyogV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERl
YnVnRmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzFCMzYyOTgyMTQxRjZFMDAwN0JGQTUzIC8qIFdlYlByZWZlcmVuY2VzSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmVzLmNwcCAqLzsgfTsKIAkJMzFCQTkyNEQxNDg4MzEyNjAwNjJFREI1IC8qIFdl
Yk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFCQTkyNDgxNDg4MzA4MTAwNjJFREI1IC8q
IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMUJB
OTI0RTE0ODgzMTI2MDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUJBOTI0OTE0
ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi87IH07
CiAJCTMxRDU5MjlGMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDU5MjlEMTY2RTA2MDAw
MEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCAqLzsgfTsKQEAgLTI4NDIsNiArMjg0NiwxMiBA
QAogCQkzMUE1MDVGODE2ODAwMjU1MDBBOTMwRUIgLyogV2ViQ29udGV4dENsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0Q2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTY3RTBBMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5B
dXRvU3RhcnRQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxQTY3RTBCMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUIzNjI4RTIxNDFFQTREMDA3QkZB
NTMgLyogQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJSW50ZXJu
YWxEZWJ1Z0ZlYXR1cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFCMzYyOTAy
MTQxRUFCQzAwN0JGQTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFCMzYyOTIyMTQxRUJBQzAwN0JGQTUzIC8q
IF9XS0ludGVybmFsRGVidWdGZWF0dXJlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxQjM2MjkzMjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVn
RmVhdHVyZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0lu
dGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzFCMzYyOTQyMTQxRUJBRDAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0ludGVybmFsRGVidWdGZWF0dXJl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQjM2Mjk4MjE0MUY2RTAwMDdCRkE1
MyAvKiBXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0
dXJlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQkE5MjQ4MTQ4ODMwODEw
MDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUJBOTI0
OTE0ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUQ1OTI5QzE2NkUwNUZGMDBF
NkJGMDIgLyogV2ViUGx1Z0luQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYlBsdWdJbkNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC01OTQ3LDYgKzU5NTcsOSBAQAogCQkJCTVDQUZERTQyMjEzMDg0MzUwMEIxRjdFMSAvKiBf
V0tJbnNwZWN0b3IuaCAqLywKIAkJCQk1Q0FGREU0MzIxMzA4NDM2MDBCMUY3RTEgLyogX1dLSW5z
cGVjdG9yLm1tICovLAogCQkJCTVDQUZERTQ0MjEzMDg0MzYwMEIxRjdFMSAvKiBfV0tJbnNwZWN0
b3JJbnRlcm5hbC5oICovLAorCQkJCTMxQjM2Mjk0MjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJbnRl
cm5hbERlYnVnRmVhdHVyZS5oICovLAorCQkJCTMxQjM2MjkyMjE0MUVCQUMwMDdCRkE1MyAvKiBf
V0tJbnRlcm5hbERlYnVnRmVhdHVyZS5tbSAqLywKKwkJCQkzMUIzNjI5MzIxNDFFQkFEMDA3QkZB
NTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oICovLAogCQkJCTJENzkwQTlD
MUFENzA1MEQwMEFCOTBCMyAvKiBfV0tMYXlvdXRNb2RlLmggKi8sCiAJCQkJNTFDMEM5NzkxRERE
Nzg1NDAwMzJDQUQzIC8qIF9XS0xpbmtJY29uUGFyYW1ldGVycy5oICovLAogCQkJCTUxQzBDOTdB
MURERDc4NTQwMDMyQ0FEMyAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMubW0gKi8sCkBAIC03NDA2
LDYgKzc0MTksOCBAQAogCQkJCTdBQjZFQTQ0MUVFQUFFMjMwMDAzN0IyQiAvKiBBUElJY29uRGF0
YWJhc2VDbGllbnQuaCAqLywKIAkJCQk1MTQzQjI2MTFEREQwREEwMDAxNEZBQzYgLyogQVBJSWNv
bkxvYWRpbmdDbGllbnQuaCAqLywKIAkJCQk3QThBOUQ1NzFFRjExOUFBMDA5ODAxQUUgLyogQVBJ
SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLywKKwkJCQkzMUIzNjI5MDIxNDFFQUJDMDA3QkZBNTMg
LyogQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuY3BwICovLAorCQkJCTMxQjM2MjhFMjE0MUVBNEQw
MDdCRkE1MyAvKiBBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oICovLAogCQkJCTdDRTREMjA2MUE0
Njc3NTcwMEM3RjE1MiAvKiBBUElMZWdhY3lDb250ZXh0SGlzdG9yeUNsaWVudC5oICovLAogCQkJ
CTFBMjQ2NEYyMTg5MUU0NTEwMDIzNEM1QiAvKiBBUElMb2FkZXJDbGllbnQuaCAqLywKIAkJCQk3
Q0QzQTQ4MDFBNUQwMkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5jcHAgKi8sCkBAIC04Mzk4
LDYgKzg0MTMsNyBAQAogCQkJCTFBQjFGNzk1MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJN0NERTczQTMxRjlEQUI2NTAwMzkw
MzEyIC8qIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCAqLywKIAkJCQk3Q0VCMDBEQzFGQTY5
QTg5MDA2NTQ3M0IgLyogV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAgKi8s
CisJCQkJMzFCMzYyOTgyMTQxRjZFMDAwN0JGQTUzIC8qIFdlYlByZWZlcmVuY2VzSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmVzLmNwcCAqLywKIAkJCQk3Q0IxMDBFRTFGQTJENzRBMDAxNzI5RUUgLyogV2Vi
UHJlZmVyZW5jZXNLZXlzLmNwcCAqLywKIAkJCQk3Q0IxMDBFRjFGQTJENzRCMDAxNzI5RUUgLyog
V2ViUHJlZmVyZW5jZXNLZXlzLmggKi8sCiAJCQkJN0NCMTAwRjAxRkEyRDc4NDAwMTcyOUVFIC8q
IFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAgKi8sCkBAIC04NzI0LDYgKzg3NDAs
OCBAQAogCQkJCTM3QTY0RTU1MThGMzhFM0MwMEVCMzBGMSAvKiBfV0tJbnB1dERlbGVnYXRlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1Q0FGREU0NTIxMzA4NDYzMDBCMUY3RTEgLyogX1dLSW5zcGVj
dG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0FGREU0NzIxMzA4NDZBMDBCMUY3RTEgLyogX1dL
SW5zcGVjdG9ySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxQjM2Mjk1MjE0MUVCQ0Qw
MDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MzFCMzYyOTcyMTQxRUJEOTAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENzkwQTlEMUFENzA1MEQwMEFCOTBCMyAvKiBfV0tM
YXlvdXRNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTBGNTkxMTFEREUyOTcwMDA0MTJGRjUg
LyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTE4QTlGMzE5
MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oIGluIEhlYWRlcnMgKi8s
CkBAIC04ODAzLDYgKzg4MjEsNyBAQAogCQkJCTdBM0FDRTFCMUVFRUY3OUIwMEE4NjRBNCAvKiBB
UElJbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdB
OEE5RDVDMUVGMTQ1OTgwMDk4MDFBRSAvKiBBUElJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxv
YWRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3NjkwNzlBMThGMzFDQjIwMDFERkYwNCAv
KiBBUElJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFC
MzYyOEYyMTQxRUE1RDAwN0JGQTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3Q0U0RDIwNzFBNDY3NzYxMDBDN0YxNTIgLyogQVBJTGVnYWN5Q29udGV4
dEhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjQ2NEYzMTg5MUU0NTEwMDIz
NEM1QiAvKiBBUElMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRDNBNDgzMUE1
RDAyRkEwMDk2MjNCOCAvKiBBUElOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTEwOTQz
LDYgKzEwOTYyLDcgQEAKIAkJCQkyRDkyQTc4RDIxMkI2QUIxMDBGNDkzRkQgLyogV2ViUGxhdGZv
cm1Ub3VjaFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTEzNDRFMjEyQ0Y5RjAwMDEy
OEFGRCAvKiBXZWJQbHVnaW5JbmZvUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NF
QjAwREQxRkE2OUFCRTAwNjU0NzNCIC8qIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVy
ZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFCMzYyOTkyMTQxRjZFODAwN0JGQTUzIC8qIFdl
YlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTdDQjEwMEYxMUZBMzg1OEEwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0NCMTAwRjQxRkEzODU5MjAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2Vz
U3RvcmVEZWZhdWx0c01hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTA0M0EwQTEyNEQxMUE5
MDBGRkJGQjUgLyogV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTYwYWJlZTQx
ODlmMTQ0MmFmYzUyYzU5ODA5OTMwNWEyMDE3NWVkMS4uNDI1N2RhNjg5MjAwNmVlMzY4N2VlODA0
ODcwMTA0MzUzYmE2OThiZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSArMSwxOSBAQAorMjAxOC0wOS0wNyAgRGVhbiBKYWNrc29uICA8ZGlu
b0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFuZCBleHBvc2UgSW50ZXJuYWwgZmVhdHVyZXMg
ZnJvbSBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTQ0MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQyNDM0MDQ+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIE1pbmlCcm93c2Vy
IHRvIGV4cG9zZSBhbiBJbnRlcm5hbCBmZWF0dXJlIG1lbnUuCisKKyAgICAgICAgKiBNaW5pQnJv
d3Nlci9tYWMvQXBwRGVsZWdhdGUubToKKyAgICAgICAgKGRlZmF1bHRDb25maWd1cmF0aW9uKToK
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9tYWMvU2V0dGluZ3NDb250cm9sbGVyLm06CisgICAgICAg
ICgtW1NldHRpbmdzQ29udHJvbGxlciBfcG9wdWxhdGVNZW51XSk6CisgICAgICAgICgtW1NldHRp
bmdzQ29udHJvbGxlciB2YWxpZGF0ZU1lbnVJdGVtOl0pOgorICAgICAgICAoLVtTZXR0aW5nc0Nv
bnRyb2xsZXIgdG9nZ2xlRXhwZXJpbWVudGFsRmVhdHVyZTpdKToKKyAgICAgICAgKC1bU2V0dGlu
Z3NDb250cm9sbGVyIHRvZ2dsZUludGVybmFsRGVidWdGZWF0dXJlOl0pOgorCiA9PSBSb2xsZWQg
b3ZlciB0byBDaGFuZ2VMb2ctMjAxOC0wOS0xMSA9PQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJy
b3dzZXIvbWFjL0FwcERlbGVnYXRlLm0gYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdh
dGUubQppbmRleCAzYTM2OWE0MDljNGJjZGE3NWExMTM2YzExMjNhMDg2M2Q1NzcwZWE3Li4yNTYx
N2VjNGQ2NmNmYWI0NGVjOWEzYWMwN2UxMWFjNDAzZjY4Y2MxIDEwMDY0NAotLS0gYS9Ub29scy9N
aW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMv
QXBwRGVsZWdhdGUubQpAQCAtNDAsNiArNDAsNyBAQAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKICNp
bXBvcnQgPFdlYktpdC9fV0tFeHBlcmltZW50YWxGZWF0dXJlLmg+CisjaW1wb3J0IDxXZWJLaXQv
X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaD4KICNlbmRpZgogCiBlbnVtIHsKQEAgLTEwNiwxMCAr
MTA3LDE2IEBAIC0gKHZvaWQpYXdha2VGcm9tTmliCiAgICAgICAgIGNvbmZpZ3VyYXRpb24ucHJv
Y2Vzc1Bvb2wgPSBbW1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9u
OnByb2Nlc3NDb25maWd1cmF0aW9uXSBhdXRvcmVsZWFzZV07CiAKICNpZiBXS19BUElfRU5BQkxF
RAotICAgICAgICBOU0FycmF5PF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4gKmZlYXR1cmVzID0g
W1dLUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXTsKLSAgICAgICAgZm9yIChfV0tF
eHBlcmltZW50YWxGZWF0dXJlICpmZWF0dXJlIGluIGZlYXR1cmVzKSB7CisgICAgICAgIE5TQXJy
YXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqZXhwZXJpbWVudGFsRmVhdHVyZXMgPSBbV0tQ
cmVmZXJlbmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdOworICAgICAgICBmb3IgKF9XS0V4cGVy
aW1lbnRhbEZlYXR1cmUgKmZlYXR1cmUgaW4gZXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKICAgICAg
ICAgICAgIEJPT0wgZW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVs
dHNdIGJvb2xGb3JLZXk6ZmVhdHVyZS5rZXldOwotICAgICAgICAgICAgW2NvbmZpZ3VyYXRpb24u
cHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOworICAg
ICAgICAgICAgW2NvbmZpZ3VyYXRpb24ucHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBm
b3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1cmVdOworICAgICAgICB9CisKKyAgICAgICAgTlNB
cnJheTxfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqPiAqaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzID0g
W1dLUHJlZmVyZW5jZXMgX2ludGVybmFsRGVidWdGZWF0dXJlc107CisgICAgICAgIGZvciAoX1dL
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKmZlYXR1cmUgaW4gaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKSB7
CisgICAgICAgICAgICBCT09MIGVuYWJsZWQgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSBib29sRm9yS2V5OmZlYXR1cmUua2V5XTsKKyAgICAgICAgICAgIFtjb25maWd1
cmF0aW9uLnByZWZlcmVuY2VzIF9zZXRFbmFibGVkOmVuYWJsZWQgZm9ySW50ZXJuYWxEZWJ1Z0Zl
YXR1cmU6ZmVhdHVyZV07CiAgICAgICAgIH0KICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyL21hYy9TZXR0aW5nc0NvbnRyb2xsZXIubSBiL1Rvb2xzL01pbmlCcm93
c2VyL21hYy9TZXR0aW5nc0NvbnRyb2xsZXIubQppbmRleCA3MDQxNzBkZmE2ZjI0NGRhYzQxOWZk
Y2QyOGFkZGFmMDdjZjA5YWFiLi4yNGEzN2RlOTA4NTI4OTBhMmZhYmUzZjlhOTU5ZDlkNDViOGM1
ODYwIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvU2V0dGluZ3NDb250cm9sbGVy
Lm0KKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvbWFjL1NldHRpbmdzQ29udHJvbGxlci5tCkBAIC0z
Miw2ICszMiw3IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogI2ltcG9ydCA8V2ViS2l0L19XS0V4
cGVyaW1lbnRhbEZlYXR1cmUuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tJbnRlcm5hbERlYnVnRmVh
dHVyZS5oPgogI2VuZGlmCiAKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IGRlZmF1bHRVUkwgPSBA
Imh0dHA6Ly93d3cud2Via2l0Lm9yZy8iOwpAQCAtODEsNiArODIsNyBAQCB0eXBlZGVmIE5TX0VO
VU0oTlNJbnRlZ2VyLCBEZWJ1Z092ZXJ5bGF5TWVudUl0ZW1UYWcpIHsKICAgICBXaGVlbEV2ZW50
SGFuZGxlclJlZ2lvbk92ZXJsYXlUYWcsCiAjaWYgV0tfQVBJX0VOQUJMRUQKICAgICBFeHBlcmlt
ZW50YWxGZWF0dXJlVGFnLAorICAgIEludGVybmFsRGVidWdGZWF0dXJlVGFnLAogI2VuZGlmCiB9
OwogCkBAIC0yMTIsOSArMjE0LDkgQEAgLSAodm9pZClfcG9wdWxhdGVNZW51CiAgICAgTlNNZW51
ICpleHBlcmltZW50YWxGZWF0dXJlc01lbnUgPSBbW05TTWVudSBhbGxvY10gaW5pdFdpdGhUaXRs
ZTpAIkV4cGVyaW1lbnRhbCBGZWF0dXJlcyJdOwogICAgIFtleHBlcmltZW50YWxGZWF0dXJlc1N1
Ym1lbnVJdGVtIHNldFN1Ym1lbnU6ZXhwZXJpbWVudGFsRmVhdHVyZXNNZW51XTsKIAotICAgIE5T
QXJyYXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqZmVhdHVyZXMgPSBbV0tQcmVmZXJlbmNl
cyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdOworICAgIE5TQXJyYXk8X1dLRXhwZXJpbWVudGFsRmVh
dHVyZSAqPiAqZXhwZXJpbWVudGFsRmVhdHVyZXMgPSBbV0tQcmVmZXJlbmNlcyBfZXhwZXJpbWVu
dGFsRmVhdHVyZXNdOwogCi0gICAgZm9yIChfV0tFeHBlcmltZW50YWxGZWF0dXJlICpmZWF0dXJl
IGluIGZlYXR1cmVzKSB7CisgICAgZm9yIChfV0tFeHBlcmltZW50YWxGZWF0dXJlICpmZWF0dXJl
IGluIGV4cGVyaW1lbnRhbEZlYXR1cmVzKSB7CiAgICAgICAgIE5TTWVudUl0ZW0gKml0ZW0gPSBb
W05TTWVudUl0ZW0gYWxsb2NdIGluaXRXaXRoVGl0bGU6ZmVhdHVyZS5uYW1lIGFjdGlvbjpAc2Vs
ZWN0b3IodG9nZ2xlRXhwZXJpbWVudGFsRmVhdHVyZTopIGtleUVxdWl2YWxlbnQ6QCIiXTsKICAg
ICAgICAgaXRlbS50b29sVGlwID0gZmVhdHVyZS5kZXRhaWxzOwogICAgICAgICBpdGVtLnJlcHJl
c2VudGVkT2JqZWN0ID0gZmVhdHVyZTsKQEAgLTIyNyw2ICsyMjksMjYgQEAgLSAodm9pZClfcG9w
dWxhdGVNZW51CiAgICAgW19tZW51IGFkZEl0ZW06ZXhwZXJpbWVudGFsRmVhdHVyZXNTdWJtZW51
SXRlbV07CiAgICAgW2V4cGVyaW1lbnRhbEZlYXR1cmVzU3VibWVudUl0ZW0gcmVsZWFzZV07CiAg
ICAgW2V4cGVyaW1lbnRhbEZlYXR1cmVzTWVudSByZWxlYXNlXTsKKworICAgIE5TTWVudUl0ZW0g
KmludGVybmFsRGVidWdGZWF0dXJlc1N1Ym1lbnVJdGVtID0gW1tOU01lbnVJdGVtIGFsbG9jXSBp
bml0V2l0aFRpdGxlOkAiSW50ZXJuYWwgRmVhdHVyZXMiIGFjdGlvbjpuaWwga2V5RXF1aXZhbGVu
dDpAIiJdOworICAgIE5TTWVudSAqaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzTWVudSA9IFtbTlNNZW51
IGFsbG9jXSBpbml0V2l0aFRpdGxlOkAiSW50ZXJuYWwgRmVhdHVyZXMiXTsKKyAgICBbaW50ZXJu
YWxEZWJ1Z0ZlYXR1cmVzU3VibWVudUl0ZW0gc2V0U3VibWVudTppbnRlcm5hbERlYnVnRmVhdHVy
ZXNNZW51XTsKKworICAgIE5TQXJyYXk8X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKj4gKmludGVy
bmFsRGVidWdGZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNd
OworCisgICAgZm9yIChfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqZmVhdHVyZSBpbiBpbnRlcm5h
bERlYnVnRmVhdHVyZXMpIHsKKyAgICAgICAgTlNNZW51SXRlbSAqaXRlbSA9IFtbTlNNZW51SXRl
bSBhbGxvY10gaW5pdFdpdGhUaXRsZTpmZWF0dXJlLm5hbWUgYWN0aW9uOkBzZWxlY3Rvcih0b2dn
bGVJbnRlcm5hbERlYnVnRmVhdHVyZTopIGtleUVxdWl2YWxlbnQ6QCIiXTsKKyAgICAgICAgaXRl
bS50b29sVGlwID0gZmVhdHVyZS5kZXRhaWxzOworICAgICAgICBpdGVtLnJlcHJlc2VudGVkT2Jq
ZWN0ID0gZmVhdHVyZTsKKworICAgICAgICBbaXRlbSBzZXRUYWc6SW50ZXJuYWxEZWJ1Z0ZlYXR1
cmVUYWddOworICAgICAgICBbaXRlbSBzZXRUYXJnZXQ6c2VsZl07CisgICAgICAgIFtpbnRlcm5h
bERlYnVnRmVhdHVyZXNNZW51IGFkZEl0ZW06W2l0ZW0gYXV0b3JlbGVhc2VdXTsKKyAgICB9CisK
KyAgICBbX21lbnUgYWRkSXRlbTppbnRlcm5hbERlYnVnRmVhdHVyZXNTdWJtZW51SXRlbV07Cisg
ICAgW2ludGVybmFsRGVidWdGZWF0dXJlc1N1Ym1lbnVJdGVtIHJlbGVhc2VdOworICAgIFtpbnRl
cm5hbERlYnVnRmVhdHVyZXNNZW51IHJlbGVhc2VdOwogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVE
CiAKICAgICBbc2VsZiBfYWRkSGVhZGVyV2l0aFRpdGxlOkAiV2ViS2l0MS1vbmx5IFNldHRpbmdz
Il07CkBAIC0zMDEsNyArMzIzLDExIEBAIC0gKEJPT0wpdmFsaWRhdGVNZW51SXRlbTooTlNNZW51
SXRlbSAqKW1lbnVJdGVtCiAjaWYgV0tfQVBJX0VOQUJMRUQKICAgICBpZiAobWVudUl0ZW0udGFn
ID09IEV4cGVyaW1lbnRhbEZlYXR1cmVUYWcpIHsKICAgICAgICAgX1dLRXhwZXJpbWVudGFsRmVh
dHVyZSAqZmVhdHVyZSA9IG1lbnVJdGVtLnJlcHJlc2VudGVkT2JqZWN0OwotICAgICAgICBbbWVu
dUl0ZW0gc2V0U3RhdGU6W2RlZmF1bHRQcmVmZXJlbmNlcygpIF9pc0VuYWJsZWRGb3JGZWF0dXJl
OmZlYXR1cmVdID8gTlNDb250cm9sU3RhdGVWYWx1ZU9uIDogTlNDb250cm9sU3RhdGVWYWx1ZU9m
Zl07CisgICAgICAgIFttZW51SXRlbSBzZXRTdGF0ZTpbZGVmYXVsdFByZWZlcmVuY2VzKCkgX2lz
RW5hYmxlZEZvckV4cGVyaW1lbnRhbEZlYXR1cmU6ZmVhdHVyZV0gPyBOU0NvbnRyb2xTdGF0ZVZh
bHVlT24gOiBOU0NvbnRyb2xTdGF0ZVZhbHVlT2ZmXTsKKyAgICB9CisgICAgaWYgKG1lbnVJdGVt
LnRhZyA9PSBJbnRlcm5hbERlYnVnRmVhdHVyZVRhZykgeworICAgICAgICBfV0tJbnRlcm5hbERl
YnVnRmVhdHVyZSAqZmVhdHVyZSA9IG1lbnVJdGVtLnJlcHJlc2VudGVkT2JqZWN0OworICAgICAg
ICBbbWVudUl0ZW0gc2V0U3RhdGU6W2RlZmF1bHRQcmVmZXJlbmNlcygpIF9pc0VuYWJsZWRGb3JJ
bnRlcm5hbERlYnVnRmVhdHVyZTpmZWF0dXJlXSA/IE5TQ29udHJvbFN0YXRlVmFsdWVPbiA6IE5T
Q29udHJvbFN0YXRlVmFsdWVPZmZdOwogICAgIH0KICNlbmRpZgogCkBAIC02NTQsOCArNjgwLDE5
IEBAIC0gKHZvaWQpdG9nZ2xlRXhwZXJpbWVudGFsRmVhdHVyZTooaWQpc2VuZGVyCiAgICAgX1dL
RXhwZXJpbWVudGFsRmVhdHVyZSAqZmVhdHVyZSA9ICgoTlNNZW51SXRlbSAqKXNlbmRlcikucmVw
cmVzZW50ZWRPYmplY3Q7CiAgICAgV0tQcmVmZXJlbmNlcyAqcHJlZmVyZW5jZXMgPSBkZWZhdWx0
UHJlZmVyZW5jZXMoKTsKIAotICAgIEJPT0wgY3VycmVudGx5RW5hYmxlZCA9IFtwcmVmZXJlbmNl
cyBfaXNFbmFibGVkRm9yRmVhdHVyZTpmZWF0dXJlXTsKLSAgICBbcHJlZmVyZW5jZXMgX3NldEVu
YWJsZWQ6IWN1cnJlbnRseUVuYWJsZWQgZm9yRmVhdHVyZTpmZWF0dXJlXTsKKyAgICBCT09MIGN1
cnJlbnRseUVuYWJsZWQgPSBbcHJlZmVyZW5jZXMgX2lzRW5hYmxlZEZvckV4cGVyaW1lbnRhbEZl
YXR1cmU6ZmVhdHVyZV07CisgICAgW3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOiFjdXJyZW50bHlF
bmFibGVkIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6ZmVhdHVyZV07CisKKyAgICBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRCb29sOiFjdXJyZW50bHlFbmFibGVkIGZv
cktleTpmZWF0dXJlLmtleV07Cit9CisKKy0gKHZvaWQpdG9nZ2xlSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6KGlkKXNlbmRlcgoreworICAgIF9XS0ludGVybmFsRGVidWdGZWF0dXJlICpmZWF0dXJlID0g
KChOU01lbnVJdGVtICopc2VuZGVyKS5yZXByZXNlbnRlZE9iamVjdDsKKyAgICBXS1ByZWZlcmVu
Y2VzICpwcmVmZXJlbmNlcyA9IGRlZmF1bHRQcmVmZXJlbmNlcygpOworCisgICAgQk9PTCBjdXJy
ZW50bHlFbmFibGVkID0gW3ByZWZlcmVuY2VzIF9pc0VuYWJsZWRGb3JJbnRlcm5hbERlYnVnRmVh
dHVyZTpmZWF0dXJlXTsKKyAgICBbcHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6IWN1cnJlbnRseUVu
YWJsZWQgZm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV07CiAKICAgICBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRCb29sOiFjdXJyZW50bHlFbmFibGVkIGZv
cktleTpmZWF0dXJlLmtleV07CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTIyYTM1MTk5YzRiZWY0NmU5ODY3OGY0YjZm
MzkxOTIwZTdhOGFlYi4uNTIwYTJkZGUyNjQ1N2VjN2ZjZDQ2YTA0OWFiZWQwODJjMDhhZWM3MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTA5LTA3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgYW5kIGV4cG9zZSBJbnRlcm5hbCBmZWF0dXJlcyBmcm9t
IFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg5NDQyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDI0MzQwND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTa2lwIHNvbWUgdGVzdHMgdGhhdCBy
ZWx5IG9uIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlIHRoYXQgaGFzCisgICAgICAgIG1vdmVkIHRv
IGludGVybmFsLiBBIGZvbGxvdy11cCBwYXRjaCB3aWxsIGFsbG93IFdLVFIgdG8gZW5hYmxlCisg
ICAgICAgIHRoZW0gb24gZGVtYW5kLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMTgtMDktMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB1bmRlciBQbGF0Zm9ybVBvcHVwTWVudURhdGE6OmVu
Y29kZSB3aGVuIGludGVyYWN0aW5nIHdpdGggYSBzZWxlY3QgbWVudSB0aGF0IGhhcyB2YXJpYWJs
ZSBmb250cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBi
NGQ5ZmM0YWExYWQzOWY4ZWZkMWZiMWE2Y2M0NDlhZTM4ZWYxYzQ0Li5jNGJiMTYwZDM3NWEyOTE3
NjY0YWRlOWNiZTM3ODk3YjAyNzI3ZjhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTc2NSwzICsxNzY1LDYgQEAgd2Via2l0Lm9yZy9iLzE4NzM5MyBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVh
dGUKIFsgTW9qYXZlKyBdIGZhc3QvZ3JhZGllbnRzL2NvbmljLWV4dGVuZGVkLXN0b3BzLmh0bWwg
WyBQYXNzIF0KIFsgTW9qYXZlKyBdIGZhc3QvZ3JhZGllbnRzL2NvbmljLWZyb20tYW5nbGUuaHRt
bCBbIFBhc3MgXQogCisjIE1hcmsgdGhlc2UgYXMgZmFpbGluZyB3aGlsZSBJbnRlcm5hbCBEZWJ1
ZyBGZWF0dXJlcyBkZWZhdWx0IHRvIG9mZiBpbiBXS1RSCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jaGFuZ2V0eXBlLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2Uv
bWVkaWFzb3VyY2UtY2hhbmdldHlwZS1wbGF5Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349458</attachid>
            <date>2018-09-11 14:38:56 -0700</date>
            <delta_ts>2021-02-03 09:00:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189442-20180912073854.patch</filename>
            <type>text/plain</type>
            <size>63711</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ5MTY5ZmQzZmQ1MTViZmU4
ZmQzY2NmNTc5MGZiMjY2OTA1MmYyMGQuLjgzYTZmYmU4MzExOWJjMzdkZGRhOTlkNzY3NjM1ODlh
Y2E0MGFiZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzQgQEAKKzIwMTgtMDktMDcgIERlYW4gSmFj
a3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbmQgZXhwb3NlIEludGVybmFs
IGZlYXR1cmVzIGZyb20gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODk0NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MjQzNDA0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cGVyaW1l
bnRhbCBmZWF0dXJlcyBoYXZlIGJlY29tZSBhIG1lc3MuIFBlb3BsZSBhcmUgdXNpbmcgdGhlbSBm
b3IKKyAgICAgICAgYW55dGhpbmcgdGhhdCB0aGV5IHdhbnQgdG8gYmUgZWFzaWx5IHRvZ2dsZWQg
ZnJvbSBhIGhvc3QgYXBwIChlLmcuCisgICAgICAgIFNhZmFyaSksIHdoaWNoIG1lYW5zIHRoZSB1
c2VyLWZhY2luZyBtZW51IGhhcyBiZWNvbWUgbGFyZ2UgYW5kCisgICAgICAgIGNvbmZ1c2luZy4K
KworICAgICAgICBJbnRyb2R1Y2UgdGhlIGlkZWEgb2YgSW50ZXJuYWwgZmVhdHVyZXMsIHRoYXQg
d2lsbCBiZSBleHBvc2VkIGluIGEgd2F5CisgICAgICAgIHRoYXQgZW5kLXVzZXJzIGFyZSBub3Qg
ZXhwZWN0ZWQgdG8gZXZlciBzZWUgKHVubGVzcyB0aGV5IHJlYWxseSB3YW50CisgICAgICAgIHRv
KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzLgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOiBBZGQgbmV3IGdlbmVyYXRlZCBmaWxlcy4KKyAgICAgICAgKiBTY3JpcHRzL0dlbmVy
YXRlUHJlZmVyZW5jZXMucmI6IEdlbmVyYXRlIHRoZSBwcmVmZXJlbmNlcyBzdHVmZiBmb3IgSW50
ZXJuYWwgRGVidWcgZmVhdHVyZXMuCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBs
YXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiOgorICAgICAgICAqIFNjcmlwdHMv
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMu
Y3BwLmVyYjogQWRkZWQuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSU9iamVjdC5oOiBOZXcg
QVBJIG9iamVjdCBmb3IgSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuCisgICAgICAgICogU2hhcmVkL0Nv
Y29hL0FQSU9iamVjdC5tbToKKyAgICAgICAgKEFQSTo6T2JqZWN0OjpuZXdPYmplY3QpOgorCisg
ICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6IENoYW5nZSBzb21lIG9mIHRoZSBl
eGlzdGluZyBleHBlcmltZW50YWwgZmVhdHVyZXMgdG8gImludGVybmFsIi4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuY3BwOiBOZXcgQVBJIHR5cGUg
LSBqdXN0IGxpa2UgQVBJRXhwZXJpbWVudGFsRmVhdHVyZS4KKyAgICAgICAgKEFQSTo6SW50ZXJu
YWxEZWJ1Z0ZlYXR1cmU6OmNyZWF0ZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdGZWF0
dXJlOjpJbnRlcm5hbERlYnVnRmVhdHVyZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdG
ZWF0dXJlOjp+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
QVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW06IENoYW5nZSB0aGUgbmFtaW5nIG9mIHRoZSBleHBlcmltZW50YWwgZmVhdHVyZSBBUEkgc28g
dGhhdCBpdAorICAgICAgICB3b24ndCBjbGFzaCB3aXRoIGludGVybmFsIGRlYnVnIGZlYXR1cmVz
LiBXZSBjYW4gcmVtb3ZlIHRoZSBvbGQgQVBJIG9uY2UgU2FmYXJpIGhhcyBhZG9wdGVkLgorICAg
ICAgICAoK1tXS1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNdKToKKyAgICAgICAg
KC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6XSk6Cisg
ICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6XSk6CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX2lzRW5hYmxlZEZvckZlYXR1cmU6XSk6
CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9yRmVhdHVyZTpdKToKKyAg
ICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZTpd
KToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDpmb3JFeHBlcmltZW50YWxG
ZWF0dXJlOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1By
aXZhdGUuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuaDogTmV3IG9iamVjdCAtIHNhbWUgYXMgX1dLRXhwZXJpbWVudGFsRmVhdHVyZS4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlLm1t
OgorICAgICAgICAoLVtfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSBkZWFsbG9jXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW19X
S0ludGVybmFsRGVidWdGZWF0dXJlIG5hbWVdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUga2V5XSk6CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRldGFp
bHNdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgZGVmYXVsdFZhbHVlXSk6
CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGlzSGlkZGVuXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIF9hcGlPYmplY3RdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaDoKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHA6IEFkZCBzdXBwb3J0IGZvciBJbnRl
cm5hbCBEZWJ1ZyBmZWF0dXJlcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnVw
ZGF0ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdGZWF0dXJlS2V5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmVL
ZXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDogQ2hhbmdlIGEgY29tbWVudCBub3cgdGhhdCBp
dCBpcyBhbiBpbnRlcm5hbCBmZWF0dXJlLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6Y3JlYXRlV2ViUGFnZSk6CisKIDIwMTgtMDktMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB1bmRlciBQbGF0Zm9ybVBvcHVwTWVu
dURhdGE6OmVuY29kZSB3aGVuIGludGVyYWN0aW5nIHdpdGggYSBzZWxlY3QgbWVudSB0aGF0IGhh
cyB2YXJpYWJsZSBmb250cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggMWQ2YjNiNzQ4YTdhNTI4Mjg4
MjVkOGM3ZWNhMWQ1ZDUzZWI1MjBjYy4uYjU0M2YyZTUwODFlOGYzNmNhMGE0MjQ0Y2YxZTAyMzBj
NmM4NThmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC0zOTksNiArMzk5LDcgQEAgc2V0KFdlYktp
dF9XRUJfUFJFRkVSRU5DRVNfVEVNUExBVEVTCiAgICAgJHtXRUJLSVRfRElSfS9TY3JpcHRzL1By
ZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAuZXJiCiAgICAg
JHtXRUJLSVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2Vz
RGVmaW5pdGlvbnMuaC5lcmIKICAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5jZXNU
ZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAuZXJiCisgICAg
JHtXRUJLSVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2Vz
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcC5lcmIKICAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMv
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcC5lcmIKICAgICAke1dF
QktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlz
LmguZXJiCiAgICAgJHtXRUJLSVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dl
YlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAuZXJiCkBAIC00MTksNiArNDIwLDcgQEAg
bGlzdChBUFBFTkQgV2ViS2l0X0hFQURFUlMKIGxpc3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAg
ICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2Vz
LmNwcAogICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzRXhw
ZXJpbWVudGFsRmVhdHVyZXMuY3BwCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0v
V2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwCiAgICAgJHtERVJJVkVEX1NP
VVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNLZXlzLmNwcAogICAgICR7REVSSVZFRF9T
T1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAKICkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiZGVjMjgzMWI2NTEwYTc4MGZlZDZiYjQy
NjExYmM5MmY0Nzg3M2EwLi4wYzAyMGQzNjg4MjBiODdhMmQwNGE1ZTZkODI4MWQ1MjFmYzc4MjUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yOTUsMTQgKzI5NSwxNSBAQCBXRUJf
UFJFRkVSRU5DRVNfVEVNUExBVEVTID0gXAogICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJl
bmNlc1RlbXBsYXRlcy9XZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwLmVyYiBcCiAgICAgJChX
ZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaC5lcmIgXAogICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRl
cy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcC5lcmIgXAorICAgICQoV2Vi
S2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFs
RGVidWdGZWF0dXJlcy5jcHAuZXJiIFwKICAgICAkKFdlYktpdDIpL1NjcmlwdHMvUHJlZmVyZW5j
ZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmguZXJiIFwKICAgICAkKFdlYktpdDIpL1Nj
cmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcC5lcmIgXAog
ICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNl
c1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYiBcCiAKICMKIAotYWxsIDogV2ViUGFnZVVwZGF0ZVBy
ZWZlcmVuY2VzLmNwcCBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggV2ViUHJlZmVyZW5jZXNF
eHBlcmltZW50YWxGZWF0dXJlcy5jcHAgV2ViUHJlZmVyZW5jZXNLZXlzLmggV2ViUHJlZmVyZW5j
ZXNLZXlzLmNwcCBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwCithbGwgOiBXZWJQ
YWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBXZWJQ
cmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcCBXZWJQcmVmZXJlbmNlc0ludGVybmFs
RGVidWdGZWF0dXJlcy5jcHAgV2ViUHJlZmVyZW5jZXNLZXlzLmggV2ViUHJlZmVyZW5jZXNLZXlz
LmNwcCBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwCiAKLVdlYlBhZ2VVcGRhdGVQ
cmVmZXJlbmNlcyVjcHAgV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucyVoIFdlYlByZWZlcmVuY2Vz
RXhwZXJpbWVudGFsRmVhdHVyZXMlY3BwIFdlYlByZWZlcmVuY2VzS2V5cyVoIFdlYlByZWZlcmVu
Y2VzS2V5cyVjcHAgV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwJWNwcCA6ICQoV2ViS2l0
MikvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiICQoV0VCX1BSRUZFUkVOQ0VTX1RFTVBM
QVRFUykgJChXZWJLaXQyKS9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorV2ViUGFnZVVwZGF0
ZVByZWZlcmVuY2VzJWNwcCBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zJWggV2ViUHJlZmVyZW5j
ZXNFeHBlcmltZW50YWxGZWF0dXJlcyVjcHAgV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVh
dHVyZXMlY3BwIFdlYlByZWZlcmVuY2VzS2V5cyVoIFdlYlByZWZlcmVuY2VzS2V5cyVjcHAgV2Vi
UHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwJWNwcCA6ICQoV2ViS2l0MikvU2NyaXB0cy9HZW5l
cmF0ZVByZWZlcmVuY2VzLnJiICQoV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFUykgJChXZWJLaXQy
KS9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAogCSQoUlVCWSkgJDwgLS1pbnB1dCAkKFdlYktp
dDIpL1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiIGIvU291cmNlL1dlYktpdC9TY3JpcHRz
L0dlbmVyYXRlUHJlZmVyZW5jZXMucmIKaW5kZXggMTMxY2FmNGFkZGQ5N2ZkNjU3Y2Y0YWU4NzRj
NWIxZTEyN2RjODllMi4uNWZmNWJkODdiNmNlYTZkMTg1YWMzZGJhMzQyOWJmZGY1ZGNlMTA4YiAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIK
KysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIKQEAgLTI4
LDcgKzI4LDcgQEAgcmVxdWlyZSAnZXJiJwogcmVxdWlyZSAnb3B0cGFyc2UnCiByZXF1aXJlICd5
YW1sJwogCi1vcHRpb25zID0geyAKK29wdGlvbnMgPSB7CiAgIDppbnB1dCA9PiBuaWwsCiAgIDpv
dXRwdXREaXJlY3RvcnkgPT4gbmlsCiB9CkBAIC0xMjgsMTcgKzEyOCwxOCBAQCBlbmQKIAogY2xh
c3MgUHJlZmVyZW5jZXMKICAgYXR0cl9hY2Nlc3NvciA6cHJlZmVyZW5jZXMKLSAgCisKICAgZGVm
IGluaXRpYWxpemUoaGFzaCkKICAgICBAcHJlZmVyZW5jZXMgPSBbXQogICAgIGhhc2guZWFjaCBk
byB8bmFtZSwgb3B0aW9uc3wKICAgICAgIEBwcmVmZXJlbmNlcyA8PCBQcmVmZXJlbmNlLm5ldyhu
YW1lLCBvcHRpb25zKQogICAgIGVuZAogICAgIEBwcmVmZXJlbmNlcy5zb3J0ISB7IHx4LCB5fCB4
Lm5hbWUgPD0+IHkubmFtZSB9Ci0gICAgCisKICAgICBAcHJlZmVyZW5jZXNOb3REZWJ1ZyA9IEBw
cmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgIXAuY2F0ZWdvcnkgfQogICAgIEBwcmVmZXJlbmNlc0Rl
YnVnID0gQHByZWZlcmVuY2VzLnNlbGVjdCB7IHxwfCBwLmNhdGVnb3J5ID09ICJkZWJ1ZyIgfQog
ICAgIEBleHBlcmltZW50YWxGZWF0dXJlcyA9IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC5j
YXRlZ29yeSA9PSAiZXhwZXJpbWVudGFsIiB9CisgICAgQGludGVybmFsRGVidWdGZWF0dXJlcyA9
IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC5jYXRlZ29yeSA9PSAiaW50ZXJuYWwiIH0KIAog
ICAgIEBwcmVmZXJlbmNlc0JvdW5kVG9TZXR0aW5nID0gQHByZWZlcmVuY2VzLnNlbGVjdCB7IHxw
fCAhcC53ZWJjb3JlQmluZGluZyB9CiAgICAgQHByZWZlcmVuY2VzQm91bmRUb0RlcHJlY2F0ZWRH
bG9iYWxTZXR0aW5ncyA9IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC53ZWJjb3JlQmluZGlu
ZyA9PSAiRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzIiB9CkBAIC0xNjEsNCArMTYyLDUgQEAgcHJl
ZmVyZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQYWdlVXBkYXRl
UHJlZmVyZW5jZXMuY3BwLmVyYiIKIHByZWZlcmVuY2VzLnJlbmRlclRvRmlsZSgiUHJlZmVyZW5j
ZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmguZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNb
Om91dHB1dERpcmVjdG9yeV0sICJXZWJQcmVmZXJlbmNlc0tleXMuaCIpKQogcHJlZmVyZW5jZXMu
cmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuY3Bw
LmVyYiIsIEZpbGUuam9pbihvcHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAiV2ViUHJlZmVyZW5j
ZXNLZXlzLmNwcCIpKQogcHJlZmVyZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBs
YXRlcy9XZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYiIsIEZpbGUuam9pbihv
cHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAiV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFw
LmNwcCIpKQorcHJlZmVyZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9X
ZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAuZXJiIiwgRmlsZS5qb2luKG9w
dGlvbnNbOm91dHB1dERpcmVjdG9yeV0sICJXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0
dXJlcy5jcHAiKSkKIHByZWZlcmVuY2VzLnJlbmRlclRvRmlsZSgiUHJlZmVyZW5jZXNUZW1wbGF0
ZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAuZXJiIiwgRmlsZS5qb2lu
KG9wdGlvbnNbOm91dHB1dERpcmVjdG9yeV0sICJXZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZl
YXR1cmVzLmNwcCIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVu
Y2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIgYi9Tb3VyY2UvV2Vi
S2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9u
cy5oLmVyYgppbmRleCA5Y2I3MzJkZDRjZTc2MGZlZGIwYjAyYTdjYzI4MTgxODU0OGJkMWUyLi5l
Njc3NGUyNmJlODM0NDg2ZWI2NDU4ZWI4NmJjYzk2YzhmY2FmMzU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZp
bml0aW9ucy5oLmVyYgorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1w
bGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYgpAQCAtNDYsNiArNDYsMTMgQEAK
IDwlLSBlbmQgLSU+CiAgICAgXAogCisvLyBJbnRlcm5hbCBEZWJ1ZyBGZWF0dXJlcworCisjZGVm
aW5lIEZPUl9FQUNIX1dFQktJVF9JTlRFUk5BTF9ERUJVR19GRUFUVVJFX1BSRUZFUkVOQ0UobWFj
cm8pIFwKKzwlLSBmb3IgQHByZWYgaW4gQGludGVybmFsRGVidWdGZWF0dXJlcyBkbyAtJT4KKyAg
ICBtYWNybyg8JT0gQHByZWYubmFtZSAlPiwgPCU9IEBwcmVmLm5hbWVMb3dlciAlPiwgQm9vbCwg
Ym9vbCwgPCU9IEBwcmVmLmRlZmF1bHRWYWx1ZSAlPiwgPCU9IEBwcmVmLmh1bWFuUmVhZGFibGVO
YW1lICU+LCA8JT0gQHByZWYuaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uICU+KSBcCis8JS0gZW5k
IC0lPgorICAgXAogCiAvLyBFeHBlcmltZW50YWwgRmVhdHVyZXMKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcC5lcmIgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVy
ZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwLmVy
YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kOGFlOTUxMmY3NDZlYzYzZTRlYTE5ZGYwODhkMTM2NWJmNzdjZDcyCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxh
dGVzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcC5lcmIKQEAgLTAsMCAr
MSwxMjQgQEAKKy8qCisqIFRISVMgRklMRSBXQVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQsIERP
IE5PVCBFRElULgorKgorKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgorCisjaW5j
bHVkZSAiV2ViUHJlZmVyZW5jZXNLZXlzLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCis8JS0g
Zm9yIEBwcmVmIGluIEBpbnRlcm5hbERlYnVnRmVhdHVyZXMgZG8gLSU+Cit2b2lkIFdlYlByZWZl
cmVuY2VzOjpzZXQ8JT0gQHByZWYubmFtZSAlPihjb25zdCBib29sJiB2YWx1ZSkKK3sKKyAgICBp
ZiAoIW1fc3RvcmUuc2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8JT0gQHBy
ZWYubmFtZUxvd2VyICU+S2V5KCksIHZhbHVlKSkKKyAgICAgICAgcmV0dXJuOworICAgIHVwZGF0
ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdGZWF0dXJlS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8
JT0gQHByZWYubmFtZUxvd2VyICU+S2V5KCksIHZhbHVlKTsKK30KKworYm9vbCBXZWJQcmVmZXJl
bmNlczo6PCU9IEBwcmVmLm5hbWVMb3dlciAlPigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8JT0gQHByZWYubmFtZUxv
d2VyICU+S2V5KCkpOworfQorCis8JS0gZW5kIC0lPgorY29uc3QgVmVjdG9yPFJlZlB0cjxBUEk6
Ok9iamVjdD4+JiBXZWJQcmVmZXJlbmNlczo6aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKCkKK3sKKyAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+PiBmZWF0
dXJlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8UmVmUHRyPEFQSTo6T2JqZWN0Pj4geworPCUtIGZv
ciBAcHJlZiBpbiBAaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzIGRvIC0lPgorPCUtIGlmIEBwcmVmLmNv
bmRpdGlvbiAtJT4KKyNpZiA8JT0gQHByZWYuY29uZGl0aW9uICU+Cis8JS0gZW5kIC0lPgorICAg
ICAgICBBUEk6OkludGVybmFsRGVidWdGZWF0dXJlOjpjcmVhdGUoPCU9IEBwcmVmLmh1bWFuUmVh
ZGFibGVOYW1lICU+LCAiPCU9IEBwcmVmLm5hbWUgJT4iLCA8JT0gQHByZWYuaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uICU+LCA8JT0gQHByZWYuZGVmYXVsdFZhbHVlICU+LCA8JT0gQHByZWYuaGlk
ZGVuICU+KSwKKzwlLSBpZiBAcHJlZi5jb25kaXRpb24gLSU+CisjZW5kaWYKKzwlLSBlbmQgLSU+
Cis8JS0gZW5kIC0lPgorICAgIH0pOworCisgICAgcmV0dXJuIGZlYXR1cmVzOworfQorCitib29s
IFdlYlByZWZlcmVuY2VzOjppc0VuYWJsZWRGb3JGZWF0dXJlKGNvbnN0IEFQSTo6SW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUmIGZlYXR1cmUpIGNvbnN0Cit7CisgICAgc3RydWN0IEZlYXR1cmVHZXR0ZXJN
YXBwaW5nIHsKKyAgICAgICAgY29uc3QgY2hhciogbmFtZTsKKyAgICAgICAgYm9vbCAoV2ViUHJl
ZmVyZW5jZXM6OipmdW5jdGlvbikgKCkgY29uc3Q7CisgICAgfTsKKworICAgIHN0YXRpYyBGZWF0
dXJlR2V0dGVyTWFwcGluZyBnZXR0ZXJzW10gPSB7Cis8JS0gZm9yIEBwcmVmIGluIEBpbnRlcm5h
bERlYnVnRmVhdHVyZXMgZG8gLSU+Cis8JS0gaWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2lmIDwl
PSBAcHJlZi5jb25kaXRpb24gJT4KKzwlLSBlbmQgLSU+CisgICAgICAgIHsgIjwlPSBAcHJlZi5u
YW1lICU+IiwgJldlYlByZWZlcmVuY2VzOjo8JT0gQHByZWYubmFtZUxvd2VyICU+IH0sCis8JS0g
aWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2VuZGlmCis8JS0gZW5kIC0lPgorPCUtIGVuZCAtJT4K
KyAgICB9OworCisgICAgY29uc3QgU3RyaW5nJiBrZXkgPSBmZWF0dXJlLmtleSgpOworCisgICAg
Zm9yIChhdXRvJiBnZXR0ZXIgOiBnZXR0ZXJzKSB7CisgICAgICAgIGlmIChrZXkgPT0gZ2V0dGVy
Lm5hbWUpCisgICAgICAgICAgICByZXR1cm4gKHRoaXMtPipnZXR0ZXIuZnVuY3Rpb24pKCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXRF
bmFibGVkRm9yRmVhdHVyZShib29sIHZhbHVlLCBjb25zdCBBUEk6OkludGVybmFsRGVidWdGZWF0
dXJlJiBmZWF0dXJlKQoreworICAgIHN0cnVjdCBGZWF0dXJlU2V0dGVyTWFwcGluZyB7CisgICAg
ICAgIGNvbnN0IGNoYXIqIG5hbWU7CisgICAgICAgIHZvaWQgKFdlYlByZWZlcmVuY2VzOjoqZnVu
Y3Rpb24pIChjb25zdCBib29sJik7CisgICAgfTsKKworICAgIHN0YXRpYyBGZWF0dXJlU2V0dGVy
TWFwcGluZyBzZXR0ZXJzW10gPSB7Cis8JS0gZm9yIEBwcmVmIGluIEBpbnRlcm5hbERlYnVnRmVh
dHVyZXMgZG8gLSU+Cis8JS0gaWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2lmIDwlPSBAcHJlZi5j
b25kaXRpb24gJT4KKzwlLSBlbmQgLSU+CisgICAgICAgIHsgIjwlPSBAcHJlZi5uYW1lICU+Iiwg
JldlYlByZWZlcmVuY2VzOjpzZXQ8JT0gQHByZWYubmFtZSAlPiB9LAorPCUtIGlmIEBwcmVmLmNv
bmRpdGlvbiAtJT4KKyNlbmRpZgorPCUtIGVuZCAtJT4KKzwlLSBlbmQgLSU+CisgICAgfTsKKwor
ICAgIGNvbnN0IFN0cmluZyYga2V5ID0gZmVhdHVyZS5rZXkoKTsKKworICAgIGZvciAoYXV0byYg
c2V0dGVyIDogc2V0dGVycykgeworICAgICAgICBpZiAoa2V5ID09IHNldHRlci5uYW1lKSB7Cisg
ICAgICAgICAgICAodGhpcy0+KnNldHRlci5mdW5jdGlvbikodmFsdWUpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgfQorfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJ
T2JqZWN0LmgKaW5kZXggMWY2MDAzZmY1ZjRkOWRlNGYxODZlN2IxYTNiYTRlZDJhMTJkMmM3MC4u
YjBjYTU0ZDhmYWFiMjlkODkwMTg1NDBmYTY2NTBiOGFhYjE5NWEwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSS9BUElPYmplY3QuaApAQCAtMTEwLDYgKzExMCw3IEBAIHB1YmxpYzoKICAgICAgICAg
Q29udGVudFJ1bGVMaXN0U3RvcmUsCiAgICAgICAgIENvbnRleHRNZW51TGlzdGVuZXIsCiAgICAg
ICAgIENvb2tpZU1hbmFnZXIsCisgICAgICAgIEludGVybmFsRGVidWdGZWF0dXJlLAogICAgICAg
ICBEb3dubG9hZCwKICAgICAgICAgRXhwZXJpbWVudGFsRmVhdHVyZSwKICAgICAgICAgRm9ybVN1
Ym1pc3Npb25MaXN0ZW5lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L0FQSU9iamVjdC5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQpp
bmRleCA0NDhmZmQyOGFjYTdiOGYwZDkxMWQ3YzNjMmJkNzQ0ZjIyZjg0N2Y3Li5lY2MzNTJmMmZk
Zjk1YjRiZGNjY2NlMjA4YzdjMmRmZGQxMGFkOGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvQVBJT2JqZWN0Lm1tCkBAIC03Niw2ICs3Niw3IEBACiAjaW1wb3J0ICJfV0tHZW9sb2NhdGlv
blBvc2l0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0hpdFRlc3RSZXN1bHRJbnRlcm5hbC5o
IgogI2ltcG9ydCAiX1dLSW5zcGVjdG9ySW50ZXJuYWwuaCIKKyNpbXBvcnQgIl9XS0ludGVybmFs
RGVidWdGZWF0dXJlSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbkludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwuaCIK
ICNpbXBvcnQgIl9XS1VzZXJJbml0aWF0ZWRBY3Rpb25JbnRlcm5hbC5oIgpAQCAtMTk0LDYgKzE5
NSwxMCBAQCB2b2lkKiBPYmplY3Q6Om5ld09iamVjdChzaXplX3Qgc2l6ZSwgVHlwZSB0eXBlKQog
ICAgICAgICB3cmFwcGVyID0gW1dLTlNEYXRhIGFsbG9jXTsKICAgICAgICAgYnJlYWs7CiAKKyAg
ICBjYXNlIFR5cGU6OkludGVybmFsRGVidWdGZWF0dXJlOgorICAgICAgICB3cmFwcGVyID0gW19X
S0ludGVybmFsRGVidWdGZWF0dXJlIGFsbG9jXTsKKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNl
IFR5cGU6OkRpY3Rpb25hcnk6CiAgICAgICAgIHdyYXBwZXIgPSBbV0tOU0RpY3Rpb25hcnkgYWxs
b2NdOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sCmluZGV4IDRiZWU2Mzc5MDhlODQwNGY3N2YxNWEyYzI0MjI4ZjhjMzcwZmNhYWYuLjg2ODFi
OWMxMTc5MjQ5MWZhMDcxYmQyMjdiNTQxZWYxMzBkYzU1NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTEyNywyMCArMTEyNywxMyBAQCBJc1NlY3VyZUNv
bnRleHRBdHRyaWJ1dGVFbmFibGVkOgogCiAjIEZvciBleHBlcmltZW50YWwgZmVhdHVyZXM6CiAj
IFRoZSB0eXBlIHNob3VsZCBiZSBib29sZWFuLgotIyBZb3UgbXVzdCBwcm92aWRlIGEgaHVtYW5S
ZWFkYWJsZU5hbWUgYW5kIGh1bWFuUmVhZGFibGVOYW1lIGZvciBhbGwgZXhwZXJpbWVudGFsIGZl
YXR1cmVzLiBUaGV5CisjIFlvdSBtdXN0IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uIGZvciBhbGwgZXhwZXJpbWVudGFsIGZlYXR1cmVzLiBU
aGV5CiAjICAgYXJlIHRoZSB0ZXh0IGV4cG9zZWQgdG8gdGhlIHVzZXIgZnJvbSB0aGUgV2ViS2l0
IGNsaWVudC4KICMgVGhlIGRlZmF1bHQgdmFsdWUgbWF5IGJlIGVpdGhlciBmYWxzZSAoZm9yIHVu
c3RhYmxlIGZlYXR1cmVzKSBvcgogIyAgIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VO
QUJMRUQgKGZvciBmZWF0dXJlcyB0aGF0IGFyZSByZWFkeSBmb3IKICMgICB3aWRlciB0ZXN0aW5n
KS4KIAogCi1Bc3luY0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZh
dWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiQXN5bmMgRnJhbWUgU2Nyb2xs
aW5nIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJQZXJmb3JtIGZyYW1lIHNjcm9sbGlu
ZyBpbiBhIGRlZGljYXRlZCB0aHJlYWQgb3IgcHJvY2VzcyIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1l
bnRhbAotCiBTcHJpbmdUaW1pbmdGdW5jdGlvbkVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVm
YXVsdFZhbHVlOiBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVECkBAIC0xMTcy
LDM4ICsxMTY1LDEwIEBAIEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZDoKICAgY2F0ZWdvcnk6
IGV4cGVyaW1lbnRhbAogICBjb25kaXRpb246IEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIp
CiAKLU1ETlNJQ0VDYW5kaWRhdGVzRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFs
dWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiRW5hYmxlIE1ETlMgSUNFIGNhbmRpZGF0
ZXMiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBNRE5TIElDRSBjYW5kaWRh
dGVzIgotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwotICBjYXRlZ29y
eTogZXhwZXJpbWVudGFsCi0gIGNvbmRpdGlvbjogRU5BQkxFKFdFQl9SVEMpCi0KLUZldGNoQVBJ
S2VlcEFsaXZlRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0g
IGh1bWFuUmVhZGFibGVOYW1lOiAiRmV0Y2ggQVBJIFJlcXVlc3QgS2VlcEFsaXZlIgotICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgRmV0Y2ggQVBJIFJlcXVlc3QgS2VlcEFsaXZl
IgotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzCi0gIHdlYmNvcmVOYW1lOiBmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQKLQot
U2VydmljZVdvcmtlcnNFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogREVG
QVVMVF9TRVJWSUNFX1dPUktFUlNfRU5BQkxFRAotICBodW1hblJlYWRhYmxlTmFtZTogIlNlcnZp
Y2VXb3JrZXJzIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgU2VydmljZVdv
cmtlcnMiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKLSAgd2ViY29yZU5hbWU6IHNlcnZpY2VXb3JrZXJFbmFibGVkCi0g
IGNvbmRpdGlvbjogRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotCiBWaXN1YWxWaWV3cG9ydEFQSUVu
YWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VYUEVSSU1FTlRB
TF9GRUFUVVJFU19FTkFCTEVECi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiVmlzdWFsVmlld3BvcnRB
UEkiCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiVmlzdWFsIFZpZXdwb3J0IEFQSSIKICAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFZpc3VhbCBWaWV3cG9ydCBBUEkiCiAgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKIApAQCAtMTIyNSw3ICsxMTkwLDcgQEAgV2ViQW5pbWF0aW9uc0Vu
YWJsZWQ6CiBXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkOgogICB0eXBlOiBib29s
CiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRAot
ICBodW1hblJlYWRhYmxlTmFtZTogIldlYiBBbmltYXRpb25zIGFuZCBDU1MgSW50ZWdyYXRpb24i
CisgIGh1bWFuUmVhZGFibGVOYW1lOiAiQ1NTIEFuaW1hdGlvbnMgdmlhIFdlYiBBbmltYXRpb25z
IgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFeHBvc2UgQ1NTIEFuaW1hdGlvbnMgYW5k
IENTUyBUcmFuc2l0aW9ucyB0aHJvdWdoIGdldEFuaW1hdGlvbnMoKSIKICAgY2F0ZWdvcnk6IGV4
cGVyaW1lbnRhbAogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwpAQCAt
MTI1NiwxNCArMTIyMSw2IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVuYWJsZWQ6CiAgIGNh
dGVnb3J5OiBleHBlcmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMKIAotQXJpYVJlZmxlY3Rpb25FbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRW
YWx1ZTogdHJ1ZQotICBodW1hblJlYWRhYmxlTmFtZTogIkFSSUEgUmVmbGVjdGlvbiIKLSAgaHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiQVJJQSBSZWZsZWN0aW9uIHN1cHBvcnQiCi0gIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKLQogV2ViVlJFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVM
VF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRApAQCAtMTI3Myw3OCArMTIzMCwxMjYgQEAg
V2ViVlJFbmFibGVkOgogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAgIGNvbmRpdGlvbjogUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCiAKLVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1
Z01vZGU6CitTZXJ2ZXJUaW1pbmdFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1
ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJVFAgRGVidWcgTW9kZSIKLSAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiSW50ZWxsaWdlbnQgVHJhY2tpbmcgUHJldmVudGlvbiBEZWJ1
ZyBNb2RlIgorICBodW1hblJlYWRhYmxlTmFtZTogIlNlcnZlciBUaW1pbmciCisgIGh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBTZXJ2ZXIgVGltaW5nIEFQSSIKICAgY2F0ZWdvcnk6
IGV4cGVyaW1lbnRhbAogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwor
ICB3ZWJjb3JlTmFtZTogc2VydmVyVGltaW5nRW5hYmxlZAogCi1XZWJHTENvbXByZXNzZWRUZXh0
dXJlQVNUQ1N1cHBvcnRFbmFibGVkOgorRW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOgogICB0eXBl
OiBib29sCi0gIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBU1RD
IFRleHR1cmUgU3VwcG9ydCIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiU3VwcG9ydCBm
b3IgQVNUQyBjb21wcmVzc2VkIHRleHR1cmUgZm9ybWF0cyBpbiBXZWJHTCIKLSAgY2F0ZWdvcnk6
IGV4cGVyaW1lbnRhbAorICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTX0VOQUJMRUQKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJNb2Rlcm4gRW5jcnlwdGVkIE1lZGlh
IEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIE1vZGVybiBFbmNyeXB0
ZWQgTWVkaWEgQVBJIgogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwor
ICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisgIGNvbmRpdGlvbjogRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKIAotU2VydmVyVGltaW5nRW5hYmxlZDoKK1dlYkFQSVN0YXRpc3RpY3NFbmFibGVkOgog
ICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJTZXJ2ZXIgVGltaW5nIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgU2Vy
dmVyIFRpbWluZyBBUEkiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgaHVtYW5SZWFkYWJs
ZU5hbWU6ICJXZWIgQVBJIFN0YXRpc3RpY3MiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBXZWIgQVBJIFN0YXRpc3RpY3MiCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzCi0gIHdlYmNvcmVOYW1lOiBzZXJ2ZXJUaW1pbmdFbmFibGVkCisgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKKworIyBGb3IgaW50ZXJuYWwgZmVhdHVyZXM6CisjIFRoZSB0eXBl
IHNob3VsZCBiZSBib29sZWFuLgorIyBZb3UgbXVzdCBwcm92aWRlIGEgaHVtYW5SZWFkYWJsZU5h
bWUgYW5kIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbiBmb3IgYWxsIGRlYnVnIGZlYXR1cmVzLiBU
aGV5CisjICAgYXJlIHRoZSB0ZXh0IGV4cG9zZWQgdG8gdGhlIHVzZXIgZnJvbSB0aGUgV2ViS2l0
IGNsaWVudC4KIAogRXhwZXJpbWVudGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZDoKICAg
dHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAi
U2FuZGJveCBQbHVnLUlucyIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBs
dWctSW4gc2FuZGJveGluZyIKLSAgY2F0ZWdvcnk6IGRlYnVnCisgIGNhdGVnb3J5OiBpbnRlcm5h
bAogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICB3ZWJjb3JlTmFt
ZTogZXhwZXJpbWVudGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZAogCi1GdWxsU2NyZWVu
RW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGNvbmRpdGlv
bjogRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICBoaWRkZW46IEVYUEVSSU1FTlRBTF9GVUxMU0NS
RUVOX0FQSV9ISURERU4KLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJGdWxsc2NyZWVuIEFQSSIKLSAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRnVsbHNjcmVlbiBBUEkiCi0gIGNhdGVnb3J5OiBl
eHBlcmltZW50YWwKLQotRW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOgotICB0eXBlOiBib29sCi0g
IGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRAotICBo
dW1hblJlYWRhYmxlTmFtZTogIk1vZGVybiBFbmNyeXB0ZWQgTWVkaWEgQVBJIgotICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJNb2Rlcm4gRW5jcnlwdGVkIE1lZGlhIEFQSSIKLSAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRh
bAotICBjb25kaXRpb246IEVOQUJMRShFTkNSWVBURURfTUVESUEpCi0KIFByb2Nlc3NTd2FwT25D
cm9zc1NpdGVOYXZpZ2F0aW9uRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6
IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiU3dhcCBQcm9jZXNzZXMgb24gQ3Jvc3MtU2l0
ZSBOYXZpZ2F0aW9uIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJTd2FwIFdlYkNvbnRl
bnQgcHJvY2Vzc2VzIG9uIGNyb3NzLXNpdGUgbmF2aWdhdGlvbnMiCi0gIGNhdGVnb3J5OiBleHBl
cmltZW50YWwKKyAgY2F0ZWdvcnk6IGludGVybmFsCiAgIHdlYmNvcmVCaW5kaW5nOiBub25lCiAK
IFNvdXJjZUJ1ZmZlckNoYW5nZVR5cGVFbmFibGVkOgogICB0eXBlOiBib29sCi0gIGRlZmF1bHRW
YWx1ZTogREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRAorICBkZWZhdWx0VmFs
dWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTWVkaWEgU291cmNlIENvZGVjIFN3aXRj
aGluZyBTdXBwb3J0IgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgTWVkaWEg
U291cmNlIENvZGVjIFN3aXRjaGluZyB0aHJvdWdoIGNoYW5nZVR5cGUoKSIKLSAgY2F0ZWdvcnk6
IGV4cGVyaW1lbnRhbAorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJNZWRpYSBTb3VyY2Ug
Q29kZWMgU3dpdGNoaW5nIHRocm91Z2ggY2hhbmdlVHlwZSgpIgorICBjYXRlZ29yeTogaW50ZXJu
YWwKICAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU09VUkNFKQogCi1XZWJBUElTdGF0aXN0aWNz
RW5hYmxlZDoKK1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGU6CiAgIHR5cGU6IGJvb2wK
ICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICBodW1hblJlYWRhYmxlTmFtZTogIldlYiBBUEkgU3Rh
dGlzdGljcyIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYiBBUEkgU3Rh
dGlzdGljcyIKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJVFAgRGVidWcgTW9kZSIKKyAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiSW50ZWxsaWdlbnQgVHJhY2tpbmcgUHJldmVudGlvbiBEZWJ1
ZyBNb2RlIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKKworU2VydmljZVdvcmtlcnNFbmFibGVkOgorICB0eXBlOiBib29sCisg
IGRlZmF1bHRWYWx1ZTogREVGQVVMVF9TRVJWSUNFX1dPUktFUlNfRU5BQkxFRAorICBodW1hblJl
YWRhYmxlTmFtZTogIlNlcnZpY2UgV29ya2VycyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
OiAiRW5hYmxlIFNlcnZpY2UgV29ya2VycyIKKyAgY2F0ZWdvcnk6IGludGVybmFsCisgIHdlYmNv
cmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisgIHdlYmNvcmVOYW1lOiBzZXJ2aWNl
V29ya2VyRW5hYmxlZAorICBjb25kaXRpb246IEVOQUJMRShTRVJWSUNFX1dPUktFUikKKworQXN5
bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBm
YWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFzeW5jIEZyYW1lIFNjcm9sbGluZyIKKyAgaHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiUGVyZm9ybSBmcmFtZSBzY3JvbGxpbmcgaW4gYSBkZWRp
Y2F0ZWQgdGhyZWFkIG9yIHByb2Nlc3MiCisgIGNhdGVnb3J5OiBpbnRlcm5hbAorCitNRE5TSUNF
Q2FuZGlkYXRlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQor
ICBodW1hblJlYWRhYmxlTmFtZTogIk1ETlMgSUNFIGNhbmRpZGF0ZXMiCisgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZSBNRE5TIElDRSBjYW5kaWRhdGVzIgorICB3ZWJjb3JlQmlu
ZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgY29u
ZGl0aW9uOiBFTkFCTEUoV0VCX1JUQykKKworRmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkOgorICB0
eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJG
ZXRjaCBBUEkgUmVxdWVzdCBLZWVwQWxpdmUiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBGZXRjaCBBUEkgUmVxdWVzdCBLZWVwQWxpdmUiCisgIGNhdGVnb3J5OiBpbnRlcm5h
bAorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICB3ZWJjb3JlTmFt
ZTogZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkCisKK1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RD
U3VwcG9ydEVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBo
dW1hblJlYWRhYmxlTmFtZTogIkFTVEMgVGV4dHVyZSBTdXBwb3J0IgorICBodW1hblJlYWRhYmxl
RGVzY3JpcHRpb246ICJTdXBwb3J0IGZvciBBU1RDIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXRz
IGluIFdlYkdMIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKKworRnVsbFNjcmVlbkVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAg
ZGVmYXVsdFZhbHVlOiBmYWxzZQorICBjb25kaXRpb246IEVOQUJMRShGVUxMU0NSRUVOX0FQSSkK
KyAgaGlkZGVuOiBFWFBFUklNRU5UQUxfRlVMTFNDUkVFTl9BUElfSElEREVOCisgIGh1bWFuUmVh
ZGFibGVOYW1lOiAiRnVsbHNjcmVlbiBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkZ1bGxzY3JlZW4gQVBJIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKworQXJpYVJlZmxlY3Rpb25F
bmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRh
YmxlTmFtZTogIkFSSUEgUmVmbGVjdGlvbiIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAi
QVJJQSBSZWZsZWN0aW9uIHN1cHBvcnQiCisgIGNhdGVnb3J5OiBpbnRlcm5hbAogICB3ZWJjb3Jl
QmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwotICBjYXRlZ29yeTogZXhwZXJpbWVudGFs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dAppbmRleCA5NDdjZmQ0NzQ0MjIwNmU2NDk0MmJkOTA3M2JjMTMxY2ZjOTNiMzU3
Li5kYWQ3MDNhOGNjY2I5NTU1YTMxYmUzY2M1OTM3MWQ0ZmMyNmVhYWIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQK
QEAgLTI5Miw2ICsyOTIsNyBAQCBVSVByb2Nlc3MvQVBJL0FQSUV4cGVyaW1lbnRhbEZlYXR1cmUu
Y3BwCiBVSVByb2Nlc3MvQVBJL0FQSUZyYW1lSW5mby5jcHAKIFVJUHJvY2Vzcy9BUEkvQVBJSFRU
UENvb2tpZVN0b3JlLmNwcAogVUlQcm9jZXNzL0FQSS9BUElIaXRUZXN0UmVzdWx0LmNwcAorVUlQ
cm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHAKIFVJUHJvY2Vzcy9BUEkvQVBJ
TmF2aWdhdGlvbi5jcHAKIFVJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbkRhdGEuY3BwCiBVSVBy
b2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0Cmlu
ZGV4IDE2ZDA3YmEwMzNjZTg3Y2ZlMzc2OWFiM2RlOGY4Mjk2MGJhNzI5ODYuLjJmYjhlMWFiZTVh
NzU1ZTJjYzRhYWUzYWQ2MDA4MGI4ODM2MzU2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAg
LTI0MCw2ICsyNDAsNyBAQCBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0Vycm9yUmVjb3ZlcnlBdHRl
bXB0aW5nLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0V4cGVyaW1lbnRhbEZlYXR1cmUubW0K
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbQogVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tJbnNwZWN0b3IubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJu
YWxEZWJ1Z0ZlYXR1cmUubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLTGlua0ljb25QYXJhbWV0
ZXJzLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5t
bQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxl
ci5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUludGVybmFs
RGVidWdGZWF0dXJlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5h
bERlYnVnRmVhdHVyZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ2MGY2Mjk5NGIwMjYzNzQxNTYxNDI3Njgy
Yzc3NDRmYWE2NjYxYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBUElJbnRlcm5hbERlYnVnRmVh
dHVyZS5oIgorCituYW1lc3BhY2UgQVBJIHsKKworUmVmPEludGVybmFsRGVidWdGZWF0dXJlPiBJ
bnRlcm5hbERlYnVnRmVhdHVyZTo6Y3JlYXRlKGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lLCBjb25z
dCBXVEY6OlN0cmluZyYga2V5LCBjb25zdCBXVEY6OlN0cmluZyYgZGV0YWlscywgYm9vbCBkZWZh
dWx0VmFsdWUsIGJvb2wgaGlkZGVuKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEludGVy
bmFsRGVidWdGZWF0dXJlKG5hbWUsIGtleSwgZGV0YWlscywgZGVmYXVsdFZhbHVlLCBoaWRkZW4p
KTsKK30KKworSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6OkludGVybmFsRGVidWdGZWF0dXJlKGNvbnN0
IFdURjo6U3RyaW5nJiBuYW1lLCBjb25zdCBXVEY6OlN0cmluZyYga2V5LCBjb25zdCBXVEY6OlN0
cmluZyYgZGV0YWlscywgYm9vbCBkZWZhdWx0VmFsdWUsIGJvb2wgaGlkZGVuKQorICAgIDogbV9u
YW1lKG5hbWUpCisgICAgLCBtX2tleShrZXkpCisgICAgLCBtX2RldGFpbHMoZGV0YWlscykKKyAg
ICAsIG1fZGVmYXVsdFZhbHVlKGRlZmF1bHRWYWx1ZSkKKyAgICAsIG1faGlkZGVuKGhpZGRlbikK
K3sKK30KKworSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6On5JbnRlcm5hbERlYnVnRmVhdHVyZSgpCit7
Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRl
cm5hbERlYnVnRmVhdHVyZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUludGVy
bmFsRGVidWdGZWF0dXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE4OWJlY2VjNzc0ZjFlOTQ2OWZjOGQ2YWYx
Y2JkZmIzNGI2YWExOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgQVBJIHsKKworY2xhc3MgSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUgZmluYWwgOiBwdWJsaWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6OkludGVy
bmFsRGVidWdGZWF0dXJlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxJbnRlcm5hbERlYnVn
RmVhdHVyZT4gY3JlYXRlKGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lLCBjb25zdCBXVEY6OlN0cmlu
ZyYga2V5LCBjb25zdCBXVEY6OlN0cmluZyYgZGV0YWlscywgYm9vbCBkZWZhdWx0VmFsdWUsIGJv
b2wgaGlkZGVuKTsKKyAgICB2aXJ0dWFsIH5JbnRlcm5hbERlYnVnRmVhdHVyZSgpOworCisgICAg
V1RGOjpTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIFdURjo6U3Ry
aW5nIGtleSgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5OyB9CisgICAgV1RGOjpTdHJpbmcgZGV0YWls
cygpIGNvbnN0IHsgcmV0dXJuIG1fZGV0YWlsczsgfQorICAgIGJvb2wgZGVmYXVsdFZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWZhdWx0VmFsdWU7IH0KKyAgICBib29sIGlzSGlkZGVuKCkgY29u
c3QgeyByZXR1cm4gbV9oaWRkZW47IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBJbnRlcm5h
bERlYnVnRmVhdHVyZShjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgY29uc3QgV1RGOjpTdHJpbmcm
IGtleSwgY29uc3QgV1RGOjpTdHJpbmcmIGRldGFpbHMsIGJvb2wgZGVmYXVsdFZhbHVlLCBib29s
IGhpZGRlbik7CisKKyAgICBXVEY6OlN0cmluZyBtX25hbWU7CisgICAgV1RGOjpTdHJpbmcgbV9r
ZXk7CisgICAgV1RGOjpTdHJpbmcgbV9kZXRhaWxzOworICAgIGJvb2wgbV9kZWZhdWx0VmFsdWU7
CisgICAgYm9vbCBtX2hpZGRlbjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tBUElDYXN0LmgKaW5kZXggZTY1ZmQ5NzAyNmNlOWQ5ODI4NDNiMzliYjZmODc5OGUyODc0
OTEyZS4uNzE4NzA3ZmE5MTM2ZTM5NjViNjFiY2M5MGQ3OTVmODM2MTg1NGEzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTU0LDYgKzU0LDcgQEAKIG5h
bWVzcGFjZSBBUEkgewogY2xhc3MgQ29udGVudFJ1bGVMaXN0OwogY2xhc3MgQ29udGVudFJ1bGVM
aXN0U3RvcmU7CitjbGFzcyBJbnRlcm5hbERlYnVnRmVhdHVyZTsKIGNsYXNzIEV4cGVyaW1lbnRh
bEZlYXR1cmU7CiBjbGFzcyBGcmFtZUhhbmRsZTsKIGNsYXNzIEZyYW1lSW5mbzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KaW5kZXgg
M2U4MjdlYzQ0YjIxZTcxYTViNDY1ZjNlOGE2NTA5YTI3MDY2NDU1MC4uMWVhYzZkN2M2MDU1ZDBl
YTNlYjAwZWYxOTA0YThlM2NmNjllZjQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KQEAgLTMyLDggKzMyLDggQEAKICNpbXBv
cnQgIlBsdWdpblByb2Nlc3NNYW5hZ2VyLmgiCiAjaW1wb3J0ICJXS05TQXJyYXkuaCIKICNpbXBv
cnQgIldlYlByZWZlcmVuY2VzLmgiCi0jaW1wb3J0ICJfV0tFeHBlcmltZW50YWxGZWF0dXJlLmgi
CiAjaW1wb3J0ICJfV0tFeHBlcmltZW50YWxGZWF0dXJlSW50ZXJuYWwuaCIKKyNpbXBvcnQgIl9X
S0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvU2VjdXJp
dHlPcmlnaW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvU2V0dGluZ3MuaD4KICNpbXBvcnQgPHd0Zi9S
ZXRhaW5QdHIuaD4KQEAgLTUyNywxOCArNTI3LDQ2IEBAIHN0YXRpYyBfV0tTdG9yYWdlQmxvY2tp
bmdQb2xpY3kgdG9BUEkoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OlN0b3JhZ2VCbG9ja2luZ1Bv
CiAgICAgX3ByZWZlcmVuY2VzLT5zZXRGaXhlZEZvbnRGYW1pbHkoZml4ZWRQaXRjaEZvbnRGYW1p
bHkpOwogfQogCisrIChOU0FycmF5PF9XS0ludGVybmFsRGVidWdGZWF0dXJlICo+ICopX2ludGVy
bmFsRGVidWdGZWF0dXJlcworeworICAgIGF1dG8gZmVhdHVyZXMgPSBXZWJLaXQ6OldlYlByZWZl
cmVuY2VzOjppbnRlcm5hbERlYnVnRmVhdHVyZXMoKTsKKyAgICByZXR1cm4gd3JhcHBlcihBUEk6
OkFycmF5OjpjcmVhdGUoV1RGTW92ZShmZWF0dXJlcykpKTsKK30KKworLSAoQk9PTClfaXNFbmFi
bGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6KF9XS0ludGVybmFsRGVidWdGZWF0dXJlICopZmVh
dHVyZQoreworICAgIHJldHVybiBfcHJlZmVyZW5jZXMtPmlzRW5hYmxlZEZvckZlYXR1cmUoKmZl
YXR1cmUtPl9pbnRlcm5hbERlYnVnRmVhdHVyZSk7Cit9CisKKy0gKHZvaWQpX3NldEVuYWJsZWQ6
KEJPT0wpdmFsdWUgZm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6KF9XS0ludGVybmFsRGVidWdGZWF0
dXJlICopZmVhdHVyZQoreworICAgIF9wcmVmZXJlbmNlcy0+c2V0RW5hYmxlZEZvckZlYXR1cmUo
dmFsdWUsICpmZWF0dXJlLT5faW50ZXJuYWxEZWJ1Z0ZlYXR1cmUpOworfQorCiArIChOU0FycmF5
PF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4gKilfZXhwZXJpbWVudGFsRmVhdHVyZXMKIHsKICAg
ICBhdXRvIGZlYXR1cmVzID0gV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6ZXhwZXJpbWVudGFsRmVh
dHVyZXMoKTsKICAgICByZXR1cm4gd3JhcHBlcihBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShm
ZWF0dXJlcykpKTsKIH0KIAorLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgU2FmYXJpIGhhcyBh
ZG9wdGVkIHRoZSBuZXcgQVBJLgogLSAoQk9PTClfaXNFbmFibGVkRm9yRmVhdHVyZTooX1dLRXhw
ZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUKIHsKLSAgICByZXR1cm4gX3ByZWZlcmVuY2VzLT5p
c0VuYWJsZWRGb3JGZWF0dXJlKCpmZWF0dXJlLT5fZXhwZXJpbWVudGFsRmVhdHVyZSk7CisgICAg
cmV0dXJuIFtzZWxmIF9pc0VuYWJsZWRGb3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1cmVdOwog
fQogCisvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSBTYWZhcmkgaGFzIGFkb3B0ZWQgdGhlIG5l
dyBBUEkuCiAtICh2b2lkKV9zZXRFbmFibGVkOihCT09MKXZhbHVlIGZvckZlYXR1cmU6KF9XS0V4
cGVyaW1lbnRhbEZlYXR1cmUgKilmZWF0dXJlCit7CisgICAgW3NlbGYgX3NldEVuYWJsZWQ6dmFs
dWUgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTpmZWF0dXJlXTsKK30KKworLSAoQk9PTClfaXNFbmFi
bGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1
cmUKK3sKKyAgICByZXR1cm4gX3ByZWZlcmVuY2VzLT5pc0VuYWJsZWRGb3JGZWF0dXJlKCpmZWF0
dXJlLT5fZXhwZXJpbWVudGFsRmVhdHVyZSk7Cit9CisKKy0gKHZvaWQpX3NldEVuYWJsZWQ6KEJP
T0wpdmFsdWUgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAq
KWZlYXR1cmUKIHsKICAgICBfcHJlZmVyZW5jZXMtPnNldEVuYWJsZWRGb3JGZWF0dXJlKHZhbHVl
LCAqZmVhdHVyZS0+X2V4cGVyaW1lbnRhbEZlYXR1cmUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRl
eCAzODc5ZTM1ZWQzMjVlODU3YjBjNWFiNzNjZDdiZGFjNDE5ZTY1MzNjLi4xMDBmZGEyNmMyOWFj
ZmE4M2U3ODM3ZWU4MjZkZTk4ZTdiYjM1Mzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNTUsNiAr
NTUsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tFZGl0YWJsZUxpbmtCZWhhdmlv
cikgewogfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIAog
QGNsYXNzIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmU7CitAY2xhc3MgX1dLSW50ZXJuYWxEZWJ1Z0Zl
YXR1cmU7CiAKIEBpbnRlcmZhY2UgV0tQcmVmZXJlbmNlcyAoKSA8TlNDb3B5aW5nPgogQGVuZApA
QCAtMTMwLDkgKzEzMSwxNSBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tFZGl0YWJs
ZUxpbmtCZWhhdmlvcikgewogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBVkZv
dW5kYXRpb25FbmFibGVkOikgQk9PTCBfYXZGb3VuZGF0aW9uRW5hYmxlZCBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMCksIGlvcyhXS19JT1NfVEJBKSk7CiAKKysgKE5TQXJyYXk8X1dLSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmUgKj4gKilfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAoQk9PTClfaXNF
bmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6KF9XS0ludGVybmFsRGVidWdGZWF0dXJlICop
ZmVhdHVyZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKKy0gKHZvaWQpX3NldEVuYWJsZWQ6KEJPT0wpdmFsdWUgZm9ySW50ZXJuYWxEZWJ1Z0Zl
YXR1cmU6KF9XS0ludGVybmFsRGVidWdGZWF0dXJlICopZmVhdHVyZSBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogKyAoTlNBcnJheTxfV0tF
eHBlcmltZW50YWxGZWF0dXJlICo+ICopX2V4cGVyaW1lbnRhbEZlYXR1cmVzIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIC0gKEJPT0wpX2lzRW5hYmxlZEZvckZl
YXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIC0gKHZvaWQpX3NldEVuYWJsZWQ6KEJPT0wpdmFs
dWUgZm9yRmVhdHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOworLSAoQk9PTClfaXNFbmFibGVkRm9y
RXhwZXJpbWVudGFsRmVhdHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOworLSAodm9pZClfc2V0RW5h
YmxlZDooQk9PTCl2YWx1ZSBmb3JFeHBlcmltZW50YWxGZWF0dXJlOihfV0tFeHBlcmltZW50YWxG
ZWF0dXJlICopZmVhdHVyZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4w
KSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNob3VsZEVuYWJsZVRleHRB
dXRvc2l6aW5nQm9vc3Q6KSBCT09MIF9zaG91bGRFbmFibGVUZXh0QXV0b3NpemluZ0Jvb3N0IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRl
cm5hbERlYnVnRmVhdHVyZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1MTU0OTQ2MmI2MGUxMTc4MzlkODE5MjVj
NTkzNTcyMjY5NTIwOTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaApAQCAtMCwwICsxLDQzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCisjaWYgV0tfQVBJ
X0VOQUJMRUQKKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK1dLX0NMQVNT
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZh
Y2UgX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgOiBOU09iamVjdAorCitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICprZXk7CitAcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICpuYW1lOworQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqZGV0YWlsczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgQk9PTCBkZWZhdWx0VmFsdWU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHksIGdldHRlcj1pc0hpZGRlbikgQk9PTCBoaWRkZW47CisKK0BlbmQKKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmM3ODcwNzQ1NTYyODgzMDA2MjUzYTNm
NjczMmI5NGY4ODg2MDZlZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5tbQpAQCAtMCwwICsxLDc5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tJbnRlcm5hbERl
YnVnRmVhdHVyZUludGVybmFsLmgiCisKKyNpZiBXS19BUElfRU5BQkxFRAorCitAaW1wbGVtZW50
YXRpb24gX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUKKworLSAodm9pZClkZWFsbG9jCit7CisgICAg
X2ludGVybmFsRGVidWdGZWF0dXJlLT5BUEk6OkludGVybmFsRGVidWdGZWF0dXJlOjp+SW50ZXJu
YWxEZWJ1Z0ZlYXR1cmUoKTsKKworICAgIFtzdXBlciBkZWFsbG9jXTsKK30KKworLSAoTlNTdHJp
bmcgKilkZXNjcmlwdGlvbgoreworICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1h
dDpAIjwlQDogJXA7IG5hbWUgPSAlQDsga2V5ID0gJUA7IGRlZmF1bHRWYWx1ZSA9ICVzID4iLCBO
U1N0cmluZ0Zyb21DbGFzcyhzZWxmLmNsYXNzKSwgc2VsZiwgc2VsZi5uYW1lLCBzZWxmLmtleSwg
c2VsZi5kZWZhdWx0VmFsdWUgPyAib24iIDogIm9mZiJdOworfQorCistIChOU1N0cmluZyAqKW5h
bWUKK3sKKyAgICByZXR1cm4gX2ludGVybmFsRGVidWdGZWF0dXJlLT5uYW1lKCk7Cit9CisKKy0g
KE5TU3RyaW5nICopa2V5Cit7CisgICAgcmV0dXJuIF9pbnRlcm5hbERlYnVnRmVhdHVyZS0+a2V5
KCk7Cit9CisKKy0gKE5TU3RyaW5nICopZGV0YWlscworeworICAgIHJldHVybiBfaW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUtPmRldGFpbHMoKTsKK30KKworLSAoQk9PTClkZWZhdWx0VmFsdWUKK3sKKyAg
ICByZXR1cm4gX2ludGVybmFsRGVidWdGZWF0dXJlLT5kZWZhdWx0VmFsdWUoKTsKK30KKworLSAo
Qk9PTClpc0hpZGRlbgoreworICAgIHJldHVybiBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmUtPmlzSGlk
ZGVuKCk7Cit9CisKKyNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlv
bgorCistIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAoreworICAgIHJldHVybiAqX2ludGVybmFs
RGVidWdGZWF0dXJlOworfQorCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVh
dHVyZUludGVybmFsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZmZTljMTI5MjE1NDlkNWRkYTUwMjY4MDQ5Mjgx
NTQ0OWQ5ODI3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmgKQEAgLTAsMCArMSw0NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbXBvcnQgIl9XS0ludGVybmFsRGVidWdGZWF0dXJlLmgiCisKKyNp
ZiBXS19BUElfRU5BQkxFRAorCisjaW1wb3J0ICJBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oIgor
I2ltcG9ydCAiV0tPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3RlbXBsYXRlPD4g
c3RydWN0IFdyYXBwZXJUcmFpdHM8QVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZT4geworICAgIHVz
aW5nIFdyYXBwZXJDbGFzcyA9IF9XS0ludGVybmFsRGVidWdGZWF0dXJlOworfTsKKworfQorCitA
aW50ZXJmYWNlIF9XS0ludGVybmFsRGVidWdGZWF0dXJlICgpIDxXS09iamVjdD4geworQHBhY2th
Z2UKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8QVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZT4gX2lu
dGVybmFsRGVidWdGZWF0dXJlOworfQorQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAwODRiZWQzZWMxYmVkNjJiMjQyZjZiYmZh
NDgwMTgwZDhlZjIzODU0Li40NGEwYTAyYjk4YmM2Y2IxYjEzMTJkZDZlM2E1YmIyNGNmMzJkMWQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0xMzEs
NyArMTMxLDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlQm9vbFZhbHVlRm9yS2V5KGNv
bnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQogICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25s
eSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2YWx1ZS4KIH0KIAotdm9pZCBXZWJQcmVm
ZXJlbmNlczo6dXBkYXRlQm9vbFZhbHVlRm9yRXhwZXJpbWVudGFsRmVhdHVyZUtleShjb25zdCBT
dHJpbmcmIGtleSwgYm9vbCB2YWx1ZSkKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xW
YWx1ZUZvckludGVybmFsRGVidWdGZWF0dXJlS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZh
bHVlKQogewogICAgIGlmIChrZXkgPT0gV2ViUHJlZmVyZW5jZXNLZXk6OnByb2Nlc3NTd2FwT25D
cm9zc1NpdGVOYXZpZ2F0aW9uRW5hYmxlZEtleSgpKSB7CiAgICAgICAgIGZvciAoYXV0byogcGFn
ZSA6IG1fcGFnZXMpCkBAIC0xNDMsNiArMTQzLDExIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnVw
ZGF0ZUJvb2xWYWx1ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmVLZXkoY29uc3QgU3RyaW5nJiBrZXks
CiAgICAgdXBkYXRlKCk7IC8vIEZJWE1FOiBPbmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkg
YW5kIHZhbHVlLgogfQogCit2b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVCb29sVmFsdWVGb3JF
eHBlcmltZW50YWxGZWF0dXJlS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQorewor
ICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5IGFu
ZCB2YWx1ZS4KK30KKwogdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlVUludDMyVmFsdWVGb3JL
ZXkoY29uc3QgU3RyaW5nJiBrZXksIHVpbnQzMl90IHZhbHVlKQogewogICAgIHBsYXRmb3JtVXBk
YXRlVUludDMyVmFsdWVGb3JLZXkoa2V5LCB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJlZmVyZW5jZXMuaAppbmRleCAzM2U4NGEyZmZjMTAwZWQzNzVjMTY1NjExNTVmM2JiMmYx
NGZhYzA1Li44ZTgxZTYyMTEyZTIyMTAyMWE3NDdhNTBlYWY4YTI4MmVlMjEzYjNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIgorI2luY2x1
ZGUgIkFQSUludGVybmFsRGVidWdGZWF0dXJlLmgiCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAj
aW5jbHVkZSAiRm9udFNtb290aGluZ0xldmVsLmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNE
ZWZpbml0aW9ucy5oIgpAQCAtNjAsOCArNjEsMTMgQEAgcHVibGljOgogCiAgICAgRk9SX0VBQ0hf
V0VCS0lUX1BSRUZFUkVOQ0UoREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykK
ICAgICBGT1JfRUFDSF9XRUJLSVRfREVCVUdfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0Vf
R0VUVEVSX0FORF9TRVRURVJTKQorICAgIEZPUl9FQUNIX1dFQktJVF9JTlRFUk5BTF9ERUJVR19G
RUFUVVJFX1BSRUZFUkVOQ0UoREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykK
ICAgICBGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShERUNM
QVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKQogCisgICAgc3RhdGljIGNvbnN0IFZl
Y3RvcjxSZWZQdHI8QVBJOjpPYmplY3Q+PiYgaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKCk7CisgICAg
Ym9vbCBpc0VuYWJsZWRGb3JGZWF0dXJlKGNvbnN0IEFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUm
KSBjb25zdDsKKyAgICB2b2lkIHNldEVuYWJsZWRGb3JGZWF0dXJlKGJvb2wsIGNvbnN0IEFQSTo6
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUmKTsKKwogICAgIHN0YXRpYyBjb25zdCBWZWN0b3I8UmVmUHRy
PEFQSTo6T2JqZWN0Pj4mIGV4cGVyaW1lbnRhbEZlYXR1cmVzKCk7CiAgICAgYm9vbCBpc0VuYWJs
ZWRGb3JGZWF0dXJlKGNvbnN0IEFQSTo6RXhwZXJpbWVudGFsRmVhdHVyZSYpIGNvbnN0OwogICAg
IHZvaWQgc2V0RW5hYmxlZEZvckZlYXR1cmUoYm9vbCwgY29uc3QgQVBJOjpFeHBlcmltZW50YWxG
ZWF0dXJlJik7CkBAIC03OSw2ICs4NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0ZVN0
cmluZ1ZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsK
ICAgICB2b2lkIHVwZGF0ZUJvb2xWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2
YWx1ZSk7CisgICAgdm9pZCB1cGRhdGVCb29sVmFsdWVGb3JJbnRlcm5hbERlYnVnRmVhdHVyZUtl
eShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCB1cGRhdGVCb29sVmFs
dWVGb3JFeHBlcmltZW50YWxGZWF0dXJlS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVl
KTsKICAgICB2b2lkIHVwZGF0ZVVJbnQzMlZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCB1
aW50MzJfdCB2YWx1ZSk7CiAgICAgdm9pZCB1cGRhdGVEb3VibGVWYWx1ZUZvcktleShjb25zdCBT
dHJpbmcmIGtleSwgZG91YmxlIHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAppbmRleCAxNGI2NzQ2OWNhZWVjMTQyNTMyYzBhOWU1MDY4YTQ1NzE1Y2Y4
MDNiLi40YmJkNzM2Y2I5M2Y5ZDhiZDY5ZGNjZDZkYWZlYTg4NzM2OTdjZTBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xMTU5LDcgKzExNTksNyBA
QCBSZWY8V2ViUGFnZVByb3h5PiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlV2ViUGFnZShQYWdlQ2xp
ZW50JiBwYWdlQ2xpZW50LCBSZWY8QVBJOgogICAgIGF1dG8gcGFnZSA9IHByb2Nlc3MtPmNyZWF0
ZVdlYlBhZ2UocGFnZUNsaWVudCwgV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikpOwogICAgIGlm
IChwYWdlLT5wcmVmZXJlbmNlcygpLnByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9uRW5h
YmxlZCgpKSB7CiAgICAgICAgIG1fY29uZmlndXJhdGlvbi0+c2V0UHJvY2Vzc1N3YXBzT25OYXZp
Z2F0aW9uKHRydWUpOwotICAgICAgICAvLyBGSVhNRTogRm9yIG5vdywgdHVybmluZyBvbiBQU09O
IGZyb20gdGhlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyBtZW51IGFsc28gdHVybnMgb24KKyAgICAg
ICAgLy8gRklYTUU6IEZvciBub3csIHR1cm5pbmcgb24gUFNPTiBmcm9tIHRoZSBkZWJ1ZyBmZWF0
dXJlcyBtZW51IGFsc28gdHVybnMgb24KICAgICAgICAgLy8gYXV0b21hdGljIHByb2Nlc3Mgd2Fy
bWluZyB1bnRpbCBjbGllbnRzIGNhbiBiZSB1cGRhdGVkLgogICAgICAgICBtX2NvbmZpZ3VyYXRp
b24tPnNldElzQXV0b21hdGljUHJvY2Vzc1dhcm1pbmdFbmFibGVkKHRydWUpOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdh
NDZiZjU0ZGVkNjM5N2M0YThkYmE5YThmYzEzZjVmMTVkMDlkMmUuLmY2ODE3MTllNTI2ZTg1MGNi
N2IyOTY5YmU4OWMzMTBkMzcwOTRjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzUxLDYgKzc1MSwxMCBAQAogCQkzMUEyRUM3NDE0
OEQ1OUNBMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNzIxNDhENTlC
QjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMUE1MDVGQTE2ODAwMjU1
MDBBOTMwRUIgLyogV2ViQ29udGV4dENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBNTA1RjgxNjgwMDI1NTAwQTkzMEVCIC8qIFdlYkNvbnRl
eHRDbGllbnQuaCAqLzsgfTsKIAkJMzFBNjdFMEQxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1
dG9TdGFydFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlk
ZXIuaCAqLzsgfTsKKwkJMzFCMzYyOEYyMTQxRUE1RDAwN0JGQTUzIC8qIEFQSUludGVybmFsRGVi
dWdGZWF0dXJlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMUIzNjI4RTIxNDFFQTREMDA3QkZBNTMgLyogQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAq
LzsgfTsKKwkJMzFCMzYyOTUyMTQxRUJDRDAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0
dXJlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIz
NjI5NDIxNDFFQkFEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMUIzNjI5NzIxNDFF
QkQ5MDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFCMzYyOTMyMTQxRUJBRDAw
N0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFC
MzYyOTkyMTQxRjZFODAwN0JGQTUzIC8qIFdlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
QjM2Mjk4MjE0MUY2RTAwMDdCRkE1MyAvKiBXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0
dXJlcy5jcHAgKi87IH07CiAJCTMxQkE5MjREMTQ4ODMxMjYwMDYyRURCNSAvKiBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQkE5MjQ4MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMzFCQTkyNEUxNDg4
MzEyNjAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFCQTkyNDkxNDg4MzA4MTAw
NjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwogCQkzMUQ1
OTI5RjE2NkUwNjAwMDBFNkJGMDIgLyogV2ViUGx1Z0luQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ1OTI5RDE2NkUwNjAwMDBFNkJGMDIg
LyogV2ViUGx1Z0luQ2xpZW50LmggKi87IH07CkBAIC0yODQyLDYgKzI4NDYsMTIgQEAKIAkJMzFB
NTA1RjgxNjgwMDI1NTAwQTkzMEVCIC8qIFdlYkNvbnRleHRDbGllbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4dENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMUE2N0UwQTE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0
UHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z0lu
QXV0b1N0YXJ0UHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE2
N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFCMzYyOEUyMTQxRUE0RDAwN0JGQTUzIC8qIEFQ
SUludGVybmFsRGVidWdGZWF0dXJlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUludGVybmFsRGVidWdG
ZWF0dXJlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQjM2MjkwMjE0MUVBQkMw
MDdCRkE1MyAvKiBBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQjM2MjkyMjE0MUVCQUMwMDdCRkE1MyAvKiBfV0tJbnRl
cm5hbERlYnVnRmVhdHVyZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IF9XS0ludGVybmFsRGVidWdGZWF0dXJlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkzMUIzNjI5MzIxNDFFQkFEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJ
bnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tJbnRlcm5hbERl
YnVnRmVhdHVyZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQjM2
Mjk0MjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUIzNjI5ODIxNDFGNkUwMDA3QkZBNTMgLyogV2Vi
UHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUJBOTI0ODE0ODgzMDgxMDA2MkVEQjUg
LyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJl
Y2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFCQTkyNDkxNDg4MzA4
MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFENTkyOUMxNjZFMDVGRjAwRTZCRjAyIC8q
IFdlYlBsdWdJbkNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJQbHVnSW5DbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTk0
Nyw2ICs1OTU3LDkgQEAKIAkJCQk1Q0FGREU0MjIxMzA4NDM1MDBCMUY3RTEgLyogX1dLSW5zcGVj
dG9yLmggKi8sCiAJCQkJNUNBRkRFNDMyMTMwODQzNjAwQjFGN0UxIC8qIF9XS0luc3BlY3Rvci5t
bSAqLywKIAkJCQk1Q0FGREU0NDIxMzA4NDM2MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9ySW50ZXJu
YWwuaCAqLywKKwkJCQkzMUIzNjI5NDIxNDFFQkFEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuaCAqLywKKwkJCQkzMUIzNjI5MjIxNDFFQkFDMDA3QkZBNTMgLyogX1dLSW50ZXJu
YWxEZWJ1Z0ZlYXR1cmUubW0gKi8sCisJCQkJMzFCMzYyOTMyMTQxRUJBRDAwN0JGQTUzIC8qIF9X
S0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCAqLywKIAkJCQkyRDc5MEE5QzFBRDcwNTBE
MDBBQjkwQjMgLyogX1dLTGF5b3V0TW9kZS5oICovLAogCQkJCTUxQzBDOTc5MURERDc4NTQwMDMy
Q0FEMyAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMuaCAqLywKIAkJCQk1MUMwQzk3QTFEREQ3ODU0
MDAzMkNBRDMgLyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLm1tICovLApAQCAtNzQwNiw2ICs3NDE5
LDggQEAKIAkJCQk3QUI2RUE0NDFFRUFBRTIzMDAwMzdCMkIgLyogQVBJSWNvbkRhdGFiYXNlQ2xp
ZW50LmggKi8sCiAJCQkJNTE0M0IyNjExREREMERBMDAwMTRGQUM2IC8qIEFQSUljb25Mb2FkaW5n
Q2xpZW50LmggKi8sCiAJCQkJN0E4QTlENTcxRUYxMTlBQTAwOTgwMUFFIC8qIEFQSUluamVjdGVk
QnVuZGxlQ2xpZW50LmggKi8sCisJCQkJMzFCMzYyOTAyMTQxRUFCQzAwN0JGQTUzIC8qIEFQSUlu
dGVybmFsRGVidWdGZWF0dXJlLmNwcCAqLywKKwkJCQkzMUIzNjI4RTIxNDFFQTREMDA3QkZBNTMg
LyogQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLywKIAkJCQk3Q0U0RDIwNjFBNDY3NzU3MDBD
N0YxNTIgLyogQVBJTGVnYWN5Q29udGV4dEhpc3RvcnlDbGllbnQuaCAqLywKIAkJCQkxQTI0NjRG
MjE4OTFFNDUxMDAyMzRDNUIgLyogQVBJTG9hZGVyQ2xpZW50LmggKi8sCiAJCQkJN0NEM0E0ODAx
QTVEMDJGQTAwOTYyM0I4IC8qIEFQSU5hdmlnYXRpb24uY3BwICovLApAQCAtODM5OCw2ICs4NDEz
LDcgQEAKIAkJCQkxQUIxRjc5NTFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTdDREU3M0EzMUY5REFCNjUwMDM5MDMxMiAvKiBX
ZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggKi8sCiAJCQkJN0NFQjAwREMxRkE2OUE4OTAwNjU0
NzNCIC8qIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwICovLAorCQkJCTMx
QjM2Mjk4MjE0MUY2RTAwMDdCRkE1MyAvKiBXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0
dXJlcy5jcHAgKi8sCiAJCQkJN0NCMTAwRUUxRkEyRDc0QTAwMTcyOUVFIC8qIFdlYlByZWZlcmVu
Y2VzS2V5cy5jcHAgKi8sCiAJCQkJN0NCMTAwRUYxRkEyRDc0QjAwMTcyOUVFIC8qIFdlYlByZWZl
cmVuY2VzS2V5cy5oICovLAogCQkJCTdDQjEwMEYwMUZBMkQ3ODQwMDE3MjlFRSAvKiBXZWJQcmVm
ZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwICovLApAQCAtODcyNCw2ICs4NzQwLDggQEAKIAkJ
CQkzN0E2NEU1NTE4RjM4RTNDMDBFQjMwRjEgLyogX1dLSW5wdXREZWxlZ2F0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNUNBRkRFNDUyMTMwODQ2MzAwQjFGN0UxIC8qIF9XS0luc3BlY3Rvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNUNBRkRFNDcyMTMwODQ2QTAwQjFGN0UxIC8qIF9XS0luc3BlY3Rv
ckludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUIzNjI5NTIxNDFFQkNEMDA3QkZBNTMg
LyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxQjM2Mjk3
MjE0MUVCRDkwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRDc5MEE5RDFBRDcwNTBEMDBBQjkwQjMgLyogX1dLTGF5b3V0TW9k
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwRjU5MTExRERFMjk3MDAwNDEyRkY1IC8qIF9XS0xp
bmtJY29uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExOEE5RjMxOTA4QjhFQTAw
RjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaCBpbiBIZWFkZXJzICovLApAQCAtODgw
Myw2ICs4ODIxLDcgQEAKIAkJCQk3QTNBQ0UxQjFFRUVGNzlCMDBBODY0QTQgLyogQVBJSW5qZWN0
ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QThBOUQ1QzFF
RjE0NTk4MDA5ODAxQUUgLyogQVBJSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzY5MDc5QTE4RjMxQ0IyMDAxREZGMDQgLyogQVBJSW5q
ZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxQjM2MjhGMjE0
MUVBNUQwMDdCRkE1MyAvKiBBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJN0NFNEQyMDcxQTQ2Nzc2MTAwQzdGMTUyIC8qIEFQSUxlZ2FjeUNvbnRleHRIaXN0b3J5
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTI0NjRGMzE4OTFFNDUxMDAyMzRDNUIgLyog
QVBJTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0QzQTQ4MzFBNUQwMkZBMDA5
NjIzQjggLyogQVBJTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDk0Myw2ICsxMDk2
Miw3IEBACiAJCQkJMkQ5MkE3OEQyMTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYlBsYXRmb3JtVG91Y2hQ
b2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0RTIxMkNGOUYwMDAxMjhBRkQgLyog
V2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRUIwMEREMUZB
NjlBQkUwMDY1NDczQiAvKiBXZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTMxQjM2Mjk5MjE0MUY2RTgwMDdCRkE1MyAvKiBXZWJQcmVmZXJl
bmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0IxMDBG
MTFGQTM4NThBMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdDQjEwMEY0MUZBMzg1OTIwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlRGVm
YXVsdHNNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwNDNBMEExMjREMTFBOTAwRkZCRkI1
IC8qIFdlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGU2MGFiZWU0MTg5ZjE0NDJh
ZmM1MmM1OTgwOTkzMDVhMjAxNzVlZDEuLjQyNTdkYTY4OTIwMDZlZTM2ODdlZTgwNDg3MDEwNDM1
M2JhNjk4YmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEgKzEsMTkgQEAKKzIwMTgtMDktMDcgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBhbmQgZXhwb3NlIEludGVybmFsIGZlYXR1cmVzIGZyb20gV2Vi
S2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0
NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MjQzNDA0PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBNaW5pQnJvd3NlciB0byBleHBv
c2UgYW4gSW50ZXJuYWwgZmVhdHVyZSBtZW51LgorCisgICAgICAgICogTWluaUJyb3dzZXIvbWFj
L0FwcERlbGVnYXRlLm06CisgICAgICAgIChkZWZhdWx0Q29uZmlndXJhdGlvbik6CisgICAgICAg
ICogTWluaUJyb3dzZXIvbWFjL1NldHRpbmdzQ29udHJvbGxlci5tOgorICAgICAgICAoLVtTZXR0
aW5nc0NvbnRyb2xsZXIgX3BvcHVsYXRlTWVudV0pOgorICAgICAgICAoLVtTZXR0aW5nc0NvbnRy
b2xsZXIgdmFsaWRhdGVNZW51SXRlbTpdKToKKyAgICAgICAgKC1bU2V0dGluZ3NDb250cm9sbGVy
IHRvZ2dsZUV4cGVyaW1lbnRhbEZlYXR1cmU6XSk6CisgICAgICAgICgtW1NldHRpbmdzQ29udHJv
bGxlciB0b2dnbGVJbnRlcm5hbERlYnVnRmVhdHVyZTpdKToKKwogPT0gUm9sbGVkIG92ZXIgdG8g
Q2hhbmdlTG9nLTIwMTgtMDktMTEgPT0KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL21h
Yy9BcHBEZWxlZ2F0ZS5tIGIvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm0KaW5k
ZXggM2EzNjlhNDA5YzRiY2RhNzVhMTEzNmMxMTIzYTA4NjNkNTc3MGVhNy4uMjU2MTdlYzRkNjZj
ZmFiNDRlYzlhM2FjMDdlMTFhYzQwM2Y2OGNjMSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dz
ZXIvbWFjL0FwcERlbGVnYXRlLm0KKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0FwcERlbGVn
YXRlLm0KQEAgLTQwLDYgKzQwLDcgQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAjaW1wb3J0IDxX
ZWJLaXQvX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0ludGVy
bmFsRGVidWdGZWF0dXJlLmg+CiAjZW5kaWYKIAogZW51bSB7CkBAIC0xMDYsMTAgKzEwNywxNiBA
QCAtICh2b2lkKWF3YWtlRnJvbU5pYgogICAgICAgICBjb25maWd1cmF0aW9uLnByb2Nlc3NQb29s
ID0gW1tbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9jZXNz
Q29uZmlndXJhdGlvbl0gYXV0b3JlbGVhc2VdOwogCiAjaWYgV0tfQVBJX0VOQUJMRUQKLSAgICAg
ICAgTlNBcnJheTxfV0tFeHBlcmltZW50YWxGZWF0dXJlICo+ICpmZWF0dXJlcyA9IFtXS1ByZWZl
cmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJlc107Ci0gICAgICAgIGZvciAoX1dLRXhwZXJpbWVu
dGFsRmVhdHVyZSAqZmVhdHVyZSBpbiBmZWF0dXJlcykgeworICAgICAgICBOU0FycmF5PF9XS0V4
cGVyaW1lbnRhbEZlYXR1cmUgKj4gKmV4cGVyaW1lbnRhbEZlYXR1cmVzID0gW1dLUHJlZmVyZW5j
ZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXTsKKyAgICAgICAgZm9yIChfV0tFeHBlcmltZW50YWxG
ZWF0dXJlICpmZWF0dXJlIGluIGV4cGVyaW1lbnRhbEZlYXR1cmVzKSB7CiAgICAgICAgICAgICBC
T09MIGVuYWJsZWQgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29s
Rm9yS2V5OmZlYXR1cmUua2V5XTsKLSAgICAgICAgICAgIFtjb25maWd1cmF0aW9uLnByZWZlcmVu
Y2VzIF9zZXRFbmFibGVkOmVuYWJsZWQgZm9yRmVhdHVyZTpmZWF0dXJlXTsKKyAgICAgICAgICAg
IFtjb25maWd1cmF0aW9uLnByZWZlcmVuY2VzIF9zZXRFbmFibGVkOmVuYWJsZWQgZm9yRXhwZXJp
bWVudGFsRmVhdHVyZTpmZWF0dXJlXTsKKyAgICAgICAgfQorCisgICAgICAgIE5TQXJyYXk8X1dL
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKj4gKmludGVybmFsRGVidWdGZWF0dXJlcyA9IFtXS1ByZWZl
cmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNdOworICAgICAgICBmb3IgKF9XS0ludGVybmFs
RGVidWdGZWF0dXJlICpmZWF0dXJlIGluIGludGVybmFsRGVidWdGZWF0dXJlcykgeworICAgICAg
ICAgICAgQk9PTCBlbmFibGVkID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0
c10gYm9vbEZvcktleTpmZWF0dXJlLmtleV07CisgICAgICAgICAgICBbY29uZmlndXJhdGlvbi5w
cmVmZXJlbmNlcyBfc2V0RW5hYmxlZDplbmFibGVkIGZvckludGVybmFsRGVidWdGZWF0dXJlOmZl
YXR1cmVdOwogICAgICAgICB9CiAjZW5kaWYKICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5p
QnJvd3Nlci9tYWMvU2V0dGluZ3NDb250cm9sbGVyLm0gYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMv
U2V0dGluZ3NDb250cm9sbGVyLm0KaW5kZXggNzA0MTcwZGZhNmYyNDRkYWM0MTlmZGNkMjhhZGRh
ZjA3Y2YwOWFhYi4uMjRhMzdkZTkwODUyODkwYTJmYWJlM2Y5YTk1OWQ5ZDQ1YjhjNTg2MCAxMDA2
NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvbWFjL1NldHRpbmdzQ29udHJvbGxlci5tCisrKyBi
L1Rvb2xzL01pbmlCcm93c2VyL21hYy9TZXR0aW5nc0NvbnRyb2xsZXIubQpAQCAtMzIsNiArMzIs
NyBAQAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKICNpbXBvcnQgPFdlYktpdC9fV0tFeHBlcmltZW50
YWxGZWF0dXJlLmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaD4K
ICNlbmRpZgogCiBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBkZWZhdWx0VVJMID0gQCJodHRwOi8v
d3d3LndlYmtpdC5vcmcvIjsKQEAgLTgxLDYgKzgyLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50
ZWdlciwgRGVidWdPdmVyeWxheU1lbnVJdGVtVGFnKSB7CiAgICAgV2hlZWxFdmVudEhhbmRsZXJS
ZWdpb25PdmVybGF5VGFnLAogI2lmIFdLX0FQSV9FTkFCTEVECiAgICAgRXhwZXJpbWVudGFsRmVh
dHVyZVRhZywKKyAgICBJbnRlcm5hbERlYnVnRmVhdHVyZVRhZywKICNlbmRpZgogfTsKIApAQCAt
MjEyLDkgKzIxNCw5IEBAIC0gKHZvaWQpX3BvcHVsYXRlTWVudQogICAgIE5TTWVudSAqZXhwZXJp
bWVudGFsRmVhdHVyZXNNZW51ID0gW1tOU01lbnUgYWxsb2NdIGluaXRXaXRoVGl0bGU6QCJFeHBl
cmltZW50YWwgRmVhdHVyZXMiXTsKICAgICBbZXhwZXJpbWVudGFsRmVhdHVyZXNTdWJtZW51SXRl
bSBzZXRTdWJtZW51OmV4cGVyaW1lbnRhbEZlYXR1cmVzTWVudV07CiAKLSAgICBOU0FycmF5PF9X
S0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4gKmZlYXR1cmVzID0gW1dLUHJlZmVyZW5jZXMgX2V4cGVy
aW1lbnRhbEZlYXR1cmVzXTsKKyAgICBOU0FycmF5PF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4g
KmV4cGVyaW1lbnRhbEZlYXR1cmVzID0gW1dLUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1
cmVzXTsKIAotICAgIGZvciAoX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqZmVhdHVyZSBpbiBmZWF0
dXJlcykgeworICAgIGZvciAoX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqZmVhdHVyZSBpbiBleHBl
cmltZW50YWxGZWF0dXJlcykgewogICAgICAgICBOU01lbnVJdGVtICppdGVtID0gW1tOU01lbnVJ
dGVtIGFsbG9jXSBpbml0V2l0aFRpdGxlOmZlYXR1cmUubmFtZSBhY3Rpb246QHNlbGVjdG9yKHRv
Z2dsZUV4cGVyaW1lbnRhbEZlYXR1cmU6KSBrZXlFcXVpdmFsZW50OkAiIl07CiAgICAgICAgIGl0
ZW0udG9vbFRpcCA9IGZlYXR1cmUuZGV0YWlsczsKICAgICAgICAgaXRlbS5yZXByZXNlbnRlZE9i
amVjdCA9IGZlYXR1cmU7CkBAIC0yMjcsNiArMjI5LDI2IEBAIC0gKHZvaWQpX3BvcHVsYXRlTWVu
dQogICAgIFtfbWVudSBhZGRJdGVtOmV4cGVyaW1lbnRhbEZlYXR1cmVzU3VibWVudUl0ZW1dOwog
ICAgIFtleHBlcmltZW50YWxGZWF0dXJlc1N1Ym1lbnVJdGVtIHJlbGVhc2VdOwogICAgIFtleHBl
cmltZW50YWxGZWF0dXJlc01lbnUgcmVsZWFzZV07CisKKyAgICBOU01lbnVJdGVtICppbnRlcm5h
bERlYnVnRmVhdHVyZXNTdWJtZW51SXRlbSA9IFtbTlNNZW51SXRlbSBhbGxvY10gaW5pdFdpdGhU
aXRsZTpAIkludGVybmFsIEZlYXR1cmVzIiBhY3Rpb246bmlsIGtleUVxdWl2YWxlbnQ6QCIiXTsK
KyAgICBOU01lbnUgKmludGVybmFsRGVidWdGZWF0dXJlc01lbnUgPSBbW05TTWVudSBhbGxvY10g
aW5pdFdpdGhUaXRsZTpAIkludGVybmFsIEZlYXR1cmVzIl07CisgICAgW2ludGVybmFsRGVidWdG
ZWF0dXJlc1N1Ym1lbnVJdGVtIHNldFN1Ym1lbnU6aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzTWVudV07
CisKKyAgICBOU0FycmF5PF9XS0ludGVybmFsRGVidWdGZWF0dXJlICo+ICppbnRlcm5hbERlYnVn
RmVhdHVyZXMgPSBbV0tQcmVmZXJlbmNlcyBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzXTsKKworICAg
IGZvciAoX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKmZlYXR1cmUgaW4gaW50ZXJuYWxEZWJ1Z0Zl
YXR1cmVzKSB7CisgICAgICAgIE5TTWVudUl0ZW0gKml0ZW0gPSBbW05TTWVudUl0ZW0gYWxsb2Nd
IGluaXRXaXRoVGl0bGU6ZmVhdHVyZS5uYW1lIGFjdGlvbjpAc2VsZWN0b3IodG9nZ2xlSW50ZXJu
YWxEZWJ1Z0ZlYXR1cmU6KSBrZXlFcXVpdmFsZW50OkAiIl07CisgICAgICAgIGl0ZW0udG9vbFRp
cCA9IGZlYXR1cmUuZGV0YWlsczsKKyAgICAgICAgaXRlbS5yZXByZXNlbnRlZE9iamVjdCA9IGZl
YXR1cmU7CisKKyAgICAgICAgW2l0ZW0gc2V0VGFnOkludGVybmFsRGVidWdGZWF0dXJlVGFnXTsK
KyAgICAgICAgW2l0ZW0gc2V0VGFyZ2V0OnNlbGZdOworICAgICAgICBbaW50ZXJuYWxEZWJ1Z0Zl
YXR1cmVzTWVudSBhZGRJdGVtOltpdGVtIGF1dG9yZWxlYXNlXV07CisgICAgfQorCisgICAgW19t
ZW51IGFkZEl0ZW06aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzU3VibWVudUl0ZW1dOworICAgIFtpbnRl
cm5hbERlYnVnRmVhdHVyZXNTdWJtZW51SXRlbSByZWxlYXNlXTsKKyAgICBbaW50ZXJuYWxEZWJ1
Z0ZlYXR1cmVzTWVudSByZWxlYXNlXTsKICNlbmRpZiAvLyBXS19BUElfRU5BQkxFRAogCiAgICAg
W3NlbGYgX2FkZEhlYWRlcldpdGhUaXRsZTpAIldlYktpdDEtb25seSBTZXR0aW5ncyJdOwpAQCAt
MzAxLDcgKzMyMywxMSBAQCAtIChCT09MKXZhbGlkYXRlTWVudUl0ZW06KE5TTWVudUl0ZW0gKilt
ZW51SXRlbQogI2lmIFdLX0FQSV9FTkFCTEVECiAgICAgaWYgKG1lbnVJdGVtLnRhZyA9PSBFeHBl
cmltZW50YWxGZWF0dXJlVGFnKSB7CiAgICAgICAgIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKmZl
YXR1cmUgPSBtZW51SXRlbS5yZXByZXNlbnRlZE9iamVjdDsKLSAgICAgICAgW21lbnVJdGVtIHNl
dFN0YXRlOltkZWZhdWx0UHJlZmVyZW5jZXMoKSBfaXNFbmFibGVkRm9yRmVhdHVyZTpmZWF0dXJl
XSA/IE5TQ29udHJvbFN0YXRlVmFsdWVPbiA6IE5TQ29udHJvbFN0YXRlVmFsdWVPZmZdOworICAg
ICAgICBbbWVudUl0ZW0gc2V0U3RhdGU6W2RlZmF1bHRQcmVmZXJlbmNlcygpIF9pc0VuYWJsZWRG
b3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1cmVdID8gTlNDb250cm9sU3RhdGVWYWx1ZU9uIDog
TlNDb250cm9sU3RhdGVWYWx1ZU9mZl07CisgICAgfQorICAgIGlmIChtZW51SXRlbS50YWcgPT0g
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmVUYWcpIHsKKyAgICAgICAgX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmUgKmZlYXR1cmUgPSBtZW51SXRlbS5yZXByZXNlbnRlZE9iamVjdDsKKyAgICAgICAgW21lbnVJ
dGVtIHNldFN0YXRlOltkZWZhdWx0UHJlZmVyZW5jZXMoKSBfaXNFbmFibGVkRm9ySW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV0gPyBOU0NvbnRyb2xTdGF0ZVZhbHVlT24gOiBOU0NvbnRyb2xT
dGF0ZVZhbHVlT2ZmXTsKICAgICB9CiAjZW5kaWYKIApAQCAtNjU0LDggKzY4MCwxOSBAQCAtICh2
b2lkKXRvZ2dsZUV4cGVyaW1lbnRhbEZlYXR1cmU6KGlkKXNlbmRlcgogICAgIF9XS0V4cGVyaW1l
bnRhbEZlYXR1cmUgKmZlYXR1cmUgPSAoKE5TTWVudUl0ZW0gKilzZW5kZXIpLnJlcHJlc2VudGVk
T2JqZWN0OwogICAgIFdLUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzID0gZGVmYXVsdFByZWZlcmVu
Y2VzKCk7CiAKLSAgICBCT09MIGN1cnJlbnRseUVuYWJsZWQgPSBbcHJlZmVyZW5jZXMgX2lzRW5h
YmxlZEZvckZlYXR1cmU6ZmVhdHVyZV07Ci0gICAgW3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOiFj
dXJyZW50bHlFbmFibGVkIGZvckZlYXR1cmU6ZmVhdHVyZV07CisgICAgQk9PTCBjdXJyZW50bHlF
bmFibGVkID0gW3ByZWZlcmVuY2VzIF9pc0VuYWJsZWRGb3JFeHBlcmltZW50YWxGZWF0dXJlOmZl
YXR1cmVdOworICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDohY3VycmVudGx5RW5hYmxlZCBm
b3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1cmVdOworCisgICAgW1tOU1VzZXJEZWZhdWx0cyBz
dGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDohY3VycmVudGx5RW5hYmxlZCBmb3JLZXk6ZmVh
dHVyZS5rZXldOworfQorCistICh2b2lkKXRvZ2dsZUludGVybmFsRGVidWdGZWF0dXJlOihpZClz
ZW5kZXIKK3sKKyAgICBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqZmVhdHVyZSA9ICgoTlNNZW51
SXRlbSAqKXNlbmRlcikucmVwcmVzZW50ZWRPYmplY3Q7CisgICAgV0tQcmVmZXJlbmNlcyAqcHJl
ZmVyZW5jZXMgPSBkZWZhdWx0UHJlZmVyZW5jZXMoKTsKKworICAgIEJPT0wgY3VycmVudGx5RW5h
YmxlZCA9IFtwcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVh
dHVyZV07CisgICAgW3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOiFjdXJyZW50bHlFbmFibGVkIGZv
ckludGVybmFsRGVidWdGZWF0dXJlOmZlYXR1cmVdOwogCiAgICAgW1tOU1VzZXJEZWZhdWx0cyBz
dGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDohY3VycmVudGx5RW5hYmxlZCBmb3JLZXk6ZmVh
dHVyZS5rZXldOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGEyMmEzNTE5OWM0YmVmNDZlOTg2NzhmNGI2ZjM5MTkyMGU3
YThhZWIuLjUyMGEyZGRlMjY0NTdlYzdmY2Q0NmEwNDlhYmVkMDgyYzA4YWVjNzMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxOC0wOS0wNyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIGFuZCBleHBvc2UgSW50ZXJuYWwgZmVhdHVyZXMgZnJvbSBXZWJLaXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTQ0Mgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQyNDM0MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2tpcCBzb21lIHRlc3RzIHRoYXQgcmVseSBvbiBh
biBleHBlcmltZW50YWwgZmVhdHVyZSB0aGF0IGhhcworICAgICAgICBtb3ZlZCB0byBpbnRlcm5h
bC4gQSBmb2xsb3ctdXAgcGF0Y2ggd2lsbCBhbGxvdyBXS1RSIHRvIGVuYWJsZQorICAgICAgICB0
aGVtIG9uIGRlbWFuZC4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
OgorCiAyMDE4LTA5LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgQ3Jhc2ggdW5kZXIgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhOjplbmNvZGUgd2hl
biBpbnRlcmFjdGluZyB3aXRoIGEgc2VsZWN0IG1lbnUgdGhhdCBoYXMgdmFyaWFibGUgZm9udHMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjRkOWZjNGFh
MWFkMzlmOGVmZDFmYjFhNmNjNDQ5YWUzOGVmMWM0NC4uYzRiYjE2MGQzNzVhMjkxNzY2NGFkZTlj
YmUzNzg5N2IwMjcyN2Y4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE3NjUsMyArMTc2NSw2IEBAIHdlYmtpdC5vcmcvYi8xODczOTMgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlCiBbIE1v
amF2ZSsgXSBmYXN0L2dyYWRpZW50cy9jb25pYy1leHRlbmRlZC1zdG9wcy5odG1sIFsgUGFzcyBd
CiBbIE1vamF2ZSsgXSBmYXN0L2dyYWRpZW50cy9jb25pYy1mcm9tLWFuZ2xlLmh0bWwgWyBQYXNz
IF0KIAorIyBNYXJrIHRoZXNlIGFzIGZhaWxpbmcgd2hpbGUgSW50ZXJuYWwgRGVidWcgRmVhdHVy
ZXMgZGVmYXVsdCB0byBvZmYgaW4gV0tUUgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY2hhbmdldHlwZS5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291
cmNlLWNoYW5nZXR5cGUtcGxheS5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349461</attachid>
            <date>2018-09-11 14:45:58 -0700</date>
            <delta_ts>2018-09-11 16:08:03 -0700</delta_ts>
            <desc>Build Test</desc>
            <filename>bug-189442-20180912074556.patch</filename>
            <type>text/plain</type>
            <size>64824</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ5MTY5ZmQzZmQ1MTViZmU4
ZmQzY2NmNTc5MGZiMjY2OTA1MmYyMGQuLjgzYTZmYmU4MzExOWJjMzdkZGRhOTlkNzY3NjM1ODlh
Y2E0MGFiZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzQgQEAKKzIwMTgtMDktMDcgIERlYW4gSmFj
a3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbmQgZXhwb3NlIEludGVybmFs
IGZlYXR1cmVzIGZyb20gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODk0NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MjQzNDA0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cGVyaW1l
bnRhbCBmZWF0dXJlcyBoYXZlIGJlY29tZSBhIG1lc3MuIFBlb3BsZSBhcmUgdXNpbmcgdGhlbSBm
b3IKKyAgICAgICAgYW55dGhpbmcgdGhhdCB0aGV5IHdhbnQgdG8gYmUgZWFzaWx5IHRvZ2dsZWQg
ZnJvbSBhIGhvc3QgYXBwIChlLmcuCisgICAgICAgIFNhZmFyaSksIHdoaWNoIG1lYW5zIHRoZSB1
c2VyLWZhY2luZyBtZW51IGhhcyBiZWNvbWUgbGFyZ2UgYW5kCisgICAgICAgIGNvbmZ1c2luZy4K
KworICAgICAgICBJbnRyb2R1Y2UgdGhlIGlkZWEgb2YgSW50ZXJuYWwgZmVhdHVyZXMsIHRoYXQg
d2lsbCBiZSBleHBvc2VkIGluIGEgd2F5CisgICAgICAgIHRoYXQgZW5kLXVzZXJzIGFyZSBub3Qg
ZXhwZWN0ZWQgdG8gZXZlciBzZWUgKHVubGVzcyB0aGV5IHJlYWxseSB3YW50CisgICAgICAgIHRv
KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzLgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOiBBZGQgbmV3IGdlbmVyYXRlZCBmaWxlcy4KKyAgICAgICAgKiBTY3JpcHRzL0dlbmVy
YXRlUHJlZmVyZW5jZXMucmI6IEdlbmVyYXRlIHRoZSBwcmVmZXJlbmNlcyBzdHVmZiBmb3IgSW50
ZXJuYWwgRGVidWcgZmVhdHVyZXMuCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBs
YXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiOgorICAgICAgICAqIFNjcmlwdHMv
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMu
Y3BwLmVyYjogQWRkZWQuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSU9iamVjdC5oOiBOZXcg
QVBJIG9iamVjdCBmb3IgSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuCisgICAgICAgICogU2hhcmVkL0Nv
Y29hL0FQSU9iamVjdC5tbToKKyAgICAgICAgKEFQSTo6T2JqZWN0OjpuZXdPYmplY3QpOgorCisg
ICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6IENoYW5nZSBzb21lIG9mIHRoZSBl
eGlzdGluZyBleHBlcmltZW50YWwgZmVhdHVyZXMgdG8gImludGVybmFsIi4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuY3BwOiBOZXcgQVBJIHR5cGUg
LSBqdXN0IGxpa2UgQVBJRXhwZXJpbWVudGFsRmVhdHVyZS4KKyAgICAgICAgKEFQSTo6SW50ZXJu
YWxEZWJ1Z0ZlYXR1cmU6OmNyZWF0ZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdGZWF0
dXJlOjpJbnRlcm5hbERlYnVnRmVhdHVyZSk6CisgICAgICAgIChBUEk6OkludGVybmFsRGVidWdG
ZWF0dXJlOjp+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
QVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW06IENoYW5nZSB0aGUgbmFtaW5nIG9mIHRoZSBleHBlcmltZW50YWwgZmVhdHVyZSBBUEkgc28g
dGhhdCBpdAorICAgICAgICB3b24ndCBjbGFzaCB3aXRoIGludGVybmFsIGRlYnVnIGZlYXR1cmVz
LiBXZSBjYW4gcmVtb3ZlIHRoZSBvbGQgQVBJIG9uY2UgU2FmYXJpIGhhcyBhZG9wdGVkLgorICAg
ICAgICAoK1tXS1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNdKToKKyAgICAgICAg
KC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6XSk6Cisg
ICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6XSk6CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX2lzRW5hYmxlZEZvckZlYXR1cmU6XSk6
CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Zm9yRmVhdHVyZTpdKToKKyAg
ICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZTpd
KToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDpmb3JFeHBlcmltZW50YWxG
ZWF0dXJlOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1By
aXZhdGUuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuaDogTmV3IG9iamVjdCAtIHNhbWUgYXMgX1dLRXhwZXJpbWVudGFsRmVhdHVyZS4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlLm1t
OgorICAgICAgICAoLVtfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSBkZWFsbG9jXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW19X
S0ludGVybmFsRGVidWdGZWF0dXJlIG5hbWVdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUga2V5XSk6CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGRldGFp
bHNdKToKKyAgICAgICAgKC1bX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgZGVmYXVsdFZhbHVlXSk6
CisgICAgICAgICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGlzSGlkZGVuXSk6CisgICAgICAg
ICgtW19XS0ludGVybmFsRGVidWdGZWF0dXJlIF9hcGlPYmplY3RdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaDoKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHA6IEFkZCBzdXBwb3J0IGZvciBJbnRl
cm5hbCBEZWJ1ZyBmZWF0dXJlcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnVw
ZGF0ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdGZWF0dXJlS2V5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmVL
ZXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDogQ2hhbmdlIGEgY29tbWVudCBub3cgdGhhdCBp
dCBpcyBhbiBpbnRlcm5hbCBmZWF0dXJlLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6Y3JlYXRlV2ViUGFnZSk6CisKIDIwMTgtMDktMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB1bmRlciBQbGF0Zm9ybVBvcHVwTWVu
dURhdGE6OmVuY29kZSB3aGVuIGludGVyYWN0aW5nIHdpdGggYSBzZWxlY3QgbWVudSB0aGF0IGhh
cyB2YXJpYWJsZSBmb250cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggMWQ2YjNiNzQ4YTdhNTI4Mjg4
MjVkOGM3ZWNhMWQ1ZDUzZWI1MjBjYy4uZGVhM2U1YjRiNTU4NTcxZjllNTQzZTIzMDk4ZWNjMzll
MDcwYmEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC0zOTksMTMgKzM5OSwxNCBAQCBzZXQoV2Vi
S2l0X1dFQl9QUkVGRVJFTkNFU19URU1QTEFURVMKICAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMv
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcC5lcmIKICAg
ICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5j
ZXNEZWZpbml0aW9ucy5oLmVyYgogICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNl
c1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcC5lcmIKKyAg
ICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5j
ZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwLmVyYgogICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0
cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuY3BwLmVyYgogICAgICR7
V0VCS0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tl
eXMuaC5lcmIKICAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMv
V2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcC5lcmIKICkKIAogYWRkX2N1c3RvbV9j
b21tYW5kKAotICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNFU19XRUJLSVRfRElSfS9XZWJQYWdl
VXBkYXRlUHJlZmVyZW5jZXMuY3BwICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlBy
ZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCAke0RFUklWRURfU09VUkNFU19XRUJLSVRfRElSfS9XZWJQ
cmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcCAke0RFUklWRURfU09VUkNFU19XRUJL
SVRfRElSfS9XZWJQcmVmZXJlbmNlc0tleXMuY3BwICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9E
SVJ9L1dlYlByZWZlcmVuY2VzS2V5cy5oICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dl
YlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAKKyAgICBPVVRQVVQgJHtERVJJVkVEX1NP
VVJDRVNfV0VCS0lUX0RJUn0vV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCAke0RFUklWRURf
U09VUkNFU19XRUJLSVRfRElSfS9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggJHtERVJJVkVE
X1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5j
cHAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERl
YnVnRmVhdHVyZXMuY3BwICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVu
Y2VzS2V5cy5jcHAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNL
ZXlzLmggJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNTdG9yZURl
ZmF1bHRzTWFwLmNwcAogICAgIE1BSU5fREVQRU5ERU5DWSAke1dFQktJVF9ESVJ9L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlcy55YW1sCiAgICAgREVQRU5EUyAke1dlYktpdF9XRUJfUFJFRkVSRU5DRVNf
VEVNUExBVEVTfQogICAgIENPTU1BTkQgJHtSVUJZX0VYRUNVVEFCTEV9ICR7V0VCS0lUX0RJUn0v
U2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiIC0taW5wdXQgJHtXRUJLSVRfRElSfS9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbCAtLW91dHB1dERpciAiJHtERVJJVkVEX1NPVVJDRVNfV0VC
S0lUX0RJUn0iCkBAIC00MTksNiArNDIwLDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0X0hFQURFUlMK
IGxpc3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lU
X0RJUn0vV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcAogICAgICR7REVSSVZFRF9TT1VSQ0VT
X1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwCisgICAg
JHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVn
RmVhdHVyZXMuY3BwCiAgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVy
ZW5jZXNLZXlzLmNwcAogICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZl
cmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBiZGVjMjgzMWI2NTEwYTc4MGZlZDZiYjQyNjExYmM5MmY0Nzg3M2EwLi4wYzAyMGQzNjg4
MjBiODdhMmQwNGE1ZTZkODI4MWQ1MjFmYzc4MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0yOTUsMTQgKzI5NSwxNSBAQCBXRUJfUFJFRkVSRU5DRVNfVEVNUExBVEVTID0gXAog
ICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQYWdlVXBkYXRl
UHJlZmVyZW5jZXMuY3BwLmVyYiBcCiAgICAgJChXZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2Vz
VGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIgXAogICAgICQoV2ViS2l0
MikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRh
bEZlYXR1cmVzLmNwcC5lcmIgXAorICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJlbmNlc1Rl
bXBsYXRlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAuZXJiIFwKICAg
ICAkKFdlYktpdDIpL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNL
ZXlzLmguZXJiIFwKICAgICAkKFdlYktpdDIpL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMv
V2ViUHJlZmVyZW5jZXNLZXlzLmNwcC5lcmIgXAogICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVm
ZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYiBc
CiAKICMKIAotYWxsIDogV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCBXZWJQcmVmZXJlbmNl
c0RlZmluaXRpb25zLmggV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAgV2Vi
UHJlZmVyZW5jZXNLZXlzLmggV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBXZWJQcmVmZXJlbmNlc1N0
b3JlRGVmYXVsdHNNYXAuY3BwCithbGwgOiBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwIFdl
YlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBXZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1
cmVzLmNwcCBXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAgV2ViUHJlZmVy
ZW5jZXNLZXlzLmggV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBXZWJQcmVmZXJlbmNlc1N0b3JlRGVm
YXVsdHNNYXAuY3BwCiAKLVdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcyVjcHAgV2ViUHJlZmVyZW5j
ZXNEZWZpbml0aW9ucyVoIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMlY3BwIFdl
YlByZWZlcmVuY2VzS2V5cyVoIFdlYlByZWZlcmVuY2VzS2V5cyVjcHAgV2ViUHJlZmVyZW5jZXNT
dG9yZURlZmF1bHRzTWFwJWNwcCA6ICQoV2ViS2l0MikvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVu
Y2VzLnJiICQoV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFUykgJChXZWJLaXQyKS9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXMueWFtbAorV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzJWNwcCBXZWJQcmVmZXJl
bmNlc0RlZmluaXRpb25zJWggV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcyVjcHAg
V2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMlY3BwIFdlYlByZWZlcmVuY2VzS2V5
cyVoIFdlYlByZWZlcmVuY2VzS2V5cyVjcHAgV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFw
JWNwcCA6ICQoV2ViS2l0MikvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiICQoV0VCX1BS
RUZFUkVOQ0VTX1RFTVBMQVRFUykgJChXZWJLaXQyKS9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bAogCSQoUlVCWSkgJDwgLS1pbnB1dCAkKFdlYktpdDIpL1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55
YW1sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVu
Y2VzLnJiIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIKaW5k
ZXggMTMxY2FmNGFkZGQ5N2ZkNjU3Y2Y0YWU4NzRjNWIxZTEyN2RjODllMi4uNWZmNWJkODdiNmNl
YTZkMTg1YWMzZGJhMzQyOWJmZGY1ZGNlMTA4YiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9T
Y3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRz
L0dlbmVyYXRlUHJlZmVyZW5jZXMucmIKQEAgLTI4LDcgKzI4LDcgQEAgcmVxdWlyZSAnZXJiJwog
cmVxdWlyZSAnb3B0cGFyc2UnCiByZXF1aXJlICd5YW1sJwogCi1vcHRpb25zID0geyAKK29wdGlv
bnMgPSB7CiAgIDppbnB1dCA9PiBuaWwsCiAgIDpvdXRwdXREaXJlY3RvcnkgPT4gbmlsCiB9CkBA
IC0xMjgsMTcgKzEyOCwxOCBAQCBlbmQKIAogY2xhc3MgUHJlZmVyZW5jZXMKICAgYXR0cl9hY2Nl
c3NvciA6cHJlZmVyZW5jZXMKLSAgCisKICAgZGVmIGluaXRpYWxpemUoaGFzaCkKICAgICBAcHJl
ZmVyZW5jZXMgPSBbXQogICAgIGhhc2guZWFjaCBkbyB8bmFtZSwgb3B0aW9uc3wKICAgICAgIEBw
cmVmZXJlbmNlcyA8PCBQcmVmZXJlbmNlLm5ldyhuYW1lLCBvcHRpb25zKQogICAgIGVuZAogICAg
IEBwcmVmZXJlbmNlcy5zb3J0ISB7IHx4LCB5fCB4Lm5hbWUgPD0+IHkubmFtZSB9Ci0gICAgCisK
ICAgICBAcHJlZmVyZW5jZXNOb3REZWJ1ZyA9IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgIXAu
Y2F0ZWdvcnkgfQogICAgIEBwcmVmZXJlbmNlc0RlYnVnID0gQHByZWZlcmVuY2VzLnNlbGVjdCB7
IHxwfCBwLmNhdGVnb3J5ID09ICJkZWJ1ZyIgfQogICAgIEBleHBlcmltZW50YWxGZWF0dXJlcyA9
IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC5jYXRlZ29yeSA9PSAiZXhwZXJpbWVudGFsIiB9
CisgICAgQGludGVybmFsRGVidWdGZWF0dXJlcyA9IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwg
cC5jYXRlZ29yeSA9PSAiaW50ZXJuYWwiIH0KIAogICAgIEBwcmVmZXJlbmNlc0JvdW5kVG9TZXR0
aW5nID0gQHByZWZlcmVuY2VzLnNlbGVjdCB7IHxwfCAhcC53ZWJjb3JlQmluZGluZyB9CiAgICAg
QHByZWZlcmVuY2VzQm91bmRUb0RlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncyA9IEBwcmVmZXJlbmNl
cy5zZWxlY3QgeyB8cHwgcC53ZWJjb3JlQmluZGluZyA9PSAiRGVwcmVjYXRlZEdsb2JhbFNldHRp
bmdzIiB9CkBAIC0xNjEsNCArMTYyLDUgQEAgcHJlZmVyZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVm
ZXJlbmNlc1RlbXBsYXRlcy9XZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwLmVyYiIKIHByZWZl
cmVuY2VzLnJlbmRlclRvRmlsZSgiUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNL
ZXlzLmguZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNbOm91dHB1dERpcmVjdG9yeV0sICJXZWJQcmVm
ZXJlbmNlc0tleXMuaCIpKQogcHJlZmVyZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1Rl
bXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuY3BwLmVyYiIsIEZpbGUuam9pbihvcHRpb25zWzpv
dXRwdXREaXJlY3RvcnldLCAiV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCIpKQogcHJlZmVyZW5jZXMu
cmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc1N0b3JlRGVm
YXVsdHNNYXAuY3BwLmVyYiIsIEZpbGUuam9pbihvcHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAi
V2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcCIpKQorcHJlZmVyZW5jZXMucmVuZGVy
VG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdG
ZWF0dXJlcy5jcHAuZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNbOm91dHB1dERpcmVjdG9yeV0sICJX
ZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAiKSkKIHByZWZlcmVuY2VzLnJl
bmRlclRvRmlsZSgiUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWxGZWF0dXJlcy5jcHAuZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNbOm91dHB1dERpcmVjdG9yeV0s
ICJXZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcCIpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2Vz
RGVmaW5pdGlvbnMuaC5lcmIgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1w
bGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYgppbmRleCA5Y2I3MzJkZDRjZTc2
MGZlZGIwYjAyYTdjYzI4MTgxODU0OGJkMWUyLi5lNjc3NGUyNmJlODM0NDg2ZWI2NDU4ZWI4NmJj
Yzk2YzhmY2FmMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5j
ZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0
aW9ucy5oLmVyYgpAQCAtNDYsNiArNDYsMTMgQEAKIDwlLSBlbmQgLSU+CiAgICAgXAogCisvLyBJ
bnRlcm5hbCBEZWJ1ZyBGZWF0dXJlcworCisjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9JTlRFUk5B
TF9ERUJVR19GRUFUVVJFX1BSRUZFUkVOQ0UobWFjcm8pIFwKKzwlLSBmb3IgQHByZWYgaW4gQGlu
dGVybmFsRGVidWdGZWF0dXJlcyBkbyAtJT4KKyAgICBtYWNybyg8JT0gQHByZWYubmFtZSAlPiwg
PCU9IEBwcmVmLm5hbWVMb3dlciAlPiwgQm9vbCwgYm9vbCwgPCU9IEBwcmVmLmRlZmF1bHRWYWx1
ZSAlPiwgPCU9IEBwcmVmLmh1bWFuUmVhZGFibGVOYW1lICU+LCA8JT0gQHByZWYuaHVtYW5SZWFk
YWJsZURlc2NyaXB0aW9uICU+KSBcCis8JS0gZW5kIC0lPgorICAgXAogCiAvLyBFeHBlcmltZW50
YWwgRmVhdHVyZXMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVu
Y2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcC5lcmIg
Yi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5j
ZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwLmVyYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOGFlOTUxMmY3NDZl
YzYzZTRlYTE5ZGYwODhkMTM2NWJmNzdjZDcyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmVzLmNwcC5lcmIKQEAgLTAsMCArMSwxMjQgQEAKKy8qCisqIFRISVMgRklMRSBX
QVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQsIERPIE5PVCBFRElULgorKgorKiBDb3B5cmlnaHQg
KEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJXZWJQcmVmZXJlbmNlcy5oIgorCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNLZXlzLmgi
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCis8JS0gZm9yIEBwcmVmIGluIEBpbnRlcm5hbERlYnVn
RmVhdHVyZXMgZG8gLSU+Cit2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXQ8JT0gQHByZWYubmFtZSAl
Pihjb25zdCBib29sJiB2YWx1ZSkKK3sKKyAgICBpZiAoIW1fc3RvcmUuc2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8JT0gQHByZWYubmFtZUxvd2VyICU+S2V5KCksIHZhbHVl
KSkKKyAgICAgICAgcmV0dXJuOworICAgIHVwZGF0ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdG
ZWF0dXJlS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8JT0gQHByZWYubmFtZUxvd2VyICU+S2V5KCks
IHZhbHVlKTsKK30KKworYm9vbCBXZWJQcmVmZXJlbmNlczo6PCU9IEBwcmVmLm5hbWVMb3dlciAl
PigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5Ojo8JT0gQHByZWYubmFtZUxvd2VyICU+S2V5KCkpOworfQorCis8JS0gZW5k
IC0lPgorY29uc3QgVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+JiBXZWJQcmVmZXJlbmNlczo6
aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmVj
dG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+PiBmZWF0dXJlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8
UmVmUHRyPEFQSTo6T2JqZWN0Pj4geworPCUtIGZvciBAcHJlZiBpbiBAaW50ZXJuYWxEZWJ1Z0Zl
YXR1cmVzIGRvIC0lPgorPCUtIGlmIEBwcmVmLmNvbmRpdGlvbiAtJT4KKyNpZiA8JT0gQHByZWYu
Y29uZGl0aW9uICU+Cis8JS0gZW5kIC0lPgorICAgICAgICBBUEk6OkludGVybmFsRGVidWdGZWF0
dXJlOjpjcmVhdGUoPCU9IEBwcmVmLmh1bWFuUmVhZGFibGVOYW1lICU+LCAiPCU9IEBwcmVmLm5h
bWUgJT4iLCA8JT0gQHByZWYuaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uICU+LCA8JT0gQHByZWYu
ZGVmYXVsdFZhbHVlICU+LCA8JT0gQHByZWYuaGlkZGVuICU+KSwKKzwlLSBpZiBAcHJlZi5jb25k
aXRpb24gLSU+CisjZW5kaWYKKzwlLSBlbmQgLSU+Cis8JS0gZW5kIC0lPgorICAgIH0pOworCisg
ICAgcmV0dXJuIGZlYXR1cmVzOworfQorCitib29sIFdlYlByZWZlcmVuY2VzOjppc0VuYWJsZWRG
b3JGZWF0dXJlKGNvbnN0IEFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUmIGZlYXR1cmUpIGNvbnN0
Cit7CisgICAgc3RydWN0IEZlYXR1cmVHZXR0ZXJNYXBwaW5nIHsKKyAgICAgICAgY29uc3QgY2hh
ciogbmFtZTsKKyAgICAgICAgYm9vbCAoV2ViUHJlZmVyZW5jZXM6OipmdW5jdGlvbikgKCkgY29u
c3Q7CisgICAgfTsKKworICAgIHN0YXRpYyBGZWF0dXJlR2V0dGVyTWFwcGluZyBnZXR0ZXJzW10g
PSB7Cis8JS0gZm9yIEBwcmVmIGluIEBpbnRlcm5hbERlYnVnRmVhdHVyZXMgZG8gLSU+Cis8JS0g
aWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2lmIDwlPSBAcHJlZi5jb25kaXRpb24gJT4KKzwlLSBl
bmQgLSU+CisgICAgICAgIHsgIjwlPSBAcHJlZi5uYW1lICU+IiwgJldlYlByZWZlcmVuY2VzOjo8
JT0gQHByZWYubmFtZUxvd2VyICU+IH0sCis8JS0gaWYgQHByZWYuY29uZGl0aW9uIC0lPgorI2Vu
ZGlmCis8JS0gZW5kIC0lPgorPCUtIGVuZCAtJT4KKyAgICB9OworCisgICAgY29uc3QgU3RyaW5n
JiBrZXkgPSBmZWF0dXJlLmtleSgpOworCisgICAgZm9yIChhdXRvJiBnZXR0ZXIgOiBnZXR0ZXJz
KSB7CisgICAgICAgIGlmIChrZXkgPT0gZ2V0dGVyLm5hbWUpCisgICAgICAgICAgICByZXR1cm4g
KHRoaXMtPipnZXR0ZXIuZnVuY3Rpb24pKCk7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXRFbmFibGVkRm9yRmVhdHVyZShib29sIHZhbHVl
LCBjb25zdCBBUEk6OkludGVybmFsRGVidWdGZWF0dXJlJiBmZWF0dXJlKQoreworICAgIHN0cnVj
dCBGZWF0dXJlU2V0dGVyTWFwcGluZyB7CisgICAgICAgIGNvbnN0IGNoYXIqIG5hbWU7CisgICAg
ICAgIHZvaWQgKFdlYlByZWZlcmVuY2VzOjoqZnVuY3Rpb24pIChjb25zdCBib29sJik7CisgICAg
fTsKKworICAgIHN0YXRpYyBGZWF0dXJlU2V0dGVyTWFwcGluZyBzZXR0ZXJzW10gPSB7Cis8JS0g
Zm9yIEBwcmVmIGluIEBpbnRlcm5hbERlYnVnRmVhdHVyZXMgZG8gLSU+Cis8JS0gaWYgQHByZWYu
Y29uZGl0aW9uIC0lPgorI2lmIDwlPSBAcHJlZi5jb25kaXRpb24gJT4KKzwlLSBlbmQgLSU+Cisg
ICAgICAgIHsgIjwlPSBAcHJlZi5uYW1lICU+IiwgJldlYlByZWZlcmVuY2VzOjpzZXQ8JT0gQHBy
ZWYubmFtZSAlPiB9LAorPCUtIGlmIEBwcmVmLmNvbmRpdGlvbiAtJT4KKyNlbmRpZgorPCUtIGVu
ZCAtJT4KKzwlLSBlbmQgLSU+CisgICAgfTsKKworICAgIGNvbnN0IFN0cmluZyYga2V5ID0gZmVh
dHVyZS5rZXkoKTsKKworICAgIGZvciAoYXV0byYgc2V0dGVyIDogc2V0dGVycykgeworICAgICAg
ICBpZiAoa2V5ID09IHNldHRlci5uYW1lKSB7CisgICAgICAgICAgICAodGhpcy0+KnNldHRlci5m
dW5jdGlvbikodmFsdWUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQor
fQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgKaW5kZXggMWY2MDAzZmY1ZjRk
OWRlNGYxODZlN2IxYTNiYTRlZDJhMTJkMmM3MC4uYjBjYTU0ZDhmYWFiMjlkODkwMTg1NDBmYTY2
NTBiOGFhYjE5NWEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSU9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElPYmplY3QuaApAQCAtMTEw
LDYgKzExMCw3IEBAIHB1YmxpYzoKICAgICAgICAgQ29udGVudFJ1bGVMaXN0U3RvcmUsCiAgICAg
ICAgIENvbnRleHRNZW51TGlzdGVuZXIsCiAgICAgICAgIENvb2tpZU1hbmFnZXIsCisgICAgICAg
IEludGVybmFsRGVidWdGZWF0dXJlLAogICAgICAgICBEb3dubG9hZCwKICAgICAgICAgRXhwZXJp
bWVudGFsRmVhdHVyZSwKICAgICAgICAgRm9ybVN1Ym1pc3Npb25MaXN0ZW5lciwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbSBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQppbmRleCA0NDhmZmQyOGFjYTdiOGYwZDkxMWQ3
YzNjMmJkNzQ0ZjIyZjg0N2Y3Li5lY2MzNTJmMmZkZjk1YjRiZGNjY2NlMjA4YzdjMmRmZGQxMGFk
OGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0K
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tCkBAIC03Niw2ICs3
Niw3IEBACiAjaW1wb3J0ICJfV0tHZW9sb2NhdGlvblBvc2l0aW9uSW50ZXJuYWwuaCIKICNpbXBv
cnQgIl9XS0hpdFRlc3RSZXN1bHRJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLSW5zcGVjdG9ySW50
ZXJuYWwuaCIKKyNpbXBvcnQgIl9XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCIKICNp
bXBvcnQgIl9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbkludGVybmFsLmgiCiAjaW1wb3J0ICJf
V0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS1VzZXJJbml0aWF0ZWRB
Y3Rpb25JbnRlcm5hbC5oIgpAQCAtMTk0LDYgKzE5NSwxMCBAQCB2b2lkKiBPYmplY3Q6Om5ld09i
amVjdChzaXplX3Qgc2l6ZSwgVHlwZSB0eXBlKQogICAgICAgICB3cmFwcGVyID0gW1dLTlNEYXRh
IGFsbG9jXTsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFR5cGU6OkludGVybmFsRGVidWdG
ZWF0dXJlOgorICAgICAgICB3cmFwcGVyID0gW19XS0ludGVybmFsRGVidWdGZWF0dXJlIGFsbG9j
XTsKKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIFR5cGU6OkRpY3Rpb25hcnk6CiAgICAgICAg
IHdyYXBwZXIgPSBbV0tOU0RpY3Rpb25hcnkgYWxsb2NdOwogICAgICAgICBicmVhazsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDRiZWU2Mzc5MDhlODQwNGY3
N2YxNWEyYzI0MjI4ZjhjMzcwZmNhYWYuLjg2ODFiOWMxMTc5MjQ5MWZhMDcxYmQyMjdiNTQxZWYx
MzBkYzU1NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAt
MTEyNywyMCArMTEyNywxMyBAQCBJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkOgogCiAj
IEZvciBleHBlcmltZW50YWwgZmVhdHVyZXM6CiAjIFRoZSB0eXBlIHNob3VsZCBiZSBib29sZWFu
LgotIyBZb3UgbXVzdCBwcm92aWRlIGEgaHVtYW5SZWFkYWJsZU5hbWUgYW5kIGh1bWFuUmVhZGFi
bGVOYW1lIGZvciBhbGwgZXhwZXJpbWVudGFsIGZlYXR1cmVzLiBUaGV5CisjIFlvdSBtdXN0IHBy
b3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uIGZv
ciBhbGwgZXhwZXJpbWVudGFsIGZlYXR1cmVzLiBUaGV5CiAjICAgYXJlIHRoZSB0ZXh0IGV4cG9z
ZWQgdG8gdGhlIHVzZXIgZnJvbSB0aGUgV2ViS2l0IGNsaWVudC4KICMgVGhlIGRlZmF1bHQgdmFs
dWUgbWF5IGJlIGVpdGhlciBmYWxzZSAoZm9yIHVuc3RhYmxlIGZlYXR1cmVzKSBvcgogIyAgIERF
RkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQgKGZvciBmZWF0dXJlcyB0aGF0IGFy
ZSByZWFkeSBmb3IKICMgICB3aWRlciB0ZXN0aW5nKS4KIAogCi1Bc3luY0ZyYW1lU2Nyb2xsaW5n
RW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVh
ZGFibGVOYW1lOiAiQXN5bmMgRnJhbWUgU2Nyb2xsaW5nIgotICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJQZXJmb3JtIGZyYW1lIHNjcm9sbGluZyBpbiBhIGRlZGljYXRlZCB0aHJlYWQgb3Ig
cHJvY2VzcyIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAotCiBTcHJpbmdUaW1pbmdGdW5jdGlv
bkVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VYUEVSSU1F
TlRBTF9GRUFUVVJFU19FTkFCTEVECkBAIC0xMTcyLDM4ICsxMTY1LDEwIEBAIEludGVyc2VjdGlv
bk9ic2VydmVyRW5hYmxlZDoKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICBjb25kaXRpb246
IEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCiAKLU1ETlNJQ0VDYW5kaWRhdGVzRW5hYmxl
ZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVO
YW1lOiAiRW5hYmxlIE1ETlMgSUNFIGNhbmRpZGF0ZXMiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBNRE5TIElDRSBjYW5kaWRhdGVzIgotICB3ZWJjb3JlQmluZGluZzogUnVu
dGltZUVuYWJsZWRGZWF0dXJlcwotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCi0gIGNvbmRpdGlv
bjogRU5BQkxFKFdFQl9SVEMpCi0KLUZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZDoKLSAgdHlwZTog
Ym9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiRmV0Y2gg
QVBJIFJlcXVlc3QgS2VlcEFsaXZlIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFi
bGUgRmV0Y2ggQVBJIFJlcXVlc3QgS2VlcEFsaXZlIgotICBjYXRlZ29yeTogZXhwZXJpbWVudGFs
Ci0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gIHdlYmNvcmVOYW1l
OiBmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQKLQotU2VydmljZVdvcmtlcnNFbmFibGVkOgotICB0
eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9TRVJWSUNFX1dPUktFUlNfRU5BQkxF
RAotICBodW1hblJlYWRhYmxlTmFtZTogIlNlcnZpY2VXb3JrZXJzIgotICBodW1hblJlYWRhYmxl
RGVzY3JpcHRpb246ICJFbmFibGUgU2VydmljZVdvcmtlcnMiCi0gIGNhdGVnb3J5OiBleHBlcmlt
ZW50YWwKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLSAgd2ViY29y
ZU5hbWU6IHNlcnZpY2VXb3JrZXJFbmFibGVkCi0gIGNvbmRpdGlvbjogRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQotCiBWaXN1YWxWaWV3cG9ydEFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVm
YXVsdFZhbHVlOiBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVECi0gIGh1bWFu
UmVhZGFibGVOYW1lOiAiVmlzdWFsVmlld3BvcnRBUEkiCisgIGh1bWFuUmVhZGFibGVOYW1lOiAi
VmlzdWFsIFZpZXdwb3J0IEFQSSIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxl
IFZpc3VhbCBWaWV3cG9ydCBBUEkiCiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKIApAQCAtMTIy
NSw3ICsxMTkwLDcgQEAgV2ViQW5pbWF0aW9uc0VuYWJsZWQ6CiBXZWJBbmltYXRpb25zQ1NTSW50
ZWdyYXRpb25FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9F
WFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRAotICBodW1hblJlYWRhYmxlTmFtZTogIldlYiBB
bmltYXRpb25zIGFuZCBDU1MgSW50ZWdyYXRpb24iCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiQ1NT
IEFuaW1hdGlvbnMgdmlhIFdlYiBBbmltYXRpb25zIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFeHBvc2UgQ1NTIEFuaW1hdGlvbnMgYW5kIENTUyBUcmFuc2l0aW9ucyB0aHJvdWdoIGdl
dEFuaW1hdGlvbnMoKSIKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICB3ZWJjb3JlQmluZGlu
ZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwpAQCAtMTI1NiwxNCArMTIyMSw2IEBAIEFjY2Vzc2li
aWxpdHlPYmplY3RNb2RlbEVuYWJsZWQ6CiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKICAgd2Vi
Y29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAotQXJpYVJlZmxlY3Rpb25FbmFi
bGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICBodW1hblJlYWRhYmxl
TmFtZTogIkFSSUEgUmVmbGVjdGlvbiIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiQVJJ
QSBSZWZsZWN0aW9uIHN1cHBvcnQiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKLSAgd2ViY29y
ZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLQogV2ViVlJFbmFibGVkOgogICB0eXBl
OiBib29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5B
QkxFRApAQCAtMTI3Myw3OCArMTIzMCwxMjYgQEAgV2ViVlJFbmFibGVkOgogICBjYXRlZ29yeTog
ZXhwZXJpbWVudGFsCiAgIGNvbmRpdGlvbjogUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUp
CiAKLVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGU6CitTZXJ2ZXJUaW1pbmdFbmFibGVk
OgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJJVFAgRGVidWcgTW9kZSIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiSW50ZWxs
aWdlbnQgVHJhY2tpbmcgUHJldmVudGlvbiBEZWJ1ZyBNb2RlIgorICBodW1hblJlYWRhYmxlTmFt
ZTogIlNlcnZlciBUaW1pbmciCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBT
ZXJ2ZXIgVGltaW5nIEFQSSIKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogICB3ZWJjb3JlQmlu
ZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICB3ZWJjb3JlTmFtZTogc2VydmVyVGltaW5n
RW5hYmxlZAogCi1XZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQ1N1cHBvcnRFbmFibGVkOgorRW5j
cnlwdGVkTWVkaWFBUElFbmFibGVkOgogICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogZmFs
c2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBU1RDIFRleHR1cmUgU3VwcG9ydCIKLSAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiU3VwcG9ydCBmb3IgQVNUQyBjb21wcmVzc2VkIHRleHR1cmUg
Zm9ybWF0cyBpbiBXZWJHTCIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICBkZWZhdWx0VmFs
dWU6IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQKKyAgaHVtYW5SZWFkYWJs
ZU5hbWU6ICJNb2Rlcm4gRW5jcnlwdGVkIE1lZGlhIEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2Ny
aXB0aW9uOiAiRW5hYmxlIE1vZGVybiBFbmNyeXB0ZWQgTWVkaWEgQVBJIgogICB3ZWJjb3JlQmlu
ZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcworICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCisg
IGNvbmRpdGlvbjogRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotU2VydmVyVGltaW5nRW5hYmxl
ZDoKK1dlYkFQSVN0YXRpc3RpY3NFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1
ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJTZXJ2ZXIgVGltaW5nIgotICBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgU2VydmVyIFRpbWluZyBBUEkiCi0gIGNhdGVnb3J5
OiBleHBlcmltZW50YWwKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWIgQVBJIFN0YXRpc3RpY3Mi
CisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBXZWIgQVBJIFN0YXRpc3RpY3Mi
CiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0gIHdlYmNvcmVOYW1l
OiBzZXJ2ZXJUaW1pbmdFbmFibGVkCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKworIyBGb3Ig
aW50ZXJuYWwgZmVhdHVyZXM6CisjIFRoZSB0eXBlIHNob3VsZCBiZSBib29sZWFuLgorIyBZb3Ug
bXVzdCBwcm92aWRlIGEgaHVtYW5SZWFkYWJsZU5hbWUgYW5kIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbiBmb3IgYWxsIGRlYnVnIGZlYXR1cmVzLiBUaGV5CisjICAgYXJlIHRoZSB0ZXh0IGV4cG9z
ZWQgdG8gdGhlIHVzZXIgZnJvbSB0aGUgV2ViS2l0IGNsaWVudC4KIAogRXhwZXJpbWVudGFsUGx1
Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6
IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiU2FuZGJveCBQbHVnLUlucyIKICAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFBsdWctSW4gc2FuZGJveGluZyIKLSAgY2F0ZWdv
cnk6IGRlYnVnCisgIGNhdGVnb3J5OiBpbnRlcm5hbAogICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcwogICB3ZWJjb3JlTmFtZTogZXhwZXJpbWVudGFsUGx1Z0luU2FuZGJv
eFByb2ZpbGVzRW5hYmxlZAogCi1GdWxsU2NyZWVuRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBk
ZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGNvbmRpdGlvbjogRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQot
ICBoaWRkZW46IEVYUEVSSU1FTlRBTF9GVUxMU0NSRUVOX0FQSV9ISURERU4KLSAgaHVtYW5SZWFk
YWJsZU5hbWU6ICJGdWxsc2NyZWVuIEFQSSIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAi
RnVsbHNjcmVlbiBBUEkiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKLQotRW5jcnlwdGVkTWVk
aWFBUElFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FWFBF
UklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRAotICBodW1hblJlYWRhYmxlTmFtZTogIk1vZGVybiBF
bmNyeXB0ZWQgTWVkaWEgQVBJIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJNb2Rlcm4g
RW5jcnlwdGVkIE1lZGlhIEFQSSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAotICBjb25kaXRpb246IEVOQUJMRShFTkNS
WVBURURfTUVESUEpCi0KIFByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9uRW5hYmxlZDoK
ICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVOYW1l
OiAiU3dhcCBQcm9jZXNzZXMgb24gQ3Jvc3MtU2l0ZSBOYXZpZ2F0aW9uIgogICBodW1hblJlYWRh
YmxlRGVzY3JpcHRpb246ICJTd2FwIFdlYkNvbnRlbnQgcHJvY2Vzc2VzIG9uIGNyb3NzLXNpdGUg
bmF2aWdhdGlvbnMiCi0gIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKyAgY2F0ZWdvcnk6IGludGVy
bmFsCiAgIHdlYmNvcmVCaW5kaW5nOiBub25lCiAKIFNvdXJjZUJ1ZmZlckNoYW5nZVR5cGVFbmFi
bGVkOgogICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FWFBFUklNRU5UQUxf
RkVBVFVSRVNfRU5BQkxFRAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFibGVO
YW1lOiAiTWVkaWEgU291cmNlIENvZGVjIFN3aXRjaGluZyBTdXBwb3J0IgotICBodW1hblJlYWRh
YmxlRGVzY3JpcHRpb246ICJFbmFibGUgTWVkaWEgU291cmNlIENvZGVjIFN3aXRjaGluZyB0aHJv
dWdoIGNoYW5nZVR5cGUoKSIKLSAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICBodW1hblJlYWRh
YmxlRGVzY3JpcHRpb246ICJNZWRpYSBTb3VyY2UgQ29kZWMgU3dpdGNoaW5nIHRocm91Z2ggY2hh
bmdlVHlwZSgpIgorICBjYXRlZ29yeTogaW50ZXJuYWwKICAgY29uZGl0aW9uOiBFTkFCTEUoTUVE
SUFfU09VUkNFKQogCi1XZWJBUElTdGF0aXN0aWNzRW5hYmxlZDoKK1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NEZWJ1Z01vZGU6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQotICBo
dW1hblJlYWRhYmxlTmFtZTogIldlYiBBUEkgU3RhdGlzdGljcyIKLSAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIFdlYiBBUEkgU3RhdGlzdGljcyIKKyAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJJVFAgRGVidWcgTW9kZSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiSW50ZWxs
aWdlbnQgVHJhY2tpbmcgUHJldmVudGlvbiBEZWJ1ZyBNb2RlIgorICBjYXRlZ29yeTogaW50ZXJu
YWwKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKworU2VydmljZVdv
cmtlcnNFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9TRVJW
SUNFX1dPUktFUlNfRU5BQkxFRAorICBodW1hblJlYWRhYmxlTmFtZTogIlNlcnZpY2UgV29ya2Vy
cyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFNlcnZpY2UgV29ya2VycyIK
KyAgY2F0ZWdvcnk6IGludGVybmFsCisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzCisgIHdlYmNvcmVOYW1lOiBzZXJ2aWNlV29ya2VyRW5hYmxlZAorICBjb25kaXRpb246
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKKworQXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQ6Cisg
IHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTog
IkFzeW5jIEZyYW1lIFNjcm9sbGluZyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiUGVy
Zm9ybSBmcmFtZSBzY3JvbGxpbmcgaW4gYSBkZWRpY2F0ZWQgdGhyZWFkIG9yIHByb2Nlc3MiCisg
IGNhdGVnb3J5OiBpbnRlcm5hbAorCitNRE5TSUNFQ2FuZGlkYXRlc0VuYWJsZWQ6CisgIHR5cGU6
IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIk1ETlMg
SUNFIGNhbmRpZGF0ZXMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBNRE5T
IElDRSBjYW5kaWRhdGVzIgorICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJl
cworICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgY29uZGl0aW9uOiBFTkFCTEUoV0VCX1JUQykKKwor
RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTog
ZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJGZXRjaCBBUEkgUmVxdWVzdCBLZWVwQWxpdmUi
CisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBGZXRjaCBBUEkgUmVxdWVzdCBL
ZWVwQWxpdmUiCisgIGNhdGVnb3J5OiBpbnRlcm5hbAorICB3ZWJjb3JlQmluZGluZzogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcworICB3ZWJjb3JlTmFtZTogZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVk
CisKK1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDU3VwcG9ydEVuYWJsZWQ6CisgIHR5cGU6IGJv
b2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFTVEMgVGV4
dHVyZSBTdXBwb3J0IgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJTdXBwb3J0IGZvciBB
U1RDIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXRzIGluIFdlYkdMIgorICBjYXRlZ29yeTogaW50
ZXJuYWwKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKworRnVsbFNj
cmVlbkVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBjb25k
aXRpb246IEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKKyAgaGlkZGVuOiBFWFBFUklNRU5UQUxfRlVM
TFNDUkVFTl9BUElfSElEREVOCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiRnVsbHNjcmVlbiBBUEki
CisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkZ1bGxzY3JlZW4gQVBJIgorICBjYXRlZ29y
eTogaW50ZXJuYWwKKworQXJpYVJlZmxlY3Rpb25FbmFibGVkOgorICB0eXBlOiBib29sCisgIGRl
ZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFSSUEgUmVmbGVjdGlvbiIK
KyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiQVJJQSBSZWZsZWN0aW9uIHN1cHBvcnQiCisg
IGNhdGVnb3J5OiBpbnRlcm5hbAogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0
dXJlcwotICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA5NDdjZmQ0NzQ0
MjIwNmU2NDk0MmJkOTA3M2JjMTMxY2ZjOTNiMzU3Li5kYWQ3MDNhOGNjY2I5NTU1YTMxYmUzY2M1
OTM3MWQ0ZmMyNmVhYWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cisr
KyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTI5Miw2ICsyOTIsNyBAQCBVSVByb2Nl
c3MvQVBJL0FQSUV4cGVyaW1lbnRhbEZlYXR1cmUuY3BwCiBVSVByb2Nlc3MvQVBJL0FQSUZyYW1l
SW5mby5jcHAKIFVJUHJvY2Vzcy9BUEkvQVBJSFRUUENvb2tpZVN0b3JlLmNwcAogVUlQcm9jZXNz
L0FQSS9BUElIaXRUZXN0UmVzdWx0LmNwcAorVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVn
RmVhdHVyZS5jcHAKIFVJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5jcHAKIFVJUHJvY2Vzcy9B
UEkvQVBJTmF2aWdhdGlvbkRhdGEuY3BwCiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0
aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291
cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDE2ZDA3YmEwMzNjZTg3Y2ZlMzc2OWFi
M2RlOGY4Mjk2MGJhNzI5ODYuLjJmYjhlMWFiZTVhNzU1ZTJjYzRhYWUzYWQ2MDA4MGI4ODM2MzU2
NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTI0MCw2ICsyNDAsNyBAQCBVSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0Vycm9yUmVjb3ZlcnlBdHRlbXB0aW5nLm1tCiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS0V4cGVyaW1lbnRhbEZlYXR1cmUubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2Vv
bG9jYXRpb25Qb3NpdGlvbi5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3IubW0K
K1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0KIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLTGlua0ljb25QYXJhbWV0ZXJzLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tS
ZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGQ2MGY2Mjk5NGIwMjYzNzQxNTYxNDI3NjgyYzc3NDRmYWE2NjYxYwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVy
ZS5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oIgorCituYW1lc3BhY2UgQVBJIHsK
KworUmVmPEludGVybmFsRGVidWdGZWF0dXJlPiBJbnRlcm5hbERlYnVnRmVhdHVyZTo6Y3JlYXRl
KGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lLCBjb25zdCBXVEY6OlN0cmluZyYga2V5LCBjb25zdCBX
VEY6OlN0cmluZyYgZGV0YWlscywgYm9vbCBkZWZhdWx0VmFsdWUsIGJvb2wgaGlkZGVuKQorewor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEludGVybmFsRGVidWdGZWF0dXJlKG5hbWUsIGtleSwg
ZGV0YWlscywgZGVmYXVsdFZhbHVlLCBoaWRkZW4pKTsKK30KKworSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6OkludGVybmFsRGVidWdGZWF0dXJlKGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lLCBjb25zdCBX
VEY6OlN0cmluZyYga2V5LCBjb25zdCBXVEY6OlN0cmluZyYgZGV0YWlscywgYm9vbCBkZWZhdWx0
VmFsdWUsIGJvb2wgaGlkZGVuKQorICAgIDogbV9uYW1lKG5hbWUpCisgICAgLCBtX2tleShrZXkp
CisgICAgLCBtX2RldGFpbHMoZGV0YWlscykKKyAgICAsIG1fZGVmYXVsdFZhbHVlKGRlZmF1bHRW
YWx1ZSkKKyAgICAsIG1faGlkZGVuKGhpZGRlbikKK3sKK30KKworSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6On5JbnRlcm5hbERlYnVnRmVhdHVyZSgpCit7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUludGVybmFsRGVidWdGZWF0dXJlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjE4OWJlY2VjNzc0ZjFlOTQ2OWZjOGQ2YWYxY2JkZmIzNGI2YWExOQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJbnRlcm5hbERlYnVnRmVhdHVy
ZS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1l
c3BhY2UgQVBJIHsKKworY2xhc3MgSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgZmluYWwgOiBwdWJsaWMg
T2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6OkludGVybmFsRGVidWdGZWF0dXJlPiB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxJbnRlcm5hbERlYnVnRmVhdHVyZT4gY3JlYXRlKGNvbnN0IFdURjo6
U3RyaW5nJiBuYW1lLCBjb25zdCBXVEY6OlN0cmluZyYga2V5LCBjb25zdCBXVEY6OlN0cmluZyYg
ZGV0YWlscywgYm9vbCBkZWZhdWx0VmFsdWUsIGJvb2wgaGlkZGVuKTsKKyAgICB2aXJ0dWFsIH5J
bnRlcm5hbERlYnVnRmVhdHVyZSgpOworCisgICAgV1RGOjpTdHJpbmcgbmFtZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbmFtZTsgfQorICAgIFdURjo6U3RyaW5nIGtleSgpIGNvbnN0IHsgcmV0dXJuIG1f
a2V5OyB9CisgICAgV1RGOjpTdHJpbmcgZGV0YWlscygpIGNvbnN0IHsgcmV0dXJuIG1fZGV0YWls
czsgfQorICAgIGJvb2wgZGVmYXVsdFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9kZWZhdWx0VmFs
dWU7IH0KKyAgICBib29sIGlzSGlkZGVuKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW47IH0KKwor
cHJpdmF0ZToKKyAgICBleHBsaWNpdCBJbnRlcm5hbERlYnVnRmVhdHVyZShjb25zdCBXVEY6OlN0
cmluZyYgbmFtZSwgY29uc3QgV1RGOjpTdHJpbmcmIGtleSwgY29uc3QgV1RGOjpTdHJpbmcmIGRl
dGFpbHMsIGJvb2wgZGVmYXVsdFZhbHVlLCBib29sIGhpZGRlbik7CisKKyAgICBXVEY6OlN0cmlu
ZyBtX25hbWU7CisgICAgV1RGOjpTdHJpbmcgbV9rZXk7CisgICAgV1RGOjpTdHJpbmcgbV9kZXRh
aWxzOworICAgIGJvb2wgbV9kZWZhdWx0VmFsdWU7CisgICAgYm9vbCBtX2hpZGRlbjsKK307CisK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKaW5kZXggZTY1ZmQ5
NzAyNmNlOWQ5ODI4NDNiMzliYjZmODc5OGUyODc0OTEyZS4uNzE4NzA3ZmE5MTM2ZTM5NjViNjFi
Y2M5MGQ3OTVmODM2MTg1NGEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0LmgKQEAgLTU0LDYgKzU0LDcgQEAKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgQ29udGVu
dFJ1bGVMaXN0OwogY2xhc3MgQ29udGVudFJ1bGVMaXN0U3RvcmU7CitjbGFzcyBJbnRlcm5hbERl
YnVnRmVhdHVyZTsKIGNsYXNzIEV4cGVyaW1lbnRhbEZlYXR1cmU7CiBjbGFzcyBGcmFtZUhhbmRs
ZTsKIGNsYXNzIEZyYW1lSW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLUHJlZmVyZW5jZXMubW0KaW5kZXggM2U4MjdlYzQ0YjIxZTcxYTViNDY1ZjNlOGE2
NTA5YTI3MDY2NDU1MC4uMWVhYzZkN2M2MDU1ZDBlYTNlYjAwZWYxOTA0YThlM2NmNjllZjQ4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5j
ZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5j
ZXMubW0KQEAgLTMyLDggKzMyLDggQEAKICNpbXBvcnQgIlBsdWdpblByb2Nlc3NNYW5hZ2VyLmgi
CiAjaW1wb3J0ICJXS05TQXJyYXkuaCIKICNpbXBvcnQgIldlYlByZWZlcmVuY2VzLmgiCi0jaW1w
b3J0ICJfV0tFeHBlcmltZW50YWxGZWF0dXJlLmgiCiAjaW1wb3J0ICJfV0tFeHBlcmltZW50YWxG
ZWF0dXJlSW50ZXJuYWwuaCIKKyNpbXBvcnQgIl9XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJu
YWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbXBvcnQgPFdlYkNv
cmUvU2V0dGluZ3MuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTUyNywxOCArNTI3
LDQ2IEBAIHN0YXRpYyBfV0tTdG9yYWdlQmxvY2tpbmdQb2xpY3kgdG9BUEkoV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW46OlN0b3JhZ2VCbG9ja2luZ1BvCiAgICAgX3ByZWZlcmVuY2VzLT5zZXRGaXhl
ZEZvbnRGYW1pbHkoZml4ZWRQaXRjaEZvbnRGYW1pbHkpOwogfQogCisrIChOU0FycmF5PF9XS0lu
dGVybmFsRGVidWdGZWF0dXJlICo+ICopX2ludGVybmFsRGVidWdGZWF0dXJlcworeworICAgIGF1
dG8gZmVhdHVyZXMgPSBXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjppbnRlcm5hbERlYnVnRmVhdHVy
ZXMoKTsKKyAgICByZXR1cm4gd3JhcHBlcihBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShmZWF0
dXJlcykpKTsKK30KKworLSAoQk9PTClfaXNFbmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6
KF9XS0ludGVybmFsRGVidWdGZWF0dXJlICopZmVhdHVyZQoreworICAgIHJldHVybiBfcHJlZmVy
ZW5jZXMtPmlzRW5hYmxlZEZvckZlYXR1cmUoKmZlYXR1cmUtPl9pbnRlcm5hbERlYnVnRmVhdHVy
ZSk7Cit9CisKKy0gKHZvaWQpX3NldEVuYWJsZWQ6KEJPT0wpdmFsdWUgZm9ySW50ZXJuYWxEZWJ1
Z0ZlYXR1cmU6KF9XS0ludGVybmFsRGVidWdGZWF0dXJlICopZmVhdHVyZQoreworICAgIF9wcmVm
ZXJlbmNlcy0+c2V0RW5hYmxlZEZvckZlYXR1cmUodmFsdWUsICpmZWF0dXJlLT5faW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmUpOworfQorCiArIChOU0FycmF5PF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4g
KilfZXhwZXJpbWVudGFsRmVhdHVyZXMKIHsKICAgICBhdXRvIGZlYXR1cmVzID0gV2ViS2l0OjpX
ZWJQcmVmZXJlbmNlczo6ZXhwZXJpbWVudGFsRmVhdHVyZXMoKTsKICAgICByZXR1cm4gd3JhcHBl
cihBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShmZWF0dXJlcykpKTsKIH0KIAorLy8gRklYTUU6
IFJlbW92ZSB0aGlzIG9uY2UgU2FmYXJpIGhhcyBhZG9wdGVkIHRoZSBuZXcgQVBJLgogLSAoQk9P
TClfaXNFbmFibGVkRm9yRmVhdHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUK
IHsKLSAgICByZXR1cm4gX3ByZWZlcmVuY2VzLT5pc0VuYWJsZWRGb3JGZWF0dXJlKCpmZWF0dXJl
LT5fZXhwZXJpbWVudGFsRmVhdHVyZSk7CisgICAgcmV0dXJuIFtzZWxmIF9pc0VuYWJsZWRGb3JF
eHBlcmltZW50YWxGZWF0dXJlOmZlYXR1cmVdOwogfQogCisvLyBGSVhNRTogUmVtb3ZlIHRoaXMg
b25jZSBTYWZhcmkgaGFzIGFkb3B0ZWQgdGhlIG5ldyBBUEkuCiAtICh2b2lkKV9zZXRFbmFibGVk
OihCT09MKXZhbHVlIGZvckZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKilmZWF0dXJl
Cit7CisgICAgW3NlbGYgX3NldEVuYWJsZWQ6dmFsdWUgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTpm
ZWF0dXJlXTsKK30KKworLSAoQk9PTClfaXNFbmFibGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZToo
X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUKK3sKKyAgICByZXR1cm4gX3ByZWZlcmVu
Y2VzLT5pc0VuYWJsZWRGb3JGZWF0dXJlKCpmZWF0dXJlLT5fZXhwZXJpbWVudGFsRmVhdHVyZSk7
Cit9CisKKy0gKHZvaWQpX3NldEVuYWJsZWQ6KEJPT0wpdmFsdWUgZm9yRXhwZXJpbWVudGFsRmVh
dHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUKIHsKICAgICBfcHJlZmVyZW5j
ZXMtPnNldEVuYWJsZWRGb3JGZWF0dXJlKHZhbHVlLCAqZmVhdHVyZS0+X2V4cGVyaW1lbnRhbEZl
YXR1cmUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCAzODc5ZTM1ZWQzMjVlODU3YjBjNWFiNzNj
ZDdiZGFjNDE5ZTY1MzNjLi4xMDBmZGEyNmMyOWFjZmE4M2U3ODM3ZWU4MjZkZTk4ZTdiYjM1Mzc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJl
bmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNTUsNiArNTUsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJ
bnRlZ2VyLCBfV0tFZGl0YWJsZUxpbmtCZWhhdmlvcikgewogfSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIAogQGNsYXNzIF9XS0V4cGVyaW1lbnRhbEZlYXR1
cmU7CitAY2xhc3MgX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU7CiAKIEBpbnRlcmZhY2UgV0tQcmVm
ZXJlbmNlcyAoKSA8TlNDb3B5aW5nPgogQGVuZApAQCAtMTMwLDkgKzEzMSwxNSBAQCB0eXBlZGVm
IE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tFZGl0YWJsZUxpbmtCZWhhdmlvcikgewogCiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBVkZvdW5kYXRpb25FbmFibGVkOikgQk9PTCBfYXZG
b3VuZGF0aW9uRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMCksIGlvcyhXS19J
T1NfVEJBKSk7CiAKKysgKE5TQXJyYXk8X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKj4gKilfaW50
ZXJuYWxEZWJ1Z0ZlYXR1cmVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOworLSAoQk9PTClfaXNFbmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1
cmU6KF9XS0ludGVybmFsRGVidWdGZWF0dXJlICopZmVhdHVyZSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3NldEVuYWJsZWQ6
KEJPT0wpdmFsdWUgZm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6KF9XS0ludGVybmFsRGVidWdGZWF0
dXJlICopZmVhdHVyZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKKwogKyAoTlNBcnJheTxfV0tFeHBlcmltZW50YWxGZWF0dXJlICo+ICopX2V4
cGVyaW1lbnRhbEZlYXR1cmVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEw
LjApKTsKIC0gKEJPT0wpX2lzRW5hYmxlZEZvckZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1
cmUgKilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsK
IC0gKHZvaWQpX3NldEVuYWJsZWQ6KEJPT0wpdmFsdWUgZm9yRmVhdHVyZTooX1dLRXhwZXJpbWVu
dGFsRmVhdHVyZSAqKWZlYXR1cmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3Mo
MTAuMCkpOworLSAoQk9PTClfaXNFbmFibGVkRm9yRXhwZXJpbWVudGFsRmVhdHVyZTooX1dLRXhw
ZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIp
LCBpb3MoMTAuMCkpOworLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JFeHBlcmlt
ZW50YWxGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVyZSBXS19BUElfQVZB
SUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldFNob3VsZEVuYWJsZVRleHRBdXRvc2l6aW5nQm9vc3Q6KSBCT09MIF9zaG91
bGRFbmFibGVUZXh0QXV0b3NpemluZ0Jvb3N0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc1MTU0OTQ2MmI2MGUxMTc4MzlkODE5MjVjNTkzNTcyMjY5NTIwOTgKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmUuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0
L1dLRm91bmRhdGlvbi5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQKKworI2ltcG9ydCA8Rm91bmRh
dGlvbi9Gb3VuZGF0aW9uLmg+CisKK1dLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2UgX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUg
OiBOU09iamVjdAorCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TU3Ry
aW5nICprZXk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TU3RyaW5n
ICpuYW1lOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAq
ZGV0YWlsczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBkZWZhdWx0VmFs
dWU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1pc0hpZGRlbikgQk9P
TCBoaWRkZW47CisKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNmM3ODcwNzQ1NTYyODgzMDA2MjUzYTNmNjczMmI5NGY4ODg2MDZlZAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5hbERl
YnVnRmVhdHVyZS5tbQpAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29u
ZmlnLmgiCisjaW1wb3J0ICJfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmgiCisKKyNp
ZiBXS19BUElfRU5BQkxFRAorCitAaW1wbGVtZW50YXRpb24gX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmUKKworLSAodm9pZClkZWFsbG9jCit7CisgICAgX2ludGVybmFsRGVidWdGZWF0dXJlLT5BUEk6
OkludGVybmFsRGVidWdGZWF0dXJlOjp+SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUoKTsKKworICAgIFtz
dXBlciBkZWFsbG9jXTsKK30KKworLSAoTlNTdHJpbmcgKilkZXNjcmlwdGlvbgoreworICAgIHJl
dHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjwlQDogJXA7IG5hbWUgPSAlQDsga2V5
ID0gJUA7IGRlZmF1bHRWYWx1ZSA9ICVzID4iLCBOU1N0cmluZ0Zyb21DbGFzcyhzZWxmLmNsYXNz
KSwgc2VsZiwgc2VsZi5uYW1lLCBzZWxmLmtleSwgc2VsZi5kZWZhdWx0VmFsdWUgPyAib24iIDog
Im9mZiJdOworfQorCistIChOU1N0cmluZyAqKW5hbWUKK3sKKyAgICByZXR1cm4gX2ludGVybmFs
RGVidWdGZWF0dXJlLT5uYW1lKCk7Cit9CisKKy0gKE5TU3RyaW5nICopa2V5Cit7CisgICAgcmV0
dXJuIF9pbnRlcm5hbERlYnVnRmVhdHVyZS0+a2V5KCk7Cit9CisKKy0gKE5TU3RyaW5nICopZGV0
YWlscworeworICAgIHJldHVybiBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmUtPmRldGFpbHMoKTsKK30K
KworLSAoQk9PTClkZWZhdWx0VmFsdWUKK3sKKyAgICByZXR1cm4gX2ludGVybmFsRGVidWdGZWF0
dXJlLT5kZWZhdWx0VmFsdWUoKTsKK30KKworLSAoQk9PTClpc0hpZGRlbgoreworICAgIHJldHVy
biBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmUtPmlzSGlkZGVuKCk7Cit9CisKKyNwcmFnbWEgbWFyayBX
S09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgorCistIChBUEk6Ok9iamVjdCYpX2FwaU9i
amVjdAoreworICAgIHJldHVybiAqX2ludGVybmFsRGVidWdGZWF0dXJlOworfQorCitAZW5kCisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGZmZTljMTI5MjE1NDlkNWRkYTUwMjY4MDQ5MjgxNTQ0OWQ5ODI3YgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVh
dHVyZUludGVybmFsLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgIl9X
S0ludGVybmFsRGVidWdGZWF0dXJlLmgiCisKKyNpZiBXS19BUElfRU5BQkxFRAorCisjaW1wb3J0
ICJBUElJbnRlcm5hbERlYnVnRmVhdHVyZS5oIgorI2ltcG9ydCAiV0tPYmplY3QuaCIKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK3RlbXBsYXRlPD4gc3RydWN0IFdyYXBwZXJUcmFpdHM8QVBJOjpJ
bnRlcm5hbERlYnVnRmVhdHVyZT4geworICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IF9XS0ludGVy
bmFsRGVidWdGZWF0dXJlOworfTsKKworfQorCitAaW50ZXJmYWNlIF9XS0ludGVybmFsRGVidWdG
ZWF0dXJlICgpIDxXS09iamVjdD4geworQHBhY2thZ2UKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8
QVBJOjpJbnRlcm5hbERlYnVnRmVhdHVyZT4gX2ludGVybmFsRGVidWdGZWF0dXJlOworfQorQGVu
ZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcApp
bmRleCAwODRiZWQzZWMxYmVkNjJiMjQyZjZiYmZhNDgwMTgwZDhlZjIzODU0Li40NGEwYTAyYjk4
YmM2Y2IxYjEzMTJkZDZlM2E1YmIyNGNmMzJkMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0xMzEsNyArMTMxLDcgQEAgdm9pZCBXZWJQcmVmZXJl
bmNlczo6dXBkYXRlQm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVl
KQogICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25seSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5
IGFuZCB2YWx1ZS4KIH0KIAotdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlQm9vbFZhbHVlRm9y
RXhwZXJpbWVudGFsRmVhdHVyZUtleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1ZSkKK3Zv
aWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZvckludGVybmFsRGVidWdGZWF0dXJl
S2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQogewogICAgIGlmIChrZXkgPT0gV2Vi
UHJlZmVyZW5jZXNLZXk6OnByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9uRW5hYmxlZEtl
eSgpKSB7CiAgICAgICAgIGZvciAoYXV0byogcGFnZSA6IG1fcGFnZXMpCkBAIC0xNDMsNiArMTQz
LDExIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnVwZGF0ZUJvb2xWYWx1ZUZvckV4cGVyaW1lbnRh
bEZlYXR1cmVLZXkoY29uc3QgU3RyaW5nJiBrZXksCiAgICAgdXBkYXRlKCk7IC8vIEZJWE1FOiBP
bmx5IHNlbmQgb3ZlciB0aGUgY2hhbmdlZCBrZXkgYW5kIHZhbHVlLgogfQogCit2b2lkIFdlYlBy
ZWZlcmVuY2VzOjp1cGRhdGVCb29sVmFsdWVGb3JFeHBlcmltZW50YWxGZWF0dXJlS2V5KGNvbnN0
IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQoreworICAgIHVwZGF0ZSgpOyAvLyBGSVhNRTogT25s
eSBzZW5kIG92ZXIgdGhlIGNoYW5nZWQga2V5IGFuZCB2YWx1ZS4KK30KKwogdm9pZCBXZWJQcmVm
ZXJlbmNlczo6dXBkYXRlVUludDMyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIHVpbnQz
Ml90IHZhbHVlKQogewogICAgIHBsYXRmb3JtVXBkYXRlVUludDMyVmFsdWVGb3JLZXkoa2V5LCB2
YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNl
cy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaAppbmRleCAzM2U4
NGEyZmZjMTAwZWQzNzVjMTY1NjExNTVmM2JiMmYxNGZhYzA1Li44ZTgxZTYyMTEyZTIyMTAyMWE3
NDdhNTBlYWY4YTI4MmVlMjEzYjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQVBJ
RXhwZXJpbWVudGFsRmVhdHVyZS5oIgorI2luY2x1ZGUgIkFQSUludGVybmFsRGVidWdGZWF0dXJl
LmgiCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiRm9udFNtb290aGluZ0xldmVs
LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIgpAQCAtNjAsOCArNjEs
MTMgQEAgcHVibGljOgogCiAgICAgRk9SX0VBQ0hfV0VCS0lUX1BSRUZFUkVOQ0UoREVDTEFSRV9Q
UkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKICAgICBGT1JfRUFDSF9XRUJLSVRfREVCVUdf
UFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKQorICAgIEZP
Ul9FQUNIX1dFQktJVF9JTlRFUk5BTF9ERUJVR19GRUFUVVJFX1BSRUZFUkVOQ0UoREVDTEFSRV9Q
UkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKICAgICBGT1JfRUFDSF9XRUJLSVRfRVhQRVJJ
TUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9T
RVRURVJTKQogCisgICAgc3RhdGljIGNvbnN0IFZlY3RvcjxSZWZQdHI8QVBJOjpPYmplY3Q+PiYg
aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKCk7CisgICAgYm9vbCBpc0VuYWJsZWRGb3JGZWF0dXJlKGNv
bnN0IEFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUmKSBjb25zdDsKKyAgICB2b2lkIHNldEVuYWJs
ZWRGb3JGZWF0dXJlKGJvb2wsIGNvbnN0IEFQSTo6SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUmKTsKKwog
ICAgIHN0YXRpYyBjb25zdCBWZWN0b3I8UmVmUHRyPEFQSTo6T2JqZWN0Pj4mIGV4cGVyaW1lbnRh
bEZlYXR1cmVzKCk7CiAgICAgYm9vbCBpc0VuYWJsZWRGb3JGZWF0dXJlKGNvbnN0IEFQSTo6RXhw
ZXJpbWVudGFsRmVhdHVyZSYpIGNvbnN0OwogICAgIHZvaWQgc2V0RW5hYmxlZEZvckZlYXR1cmUo
Ym9vbCwgY29uc3QgQVBJOjpFeHBlcmltZW50YWxGZWF0dXJlJik7CkBAIC03OSw2ICs4NSw3IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0ZVN0cmluZ1ZhbHVlRm9yS2V5KGNvbnN0IFN0cmlu
ZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKICAgICB2b2lkIHVwZGF0ZUJvb2xWYWx1ZUZv
cktleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1ZSk7CisgICAgdm9pZCB1cGRhdGVCb29s
VmFsdWVGb3JJbnRlcm5hbERlYnVnRmVhdHVyZUtleShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2
YWx1ZSk7CiAgICAgdm9pZCB1cGRhdGVCb29sVmFsdWVGb3JFeHBlcmltZW50YWxGZWF0dXJlS2V5
KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKTsKICAgICB2b2lkIHVwZGF0ZVVJbnQzMlZh
bHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCB1aW50MzJfdCB2YWx1ZSk7CiAgICAgdm9pZCB1
cGRhdGVEb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgZG91YmxlIHZhbHVlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCAxNGI2NzQ2
OWNhZWVjMTQyNTMyYzBhOWU1MDY4YTQ1NzE1Y2Y4MDNiLi40YmJkNzM2Y2I5M2Y5ZDhiZDY5ZGNj
ZDZkYWZlYTg4NzM2OTdjZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCkBAIC0xMTU5LDcgKzExNTksNyBAQCBSZWY8V2ViUGFnZVByb3h5PiBXZWJQcm9j
ZXNzUG9vbDo6Y3JlYXRlV2ViUGFnZShQYWdlQ2xpZW50JiBwYWdlQ2xpZW50LCBSZWY8QVBJOgog
ICAgIGF1dG8gcGFnZSA9IHByb2Nlc3MtPmNyZWF0ZVdlYlBhZ2UocGFnZUNsaWVudCwgV1RGTW92
ZShwYWdlQ29uZmlndXJhdGlvbikpOwogICAgIGlmIChwYWdlLT5wcmVmZXJlbmNlcygpLnByb2Nl
c3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAgIG1fY29uZmln
dXJhdGlvbi0+c2V0UHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uKHRydWUpOwotICAgICAgICAvLyBG
SVhNRTogRm9yIG5vdywgdHVybmluZyBvbiBQU09OIGZyb20gdGhlIGV4cGVyaW1lbnRhbCBmZWF0
dXJlcyBtZW51IGFsc28gdHVybnMgb24KKyAgICAgICAgLy8gRklYTUU6IEZvciBub3csIHR1cm5p
bmcgb24gUFNPTiBmcm9tIHRoZSBkZWJ1ZyBmZWF0dXJlcyBtZW51IGFsc28gdHVybnMgb24KICAg
ICAgICAgLy8gYXV0b21hdGljIHByb2Nlc3Mgd2FybWluZyB1bnRpbCBjbGllbnRzIGNhbiBiZSB1
cGRhdGVkLgogICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPnNldElzQXV0b21hdGljUHJvY2Vzc1dh
cm1pbmdFbmFibGVkKHRydWUpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdhNDZiZjU0ZGVkNjM5N2M0YThkYmE5YThmYzEz
ZjVmMTVkMDlkMmUuLmY2ODE3MTllNTI2ZTg1MGNiN2IyOTY5YmU4OWMzMTBkMzcwOTRjYzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NzUxLDYgKzc1MSwxMCBAQAogCQkzMUEyRUM3NDE0OEQ1OUNBMDA4MTBENzEgLyogV0tOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFBMkVDNzIxNDhENTlCQjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkzMUE1MDVGQTE2ODAwMjU1MDBBOTMwRUIgLyogV2ViQ29udGV4dENsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBNTA1
RjgxNjgwMDI1NTAwQTkzMEVCIC8qIFdlYkNvbnRleHRDbGllbnQuaCAqLzsgfTsKIAkJMzFBNjdF
MEQxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUE2N0UwQjE2NUIyQTk5MDA2
Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCAqLzsgfTsKKwkJMzFCMzYyOEYyMTQx
RUE1RDAwN0JGQTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIzNjI4RTIxNDFFQTREMDA3QkZBNTMg
LyogQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLzsgfTsKKwkJMzFCMzYyOTUyMTQxRUJDRDAw
N0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUIzNjI5NDIxNDFFQkFEMDA3QkZBNTMgLyogX1dL
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkzMUIzNjI5NzIxNDFFQkQ5MDA3QkZBNTMgLyogX1dLSW50ZXJuYWxE
ZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFCMzYyOTMyMTQxRUJBRDAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdG
ZWF0dXJlSW50ZXJuYWwuaCAqLzsgfTsKKwkJMzFCMzYyOTkyMTQxRjZFODAwN0JGQTUzIC8qIFdl
YlByZWZlcmVuY2VzSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQjM2Mjk4MjE0MUY2RTAwMDdCRkE1MyAvKiBX
ZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAgKi87IH07CiAJCTMxQkE5MjRE
MTQ4ODMxMjYwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQkE5
MjQ4MTQ4ODMwODEwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKIAkJMzFCQTkyNEUxNDg4MzEyNjAwNjJFREI1IC8qIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzFCQTkyNDkxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXJNZXNzYWdlcy5oICovOyB9OwogCQkzMUQ1OTI5RjE2NkUwNjAwMDBFNkJGMDIgLyogV2Vi
UGx1Z0luQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMUQ1OTI5RDE2NkUwNjAwMDBFNkJGMDIgLyogV2ViUGx1Z0luQ2xpZW50LmggKi87IH07
CkBAIC0yODQyLDYgKzI4NDYsMTIgQEAKIAkJMzFBNTA1RjgxNjgwMDI1NTAwQTkzMEVCIC8qIFdl
YkNvbnRleHRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29u
dGV4dENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE2N0UwQTE2NUIy
QTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE2N0UwQjE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1
Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzFCMzYyOEUyMTQxRUE0RDAwN0JGQTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFQSUludGVybmFsRGVidWdGZWF0dXJlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxQjM2MjkwMjE0MUVBQkMwMDdCRkE1MyAvKiBBUElJbnRlcm5hbERlYnVn
RmVhdHVyZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBUElJbnRl
cm5hbERlYnVnRmVhdHVyZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQjM2
MjkyMjE0MUVCQUMwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS0ludGVybmFsRGVidWdGZWF0dXJl
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUIzNjI5MzIxNDFFQkFEMDA3QkZB
NTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQjM2Mjk0MjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJ
bnRlcm5hbERlYnVnRmVhdHVyZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBf
V0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkz
MUIzNjI5ODIxNDFGNkUwMDA3QkZBNTMgLyogV2ViUHJlZmVyZW5jZXNJbnRlcm5hbERlYnVnRmVh
dHVyZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUHJlZmVy
ZW5jZXNJbnRlcm5hbERlYnVnRmVhdHVyZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMUJBOTI0ODE0ODgzMDgxMDA2MkVEQjUgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFCQTkyNDkxNDg4MzA4MTAwNjJFREI1IC8qIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJO
b3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFENTkyOUMxNjZFMDVGRjAwRTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQbHVnSW5DbGllbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTk0Nyw2ICs1OTU3LDkgQEAKIAkJCQk1Q0FGREU0
MjIxMzA4NDM1MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9yLmggKi8sCiAJCQkJNUNBRkRFNDMyMTMw
ODQzNjAwQjFGN0UxIC8qIF9XS0luc3BlY3Rvci5tbSAqLywKIAkJCQk1Q0FGREU0NDIxMzA4NDM2
MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9ySW50ZXJuYWwuaCAqLywKKwkJCQkzMUIzNjI5NDIxNDFF
QkFEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLywKKwkJCQkzMUIzNjI5
MjIxNDFFQkFDMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0gKi8sCisJCQkJ
MzFCMzYyOTMyMTQxRUJBRDAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJu
YWwuaCAqLywKIAkJCQkyRDc5MEE5QzFBRDcwNTBEMDBBQjkwQjMgLyogX1dLTGF5b3V0TW9kZS5o
ICovLAogCQkJCTUxQzBDOTc5MURERDc4NTQwMDMyQ0FEMyAvKiBfV0tMaW5rSWNvblBhcmFtZXRl
cnMuaCAqLywKIAkJCQk1MUMwQzk3QTFEREQ3ODU0MDAzMkNBRDMgLyogX1dLTGlua0ljb25QYXJh
bWV0ZXJzLm1tICovLApAQCAtNzQwNiw2ICs3NDE5LDggQEAKIAkJCQk3QUI2RUE0NDFFRUFBRTIz
MDAwMzdCMkIgLyogQVBJSWNvbkRhdGFiYXNlQ2xpZW50LmggKi8sCiAJCQkJNTE0M0IyNjExRERE
MERBMDAwMTRGQUM2IC8qIEFQSUljb25Mb2FkaW5nQ2xpZW50LmggKi8sCiAJCQkJN0E4QTlENTcx
RUYxMTlBQTAwOTgwMUFFIC8qIEFQSUluamVjdGVkQnVuZGxlQ2xpZW50LmggKi8sCisJCQkJMzFC
MzYyOTAyMTQxRUFCQzAwN0JGQTUzIC8qIEFQSUludGVybmFsRGVidWdGZWF0dXJlLmNwcCAqLywK
KwkJCQkzMUIzNjI4RTIxNDFFQTREMDA3QkZBNTMgLyogQVBJSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUu
aCAqLywKIAkJCQk3Q0U0RDIwNjFBNDY3NzU3MDBDN0YxNTIgLyogQVBJTGVnYWN5Q29udGV4dEhp
c3RvcnlDbGllbnQuaCAqLywKIAkJCQkxQTI0NjRGMjE4OTFFNDUxMDAyMzRDNUIgLyogQVBJTG9h
ZGVyQ2xpZW50LmggKi8sCiAJCQkJN0NEM0E0ODAxQTVEMDJGQTAwOTYyM0I4IC8qIEFQSU5hdmln
YXRpb24uY3BwICovLApAQCAtODM5OCw2ICs4NDEzLDcgQEAKIAkJCQkxQUIxRjc5NTFEMUIzNjEz
MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oICovLAogCQkJ
CTdDREU3M0EzMUY5REFCNjUwMDM5MDMxMiAvKiBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgg
Ki8sCiAJCQkJN0NFQjAwREMxRkE2OUE4OTAwNjU0NzNCIC8qIFdlYlByZWZlcmVuY2VzRXhwZXJp
bWVudGFsRmVhdHVyZXMuY3BwICovLAorCQkJCTMxQjM2Mjk4MjE0MUY2RTAwMDdCRkE1MyAvKiBX
ZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5jcHAgKi8sCiAJCQkJN0NCMTAwRUUx
RkEyRDc0QTAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgKi8sCiAJCQkJN0NCMTAw
RUYxRkEyRDc0QjAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oICovLAogCQkJCTdDQjEw
MEYwMUZBMkQ3ODQwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3Bw
ICovLApAQCAtODcyNCw2ICs4NzQwLDggQEAKIAkJCQkzN0E2NEU1NTE4RjM4RTNDMDBFQjMwRjEg
LyogX1dLSW5wdXREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNBRkRFNDUyMTMwODQ2
MzAwQjFGN0UxIC8qIF9XS0luc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNBRkRFNDcy
MTMwODQ2QTAwQjFGN0UxIC8qIF9XS0luc3BlY3RvckludGVybmFsLmggaW4gSGVhZGVycyAqLywK
KwkJCQkzMUIzNjI5NTIxNDFFQkNEMDA3QkZBNTMgLyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUu
aCBpbiBIZWFkZXJzICovLAorCQkJCTMxQjM2Mjk3MjE0MUVCRDkwMDdCRkE1MyAvKiBfV0tJbnRl
cm5hbERlYnVnRmVhdHVyZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDc5MEE5RDFB
RDcwNTBEMDBBQjkwQjMgLyogX1dLTGF5b3V0TW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEw
RjU5MTExRERFMjk3MDAwNDEyRkY1IC8qIF9XS0xpbmtJY29uUGFyYW1ldGVycy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTExOEE5RjMxOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJF
eHRyYXMuaCBpbiBIZWFkZXJzICovLApAQCAtODgwMyw2ICs4ODIxLDcgQEAKIAkJCQk3QTNBQ0Ux
QjFFRUVGNzlCMDBBODY0QTQgLyogQVBJSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3QThBOUQ1QzFFRjE0NTk4MDA5ODAxQUUgLyogQVBJSW5qZWN0
ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzY5
MDc5QTE4RjMxQ0IyMDAxREZGMDQgLyogQVBJSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCTMxQjM2MjhGMjE0MUVBNUQwMDdCRkE1MyAvKiBBUElJbnRlcm5h
bERlYnVnRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NFNEQyMDcxQTQ2Nzc2MTAwQzdG
MTUyIC8qIEFQSUxlZ2FjeUNvbnRleHRIaXN0b3J5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQTI0NjRGMzE4OTFFNDUxMDAyMzRDNUIgLyogQVBJTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3Q0QzQTQ4MzFBNUQwMkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0xMDk0Myw2ICsxMDk2Miw3IEBACiAJCQkJMkQ5MkE3OEQyMTJCNkFC
MTAwRjQ5M0ZEIC8qIFdlYlBsYXRmb3JtVG91Y2hQb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRDkxMzQ0RTIxMkNGOUYwMDAxMjhBRkQgLyogV2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDRUIwMEREMUZBNjlBQkUwMDY1NDczQiAvKiBXZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbEZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxQjM2Mjk5
MjE0MUY2RTgwMDdCRkE1MyAvKiBXZWJQcmVmZXJlbmNlc0ludGVybmFsRGVidWdGZWF0dXJlcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0IxMDBGMTFGQTM4NThBMDAxNzI5RUUgLyogV2ViUHJl
ZmVyZW5jZXNLZXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQjEwMEY0MUZBMzg1OTIwMDE3
MjlFRSAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUEwNDNBMEExMjREMTFBOTAwRkZCRkI1IC8qIFdlYlByb2Nlc3NDb25uZWN0aW9uLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGU2MGFiZWU0MTg5ZjE0NDJhZmM1MmM1OTgwOTkzMDVhMjAxNzVlZDEuLjQy
NTdkYTY4OTIwMDZlZTM2ODdlZTgwNDg3MDEwNDM1M2JhNjk4YmYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEgKzEsMTkgQEAKKzIwMTgtMDkt
MDcgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbmQgZXhw
b3NlIEludGVybmFsIGZlYXR1cmVzIGZyb20gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0MjQzNDA0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFVwZGF0ZSBNaW5pQnJvd3NlciB0byBleHBvc2UgYW4gSW50ZXJuYWwgZmVhdHVyZSBtZW51
LgorCisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm06CisgICAgICAgIChk
ZWZhdWx0Q29uZmlndXJhdGlvbik6CisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL1NldHRpbmdz
Q29udHJvbGxlci5tOgorICAgICAgICAoLVtTZXR0aW5nc0NvbnRyb2xsZXIgX3BvcHVsYXRlTWVu
dV0pOgorICAgICAgICAoLVtTZXR0aW5nc0NvbnRyb2xsZXIgdmFsaWRhdGVNZW51SXRlbTpdKToK
KyAgICAgICAgKC1bU2V0dGluZ3NDb250cm9sbGVyIHRvZ2dsZUV4cGVyaW1lbnRhbEZlYXR1cmU6
XSk6CisgICAgICAgICgtW1NldHRpbmdzQ29udHJvbGxlciB0b2dnbGVJbnRlcm5hbERlYnVnRmVh
dHVyZTpdKToKKwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdlTG9nLTIwMTgtMDktMTEgPT0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL21hYy9BcHBEZWxlZ2F0ZS5tIGIvVG9vbHMvTWlu
aUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm0KaW5kZXggM2EzNjlhNDA5YzRiY2RhNzVhMTEzNmMx
MTIzYTA4NjNkNTc3MGVhNy4uMjU2MTdlYzRkNjZjZmFiNDRlYzlhM2FjMDdlMTFhYzQwM2Y2OGNj
MSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm0KKysrIGIv
VG9vbHMvTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm0KQEAgLTQwLDYgKzQwLDcgQEAKIAog
I2lmIFdLX0FQSV9FTkFCTEVECiAjaW1wb3J0IDxXZWJLaXQvX1dLRXhwZXJpbWVudGFsRmVhdHVy
ZS5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0ludGVybmFsRGVidWdGZWF0dXJlLmg+CiAjZW5kaWYK
IAogZW51bSB7CkBAIC0xMDYsMTAgKzEwNywxNiBAQCAtICh2b2lkKWF3YWtlRnJvbU5pYgogICAg
ICAgICBjb25maWd1cmF0aW9uLnByb2Nlc3NQb29sID0gW1tbV0tQcm9jZXNzUG9vbCBhbGxvY10g
X2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzQ29uZmlndXJhdGlvbl0gYXV0b3JlbGVhc2Vd
OwogCiAjaWYgV0tfQVBJX0VOQUJMRUQKLSAgICAgICAgTlNBcnJheTxfV0tFeHBlcmltZW50YWxG
ZWF0dXJlICo+ICpmZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJl
c107Ci0gICAgICAgIGZvciAoX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqZmVhdHVyZSBpbiBmZWF0
dXJlcykgeworICAgICAgICBOU0FycmF5PF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4gKmV4cGVy
aW1lbnRhbEZlYXR1cmVzID0gW1dLUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXTsK
KyAgICAgICAgZm9yIChfV0tFeHBlcmltZW50YWxGZWF0dXJlICpmZWF0dXJlIGluIGV4cGVyaW1l
bnRhbEZlYXR1cmVzKSB7CiAgICAgICAgICAgICBCT09MIGVuYWJsZWQgPSBbW05TVXNlckRlZmF1
bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OmZlYXR1cmUua2V5XTsKLSAgICAg
ICAgICAgIFtjb25maWd1cmF0aW9uLnByZWZlcmVuY2VzIF9zZXRFbmFibGVkOmVuYWJsZWQgZm9y
RmVhdHVyZTpmZWF0dXJlXTsKKyAgICAgICAgICAgIFtjb25maWd1cmF0aW9uLnByZWZlcmVuY2Vz
IF9zZXRFbmFibGVkOmVuYWJsZWQgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTpmZWF0dXJlXTsKKyAg
ICAgICAgfQorCisgICAgICAgIE5TQXJyYXk8X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKj4gKmlu
dGVybmFsRGVidWdGZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVy
ZXNdOworICAgICAgICBmb3IgKF9XS0ludGVybmFsRGVidWdGZWF0dXJlICpmZWF0dXJlIGluIGlu
dGVybmFsRGVidWdGZWF0dXJlcykgeworICAgICAgICAgICAgQk9PTCBlbmFibGVkID0gW1tOU1Vz
ZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpmZWF0dXJlLmtleV07
CisgICAgICAgICAgICBbY29uZmlndXJhdGlvbi5wcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDplbmFi
bGVkIGZvckludGVybmFsRGVidWdGZWF0dXJlOmZlYXR1cmVdOwogICAgICAgICB9CiAjZW5kaWYK
ICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvU2V0dGluZ3NDb250cm9s
bGVyLm0gYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvU2V0dGluZ3NDb250cm9sbGVyLm0KaW5kZXgg
NzA0MTcwZGZhNmYyNDRkYWM0MTlmZGNkMjhhZGRhZjA3Y2YwOWFhYi4uMjRhMzdkZTkwODUyODkw
YTJmYWJlM2Y5YTk1OWQ5ZDQ1YjhjNTg2MCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIv
bWFjL1NldHRpbmdzQ29udHJvbGxlci5tCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9TZXR0
aW5nc0NvbnRyb2xsZXIubQpAQCAtMzIsNiArMzIsNyBAQAogCiAjaWYgV0tfQVBJX0VOQUJMRUQK
ICNpbXBvcnQgPFdlYktpdC9fV0tFeHBlcmltZW50YWxGZWF0dXJlLmg+CisjaW1wb3J0IDxXZWJL
aXQvX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaD4KICNlbmRpZgogCiBzdGF0aWMgTlNTdHJpbmcg
KiBjb25zdCBkZWZhdWx0VVJMID0gQCJodHRwOi8vd3d3LndlYmtpdC5vcmcvIjsKQEAgLTgxLDYg
KzgyLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgRGVidWdPdmVyeWxheU1lbnVJdGVt
VGFnKSB7CiAgICAgV2hlZWxFdmVudEhhbmRsZXJSZWdpb25PdmVybGF5VGFnLAogI2lmIFdLX0FQ
SV9FTkFCTEVECiAgICAgRXhwZXJpbWVudGFsRmVhdHVyZVRhZywKKyAgICBJbnRlcm5hbERlYnVn
RmVhdHVyZVRhZywKICNlbmRpZgogfTsKIApAQCAtMjEyLDkgKzIxNCw5IEBAIC0gKHZvaWQpX3Bv
cHVsYXRlTWVudQogICAgIE5TTWVudSAqZXhwZXJpbWVudGFsRmVhdHVyZXNNZW51ID0gW1tOU01l
bnUgYWxsb2NdIGluaXRXaXRoVGl0bGU6QCJFeHBlcmltZW50YWwgRmVhdHVyZXMiXTsKICAgICBb
ZXhwZXJpbWVudGFsRmVhdHVyZXNTdWJtZW51SXRlbSBzZXRTdWJtZW51OmV4cGVyaW1lbnRhbEZl
YXR1cmVzTWVudV07CiAKLSAgICBOU0FycmF5PF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4gKmZl
YXR1cmVzID0gW1dLUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXTsKKyAgICBOU0Fy
cmF5PF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKj4gKmV4cGVyaW1lbnRhbEZlYXR1cmVzID0gW1dL
UHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXTsKIAotICAgIGZvciAoX1dLRXhwZXJp
bWVudGFsRmVhdHVyZSAqZmVhdHVyZSBpbiBmZWF0dXJlcykgeworICAgIGZvciAoX1dLRXhwZXJp
bWVudGFsRmVhdHVyZSAqZmVhdHVyZSBpbiBleHBlcmltZW50YWxGZWF0dXJlcykgewogICAgICAg
ICBOU01lbnVJdGVtICppdGVtID0gW1tOU01lbnVJdGVtIGFsbG9jXSBpbml0V2l0aFRpdGxlOmZl
YXR1cmUubmFtZSBhY3Rpb246QHNlbGVjdG9yKHRvZ2dsZUV4cGVyaW1lbnRhbEZlYXR1cmU6KSBr
ZXlFcXVpdmFsZW50OkAiIl07CiAgICAgICAgIGl0ZW0udG9vbFRpcCA9IGZlYXR1cmUuZGV0YWls
czsKICAgICAgICAgaXRlbS5yZXByZXNlbnRlZE9iamVjdCA9IGZlYXR1cmU7CkBAIC0yMjcsNiAr
MjI5LDI2IEBAIC0gKHZvaWQpX3BvcHVsYXRlTWVudQogICAgIFtfbWVudSBhZGRJdGVtOmV4cGVy
aW1lbnRhbEZlYXR1cmVzU3VibWVudUl0ZW1dOwogICAgIFtleHBlcmltZW50YWxGZWF0dXJlc1N1
Ym1lbnVJdGVtIHJlbGVhc2VdOwogICAgIFtleHBlcmltZW50YWxGZWF0dXJlc01lbnUgcmVsZWFz
ZV07CisKKyAgICBOU01lbnVJdGVtICppbnRlcm5hbERlYnVnRmVhdHVyZXNTdWJtZW51SXRlbSA9
IFtbTlNNZW51SXRlbSBhbGxvY10gaW5pdFdpdGhUaXRsZTpAIkludGVybmFsIEZlYXR1cmVzIiBh
Y3Rpb246bmlsIGtleUVxdWl2YWxlbnQ6QCIiXTsKKyAgICBOU01lbnUgKmludGVybmFsRGVidWdG
ZWF0dXJlc01lbnUgPSBbW05TTWVudSBhbGxvY10gaW5pdFdpdGhUaXRsZTpAIkludGVybmFsIEZl
YXR1cmVzIl07CisgICAgW2ludGVybmFsRGVidWdGZWF0dXJlc1N1Ym1lbnVJdGVtIHNldFN1Ym1l
bnU6aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzTWVudV07CisKKyAgICBOU0FycmF5PF9XS0ludGVybmFs
RGVidWdGZWF0dXJlICo+ICppbnRlcm5hbERlYnVnRmVhdHVyZXMgPSBbV0tQcmVmZXJlbmNlcyBf
aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzXTsKKworICAgIGZvciAoX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1
cmUgKmZlYXR1cmUgaW4gaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKSB7CisgICAgICAgIE5TTWVudUl0
ZW0gKml0ZW0gPSBbW05TTWVudUl0ZW0gYWxsb2NdIGluaXRXaXRoVGl0bGU6ZmVhdHVyZS5uYW1l
IGFjdGlvbjpAc2VsZWN0b3IodG9nZ2xlSW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6KSBrZXlFcXVpdmFs
ZW50OkAiIl07CisgICAgICAgIGl0ZW0udG9vbFRpcCA9IGZlYXR1cmUuZGV0YWlsczsKKyAgICAg
ICAgaXRlbS5yZXByZXNlbnRlZE9iamVjdCA9IGZlYXR1cmU7CisKKyAgICAgICAgW2l0ZW0gc2V0
VGFnOkludGVybmFsRGVidWdGZWF0dXJlVGFnXTsKKyAgICAgICAgW2l0ZW0gc2V0VGFyZ2V0OnNl
bGZdOworICAgICAgICBbaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzTWVudSBhZGRJdGVtOltpdGVtIGF1
dG9yZWxlYXNlXV07CisgICAgfQorCisgICAgW19tZW51IGFkZEl0ZW06aW50ZXJuYWxEZWJ1Z0Zl
YXR1cmVzU3VibWVudUl0ZW1dOworICAgIFtpbnRlcm5hbERlYnVnRmVhdHVyZXNTdWJtZW51SXRl
bSByZWxlYXNlXTsKKyAgICBbaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzTWVudSByZWxlYXNlXTsKICNl
bmRpZiAvLyBXS19BUElfRU5BQkxFRAogCiAgICAgW3NlbGYgX2FkZEhlYWRlcldpdGhUaXRsZTpA
IldlYktpdDEtb25seSBTZXR0aW5ncyJdOwpAQCAtMzAxLDcgKzMyMywxMSBAQCAtIChCT09MKXZh
bGlkYXRlTWVudUl0ZW06KE5TTWVudUl0ZW0gKiltZW51SXRlbQogI2lmIFdLX0FQSV9FTkFCTEVE
CiAgICAgaWYgKG1lbnVJdGVtLnRhZyA9PSBFeHBlcmltZW50YWxGZWF0dXJlVGFnKSB7CiAgICAg
ICAgIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKmZlYXR1cmUgPSBtZW51SXRlbS5yZXByZXNlbnRl
ZE9iamVjdDsKLSAgICAgICAgW21lbnVJdGVtIHNldFN0YXRlOltkZWZhdWx0UHJlZmVyZW5jZXMo
KSBfaXNFbmFibGVkRm9yRmVhdHVyZTpmZWF0dXJlXSA/IE5TQ29udHJvbFN0YXRlVmFsdWVPbiA6
IE5TQ29udHJvbFN0YXRlVmFsdWVPZmZdOworICAgICAgICBbbWVudUl0ZW0gc2V0U3RhdGU6W2Rl
ZmF1bHRQcmVmZXJlbmNlcygpIF9pc0VuYWJsZWRGb3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1
cmVdID8gTlNDb250cm9sU3RhdGVWYWx1ZU9uIDogTlNDb250cm9sU3RhdGVWYWx1ZU9mZl07Cisg
ICAgfQorICAgIGlmIChtZW51SXRlbS50YWcgPT0gSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVUYWcpIHsK
KyAgICAgICAgX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKmZlYXR1cmUgPSBtZW51SXRlbS5yZXBy
ZXNlbnRlZE9iamVjdDsKKyAgICAgICAgW21lbnVJdGVtIHNldFN0YXRlOltkZWZhdWx0UHJlZmVy
ZW5jZXMoKSBfaXNFbmFibGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV0gPyBOU0Nv
bnRyb2xTdGF0ZVZhbHVlT24gOiBOU0NvbnRyb2xTdGF0ZVZhbHVlT2ZmXTsKICAgICB9CiAjZW5k
aWYKIApAQCAtNjU0LDggKzY4MCwxOSBAQCAtICh2b2lkKXRvZ2dsZUV4cGVyaW1lbnRhbEZlYXR1
cmU6KGlkKXNlbmRlcgogICAgIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKmZlYXR1cmUgPSAoKE5T
TWVudUl0ZW0gKilzZW5kZXIpLnJlcHJlc2VudGVkT2JqZWN0OwogICAgIFdLUHJlZmVyZW5jZXMg
KnByZWZlcmVuY2VzID0gZGVmYXVsdFByZWZlcmVuY2VzKCk7CiAKLSAgICBCT09MIGN1cnJlbnRs
eUVuYWJsZWQgPSBbcHJlZmVyZW5jZXMgX2lzRW5hYmxlZEZvckZlYXR1cmU6ZmVhdHVyZV07Ci0g
ICAgW3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOiFjdXJyZW50bHlFbmFibGVkIGZvckZlYXR1cmU6
ZmVhdHVyZV07CisgICAgQk9PTCBjdXJyZW50bHlFbmFibGVkID0gW3ByZWZlcmVuY2VzIF9pc0Vu
YWJsZWRGb3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1cmVdOworICAgIFtwcmVmZXJlbmNlcyBf
c2V0RW5hYmxlZDohY3VycmVudGx5RW5hYmxlZCBmb3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1
cmVdOworCisgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9v
bDohY3VycmVudGx5RW5hYmxlZCBmb3JLZXk6ZmVhdHVyZS5rZXldOworfQorCistICh2b2lkKXRv
Z2dsZUludGVybmFsRGVidWdGZWF0dXJlOihpZClzZW5kZXIKK3sKKyAgICBfV0tJbnRlcm5hbERl
YnVnRmVhdHVyZSAqZmVhdHVyZSA9ICgoTlNNZW51SXRlbSAqKXNlbmRlcikucmVwcmVzZW50ZWRP
YmplY3Q7CisgICAgV0tQcmVmZXJlbmNlcyAqcHJlZmVyZW5jZXMgPSBkZWZhdWx0UHJlZmVyZW5j
ZXMoKTsKKworICAgIEJPT0wgY3VycmVudGx5RW5hYmxlZCA9IFtwcmVmZXJlbmNlcyBfaXNFbmFi
bGVkRm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV07CisgICAgW3ByZWZlcmVuY2VzIF9z
ZXRFbmFibGVkOiFjdXJyZW50bHlFbmFibGVkIGZvckludGVybmFsRGVidWdGZWF0dXJlOmZlYXR1
cmVdOwogCiAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9v
bDohY3VycmVudGx5RW5hYmxlZCBmb3JLZXk6ZmVhdHVyZS5rZXldOwogfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGEyMmEz
NTE5OWM0YmVmNDZlOTg2NzhmNGI2ZjM5MTkyMGU3YThhZWIuLjUyMGEyZGRlMjY0NTdlYzdmY2Q0
NmEwNDlhYmVkMDgyYzA4YWVjNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0wOS0wNyAg
RGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFuZCBleHBvc2Ug
SW50ZXJuYWwgZmVhdHVyZXMgZnJvbSBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTQ0MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQy
NDM0MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U2tpcCBzb21lIHRlc3RzIHRoYXQgcmVseSBvbiBhbiBleHBlcmltZW50YWwgZmVhdHVyZSB0aGF0
IGhhcworICAgICAgICBtb3ZlZCB0byBpbnRlcm5hbC4gQSBmb2xsb3ctdXAgcGF0Y2ggd2lsbCBh
bGxvdyBXS1RSIHRvIGVuYWJsZQorICAgICAgICB0aGVtIG9uIGRlbWFuZC4KKworICAgICAgICAq
IHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE4LTA5LTExICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggdW5kZXIgUGxh
dGZvcm1Qb3B1cE1lbnVEYXRhOjplbmNvZGUgd2hlbiBpbnRlcmFjdGluZyB3aXRoIGEgc2VsZWN0
IG1lbnUgdGhhdCBoYXMgdmFyaWFibGUgZm9udHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggYjRkOWZjNGFhMWFkMzlmOGVmZDFmYjFhNmNjNDQ5YWUzOGVm
MWM0NC4uYzRiYjE2MGQzNzVhMjkxNzY2NGFkZTljYmUzNzg5N2IwMjcyN2Y4YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NjUsMyArMTc2NSw2IEBA
IHdlYmtpdC5vcmcvYi8xODczOTMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy8yZGNv
bnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlCiBbIE1vamF2ZSsgXSBmYXN0L2dyYWRpZW50cy9jb25p
Yy1leHRlbmRlZC1zdG9wcy5odG1sIFsgUGFzcyBdCiBbIE1vamF2ZSsgXSBmYXN0L2dyYWRpZW50
cy9jb25pYy1mcm9tLWFuZ2xlLmh0bWwgWyBQYXNzIF0KIAorIyBNYXJrIHRoZXNlIGFzIGZhaWxp
bmcgd2hpbGUgSW50ZXJuYWwgRGVidWcgRmVhdHVyZXMgZGVmYXVsdCB0byBvZmYgaW4gV0tUUgor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Ut
Y2hhbmdldHlwZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNoYW5nZXR5cGUtcGxheS5odG1sIFsg
UGFzcyBGYWlsdXJlIF0K
</data>
<flag name="review"
          id="367040"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>