<?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>163801</bug_id>
          
          <creation_ts>2016-10-21 10:32:51 -0700</creation_ts>
          <short_desc>Add runtime flag to enable pointer lock. Enable pointer lock feature for mac.</short_desc>
          <delta_ts>2016-11-18 15:33:23 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Jones">jeremyj-wk</reporter>
          <assigned_to name="Jeremy Jones">jeremyj-wk</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jonlee</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mitz</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1242968</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-10-21 10:32:51 -0700</bug_when>
    <thetext>Add runtime flag to enable pointer lock. Enable pointer lock feature for mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243044</commentid>
    <comment_count>1</comment_count>
      <attachid>292383</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-10-21 12:25:45 -0700</bug_when>
    <thetext>Created attachment 292383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243049</commentid>
    <comment_count>2</comment_count>
      <attachid>292384</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-10-21 12:41:33 -0700</bug_when>
    <thetext>Created attachment 292384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243058</commentid>
    <comment_count>3</comment_count>
      <attachid>292388</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-10-21 13:06:22 -0700</bug_when>
    <thetext>Created attachment 292388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243088</commentid>
    <comment_count>4</comment_count>
      <attachid>292388</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-10-21 14:21:23 -0700</bug_when>
    <thetext>Comment on attachment 292388
Patch

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

&gt; Source/WebKit/mac/WebView/WebPreferences.mm:565
&gt; +#if ENABLE(POINTER_LOCK)

You&apos;re only registering the default if ENABLE(POINTER_LOCK), but have the getters and setters always? That seems odd. Maybe just register the default always?

&gt; Source/WebKit2/UIProcess/API/C/WKPagePrivate.h:126
&gt; +WK_EXPORT void WKPageDidAllowPointerLock(WKPageRef page);
&gt; +WK_EXPORT void WKPageDidDenyPointerLock(WKPageRef page);

It seems alarming that there is no way to associate the pointer lock request with the response through this SPI. Perhaps you want something like WKFramePolicyListener (an object that gets handed into the callback and has functions you can call on it to allow/deny)? But then it seems like the lower levels also have no request/response association... which seems similarly concerning.

&gt; Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h:288
&gt; +WK_EXPORT void WKPreferencesSetPointerLockEnabled(WKPreferencesRef preferencesRef, bool enabled);

No Modern API support?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243091</commentid>
    <comment_count>5</comment_count>
      <attachid>292388</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-10-21 14:22:14 -0700</bug_when>
    <thetext>Comment on attachment 292388
Patch

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

&gt; Source/WTF/ChangeLog:3
&gt; +        Add runtime flag to enable pointer lock. Enable pointer lock feature for mac.

Technically this just enables the compile time flag, and leaves the runtime flag off by default, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243103</commentid>
    <comment_count>6</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-10-21 14:34:30 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 292388 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=292388&amp;action=review
&gt; 
&gt; &gt; Source/WTF/ChangeLog:3
&gt; &gt; +        Add runtime flag to enable pointer lock. Enable pointer lock feature for mac.
&gt; 
&gt; Technically this just enables the compile time flag, and leaves the runtime
&gt; flag off by default, right?

Yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243112</commentid>
    <comment_count>7</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-10-21 14:45:53 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 292388 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=292388&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebPreferences.mm:565
&gt; &gt; +#if ENABLE(POINTER_LOCK)
&gt; 
&gt; You&apos;re only registering the default if ENABLE(POINTER_LOCK), but have the
&gt; getters and setters always? That seems odd. Maybe just register the default
&gt; always?

Done.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/WKPagePrivate.h:126
&gt; &gt; +WK_EXPORT void WKPageDidAllowPointerLock(WKPageRef page);
&gt; &gt; +WK_EXPORT void WKPageDidDenyPointerLock(WKPageRef page);
&gt; 
&gt; It seems alarming that there is no way to associate the pointer lock request
&gt; with the response through this SPI. Perhaps you want something like
&gt; WKFramePolicyListener (an object that gets handed into the callback and has
&gt; functions you can call on it to allow/deny)? But then it seems like the
&gt; lower levels also have no request/response association... which seems
&gt; similarly concerning.

Pointer lock approval is for the page, not for specific elements and is disallowed for iframes. While a page has pointer lock, if another element on the page requests pointer lock, it immediately receives it.

So long as requests and approvals go to the same page, I don&apos;t think it is necessary to pair individual request.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h:288
&gt; &gt; +WK_EXPORT void WKPreferencesSetPointerLockEnabled(WKPreferencesRef preferencesRef, bool enabled);
&gt; 
&gt; No Modern API support?

I&apos;m doing my best to follow the patterns of other properties. I&apos;m sure I&apos;ve missed something. Where can I look for how to add Modern API support?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243113</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-10-21 14:54:03 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #4)
&gt; &gt; Comment on attachment 292388 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=292388&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/mac/WebView/WebPreferences.mm:565
&gt; &gt; &gt; +#if ENABLE(POINTER_LOCK)
&gt; &gt; 
&gt; &gt; You&apos;re only registering the default if ENABLE(POINTER_LOCK), but have the
&gt; &gt; getters and setters always? That seems odd. Maybe just register the default
&gt; &gt; always?
&gt; 
&gt; Done.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/C/WKPagePrivate.h:126
&gt; &gt; &gt; +WK_EXPORT void WKPageDidAllowPointerLock(WKPageRef page);
&gt; &gt; &gt; +WK_EXPORT void WKPageDidDenyPointerLock(WKPageRef page);
&gt; &gt; 
&gt; &gt; It seems alarming that there is no way to associate the pointer lock request
&gt; &gt; with the response through this SPI. Perhaps you want something like
&gt; &gt; WKFramePolicyListener (an object that gets handed into the callback and has
&gt; &gt; functions you can call on it to allow/deny)? But then it seems like the
&gt; &gt; lower levels also have no request/response association... which seems
&gt; &gt; similarly concerning.
&gt; 
&gt; Pointer lock approval is for the page, not for specific elements and is
&gt; disallowed for iframes. While a page has pointer lock, if another element on
&gt; the page requests pointer lock, it immediately receives it.
&gt; 
&gt; So long as requests and approvals go to the same page, I don&apos;t think it is
&gt; necessary to pair individual request.

What about navigation?

Site 1 requests pointer lock, we pop an alert and ask the user. The user says yes.
While the round trip happens, a navigation occurs, site 2 requests pointer lock, round trip completes, UI process gets an &quot;accept&quot;, gives site 2 pointer lock.

&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h:288
&gt; &gt; &gt; +WK_EXPORT void WKPreferencesSetPointerLockEnabled(WKPreferencesRef preferencesRef, bool enabled);
&gt; &gt; 
&gt; &gt; No Modern API support?
&gt; 
&gt; I&apos;m doing my best to follow the patterns of other properties. I&apos;m sure I&apos;ve
&gt; missed something. Where can I look for how to add Modern API support?

The Objective C API: WKPreferences (not -Ref) (if you expect it to need to be toggleable) or WKWebViewConfiguration (if you expect it to be fixed for the lifetime of a view, which seems fairly likely).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243394</commentid>
    <comment_count>9</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-10-22 11:28:09 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; Comment on attachment 292388 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=292388&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit/mac/WebView/WebPreferences.mm:565
&gt; &gt; &gt; &gt; +#if ENABLE(POINTER_LOCK)
&gt; &gt; &gt; 
&gt; &gt; &gt; You&apos;re only registering the default if ENABLE(POINTER_LOCK), but have the
&gt; &gt; &gt; getters and setters always? That seems odd. Maybe just register the default
&gt; &gt; &gt; always?
&gt; &gt; 
&gt; &gt; Done.
&gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit2/UIProcess/API/C/WKPagePrivate.h:126
&gt; &gt; &gt; &gt; +WK_EXPORT void WKPageDidAllowPointerLock(WKPageRef page);
&gt; &gt; &gt; &gt; +WK_EXPORT void WKPageDidDenyPointerLock(WKPageRef page);
&gt; &gt; &gt; 
&gt; &gt; &gt; It seems alarming that there is no way to associate the pointer lock request
&gt; &gt; &gt; with the response through this SPI. Perhaps you want something like
&gt; &gt; &gt; WKFramePolicyListener (an object that gets handed into the callback and has
&gt; &gt; &gt; functions you can call on it to allow/deny)? But then it seems like the
&gt; &gt; &gt; lower levels also have no request/response association... which seems
&gt; &gt; &gt; similarly concerning.
&gt; &gt; 
&gt; &gt; Pointer lock approval is for the page, not for specific elements and is
&gt; &gt; disallowed for iframes. While a page has pointer lock, if another element on
&gt; &gt; the page requests pointer lock, it immediately receives it.
&gt; &gt; 
&gt; &gt; So long as requests and approvals go to the same page, I don&apos;t think it is
&gt; &gt; necessary to pair individual request.
&gt; 
&gt; What about navigation?
&gt; 
&gt; Site 1 requests pointer lock, we pop an alert and ask the user. The user
&gt; says yes.
&gt; While the round trip happens, a navigation occurs, site 2 requests pointer
&gt; lock, round trip completes, UI process gets an &quot;accept&quot;, gives site 2
&gt; pointer lock.

Good point. Since that is a larger change. I&apos;ll address that in a follow up patch.
https://bugs.webkit.org/show_bug.cgi?id=163852

&gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h:288
&gt; &gt; &gt; &gt; +WK_EXPORT void WKPreferencesSetPointerLockEnabled(WKPreferencesRef preferencesRef, bool enabled);
&gt; &gt; &gt; 
&gt; &gt; &gt; No Modern API support?
&gt; &gt; 
&gt; &gt; I&apos;m doing my best to follow the patterns of other properties. I&apos;m sure I&apos;ve
&gt; &gt; missed something. Where can I look for how to add Modern API support?
&gt; 
&gt; The Objective C API: WKPreferences (not -Ref) (if you expect it to need to
&gt; be toggleable) or WKWebViewConfiguration (if you expect it to be fixed for
&gt; the lifetime of a view, which seems fairly likely).

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243396</commentid>
    <comment_count>10</comment_count>
      <attachid>292503</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-10-22 11:45:41 -0700</bug_when>
    <thetext>Created attachment 292503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245375</commentid>
    <comment_count>11</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2016-10-27 17:50:28 -0700</bug_when>
    <thetext>rdar://problem/28550973</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247257</commentid>
    <comment_count>12</comment_count>
      <attachid>292503</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2016-11-02 01:09:23 -0700</bug_when>
    <thetext>Comment on attachment 292503
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h:197
&gt; +@property (nonatomic) BOOL allowsPointerLock WK_API_AVAILABLE(macosx(10.12));

This is wrong. This feature doesn&apos;t need to be exposed as API at all. Look at RuntimeEnabledFeatures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248782</commentid>
    <comment_count>13</comment_count>
      <attachid>294068</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-07 10:34:04 -0800</bug_when>
    <thetext>Created attachment 294068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248788</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-07 11:08:32 -0800</bug_when>
    <thetext>Pointer Lock needs to be added to features.json.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248834</commentid>
    <comment_count>15</comment_count>
      <attachid>294068</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2016-11-07 14:05:19 -0800</bug_when>
    <thetext>Comment on attachment 294068
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:6704
&gt; +        CGAssociateMouseAndMouseCursorPosition(true);

It doesn&apos;t seem right that we&apos;re making CG-based calls in this class. I could see this 1) be handled in a separate Manager class, 2) pushed to the UIClient, or 3) at least surrounded with #if PLATFORM(MAC) like it currently is in WK1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250166</commentid>
    <comment_count>16</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-10 22:17:07 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Pointer Lock needs to be added to features.json.

Added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250167</commentid>
    <comment_count>17</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-10 22:18:57 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #14)
&gt; &gt; Pointer Lock needs to be added to features.json.
&gt; 
&gt; Added.

(In reply to comment #15)
&gt; Comment on attachment 294068 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=294068&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:6704
&gt; &gt; +        CGAssociateMouseAndMouseCursorPosition(true);
&gt; 
&gt; It doesn&apos;t seem right that we&apos;re making CG-based calls in this class. I
&gt; could see this 1) be handled in a separate Manager class, 2) pushed to the
&gt; UIClient, or 3) at least surrounded with #if PLATFORM(MAC) like it currently
&gt; is in WK1.

Good point. I&apos;ll add #if PLATFORM(MAC) for this patch an file a follow up that moves both the WK1 and WK2 CG calls into a manager class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250173</commentid>
    <comment_count>18</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-10 22:30:20 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (In reply to comment #14)
&gt; &gt; &gt; Pointer Lock needs to be added to features.json.
&gt; &gt; 
&gt; &gt; Added.
&gt; 
&gt; (In reply to comment #15)
&gt; &gt; Comment on attachment 294068 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=294068&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:6704
&gt; &gt; &gt; +        CGAssociateMouseAndMouseCursorPosition(true);
&gt; &gt; 
&gt; &gt; It doesn&apos;t seem right that we&apos;re making CG-based calls in this class. I
&gt; &gt; could see this 1) be handled in a separate Manager class, 2) pushed to the
&gt; &gt; UIClient, or 3) at least surrounded with #if PLATFORM(MAC) like it currently
&gt; &gt; is in WK1.
&gt; 
&gt; Good point. I&apos;ll add #if PLATFORM(MAC) for this patch an file a follow up
&gt; that moves both the WK1 and WK2 CG calls into a manager class.

https://bugs.webkit.org/show_bug.cgi?id=164634</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250175</commentid>
    <comment_count>19</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-10 22:31:56 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Comment on attachment 292503 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=292503&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h:197
&gt; &gt; +@property (nonatomic) BOOL allowsPointerLock WK_API_AVAILABLE(macosx(10.12));
&gt; 
&gt; This is wrong. This feature doesn&apos;t need to be exposed as API at all. Look
&gt; at RuntimeEnabledFeatures.

Remove this and changed to be a RuntimeEnabledFeature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250178</commentid>
    <comment_count>20</comment_count>
      <attachid>294476</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-10 22:51:42 -0800</bug_when>
    <thetext>Created attachment 294476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250238</commentid>
    <comment_count>21</comment_count>
      <attachid>294476</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-11 08:13:12 -0800</bug_when>
    <thetext>Comment on attachment 294476
Patch

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

&gt; Source/WTF/wtf/FeatureDefines.h:641
&gt; -#define ENABLE_POINTER_LOCK 0
&gt; +#define ENABLE_POINTER_LOCK 1

This would normally be done in all the FeatureDefines.xcconfig files.

&gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h:191
&gt; +#if ENABLE(POINTER_LOCK)
&gt; +    void setPointerLockEnabled(bool isEnabled) { m_isPointerLockEnabled = isEnabled; }
&gt; +    bool pointerLockEnabled() const { return m_isPointerLockEnabled; }
&gt; +#endif

We&apos;re trying to move away from RuntimeEnabledFeatures (it&apos;s a confusing set of global flags with inconsistent initialization, and the flags often alias Settings). If you can, I would prefer removing this and using a Setting, which it seems you are adding too.

&gt; Source/WebCore/features.json:283
&gt; +            &quot;name&quot;: &quot;Jeremy Jones&quot;,
&gt; +            &quot;email&quot;: &quot;jeremyj@apple.com&quot;

You don&apos;t have to put a contact here if you don&apos;t want to. You should, however, make sure there&apos;s a bugzilla tracking bug and add the appropriate property.

&gt; Source/WebCore/page/PointerLockController.cpp:59
&gt; +    if (!RuntimeEnabledFeatures::sharedFeatures().pointerLockEnabled()) {
&gt; +        enqueueEvent(eventNames().pointerlockerrorEvent, target);
&gt; +        return;

This is wrong. If the feature is disabled, you should behave as if it&apos;s unimplemented, so never fire any pointer lock-related events.

&gt; Source/WebKit/mac/WebView/WebView.mm:2534
&gt; +    RuntimeEnabledFeatures::sharedFeatures().setPointerLockEnabled([preferences pointerLockEnabled]);

This would set the setting.

&gt; Source/WebKit2/UIProcess/API/C/WKPagePrivate.h:133
&gt; +WK_EXPORT void WKPageDidAllowPointerLock(WKPageRef page);
&gt; +WK_EXPORT void WKPageDidDenyPointerLock(WKPageRef page);

Do we have to add C API at all?

&gt; Source/WebKit2/UIProcess/API/C/WKPageUIClient.h:642
&gt; +typedef struct WKPageUIClientV8 {

Ugh. Please talk to Sam about this.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3195
&gt; +    RuntimeEnabledFeatures::sharedFeatures().setPointerLockEnabled(store.getBoolValueForKey(WebPreferencesKey::pointerLockEnabledKey()));

This should set a setting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250425</commentid>
    <comment_count>22</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-11 14:44:42 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; Comment on attachment 294476 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=294476&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/FeatureDefines.h:641
&gt; &gt; -#define ENABLE_POINTER_LOCK 0
&gt; &gt; +#define ENABLE_POINTER_LOCK 1
&gt; 
&gt; This would normally be done in all the FeatureDefines.xcconfig files.

Done.

&gt; 
&gt; &gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h:191
&gt; &gt; +#if ENABLE(POINTER_LOCK)
&gt; &gt; +    void setPointerLockEnabled(bool isEnabled) { m_isPointerLockEnabled = isEnabled; }
&gt; &gt; +    bool pointerLockEnabled() const { return m_isPointerLockEnabled; }
&gt; &gt; +#endif
&gt; 
&gt; We&apos;re trying to move away from RuntimeEnabledFeatures (it&apos;s a confusing set
&gt; of global flags with inconsistent initialization, and the flags often alias
&gt; Settings). If you can, I would prefer removing this and using a Setting,
&gt; which it seems you are adding too.

Will that still allow the feature to be enabled at runtime while the feature is in development?

&gt; 
&gt; &gt; Source/WebCore/features.json:283
&gt; &gt; +            &quot;name&quot;: &quot;Jeremy Jones&quot;,
&gt; &gt; +            &quot;email&quot;: &quot;jeremyj@apple.com&quot;
&gt; 
&gt; You don&apos;t have to put a contact here if you don&apos;t want to. You should,
&gt; however, make sure there&apos;s a bugzilla tracking bug and add the appropriate
&gt; property.

Removed contact, added: https://bugs.webkit.org/show_bug.cgi?id=164652

&gt; 
&gt; &gt; Source/WebCore/page/PointerLockController.cpp:59
&gt; &gt; +    if (!RuntimeEnabledFeatures::sharedFeatures().pointerLockEnabled()) {
&gt; &gt; +        enqueueEvent(eventNames().pointerlockerrorEvent, target);
&gt; &gt; +        return;
&gt; 
&gt; This is wrong. If the feature is disabled, you should behave as if it&apos;s
&gt; unimplemented, so never fire any pointer lock-related events.

Done. Moved this to the top of the function; it no longer enqueues an event. I added the same to requestPointerUnlock()

&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebView.mm:2534
&gt; &gt; +    RuntimeEnabledFeatures::sharedFeatures().setPointerLockEnabled([preferences pointerLockEnabled]);
&gt; 
&gt; This would set the setting.

I&apos;ll change this back to using settings.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/WKPagePrivate.h:133
&gt; &gt; +WK_EXPORT void WKPageDidAllowPointerLock(WKPageRef page);
&gt; &gt; +WK_EXPORT void WKPageDidDenyPointerLock(WKPageRef page);
&gt; 
&gt; Do we have to add C API at all?

Yes.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/WKPageUIClient.h:642
&gt; &gt; +typedef struct WKPageUIClientV8 {
&gt; 
&gt; Ugh. Please talk to Sam about this.

Will do.

&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3195
&gt; &gt; +    RuntimeEnabledFeatures::sharedFeatures().setPointerLockEnabled(store.getBoolValueForKey(WebPreferencesKey::pointerLockEnabledKey()));
&gt; 
&gt; This should set a setting.

I&apos;ll revert this back to using Setting instead of RuntimeEnabledFeatures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252735</commentid>
    <comment_count>23</comment_count>
      <attachid>295166</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-18 11:08:42 -0800</bug_when>
    <thetext>Created attachment 295166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252740</commentid>
    <comment_count>24</comment_count>
      <attachid>295167</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-18 11:21:18 -0800</bug_when>
    <thetext>Created attachment 295167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252743</commentid>
    <comment_count>25</comment_count>
      <attachid>295167</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-11-18 11:24:33 -0800</bug_when>
    <thetext>Comment on attachment 295167
Patch

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

&gt; Source/WebCore/page/PointerLockController.cpp:55
&gt; +    Settings* settings = target-&gt;document().settings();
&gt; +    if (!settings || !settings-&gt;pointerLockEnabled())
&gt; +        return;
&gt; +

Should these lines be moved after if (!target ....) since it checks for (!target) and you are using it to get the settings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252745</commentid>
    <comment_count>26</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-18 11:27:10 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; Comment on attachment 295167 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=295167&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/PointerLockController.cpp:55
&gt; &gt; +    Settings* settings = target-&gt;document().settings();
&gt; &gt; +    if (!settings || !settings-&gt;pointerLockEnabled())
&gt; &gt; +        return;
&gt; &gt; +
&gt; 
&gt; Should these lines be moved after if (!target ....) since it checks for
&gt; (!target) and you are using it to get the settings?

Good catch. I should actually be using m_page-&gt;settings().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252749</commentid>
    <comment_count>27</comment_count>
      <attachid>295169</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-18 11:43:29 -0800</bug_when>
    <thetext>Created attachment 295169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252859</commentid>
    <comment_count>28</comment_count>
      <attachid>295169</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-18 14:20:30 -0800</bug_when>
    <thetext>Comment on attachment 295169
Patch

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

&gt; Source/WTF/wtf/FeatureDefines.h:634
&gt;  #if !defined(ENABLE_POINTER_LOCK)
&gt; -#define ENABLE_POINTER_LOCK 0
&gt; +#define ENABLE_POINTER_LOCK 1
&gt;  #endif

Why is this here? For other platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252891</commentid>
    <comment_count>29</comment_count>
      <attachid>295169</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-11-18 15:19:48 -0800</bug_when>
    <thetext>Comment on attachment 295169
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:58
&gt; +- (void)_webViewRequestPointerLock:(WKWebView *)webView WK_API_AVAILABLE(macosx(10.12));

Not 10.12, should be WK_TBA.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252898</commentid>
    <comment_count>30</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2016-11-18 15:29:04 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; Comment on attachment 295169 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=295169&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:58
&gt; &gt; +- (void)_webViewRequestPointerLock:(WKWebView *)webView WK_API_AVAILABLE(macosx(10.12));
&gt; 
&gt; Not 10.12, should be WK_TBA.

Too late to stop commit queue, but I&apos;ll post a follow up patch to fix this.(In reply to comment #29)
&gt; Comment on attachment 295169 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=295169&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:58
&gt; &gt; +- (void)_webViewRequestPointerLock:(WKWebView *)webView WK_API_AVAILABLE(macosx(10.12));
&gt; 
&gt; Not 10.12, should be WK_TBA.

https://bugs.webkit.org/show_bug.cgi?id=164962</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252903</commentid>
    <comment_count>31</comment_count>
      <attachid>295169</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-18 15:33:13 -0800</bug_when>
    <thetext>Comment on attachment 295169
Patch

Clearing flags on attachment: 295169

Committed r208903: &lt;http://trac.webkit.org/changeset/208903&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252904</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-18 15:33:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292383</attachid>
            <date>2016-10-21 12:25:45 -0700</date>
            <delta_ts>2016-10-21 12:40:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163801-20161021122206.patch</filename>
            <type>text/plain</type>
            <size>27401</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc3OWFlNGNkYjlmNWJlNmJjY2E4NDA5
YTBkMjc0N2E5M2Y0NGQ3MmYuLjJlOWI1NmQ0YWM0OTMwNTQzM2MyMjdhMGY5MWU0OWM4ODA5OTBj
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMTAtMjEgIEplcmVteSBKb25lcyAgPGplcmVt
eWpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50
ZXIgbG9jay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5l
cy5oOiBFTkFCTEVfUE9JTlRFUl9MT0NLIHRydWUgZm9yIE1hYy4KKwogMjAxNi0xMC0yMCAgS2Vp
dGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgV0FTTSBjYWxscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRkODdkMjJiNTdhNGM4YzQ2M2FkMWE4NDRm
OTYyMzBhN2I1MTg0N2UuLjc5NDY2ZDYxZTFiZjU4ZjUyNmFjNTc5NmEwMDdiOGJjM2M2ZjNmZmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8
amVyZW15akBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUg
cG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIHRlc3RzIG5v
dyBwYXNzIHdpdGggRHVtcFJlbmRlclRyZWUuCisgICAgICAgIExheW91dFRlc3RzL3BvaW50ZXIt
bG9jay9sb2NrLWFscmVhZHktbG9ja2VkLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRl
ci1sb2NrL2xvY2stZWxlbWVudC1ub3QtaW4tZG9tLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMv
cG9pbnRlci1sb2NrL2xvY2tlZC1lbGVtZW50LWlmcmFtZS1yZW1vdmVkLWZyb20tZG9tLmh0bWwK
KyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL21vdXNlLWV2ZW50LWFwaS5odG1sCisK
KyAgICAgICAgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2sgbm93IHBy
b3RlY3RzIGFnYWluc3Qgc3luY2hyb25vdXMgY2FsbGJhY2sKKyAgICAgICAgdG8gYWxsb3dQb2lu
dGVyTG9jaygpLgorCisgICAgICAgIEFkZCBwb2ludGVyTG9ja0VuYWJsZWQgc2V0dGluZy4KKwor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
ZXhpdFBvaW50ZXJMb2NrKTogRml4IGV4aXN0aW5nIHR5cG8uCisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KTogRGl0dG8uCisgICAgICAgICogcGFnZS9Qb2lu
dGVyTG9ja0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckxvY2tDb250
cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2spOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46
CisKIDIwMTYtMTAtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBbV2ViIElETF0gTWVkaWFDb250cm9sc0hvc3QgaGFzIGludmFsaWQgb3BlcmF0aW9uIG92ZXJs
b2FkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDZhNmVlNGNkMjY5ZDM3NWI4MzYxOGZhYzk1OTU0MzQ4
ZTFiMGJiNDUuLjU1ZmI2NWZjNDg5OTk5ZjQ4YjZiZGUxYTRiYzM0OGUwODcyY2EyNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMyBAQAogMjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8
amVyZW15akBhcHBsZS5jb20+CiAKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUg
cG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBsdW1iIHRocm91Z2gg
UG9pbnRlckxvY2tFbmFibGVkIHNldHRpbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06
CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2Vi
UHJlZmVyZW5jZXMgcG9pbnRlckxvY2tFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIHNldFBvaW50ZXJMb2NrRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCisyMDE2LTEwLTIxICBKZXJlbXkg
Sm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBJbXBsZW1lbnQgYmFzaWMgcG9p
bnRlciBsb2NrIGJlaGF2aW9yIGZvciBXZWJLaXQgYW5kIFdlYktpdDIuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NDUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDI3N2M5ODA3ZTM1OThhMjI3ODk5NTI0NzViOWUwZDQwODhmMGE1MWEuLjVmNWU1NTdhMjI2MDg1
ZjI3Y2M1OGRkZGU0ZmMzMjQxY2RmMTAzMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzNCBAQAog
MjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CiAKKyAgICAgICAg
QWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUgcG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBs
b2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MzgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBsdW1iIHRocm91Z2ggUmVxdWVzdFBvaW50ZXJMb2NrIHRvIHRoZSBXS1Bh
Z2VVSUNsaWVudC4KKyAgICAgICAgQWRkaW5nIGEgbmV3IG1ldGhvZCByZXF1aXJlcyBhIG5ldyBX
S1BhZ2VVSUNsaWVudCB2ZXJzaW9uOiBXS1BhZ2VVSUNsaWVudFY4IAorICAgICAgICBQbHVtYiB0
aHJvdWdoIFBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAgICogU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJ
Q2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpyZXF1ZXN0UG9pbnRlckxvY2spOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0
UGFnZVVJQ2xpZW50KToKKyAgICAgICAgKFdLUGFnZURpZEFsbG93UG9pbnRlckxvY2spOgorICAg
ICAgICAoV0tQYWdlRGlkRGVueVBvaW50ZXJMb2NrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNs
aWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNTZXRQb2ludGVyTG9ja0VuYWJsZWQpOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc0dldFBvaW50ZXJMb2NrRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWYuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UG9pbnRlckxvY2sp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorCisyMDE2LTEwLTIxICBKZXJlbXkg
Sm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBJbXBsZW1lbnQgYmFzaWMgcG9p
bnRlciBsb2NrIGJlaGF2aW9yIGZvciBXZWJLaXQgYW5kIFdlYktpdDIuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NDUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVE
ZWZpbmVzLmgKaW5kZXggN2E1ODk3OTZkZDY0ZmM2MGNhZWVmNzViOGVhYWMzOTY2YzVkODc0Zi4u
NDk3N2I5ZWFhMzU2MTU4NWFmOTIzZjFkZWMxMTVhZjlhODViOWE2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJl
RGVmaW5lcy5oCkBAIC02NDIsNyArNjQyLDcgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxs
IGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNl
bmRpZgogCiAjaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5BQkxF
X1BPSU5URVJfTE9DSyAwCisjZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMQogI2VuZGlmCiAK
ICNpZiAhZGVmaW5lZChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDExMGU2NDc5MTE4ZjkxYWM0NWZkMDE0YjU4NzMwZTc0MDJkN2RmODkuLmYzOWQ4
ZDljODNmYzUzZDMzNzc5ZmQ2NjlkZDU5NGY2MmY4YTkyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNjA3OCw3ICs2MDc4LDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1
bGxTY3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50KiBkb2MpCiAKIHZvaWQgRG9jdW1lbnQ6
OmV4aXRQb2ludGVyTG9jaygpCiB7Ci0gICAgUGFnZSogcGFnZSA9IHRoaXM+cGFnZSgpOworICAg
IFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1
cm47CiAgICAgaWYgKGF1dG8qIHRhcmdldCA9IHBhZ2UtPnBvaW50ZXJMb2NrQ29udHJvbGxlcigp
LmVsZW1lbnQoKSkgewpAQCAtNjA5MCwxMCArNjA5MCwxMCBAQCB2b2lkIERvY3VtZW50OjpleGl0
UG9pbnRlckxvY2soKQogCiBFbGVtZW50KiBEb2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KCkg
Y29uc3QKIHsKLSAgICBQYWdlKiBwYWdlID0gdGhpcz5wYWdlKCk7CisgICAgUGFnZSogcGFnZSA9
IHRoaXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+cG9pbnRlckxvY2tDb250cm9s
bGVyKCkubG9ja1BlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0byog
ZWxlbWVudCA9IHBhZ2UoKS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVudCgpOworICAg
IGF1dG8qIGVsZW1lbnQgPSBwYWdlLT5wb2ludGVyTG9ja0NvbnRyb2xsZXIoKS5lbGVtZW50KCk7
CiAgICAgaWYgKCFlbGVtZW50IHx8ICZlbGVtZW50LT5kb2N1bWVudCgpICE9IHRoaXMpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBlbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCmluZGV4IDk4NjU1ZTY5OThjN2ZhYjA3
NDBmOGY5ZTAxNjc2OWQyYTc0ZDY2YzUuLmYxYjA1NDUxZGQ1OTNhNzk1MTNhOWJjMzdlZGZhMmI3
ZDI5NjlmY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxl
ci5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCiAKIApAQCAtNTEsNiArNTIsMTIg
QEAgdm9pZCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayhFbGVtZW50
KiB0YXJnZXQpCiAgICAgICAgIGVucXVldWVFdmVudChldmVudE5hbWVzKCkucG9pbnRlcmxvY2tl
cnJvckV2ZW50LCB0YXJnZXQpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIAorICAgIFNl
dHRpbmdzKiBzZXR0aW5ncyA9IHRhcmdldC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpOworICAgIGlm
ICghc2V0dGluZ3MgfHwgIXNldHRpbmdzLT5wb2ludGVyTG9ja0VuYWJsZWQoKSkgeworICAgICAg
ICBlbnF1ZXVlRXZlbnQoZXZlbnROYW1lcygpLnBvaW50ZXJsb2NrZXJyb3JFdmVudCwgdGFyZ2V0
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGlmICh0YXJnZXQtPmRvY3VtZW50KCku
aXNTYW5kYm94ZWQoU2FuZGJveFBvaW50ZXJMb2NrKSkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9u
IHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3Rz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbiBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggOGRjNGY3YzJiNWRhMTg2NzU1MjM5MGYxMTQz
NWJiY2M5ZjI5NDFkYi4uYjJlODQwNzE2MjZlMWU2NWEzZDRjYWZmZWQ2MDk2N2I2MjVjYmNiZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC0yODUsMyArMjg1LDUgQEAgcXVpY2tUaW1lUGx1
Z2luUmVwbGFjZW1lbnRFbmFibGVkIGluaXRpYWw9ZGVmYXVsdFF1aWNrVGltZVBsdWdpblJlcGxh
Y2VtZW50RW5hYmwKIHlvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCBpbml0aWFs
PWRlZmF1bHRZb3VUdWJlRmxhc2hQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQKIAogZm9yY2VkUHJl
ZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSB0eXBlPUZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFs
dWUsIGluaXRpYWw9ZGVmYXVsdEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUKKworcG9p
bnRlckxvY2tFbmFibGVkIGluaXRpYWw9ZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IGI5ZjU1N2RiNzdlMGI0
OTA4MGQ0NzcxMTBhMjAwNDI4MGUyMGVmYjYuLmNiYjI2ZGI2NTMzZDU3NWY4MWE2NTVjYmUyZGJl
MWVjNmJhZmY0OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTY4LDYgKzE2OCw3IEBACiAjZGVmaW5lIFdlYktp
dENTU0dyaWRMYXlvdXRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENTU0dyaWRMYXlvdXRF
bmFibGVkIgogI2RlZmluZSBXZWJLaXRWaXN1YWxWaWV3cG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0VmlzdWFsVmlld3BvcnRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRNb2Rlcm5NZWRp
YUNvbnRyb2xzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xz
RW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UG9pbnRlckxvY2tFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdFBvaW50ZXJMb2NrRW5hYmxlZCIKIAogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvLyBU
aGVzZSBhcmUgcHJpdmF0ZSBib3RoIGJlY2F1c2UgY2FsbGVycyBzaG91bGQgYmUgdXNpbmcgdGhl
IGNvdmVyIG1ldGhvZHMgYW5kIGJlY2F1c2UgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAwNzVkOWNhNjBhMTg5NDQyOWMyMWQyYWI2YzFlZTc4
ZDU4NmMwNWFmLi4xNjMyMzJlMWFlY2NjNWVhZGExNGIxMzg0YjBjZGE4NTM3ODRlNDM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTU2Miw2ICs1
NjIsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1RBUkdFVF9QTEFZQkFDSykKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd3NBaXJQbGF5
Rm9yTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXksCiAjZW5kaWYKKyNpZiBFTkFCTEUoUE9JTlRF
Ul9MT0NLKQorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFBv
aW50ZXJMb2NrRW5hYmxlZFByZWZlcmVuY2VLZXksCisjZW5kaWYKICAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFja1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZ
RVNdLCAgV2ViS2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZFByZWZlcmVuY2VLZXksCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0V2FudHNCYWxhbmNl
ZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvcktleSwKQEAgLTIzMzgsNiArMjM0MSwxOCBAQCBzdGF0
aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVhdG9ySUQgPSBuaWw7CiAgICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTpmbGFnIGZvcktleTpXZWJLaXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFj
a1ByZWZlcmVuY2VLZXldOwogfQogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKy0gKEJPT0wp
cG9pbnRlckxvY2tFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6
V2ViS2l0UG9pbnRlckxvY2tFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0
UG9pbnRlckxvY2tFbmFibGVkOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVl
OmZsYWcgZm9yS2V5OldlYktpdFBvaW50ZXJMb2NrRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQor
I2VuZGlmCisKIC0gKEJPT0wpbW9ja1Njcm9sbGJhcnNFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0TW9ja1Njcm9sbGJhcnNFbmFibGVkUHJlZmVyZW5j
ZUtleV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1By
aXZhdGUuaAppbmRleCAxZTgzMDU2N2RmOTZkNzIzMDg4MzYwOWNhYzkwZDJmNTZlZGNiM2ZmLi43
NzZlYzQ5YzczODU1NjRhYjAwMGI4NTRlYjc5OTEwOWY3YTM4OGNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTI3Nyw2ICsy
NzcsOSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJ
bnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0gKHZvaWQpc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1l
ZGlhUGxheWJhY2s6KEJPT0wpZmxhZzsKIC0gKEJPT0wpYWxsb3dzUGljdHVyZUluUGljdHVyZU1l
ZGlhUGxheWJhY2s7CiAKKy0gKHZvaWQpc2V0UG9pbnRlckxvY2tFbmFibGVkOihCT09MKWZsYWc7
CistIChCT09MKXBvaW50ZXJMb2NrRW5hYmxlZDsKKwogLSAoTlNTdHJpbmcgKilwaWN0b2dyYXBo
Rm9udEZhbWlseTsKIC0gKHZvaWQpc2V0UGljdG9ncmFwaEZvbnRGYW1pbHk6KE5TU3RyaW5nICop
ZmFtaWx5OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZGNiY2YzZGU3
ZTZhYWNmYTk5YWYwZmE0ODUwMGM5ZGVlM2UxMTE2Ni4uZTk3ZjM5MWUzZmU4OTYwZGIzMDYyNmVm
NWY5MTE0NmVhYjI3OWFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAt
MjM1NSw2ICsyMzU1LDEwIEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGlu
Z1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKFtw
cmVmZXJlbmNlcyBqYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkXSk7CiAgICAgc2V0dGluZ3Mu
c2V0WFNTQXVkaXRvckVuYWJsZWQoW3ByZWZlcmVuY2VzIGlzWFNTQXVkaXRvckVuYWJsZWRdKTsK
ICAgICBzZXR0aW5ncy5zZXRETlNQcmVmZXRjaGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGlzRE5T
UHJlZmV0Y2hpbmdFbmFibGVkXSk7CisKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIHNl
dHRpbmdzLnNldFBvaW50ZXJMb2NrRW5hYmxlZChbcHJlZmVyZW5jZXMgcG9pbnRlckxvY2tFbmFi
bGVkXSk7CisjZW5kaWYKICAgICAKICAgICBzZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWRdKTsK
ICAgICBzZXR0aW5ncy5zZXRBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBh
Y2NlbGVyYXRlZERyYXdpbmdFbmFibGVkXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAppbmRleCAwNTM5NGI2NWI5MmUyY2VlNmI2MzEy
YTQwOTA0ZDVhOGY3NWRiYzE5Li5iYmNhNTlmZjhkNjBkNWQzMjViNDY4ZmU5NGRmYWQ5NjBiY2Q4
YzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZp
bml0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmlu
aXRpb25zLmgKQEAgLTIzMSw2ICsyMzEsNyBAQAogICAgIG1hY3JvKFNlbGVjdGlvblBhaW50aW5n
V2l0aG91dFNlbGVjdGlvbkdhcHNFbmFibGVkLCBzZWxlY3Rpb25QYWludGluZ1dpdGhvdXRTZWxl
Y3Rpb25HYXBzRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9TRUxFQ1RJT05fUEFJTlRJTkdf
V0lUSE9VVF9TRUxFQ1RJT05fR0FQU19FTkFCTEVELCAiIiwgIiIpIFwKICAgICBtYWNybyhBcHBs
ZVBheUVuYWJsZWQsIGFwcGxlUGF5RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikg
XAogICAgIG1hY3JvKEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkLCBhcHBsZVBh
eUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBc
CisgICAgbWFjcm8oUG9pbnRlckxvY2tFbmFibGVkLCBwb2ludGVyTG9ja0VuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lU
X0RPVUJMRV9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSVVJQ2xpZW50LmgKaW5kZXggMDczOWNiZTkwZDkxYTVjZjRiOWRiZGEzMzBlZGVmYjE2ZWNh
YzcxNC4uMDA3ZWYzYjg0YjU3NzE0NGM5NTg0YmIzNWExNzdkNmY4OGM5Nzk0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtODAsNiArODAsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZShXZWJL
aXQ6OldlYlBhZ2VQcm94eSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRFbnRlckZ1bGxzY3Jl
ZW4oV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRXhpdEZ1
bGxzY3JlZW4oV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdFBvaW50ZXJMb2NrKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9CisKICAgICB2aXJ0dWFs
IHZvaWQgY2xvc2UoV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KIAogICAgIHZpcnR1YWwgdm9p
ZCB0YWtlRm9jdXMoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXS0ZvY3VzRGlyZWN0aW9uKSB7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggODY5OWEwMzQ1
ZjNlYzNhZmQzMGI4NmUzNzVhZGM1ZjJiMDU1OGE1Yy4uMzVjNTUyYjdkZDc3ZTViYzU1NTI0OGZm
ZWU1NGJjZjYxNDdjNTIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAKQEAgLTEwOSw3ICsxMDksNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8
V0tQYWdlUG9saWN5Q2xpZW50QmFzZT4gewogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50
VHJhaXRzPFdLUGFnZVVJQ2xpZW50QmFzZT4gewotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1Bh
Z2VVSUNsaWVudFYwLCBXS1BhZ2VVSUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1BhZ2VV
SUNsaWVudFYzLCBXS1BhZ2VVSUNsaWVudFY0LCBXS1BhZ2VVSUNsaWVudFY1LCBXS1BhZ2VVSUNs
aWVudFY2LCBXS1BhZ2VVSUNsaWVudFY3PiBWZXJzaW9uczsKKyAgICB0eXBlZGVmIHN0ZDo6dHVw
bGU8V0tQYWdlVUlDbGllbnRWMCwgV0tQYWdlVUlDbGllbnRWMSwgV0tQYWdlVUlDbGllbnRWMiwg
V0tQYWdlVUlDbGllbnRWMywgV0tQYWdlVUlDbGllbnRWNCwgV0tQYWdlVUlDbGllbnRWNSwgV0tQ
YWdlVUlDbGllbnRWNiwgV0tQYWdlVUlDbGllbnRWNywgV0tQYWdlVUlDbGllbnRWOD4gVmVyc2lv
bnM7CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC0yMjE4LDYgKzIyMTgsMTUg
QEAgdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdL
UGFnZVVJQ2xpZW50QmFzZSogd2tDbGllbnQKICAgICAgICAgICAgIG1fY2xpZW50Lm1lZGlhU2Vz
c2lvbk1ldGFkYXRhRGlkQ2hhbmdlKHRvQVBJKCZwYWdlKSwgdG9BUEkobWV0YWRhdGEpLCBtX2Ns
aWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAjZW5kaWYKKyAgICAgICAgCisgICAg
ICAgIHZvaWQgcmVxdWVzdFBvaW50ZXJMb2NrKFdlYlBhZ2VQcm94eSogcGFnZSkgb3ZlcnJpZGUK
KyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5yZXF1ZXN0UG9pbnRlckxvY2sp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgCisgICAgICAgICAgICBtX2Ns
aWVudC5yZXF1ZXN0UG9pbnRlckxvY2sodG9BUEkocGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50
SW5mbyk7CisgICAgICAgIH0KKwogICAgIH07CiAKICAgICB0b0ltcGwocGFnZVJlZiktPnNldFVJ
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50KSk7CkBAIC0yNjA2LDYg
KzI2MTUsMTYgQEAgdm9pZCBXS1BhZ2VTZXRNdXRlZChXS1BhZ2VSZWYgcGFnZSwgYm9vbCBtdXRl
ZCkKICAgICB0b0ltcGwocGFnZSktPnNldE11dGVkKG11dGVkKTsKIH0KIAordm9pZCBXS1BhZ2VE
aWRBbGxvd1BvaW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKQoreworICAgIHRvSW1wbChwYWdlKS0+
ZGlkQWxsb3dQb2ludGVyTG9jaygpOworfQorCit2b2lkIFdLUGFnZURpZERlbnlQb2ludGVyTG9j
ayhXS1BhZ2VSZWYgcGFnZSkKK3sKKyAgICB0b0ltcGwocGFnZSktPmRpZERlbnlQb2ludGVyTG9j
aygpOworfQorCiBib29sIFdLUGFnZUhhc01lZGlhU2Vzc2lvbldpdGhBY3RpdmVNZWRpYUVsZW1l
bnRzKFdLUGFnZVJlZiBwYWdlKQogewogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKaW5kZXggMzY3Yjhm
MjYwYzk1NzczNThkMGNhZjE5NmIyZWE3NTI5OWFiMTkxMi4uNjM3ZjYzZGM3ZTljY2M0YTI3YjQ4
ZjJiMmJhY2Q1NjM4OGU4MTI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlUHJpdmF0ZS5oCkBAIC0xMjEsNiArMTIxLDkgQEAgV0tfRVhQT1JUIHZvaWQgV0tQ
YWdlU2V0QWRkc1Zpc2l0ZWRMaW5rcyhXS1BhZ2VSZWYgcGFnZSwgYm9vbCB2aXNpdGVkTGlua3Mp
OwogCiBXS19FWFBPUlQgYm9vbCBXS1BhZ2VJc1BsYXlpbmdBdWRpbyhXS1BhZ2VSZWYgcGFnZSk7
CiBXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRNdXRlZChXS1BhZ2VSZWYgcGFnZSwgYm9vbCBtdXRl
ZCk7CisgICAgCitXS19FWFBPUlQgdm9pZCBXS1BhZ2VEaWRBbGxvd1BvaW50ZXJMb2NrKFdLUGFn
ZVJlZiBwYWdlKTsKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZURpZERlbnlQb2ludGVyTG9jayhXS1Bh
Z2VSZWYgcGFnZSk7CiAKIGVudW0gewogICAgIGtXS01lZGlhSXNOb3RQbGF5aW5nID0gMCwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKaW5kZXgg
ZTc1Y2NmYmRhYzI4ZmFmYjg3NDJlODllNTgyMDk0ODAwZjEwMjMzYi4uZDZlMDkyODhiY2U3ZDc5
Y2Y0OTYwMDhmZTU3MjdlYzRhZDM5YjIyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKQEAgLTEwNCw2ICsxMDQsOCBAQCB0eXBlZGVmIHZv
aWQgKCpXS1BhZ2VEaWRDbGlja0F1dG9GaWxsQnV0dG9uQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdl
LCBXS1R5cGVSZWYgdQogdHlwZWRlZiB2b2lkICgqV0tQYWdlTWVkaWFTZXNzaW9uTWV0YWRhdGFE
aWRDaGFuZ2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLTWVkaWFTZXNzaW9uTWV0YWRhdGFS
ZWYgbWV0YWRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tG
dWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pOwogCit0eXBlZGVmIHZvaWQgKCpXS1JlcXVlc3RQb2ludGVyTG9j
a0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisKIC8v
IERlcHJlY2F0ZWQKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxi
YWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0RpY3Rpb25hcnlS
ZWYgZmVhdHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0
b24gbW91c2VCdXR0b24sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICAg
ICAgKCpXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tU
eXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTYzNiw2ICs2Mzgs
OTMgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWNyB7CiAgICAgV0tGdWxsc2NyZWVu
TWF5UmV0dXJuVG9JbmxpbmVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
dWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmU7CiB9IFdLUGFnZVVJQ2xpZW50Vjc7CiAKK3R5cGVk
ZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50VjggeworICAgIFdLUGFnZVVJQ2xpZW50QmFzZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTsKKyAgICAK
KyAgICAvLyBWZXJzaW9uIDAuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93UGFnZTsKKyAgICBXS1BhZ2VVSUNs
aWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNsb3NlOworICAgIFdLUGFnZVRha2VGb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGFrZUZvY3VzOworICAgIFdLUGFnZUZvY3VzQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXM7
CisgICAgV0tQYWdlVW5mb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bmZvY3VzOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENh
bGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdEFs
ZXJ0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZp
cm1DYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICBydW5KYXZhU2NyaXB0
Q29uZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQ
cm9tcHRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICAgcnVuSmF2YVNj
cmlwdFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVNldFN0YXR1c1Rl
eHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3Rh
dHVzVGV4dDsKKyAgICBXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNrX2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50X2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlTWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRDYWxs
YmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tl
ZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZURpZE5vdEhhbmRsZUtleUV2ZW50
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTm90SGFuZGxlS2V5
RXZlbnQ7CisgICAgV0tQYWdlRGlkTm90SGFuZGxlV2hlZWxFdmVudENhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVXaGVlbEV2ZW50OworICAgIFdLUGFn
ZUdldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdG9vbGJhcnNBcmVWaXNpYmxlOworICAgIFdLUGFnZVNldFRvb2xiYXJzQXJlVmlzaWJs
ZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VG9vbGJhcnNBcmVW
aXNpYmxlOworICAgIFdLUGFnZUdldE1lbnVCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbWVudUJhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRN
ZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNldE1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlR2V0U3RhdHVzQmFySXNWaXNpYmxlQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNCYXJJc1Zpc2libGU7
CisgICAgV0tQYWdlU2V0U3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZXRTdGF0dXNCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlR2V0SXNS
ZXNpemFibGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
c1Jlc2l6YWJsZTsKKyAgICBXS1BhZ2VTZXRJc1Jlc2l6YWJsZUNhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzUmVzaXphYmxlOworICAgIFdLUGFnZUdl
dFdpbmRvd0ZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2V0V2luZG93RnJhbWU7CisgICAgV0tQYWdlU2V0V2luZG93RnJhbWVDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRXaW5kb3dGcmFtZTsKKyAgICBX
S1BhZ2VSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxDYWxsYmFja19kZXByZWNhdGVkRm9yVXNl
V2l0aFY2ICAgIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbF9kZXByZWNhdGVkRm9yVXNlV2l0
aFY2OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlkRHJhdzsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEaWRTY3Jv
bGw7CisgICAgV0tQYWdlRXhjZWVkZWREYXRhYmFzZVF1b3RhQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBleGNlZWRlZERhdGFiYXNlUXVvdGE7CisgICAgV0tQYWdlUnVu
T3BlblBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBydW5PcGVuUGFuZWw7CisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJt
aXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZUhlYWRlckhlaWdodENhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVySGVpZ2h0OworICAgIFdL
UGFnZUZvb3RlckhlaWdodENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZm9vdGVySGVpZ2h0OworICAgIFdLUGFnZURyYXdIZWFkZXJDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0hlYWRlcjsKKyAgICBX
S1BhZ2VEcmF3Rm9vdGVyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRyYXdGb290ZXI7CisgICAgV0tQYWdlUHJpbnRGcmFtZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludEZyYW1lOworICAgIFdL
UGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcnVuTW9kYWw7CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQxOyAvLyBVc2VkIHRvIGJl
IGRpZENvbXBsZXRlUnViYmVyQmFuZEZvck1haW5GcmFtZQorICAgIFdLUGFnZVNhdmVEYXRhVG9G
aWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgc2F2ZURh
dGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcjsKKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEludGVycnVw
dEphdmFTY3JpcHRfdW5hdmFpbGFibGU7CisgICAgCisgICAgLy8gVmVyc2lvbiAxLgorICAgIFdL
UGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYxICAgICAgICAg
ICAgICAgICAgY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYxOworICAgIFdLUGFn
ZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ7CisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9y
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAgICAgICAgICBkZWNpZGVQb2xp
Y3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDsKKyAgICBXS1BhZ2VVbmF2YWlsYWJs
ZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYxIHVuYXZh
aWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYxOworICAgIAor
ICAgIC8vIFZlcnNpb24gMi4KKyAgICBXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb2xvclBpY2tlcjsKKyAgICBX
S1BhZ2VIaWRlQ29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhpZGVDb2xvclBpY2tlcjsKKyAgICBXS1BhZ2VVbmF2YWlsYWJsZVBsdWdpbkJ1
dHRvbkNsaWNrZWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmxlUGx1
Z2luQnV0dG9uQ2xpY2tlZDsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDMuCisgICAgV0tQYWdlUGlu
bmVkU3RhdGVEaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwaW5uZWRTdGF0ZURpZENoYW5nZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDQuCisgICAgdm9p
ZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnVzZWQyOyAvLyBVc2VkIHRvIGJlIGRpZEJlZ2luVHJhY2tpbmdQb3RlbnRpYWxM
b25nTW91c2VQcmVzcy4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDM7IC8vIFVzZWQgdG8gYmUgZGlk
UmVjb2duaXplTG9uZ01vdXNlUHJlc3MuCisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQ0OyAvLyBVc2Vk
IHRvIGJlIGRpZENhbmNlbFRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MuCisgICAgV0tQ
YWdlSXNQbGF5aW5nQXVkaW9EaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpc1BsYXlpbmdBdWRpb0RpZENoYW5nZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDUu
CisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDYWxs
YmFjayAgICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dDsKKyAgICBXS1BhZ2VEaWRDbGlja0F1dG9GaWxsQnV0dG9uQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpZENsaWNrQXV0b0ZpbGxCdXR0b247CisgICAgV0tQYWdlUnVu
SmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAgICAgICAg
ICBydW5KYXZhU2NyaXB0QWxlcnRfZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAgICBXS1BhZ2VS
dW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAg
ICAgIHJ1bkphdmFTY3JpcHRDb25maXJtX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjU7CisgICAgV0tQ
YWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAg
ICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjU7CisgICAg
V0tQYWdlTWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICBtZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZTsKKyAgICAKKyAgICAvLyBW
ZXJzaW9uIDYuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlOworICAgIFdLUGFnZVJ1bkph
dmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cnVuSmF2YVNjcmlwdEFsZXJ0OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdENvbmZpcm07
CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0OworICAgIFdLQ2hlY2tVc2VyTWVk
aWFQZXJtaXNzaW9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hl
Y2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2luOworICAgIAorICAgIC8vIFZlcnNpb24gNy4K
KyAgICBXS1BhZ2VSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbDsKKyAgICBXS0Z1bGxz
Y3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDgu
CisgICAgV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2s7Cit9IFdLUGFnZVVJQ2xpZW50Vjg7
CisgICAgCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IGM3YmExYjRkMzQ3OWE1
YmNlMmJmMDc3YTc1ODI0MDNkZWNkMzE0ZmQuLjQ0ODI5YmU0ZDE2NGEzNTY0NDhhOThhNmVjODc1
Njg1ODRlZWJiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAKQEAgLTE1NjAsMyArMTU2MCwxNCBAQCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRBcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcgogewogICAgIFdlYktpdDo6dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0QXBwbGVQYXlD
YXBhYmlsaXR5RGlzY2xvc3VyZUFsbG93ZWQoYWxsb3dlZCk7CiB9CisKK3ZvaWQgV0tQcmVmZXJl
bmNlc1NldFBvaW50ZXJMb2NrRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
LCBib29sIGVuYWJsZWQpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0UG9pbnRl
ckxvY2tFbmFibGVkKGVuYWJsZWQpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQb2ludGVy
TG9ja0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1
cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+cG9pbnRlckxvY2tFbmFibGVkKCk7Cit9CisKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVm
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oCmlu
ZGV4IGUwODhjMDE4ZThkOTI5NWQ3Mzc3ZGU3MzIxYjgwYzYzZWEyNzVkZTAuLjQ3NjNjNjU1MjM2
ODRjZTg4MzFmOTA4MWVlYmY5NWUwNTRhNzA4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaApAQCAtMjg0LDYgKzI4NCwxMSBAQCBX
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QXBwbGVQYXlFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsCiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QXBw
bGVQYXlDYXBhYmlsaXR5RGlzY2xvc3VyZUFsbG93ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZik7CiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QXBwbGVQYXlDYXBhYmls
aXR5RGlzY2xvc3VyZUFsbG93ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9v
bCBhbGxvd2VkKTsKIAorLy8gRGVmYXVsdHMgdG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRQb2ludGVyTG9ja0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBlbmFibGVkKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRQb2lu
dGVyTG9ja0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CisKKyAgICAK
ICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCmluZGV4IDM2ZjYwMTQ5OTNiMDFiNzM3MjJmZTM4MTZhZjZmMmJlZWZk
NTU1NzUuLjk3MThlOTNhNzA4Zjk5ZDY3OTdjMjA4N2VlOGI3ZDg1ZjA5Mzk2MWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC02NjMwLDExICs2NjMwLDEx
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKFdl
YkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXRECiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFBv
aW50ZXJMb2NrKCkKIHsKICAgICBpZiAoIWlzVmlld1Zpc2libGUoKSkgewotICAgICAgICBtX3By
b2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZE5vdEFjcXVpcmVQb2ludGVyTG9jaygp
LCBtX3BhZ2VJRCk7CisgICAgICAgIGRpZERlbnlQb2ludGVyTG9jaygpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgZGlkQWxsb3dQb2ludGVyTG9jaygpOworICAgIG1fdWlDbGllbnQt
PnJlcXVlc3RQb2ludGVyTG9jayh0aGlzKTsKIH0KICAgICAKIHZvaWQgV2ViUGFnZVByb3h5Ojpk
aWRBbGxvd1BvaW50ZXJMb2NrKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCAyMTJmMTRhYTM2ODEwYmM3YzU0YmIzNjI5M2Y2NmQ4MGQ2MGQ1
YWQ3Li45MWU5YTBhNmJkMjcyNjk0Mjc3MzJhMmE5M2ZjYjBhMjEyMDNhZTU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMDI0LDYgKzMw
MjQsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVu
Y2VzU3RvcmUmIHN0b3JlKQogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgc2V0
dGluZ3Muc2V0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6YXR0YWNobWVudEVsZW1lbnRFbmFibGVkS2V5KCkpKTsKICNl
bmRpZgorICAgIHNldHRpbmdzLnNldFBvaW50ZXJMb2NrRW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBvaW50ZXJMb2NrRW5hYmxlZEtleSgpKSk7CiAg
ICAgc2V0dGluZ3Muc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphbGxvd3NQaWN0dXJlSW5QaWN0
dXJlTWVkaWFQbGF5YmFja0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0TWVkaWFDb250cm9sc1Nj
YWxlV2l0aFBhZ2Vab29tKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6bWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Vab29tS2V5KCkpKTsKICAgICBzZXR0aW5ncy5z
ZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5Ojptb2NrU2Nyb2xsYmFyc0VuYWJsZWRLZXkoKSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292384</attachid>
            <date>2016-10-21 12:41:33 -0700</date>
            <delta_ts>2016-10-21 13:06:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163801-20161021123754.patch</filename>
            <type>text/plain</type>
            <size>27700</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc3OWFlNGNkYjlmNWJlNmJjY2E4NDA5
YTBkMjc0N2E5M2Y0NGQ3MmYuLjJlOWI1NmQ0YWM0OTMwNTQzM2MyMjdhMGY5MWU0OWM4ODA5OTBj
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMTAtMjEgIEplcmVteSBKb25lcyAgPGplcmVt
eWpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50
ZXIgbG9jay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5l
cy5oOiBFTkFCTEVfUE9JTlRFUl9MT0NLIHRydWUgZm9yIE1hYy4KKwogMjAxNi0xMC0yMCAgS2Vp
dGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgV0FTTSBjYWxscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRkODdkMjJiNTdhNGM4YzQ2M2FkMWE4NDRm
OTYyMzBhN2I1MTg0N2UuLjc5NDY2ZDYxZTFiZjU4ZjUyNmFjNTc5NmEwMDdiOGJjM2M2ZjNmZmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8
amVyZW15akBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUg
cG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIHRlc3RzIG5v
dyBwYXNzIHdpdGggRHVtcFJlbmRlclRyZWUuCisgICAgICAgIExheW91dFRlc3RzL3BvaW50ZXIt
bG9jay9sb2NrLWFscmVhZHktbG9ja2VkLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRl
ci1sb2NrL2xvY2stZWxlbWVudC1ub3QtaW4tZG9tLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMv
cG9pbnRlci1sb2NrL2xvY2tlZC1lbGVtZW50LWlmcmFtZS1yZW1vdmVkLWZyb20tZG9tLmh0bWwK
KyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL21vdXNlLWV2ZW50LWFwaS5odG1sCisK
KyAgICAgICAgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2sgbm93IHBy
b3RlY3RzIGFnYWluc3Qgc3luY2hyb25vdXMgY2FsbGJhY2sKKyAgICAgICAgdG8gYWxsb3dQb2lu
dGVyTG9jaygpLgorCisgICAgICAgIEFkZCBwb2ludGVyTG9ja0VuYWJsZWQgc2V0dGluZy4KKwor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
ZXhpdFBvaW50ZXJMb2NrKTogRml4IGV4aXN0aW5nIHR5cG8uCisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KTogRGl0dG8uCisgICAgICAgICogcGFnZS9Qb2lu
dGVyTG9ja0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckxvY2tDb250
cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2spOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46
CisKIDIwMTYtMTAtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBbV2ViIElETF0gTWVkaWFDb250cm9sc0hvc3QgaGFzIGludmFsaWQgb3BlcmF0aW9uIG92ZXJs
b2FkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDZhNmVlNGNkMjY5ZDM3NWI4MzYxOGZhYzk1OTU0MzQ4
ZTFiMGJiNDUuLjU1ZmI2NWZjNDg5OTk5ZjQ4YjZiZGUxYTRiYzM0OGUwODcyY2EyNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMyBAQAogMjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8
amVyZW15akBhcHBsZS5jb20+CiAKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUg
cG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBsdW1iIHRocm91Z2gg
UG9pbnRlckxvY2tFbmFibGVkIHNldHRpbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06
CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2Vi
UHJlZmVyZW5jZXMgcG9pbnRlckxvY2tFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIHNldFBvaW50ZXJMb2NrRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCisyMDE2LTEwLTIxICBKZXJlbXkg
Sm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBJbXBsZW1lbnQgYmFzaWMgcG9p
bnRlciBsb2NrIGJlaGF2aW9yIGZvciBXZWJLaXQgYW5kIFdlYktpdDIuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NDUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDI3N2M5ODA3ZTM1OThhMjI3ODk5NTI0NzViOWUwZDQwODhmMGE1MWEuLjVmNWU1NTdhMjI2MDg1
ZjI3Y2M1OGRkZGU0ZmMzMjQxY2RmMTAzMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzNCBAQAog
MjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CiAKKyAgICAgICAg
QWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUgcG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBs
b2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MzgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBsdW1iIHRocm91Z2ggUmVxdWVzdFBvaW50ZXJMb2NrIHRvIHRoZSBXS1Bh
Z2VVSUNsaWVudC4KKyAgICAgICAgQWRkaW5nIGEgbmV3IG1ldGhvZCByZXF1aXJlcyBhIG5ldyBX
S1BhZ2VVSUNsaWVudCB2ZXJzaW9uOiBXS1BhZ2VVSUNsaWVudFY4IAorICAgICAgICBQbHVtYiB0
aHJvdWdoIFBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAgICogU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJ
Q2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpyZXF1ZXN0UG9pbnRlckxvY2spOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0
UGFnZVVJQ2xpZW50KToKKyAgICAgICAgKFdLUGFnZURpZEFsbG93UG9pbnRlckxvY2spOgorICAg
ICAgICAoV0tQYWdlRGlkRGVueVBvaW50ZXJMb2NrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNs
aWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNTZXRQb2ludGVyTG9ja0VuYWJsZWQpOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc0dldFBvaW50ZXJMb2NrRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWYuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UG9pbnRlckxvY2sp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorCisyMDE2LTEwLTIxICBKZXJlbXkg
Sm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBJbXBsZW1lbnQgYmFzaWMgcG9p
bnRlciBsb2NrIGJlaGF2aW9yIGZvciBXZWJLaXQgYW5kIFdlYktpdDIuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NDUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVE
ZWZpbmVzLmgKaW5kZXggN2E1ODk3OTZkZDY0ZmM2MGNhZWVmNzViOGVhYWMzOTY2YzVkODc0Zi4u
NDk3N2I5ZWFhMzU2MTU4NWFmOTIzZjFkZWMxMTVhZjlhODViOWE2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJl
RGVmaW5lcy5oCkBAIC02NDIsNyArNjQyLDcgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxs
IGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNl
bmRpZgogCiAjaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5BQkxF
X1BPSU5URVJfTE9DSyAwCisjZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMQogI2VuZGlmCiAK
ICNpZiAhZGVmaW5lZChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDExMGU2NDc5MTE4ZjkxYWM0NWZkMDE0YjU4NzMwZTc0MDJkN2RmODkuLmYzOWQ4
ZDljODNmYzUzZDMzNzc5ZmQ2NjlkZDU5NGY2MmY4YTkyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNjA3OCw3ICs2MDc4LDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1
bGxTY3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50KiBkb2MpCiAKIHZvaWQgRG9jdW1lbnQ6
OmV4aXRQb2ludGVyTG9jaygpCiB7Ci0gICAgUGFnZSogcGFnZSA9IHRoaXM+cGFnZSgpOworICAg
IFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1
cm47CiAgICAgaWYgKGF1dG8qIHRhcmdldCA9IHBhZ2UtPnBvaW50ZXJMb2NrQ29udHJvbGxlcigp
LmVsZW1lbnQoKSkgewpAQCAtNjA5MCwxMCArNjA5MCwxMCBAQCB2b2lkIERvY3VtZW50OjpleGl0
UG9pbnRlckxvY2soKQogCiBFbGVtZW50KiBEb2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KCkg
Y29uc3QKIHsKLSAgICBQYWdlKiBwYWdlID0gdGhpcz5wYWdlKCk7CisgICAgUGFnZSogcGFnZSA9
IHRoaXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+cG9pbnRlckxvY2tDb250cm9s
bGVyKCkubG9ja1BlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0byog
ZWxlbWVudCA9IHBhZ2UoKS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVudCgpOworICAg
IGF1dG8qIGVsZW1lbnQgPSBwYWdlLT5wb2ludGVyTG9ja0NvbnRyb2xsZXIoKS5lbGVtZW50KCk7
CiAgICAgaWYgKCFlbGVtZW50IHx8ICZlbGVtZW50LT5kb2N1bWVudCgpICE9IHRoaXMpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBlbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCmluZGV4IDk4NjU1ZTY5OThjN2ZhYjA3
NDBmOGY5ZTAxNjc2OWQyYTc0ZDY2YzUuLmE5MzEyY2NhMzM4YzEwMDg2NWFiZDNiYmYyMmNiNTkw
YmQ5ZDI1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxl
ci5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCiAKIApAQCAtNTIsNiArNTMsMTIg
QEAgdm9pZCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayhFbGVtZW50
KiB0YXJnZXQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBTZXR0aW5ncyogc2V0dGlu
Z3MgPSB0YXJnZXQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKTsKKyAgICBpZiAoIXNldHRpbmdzIHx8
ICFzZXR0aW5ncy0+cG9pbnRlckxvY2tFbmFibGVkKCkpIHsKKyAgICAgICAgZW5xdWV1ZUV2ZW50
KGV2ZW50TmFtZXMoKS5wb2ludGVybG9ja2Vycm9yRXZlbnQsIHRhcmdldCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBpZiAodGFyZ2V0LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNh
bmRib3hQb2ludGVyTG9jaykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91
bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KICAgICAgICAgdGFy
Z2V0LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgcG9pbnRlciBsb2Nr
IG9uIGFuIGVsZW1lbnQgYmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBh
bmQgdGhlICdhbGxvdy1wb2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCA4ZGM0ZjdjMmI1ZGExODY3NTUyMzkwZjExNDM1YmJj
YzlmMjk0MWRiLi5iMmU4NDA3MTYyNmUxZTY1YTNkNGNhZmZlZDYwOTY3YjYyNWNiY2JmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTI4NSwzICsyODUsNSBAQCBxdWlja1RpbWVQbHVnaW5S
ZXBsYWNlbWVudEVuYWJsZWQgaW5pdGlhbD1kZWZhdWx0UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1l
bnRFbmFibAogeW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkIGluaXRpYWw9ZGVm
YXVsdFlvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2VtZW50RW5hYmxlZAogCiBmb3JjZWRQcmVmZXJz
UmVkdWNlZE1vdGlvblZhbHVlIHR5cGU9Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSwg
aW5pdGlhbD1kZWZhdWx0Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZQorCitwb2ludGVy
TG9ja0VuYWJsZWQgaW5pdGlhbD1mYWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggYjlmNTU3ZGI3N2UwYjQ5MDgw
ZDQ3NzExMGEyMDA0MjgwZTIwZWZiNi4uY2JiMjZkYjY1MzNkNTc1ZjgxYTY1NWNiZTJkYmUxZWM2
YmFmZjQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xNjgsNiArMTY4LDcgQEAKICNkZWZpbmUgV2ViS2l0Q1NT
R3JpZExheW91dEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTR3JpZExheW91dEVuYWJs
ZWQiCiAjZGVmaW5lIFdlYktpdFZpc3VhbFZpZXdwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRWaXN1YWxWaWV3cG9ydEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1vZGVybk1lZGlhQ29u
dHJvbHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFi
bGVkIgorI2RlZmluZSBXZWJLaXRQb2ludGVyTG9ja0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0UG9pbnRlckxvY2tFbmFibGVkIgogCiAjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8vIFRoZXNl
IGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292
ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCmluZGV4IDA3NWQ5Y2E2MGExODk0NDI5YzIxZDJhYjZjMWVlNzhkNTg2
YzA1YWYuLjE2MzIzMmUxYWVjY2M1ZWFkYTE0YjEzODRiMGNkYTg1Mzc4NGU0MzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNTYyLDYgKzU2Miw5
IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV0lSRUxFU1NfVEFSR0VUX1BMQVlCQUNLKQogICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFsbG93c0FpclBsYXlGb3JN
ZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKICNlbmRpZgorI2lmIEVOQUJMRShQT0lOVEVSX0xP
Q0spCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0UG9pbnRl
ckxvY2tFbmFibGVkUHJlZmVyZW5jZUtleSwKKyNlbmRpZgogICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10s
ICBXZWJLaXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRXYW50c0JhbGFuY2VkU2V0
RGVmZXJzTG9hZGluZ0JlaGF2aW9yS2V5LApAQCAtMjMzOCw2ICsyMzQxLDE4IEBAIHN0YXRpYyBO
U1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVl
OmZsYWcgZm9yS2V5OldlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrUHJl
ZmVyZW5jZUtleV07CiB9CiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorLSAoQk9PTClwb2lu
dGVyTG9ja0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJL
aXRQb2ludGVyTG9ja0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRQb2lu
dGVyTG9ja0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6Zmxh
ZyBmb3JLZXk6V2ViS2l0UG9pbnRlckxvY2tFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisjZW5k
aWYKKwogLSAoQk9PTCltb2NrU2Nyb2xsYmFyc0VuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYg
X2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCmluZGV4IDFlODMwNTY3ZGY5NmQ3MjMwODgzNjA5Y2FjOTBkMmY1NmVkY2IzZmYuLjc3NmVj
NDljNzM4NTU2NGFiMDAwYjg1NGViNzk5MTA5ZjdhMzg4Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMjc3LDYgKzI3Nyw5
IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVy
bmFsTm90aWZpY2F0aW9uOwogLSAodm9pZClzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFjazooQk9PTClmbGFnOwogLSAoQk9PTClhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFjazsKIAorLSAodm9pZClzZXRQb2ludGVyTG9ja0VuYWJsZWQ6KEJPT0wpZmxhZzsKKy0g
KEJPT0wpcG9pbnRlckxvY2tFbmFibGVkOworCiAtIChOU1N0cmluZyAqKXBpY3RvZ3JhcGhGb250
RmFtaWx5OwogLSAodm9pZClzZXRQaWN0b2dyYXBoRm9udEZhbWlseTooTlNTdHJpbmcgKilmYW1p
bHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBkY2JjZjNkZTdlNmFh
Y2ZhOTlhZjBmYTQ4NTAwYzlkZWUzZTExMTY2Li5lOTdmMzkxZTNmZTg5NjBkYjMwNjI2ZWY1Zjkx
MTQ2ZWFiMjc5YWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yMzU1
LDYgKzIzNTUsMTAgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVp
cmsoKQogICAgIHNldHRpbmdzLnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoW3ByZWZl
cmVuY2VzIGphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmRdKTsKICAgICBzZXR0aW5ncy5zZXRY
U1NBdWRpdG9yRW5hYmxlZChbcHJlZmVyZW5jZXMgaXNYU1NBdWRpdG9yRW5hYmxlZF0pOwogICAg
IHNldHRpbmdzLnNldEROU1ByZWZldGNoaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgaXNETlNQcmVm
ZXRjaGluZ0VuYWJsZWRdKTsKKworI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgc2V0dGlu
Z3Muc2V0UG9pbnRlckxvY2tFbmFibGVkKFtwcmVmZXJlbmNlcyBwb2ludGVyTG9ja0VuYWJsZWRd
KTsKKyNlbmRpZgogICAgIAogICAgIHNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdF
bmFibGVkKFtwcmVmZXJlbmNlcyBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZF0pOwogICAg
IHNldHRpbmdzLnNldEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGFjY2Vs
ZXJhdGVkRHJhd2luZ0VuYWJsZWRdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCmluZGV4IDA1Mzk0YjY1YjkyZTJjZWU2YjYzMTJhNDA5
MDRkNWE4Zjc1ZGJjMTkuLmJiY2E1OWZmOGQ2MGQ1ZDMyNWI0NjhmZTk0ZGZhZDk2MGJjZDhjMmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRp
b25zLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlv
bnMuaApAQCAtMjMxLDYgKzIzMSw3IEBACiAgICAgbWFjcm8oU2VsZWN0aW9uUGFpbnRpbmdXaXRo
b3V0U2VsZWN0aW9uR2Fwc0VuYWJsZWQsIHNlbGVjdGlvblBhaW50aW5nV2l0aG91dFNlbGVjdGlv
bkdhcHNFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX1NFTEVDVElPTl9QQUlOVElOR19XSVRI
T1VUX1NFTEVDVElPTl9HQVBTX0VOQUJMRUQsICIiLCAiIikgXAogICAgIG1hY3JvKEFwcGxlUGF5
RW5hYmxlZCwgYXBwbGVQYXlFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCiAg
ICAgbWFjcm8oQXBwbGVQYXlDYXBhYmlsaXR5RGlzY2xvc3VyZUFsbG93ZWQsIGFwcGxlUGF5Q2Fw
YWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhQb2ludGVyTG9ja0VuYWJsZWQsIHBvaW50ZXJMb2NrRW5hYmxlZCwgQm9vbCwgYm9v
bCwgZmFsc2UsICIiLCAiIikgXAogICAgIFwKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfRE9V
QkxFX1BSRUZFUkVOQ0UobWFjcm8pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQVBJVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJ
VUlDbGllbnQuaAppbmRleCAwNzM5Y2JlOTBkOTFhNWNmNGI5ZGJkYTMzMGVkZWZiMTZlY2FjNzE0
Li4wMDdlZjNiODRiNTc3MTQ0Yzk1ODRiYjM1YTE3N2Q2Zjg4Yzk3OTQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCkBAIC04MCw2ICs4MCw4IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKFdlYktpdDo6
V2ViUGFnZVByb3h5KikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEVudGVyRnVsbHNjcmVlbihX
ZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRFeGl0RnVsbHNj
cmVlbihXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
UG9pbnRlckxvY2soV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KKwogICAgIHZpcnR1YWwgdm9p
ZCBjbG9zZShXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHRh
a2VGb2N1cyhXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdLRm9jdXNEaXJlY3Rpb24pIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCA4Njk5YTAzNDVmM2Vj
M2FmZDMwYjg2ZTM3NWFkYzVmMmIwNTU4YTVjLi4yYTBhYjI0YzQxMmZlNmE3Yjc3MDAwOGNiNzBj
Nzk4YzU2MjhmNDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cApAQCAtMTA5LDcgKzEwOSw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1Bh
Z2VQb2xpY3lDbGllbnRCYXNlPiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFp
dHM8V0tQYWdlVUlDbGllbnRCYXNlPiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJ
Q2xpZW50VjAsIFdLUGFnZVVJQ2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xp
ZW50VjMsIFdLUGFnZVVJQ2xpZW50VjQsIFdLUGFnZVVJQ2xpZW50VjUsIFdLUGFnZVVJQ2xpZW50
VjYsIFdLUGFnZVVJQ2xpZW50Vjc+IFZlcnNpb25zOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxX
S1BhZ2VVSUNsaWVudFYwLCBXS1BhZ2VVSUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1Bh
Z2VVSUNsaWVudFYzLCBXS1BhZ2VVSUNsaWVudFY0LCBXS1BhZ2VVSUNsaWVudFY1LCBXS1BhZ2VV
SUNsaWVudFY2LCBXS1BhZ2VVSUNsaWVudFY3LCBXS1BhZ2VVSUNsaWVudFY4PiBWZXJzaW9uczsK
IH07CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKQEAgLTIyMTgsNiArMjIxOCwxNSBAQCB2
b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdl
VUlDbGllbnRCYXNlKiB3a0NsaWVudAogICAgICAgICAgICAgbV9jbGllbnQubWVkaWFTZXNzaW9u
TWV0YWRhdGFEaWRDaGFuZ2UodG9BUEkoJnBhZ2UpLCB0b0FQSShtZXRhZGF0YSksIG1fY2xpZW50
LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgIH0KICNlbmRpZgorICAgICAgICAKKyAgICAgICAg
dm9pZCByZXF1ZXN0UG9pbnRlckxvY2soV2ViUGFnZVByb3h5KiBwYWdlKSBvdmVycmlkZQorICAg
ICAgICB7CisgICAgICAgICAgICBpZiAoIW1fY2xpZW50LnJlcXVlc3RQb2ludGVyTG9jaykKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fY2xpZW50
LnJlcXVlc3RQb2ludGVyTG9jayh0b0FQSShwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZv
KTsKKyAgICAgICAgfQorCiAgICAgfTsKIAogICAgIHRvSW1wbChwYWdlUmVmKS0+c2V0VUlDbGll
bnQoc3RkOjptYWtlX3VuaXF1ZTxVSUNsaWVudD4od2tDbGllbnQpKTsKQEAgLTI2MDYsNiArMjYx
NSwyNCBAQCB2b2lkIFdLUGFnZVNldE11dGVkKFdLUGFnZVJlZiBwYWdlLCBib29sIG11dGVkKQog
ICAgIHRvSW1wbChwYWdlKS0+c2V0TXV0ZWQobXV0ZWQpOwogfQogCit2b2lkIFdLUGFnZURpZEFs
bG93UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpCit7CisjaWYgRU5BQkxFKFBPSU5URVJfTE9D
SykKKyAgICB0b0ltcGwocGFnZSktPmRpZEFsbG93UG9pbnRlckxvY2soKTsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKHBhZ2UpOworI2VuZGlmCit9CisKK3ZvaWQgV0tQYWdlRGlkRGVueVBvaW50
ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKQoreworI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAg
dG9JbXBsKHBhZ2UpLT5kaWREZW55UG9pbnRlckxvY2soKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKHBhZ2UpOworI2VuZGlmCit9CisKIGJvb2wgV0tQYWdlSGFzTWVkaWFTZXNzaW9uV2l0aEFj
dGl2ZU1lZGlhRWxlbWVudHMoV0tQYWdlUmVmIHBhZ2UpCiB7CiAjaWYgRU5BQkxFKE1FRElBX1NF
U1NJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUu
aAppbmRleCAzNjdiOGYyNjBjOTU3NzM1OGQwY2FmMTk2YjJlYTc1Mjk5YWIxOTEyLi42MzdmNjNk
YzdlOWNjYzRhMjdiNDhmMmIyYmFjZDU2Mzg4ZTgxMjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKQEAgLTEyMSw2ICsxMjEsOSBAQCBXS19F
WFBPUlQgdm9pZCBXS1BhZ2VTZXRBZGRzVmlzaXRlZExpbmtzKFdLUGFnZVJlZiBwYWdlLCBib29s
IHZpc2l0ZWRMaW5rcyk7CiAKIFdLX0VYUE9SVCBib29sIFdLUGFnZUlzUGxheWluZ0F1ZGlvKFdL
UGFnZVJlZiBwYWdlKTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldE11dGVkKFdLUGFnZVJlZiBw
YWdlLCBib29sIG11dGVkKTsKKyAgICAKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZURpZEFsbG93UG9p
bnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpOworV0tfRVhQT1JUIHZvaWQgV0tQYWdlRGlkRGVueVBv
aW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKTsKIAogZW51bSB7CiAgICAga1dLTWVkaWFJc05vdFBs
YXlpbmcgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlD
bGllbnQuaAppbmRleCBlNzVjY2ZiZGFjMjhmYWZiODc0MmU4OWU1ODIwOTQ4MDBmMTAyMzNiLi5k
NmUwOTI4OGJjZTdkNzljZjQ5NjAwOGZlNTcyN2VjNGFkMzliMjJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaApAQCAtMTA0LDYgKzEwNCw4
IEBAIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENsaWNrQXV0b0ZpbGxCdXR0b25DYWxsYmFjayko
V0tQYWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VNZWRpYVNl
c3Npb25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tNZWRpYVNl
c3Npb25NZXRhZGF0YVJlZiBtZXRhZGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBl
ZGVmIHZvaWQgKCpXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrKShXS1BhZ2VS
ZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKK3R5cGVkZWYgdm9pZCAoKldLUmVx
dWVzdFBvaW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKKwogLy8gRGVwcmVjYXRlZAogdHlwZWRlZiBXS1BhZ2VSZWYgKCpXS1BhZ2VDcmVh
dGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2Us
IFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdL
RXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0
eXBlZGVmIHZvaWQgICAgICAoKldLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2tf
ZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLRXZlbnRNb2RpZmllcnMg
bW9kaWZpZXJzLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpA
QCAtNjM2LDYgKzYzOCw5MyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY3IHsKICAg
ICBXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZTsKIH0gV0tQYWdlVUlDbGll
bnRWNzsKIAordHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWOCB7CisgICAgV0tQYWdlVUlD
bGllbnRCYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiYXNlOworICAgIAorICAgIC8vIFZlcnNpb24gMC4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdl
Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgICAgICAgICAgIGNyZWF0ZU5l
d1BhZ2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dQYWdlOwor
ICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2xvc2U7CisgICAgV0tQYWdlVGFrZUZvY3VzQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlRm9jdXM7CisgICAgV0tQ
YWdlRm9jdXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmb2N1czsKKyAgICBXS1BhZ2VVbmZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZm9jdXM7CisgICAgV0tQYWdlUnVuSmF2
YVNjcmlwdEFsZXJ0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgICAgICBy
dW5KYXZhU2NyaXB0QWxlcnRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VSdW5K
YXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAg
IHJ1bkphdmFTY3JpcHRDb25maXJtX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdl
UnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAg
ICAgICBydW5KYXZhU2NyaXB0UHJvbXB0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQ
YWdlU2V0U3RhdHVzVGV4dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZXRTdGF0dXNUZXh0OworICAgIFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50
Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVs
ZW1lbnRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VNaXNzaW5nUGx1Z2luQnV0
dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgIG1pc3NpbmdQbHVn
aW5CdXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlRGlkTm90
SGFuZGxlS2V5RXZlbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
aWROb3RIYW5kbGVLZXlFdmVudDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVXaGVlbEV2ZW50Q2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZVdoZWVsRXZl
bnQ7CisgICAgV0tQYWdlR2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0b29sYmFyc0FyZVZpc2libGU7CisgICAgV0tQYWdlU2V0VG9v
bGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZXRUb29sYmFyc0FyZVZpc2libGU7CisgICAgV0tQYWdlR2V0TWVudUJhcklzVmlzaWJsZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW51QmFySXNWaXNpYmxlOwor
ICAgIFdLUGFnZVNldE1lbnVCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2V0TWVudUJhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRTdGF0dXNC
YXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1
c0JhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRTdGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXR1c0JhcklzVmlzaWJsZTsKKyAg
ICBXS1BhZ2VHZXRJc1Jlc2l6YWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlzUmVzaXphYmxlOworICAgIFdLUGFnZVNldElzUmVzaXphYmxlQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNSZXNpemFibGU7
CisgICAgV0tQYWdlR2V0V2luZG93RnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnZXRXaW5kb3dGcmFtZTsKKyAgICBXS1BhZ2VTZXRXaW5kb3dGcmFt
ZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFdpbmRv
d0ZyYW1lOworICAgIFdLUGFnZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxiYWNrX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjYgICAgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsX2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjY7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWREcmF3OworICAgIFdLUGFnZVVJ
Q2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGFnZURpZFNjcm9sbDsKKyAgICBXS1BhZ2VFeGNlZWRlZERhdGFiYXNlUXVvdGFDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VlZGVkRGF0YWJhc2VRdW90YTsK
KyAgICBXS1BhZ2VSdW5PcGVuUGFuZWxDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJ1bk9wZW5QYW5lbDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgIGRlY2lkZVBvbGlj
eUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdlSGVhZGVySGVpZ2h0
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJI
ZWlnaHQ7CisgICAgV0tQYWdlRm9vdGVySGVpZ2h0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmb290ZXJIZWlnaHQ7CisgICAgV0tQYWdlRHJhd0hlYWRl
ckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3
SGVhZGVyOworICAgIFdLUGFnZURyYXdGb290ZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0Zvb3RlcjsKKyAgICBXS1BhZ2VQcmludEZyYW1l
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50
RnJhbWU7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBydW5Nb2RhbDsKKyAgICB2b2lkKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDE7
IC8vIFVzZWQgdG8gYmUgZGlkQ29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZyYW1lCisgICAgV0tQ
YWdlU2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlckNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICBzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyOworICAgIHZvaWQqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdF91bmF2YWlsYWJsZTsKKyAgICAKKyAgICAvLyBWZXJz
aW9uIDEuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VX
aXRoVjEgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRo
VjE7CisgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDsKKyAgICBXS1BhZ2VE
ZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAg
ICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdL
UGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjEgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VX
aXRoVjE7CisgICAgCisgICAgLy8gVmVyc2lvbiAyLgorICAgIFdLUGFnZVNob3dDb2xvclBpY2tl
ckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NvbG9y
UGlja2VyOworICAgIFdLUGFnZUhpZGVDb2xvclBpY2tlckNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUNvbG9yUGlja2VyOworICAgIFdLUGFnZVVuYXZh
aWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
dW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkOworICAgIAorICAgIC8vIFZlcnNpb24gMy4K
KyAgICBXS1BhZ2VQaW5uZWRTdGF0ZURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBpbm5lZFN0YXRlRGlkQ2hhbmdlOworICAgIAorICAgIC8vIFZlcnNp
b24gNC4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDI7IC8vIFVzZWQgdG8gYmUgZGlkQmVnaW5UcmFj
a2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzLgorICAgIHZvaWQqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkMzsgLy8g
VXNlZCB0byBiZSBkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcy4KKyAgICB2b2lkKiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
dXNlZDQ7IC8vIFVzZWQgdG8gYmUgZGlkQ2FuY2VsVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQ
cmVzcy4KKyAgICBXS1BhZ2VJc1BsYXlpbmdBdWRpb0RpZENoYW5nZUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlOworICAgIAorICAg
IC8vIFZlcnNpb24gNS4KKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgICAgIGRlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZURpZENsaWNrQXV0b0ZpbGxCdXR0b25DYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbjsK
KyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0
aFY1ICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1
OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVz
ZVdpdGhWNSAgICAgICAgICAgcnVuSmF2YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZvclVzZVdp
dGhWNTsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2tfZGVwcmVjYXRlZEZv
clVzZVdpdGhWNSAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHRfZGVwcmVjYXRlZEZvclVz
ZVdpdGhWNTsKKyAgICBXS1BhZ2VNZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlOwor
ICAgIAorICAgIC8vIFZlcnNpb24gNi4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2U7Cisg
ICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxlcnQ7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlw
dENvbmZpcm1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZh
U2NyaXB0Q29uZmlybTsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQ7CisgICAg
V0tDaGVja1VzZXJNZWRpYVBlcm1pc3Npb25DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjaGVja1VzZXJNZWRpYVBlcm1pc3Npb25Gb3JPcmlnaW47CisgICAgCisgICAg
Ly8gVmVyc2lvbiA3LgorICAgIFdLUGFnZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVs
OworICAgIFdLRnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lOworICAgIAorICAg
IC8vIFZlcnNpb24gOC4KKyAgICBXS1JlcXVlc3RQb2ludGVyTG9ja0NhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQb2ludGVyTG9jazsKK30gV0tQ
YWdlVUlDbGllbnRWODsKKyAgICAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXgg
YzdiYTFiNGQzNDc5YTViY2UyYmYwNzdhNzU4MjQwM2RlY2QzMTRmZC4uNDQ4MjliZTRkMTY0YTM1
NjQ0OGE5OGE2ZWM4NzU2ODU4NGVlYmIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTU2MCwzICsxNTYwLDE0IEBAIHZvaWQg
V0tQcmVmZXJlbmNlc1NldEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyCiB7CiAgICAgV2ViS2l0Ojp0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRBcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZChhbGxvd2VkKTsKIH0KKwor
dm9pZCBXS1ByZWZlcmVuY2VzU2V0UG9pbnRlckxvY2tFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNS
ZWYpLT5zZXRQb2ludGVyTG9ja0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJl
bmNlc0dldFBvaW50ZXJMb2NrRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wb2ludGVyTG9ja0VuYWJs
ZWQoKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWYuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzUmVmLmgKaW5kZXggZTA4OGMwMThlOGQ5Mjk1ZDczNzdkZTczMjFiODBjNjNlYTI3NWRl
MC4uNDc2M2M2NTUyMzY4NGNlODgzMWY5MDgxZWViZjk1ZTA1NGE3MDgzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oCkBAIC0yODQs
NiArMjg0LDExIEBAIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBcHBsZVBheUVuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwKIFdLX0VYUE9SVCBib29sIFdLUHJl
ZmVyZW5jZXNHZXRBcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRB
cHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmLCBib29sIGFsbG93ZWQpOwogCisvLyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQ
T1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBvaW50ZXJMb2NrRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVm
ZXJlbmNlc0dldFBvaW50ZXJMb2NrRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmKTsKKworICAgIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMzZmNjAxNDk5M2IwMWI3MzcyMmZl
MzgxNmFmNmYyYmVlZmQ1NTU3NS4uOTcxOGU5M2E3MDhmOTlkNjc5N2MyMDg3ZWU4YjdkODVmMDkz
OTYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTY2
MzAsMTEgKzY2MzAsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldFVzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb24oV2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dEQKIHZvaWQgV2ViUGFnZVBy
b3h5OjpyZXF1ZXN0UG9pbnRlckxvY2soKQogewogICAgIGlmICghaXNWaWV3VmlzaWJsZSgpKSB7
Ci0gICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkTm90QWNxdWly
ZVBvaW50ZXJMb2NrKCksIG1fcGFnZUlEKTsKKyAgICAgICAgZGlkRGVueVBvaW50ZXJMb2NrKCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBkaWRBbGxvd1BvaW50ZXJMb2NrKCk7Cisg
ICAgbV91aUNsaWVudC0+cmVxdWVzdFBvaW50ZXJMb2NrKHRoaXMpOwogfQogICAgIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZEFsbG93UG9pbnRlckxvY2soKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDIxMmYxNGFhMzY4MTBiYzdjNTRiYjM2
MjkzZjY2ZDgwZDYwZDVhZDcuLjkxZTlhMGE2YmQyNzI2OTQyNzczMmEyYTkzZmNiMGEyMTIwM2Fl
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
QEAgLTMwMjQsNiArMzAyNCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29u
c3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxF
TUVOVCkKICAgICBzZXR0aW5ncy5zZXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphdHRhY2htZW50RWxlbWVudEVuYWJs
ZWRLZXkoKSkpOwogI2VuZGlmCisgICAgc2V0dGluZ3Muc2V0UG9pbnRlckxvY2tFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cG9pbnRlckxvY2tFbmFi
bGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFjayhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRN
ZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20oc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5OjptZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb21LZXkoKSkpOwog
ICAgIHNldHRpbmdzLnNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1vY2tTY3JvbGxiYXJzRW5hYmxlZEtleSgpKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292388</attachid>
            <date>2016-10-21 13:06:22 -0700</date>
            <delta_ts>2016-10-22 11:45:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163801-20161021130243.patch</filename>
            <type>text/plain</type>
            <size>27666</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc3OWFlNGNkYjlmNWJlNmJjY2E4NDA5
YTBkMjc0N2E5M2Y0NGQ3MmYuLjJlOWI1NmQ0YWM0OTMwNTQzM2MyMjdhMGY5MWU0OWM4ODA5OTBj
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMTAtMjEgIEplcmVteSBKb25lcyAgPGplcmVt
eWpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50
ZXIgbG9jay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5l
cy5oOiBFTkFCTEVfUE9JTlRFUl9MT0NLIHRydWUgZm9yIE1hYy4KKwogMjAxNi0xMC0yMCAgS2Vp
dGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgV0FTTSBjYWxscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRkODdkMjJiNTdhNGM4YzQ2M2FkMWE4NDRm
OTYyMzBhN2I1MTg0N2UuLjc5NDY2ZDYxZTFiZjU4ZjUyNmFjNTc5NmEwMDdiOGJjM2M2ZjNmZmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8
amVyZW15akBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUg
cG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIHRlc3RzIG5v
dyBwYXNzIHdpdGggRHVtcFJlbmRlclRyZWUuCisgICAgICAgIExheW91dFRlc3RzL3BvaW50ZXIt
bG9jay9sb2NrLWFscmVhZHktbG9ja2VkLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRl
ci1sb2NrL2xvY2stZWxlbWVudC1ub3QtaW4tZG9tLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMv
cG9pbnRlci1sb2NrL2xvY2tlZC1lbGVtZW50LWlmcmFtZS1yZW1vdmVkLWZyb20tZG9tLmh0bWwK
KyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL21vdXNlLWV2ZW50LWFwaS5odG1sCisK
KyAgICAgICAgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2sgbm93IHBy
b3RlY3RzIGFnYWluc3Qgc3luY2hyb25vdXMgY2FsbGJhY2sKKyAgICAgICAgdG8gYWxsb3dQb2lu
dGVyTG9jaygpLgorCisgICAgICAgIEFkZCBwb2ludGVyTG9ja0VuYWJsZWQgc2V0dGluZy4KKwor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
ZXhpdFBvaW50ZXJMb2NrKTogRml4IGV4aXN0aW5nIHR5cG8uCisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KTogRGl0dG8uCisgICAgICAgICogcGFnZS9Qb2lu
dGVyTG9ja0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckxvY2tDb250
cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2spOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46
CisKIDIwMTYtMTAtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBbV2ViIElETF0gTWVkaWFDb250cm9sc0hvc3QgaGFzIGludmFsaWQgb3BlcmF0aW9uIG92ZXJs
b2FkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDZhNmVlNGNkMjY5ZDM3NWI4MzYxOGZhYzk1OTU0MzQ4
ZTFiMGJiNDUuLjU1ZmI2NWZjNDg5OTk5ZjQ4YjZiZGUxYTRiYzM0OGUwODcyY2EyNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMyBAQAogMjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8
amVyZW15akBhcHBsZS5jb20+CiAKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUg
cG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBsdW1iIHRocm91Z2gg
UG9pbnRlckxvY2tFbmFibGVkIHNldHRpbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06
CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2Vi
UHJlZmVyZW5jZXMgcG9pbnRlckxvY2tFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIHNldFBvaW50ZXJMb2NrRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCisyMDE2LTEwLTIxICBKZXJlbXkg
Sm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBJbXBsZW1lbnQgYmFzaWMgcG9p
bnRlciBsb2NrIGJlaGF2aW9yIGZvciBXZWJLaXQgYW5kIFdlYktpdDIuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NDUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDI3N2M5ODA3ZTM1OThhMjI3ODk5NTI0NzViOWUwZDQwODhmMGE1MWEuLjVmNWU1NTdhMjI2MDg1
ZjI3Y2M1OGRkZGU0ZmMzMjQxY2RmMTAzMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzNCBAQAog
MjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CiAKKyAgICAgICAg
QWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUgcG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBs
b2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MzgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBsdW1iIHRocm91Z2ggUmVxdWVzdFBvaW50ZXJMb2NrIHRvIHRoZSBXS1Bh
Z2VVSUNsaWVudC4KKyAgICAgICAgQWRkaW5nIGEgbmV3IG1ldGhvZCByZXF1aXJlcyBhIG5ldyBX
S1BhZ2VVSUNsaWVudCB2ZXJzaW9uOiBXS1BhZ2VVSUNsaWVudFY4IAorICAgICAgICBQbHVtYiB0
aHJvdWdoIFBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAgICogU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJ
Q2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpyZXF1ZXN0UG9pbnRlckxvY2spOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0
UGFnZVVJQ2xpZW50KToKKyAgICAgICAgKFdLUGFnZURpZEFsbG93UG9pbnRlckxvY2spOgorICAg
ICAgICAoV0tQYWdlRGlkRGVueVBvaW50ZXJMb2NrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNs
aWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNTZXRQb2ludGVyTG9ja0VuYWJsZWQpOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc0dldFBvaW50ZXJMb2NrRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWYuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UG9pbnRlckxvY2sp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorCisyMDE2LTEwLTIxICBKZXJlbXkg
Sm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBJbXBsZW1lbnQgYmFzaWMgcG9p
bnRlciBsb2NrIGJlaGF2aW9yIGZvciBXZWJLaXQgYW5kIFdlYktpdDIuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NDUKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVE
ZWZpbmVzLmgKaW5kZXggN2E1ODk3OTZkZDY0ZmM2MGNhZWVmNzViOGVhYWMzOTY2YzVkODc0Zi4u
NDk3N2I5ZWFhMzU2MTU4NWFmOTIzZjFkZWMxMTVhZjlhODViOWE2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJl
RGVmaW5lcy5oCkBAIC02NDIsNyArNjQyLDcgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxs
IGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNl
bmRpZgogCiAjaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5BQkxF
X1BPSU5URVJfTE9DSyAwCisjZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMQogI2VuZGlmCiAK
ICNpZiAhZGVmaW5lZChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDExMGU2NDc5MTE4ZjkxYWM0NWZkMDE0YjU4NzMwZTc0MDJkN2RmODkuLmYzOWQ4
ZDljODNmYzUzZDMzNzc5ZmQ2NjlkZDU5NGY2MmY4YTkyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNjA3OCw3ICs2MDc4LDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1
bGxTY3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50KiBkb2MpCiAKIHZvaWQgRG9jdW1lbnQ6
OmV4aXRQb2ludGVyTG9jaygpCiB7Ci0gICAgUGFnZSogcGFnZSA9IHRoaXM+cGFnZSgpOworICAg
IFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1
cm47CiAgICAgaWYgKGF1dG8qIHRhcmdldCA9IHBhZ2UtPnBvaW50ZXJMb2NrQ29udHJvbGxlcigp
LmVsZW1lbnQoKSkgewpAQCAtNjA5MCwxMCArNjA5MCwxMCBAQCB2b2lkIERvY3VtZW50OjpleGl0
UG9pbnRlckxvY2soKQogCiBFbGVtZW50KiBEb2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KCkg
Y29uc3QKIHsKLSAgICBQYWdlKiBwYWdlID0gdGhpcz5wYWdlKCk7CisgICAgUGFnZSogcGFnZSA9
IHRoaXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+cG9pbnRlckxvY2tDb250cm9s
bGVyKCkubG9ja1BlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0byog
ZWxlbWVudCA9IHBhZ2UoKS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVudCgpOworICAg
IGF1dG8qIGVsZW1lbnQgPSBwYWdlLT5wb2ludGVyTG9ja0NvbnRyb2xsZXIoKS5lbGVtZW50KCk7
CiAgICAgaWYgKCFlbGVtZW50IHx8ICZlbGVtZW50LT5kb2N1bWVudCgpICE9IHRoaXMpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBlbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCmluZGV4IDk4NjU1ZTY5OThjN2ZhYjA3
NDBmOGY5ZTAxNjc2OWQyYTc0ZDY2YzUuLmE5MzEyY2NhMzM4YzEwMDg2NWFiZDNiYmYyMmNiNTkw
YmQ5ZDI1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxl
ci5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCiAKIApAQCAtNTIsNiArNTMsMTIg
QEAgdm9pZCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayhFbGVtZW50
KiB0YXJnZXQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBTZXR0aW5ncyogc2V0dGlu
Z3MgPSB0YXJnZXQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKTsKKyAgICBpZiAoIXNldHRpbmdzIHx8
ICFzZXR0aW5ncy0+cG9pbnRlckxvY2tFbmFibGVkKCkpIHsKKyAgICAgICAgZW5xdWV1ZUV2ZW50
KGV2ZW50TmFtZXMoKS5wb2ludGVybG9ja2Vycm9yRXZlbnQsIHRhcmdldCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBpZiAodGFyZ2V0LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNh
bmRib3hQb2ludGVyTG9jaykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91
bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KICAgICAgICAgdGFy
Z2V0LT5kb2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5
LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgcG9pbnRlciBsb2Nr
IG9uIGFuIGVsZW1lbnQgYmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBh
bmQgdGhlICdhbGxvdy1wb2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCA4ZGM0ZjdjMmI1ZGExODY3NTUyMzkwZjExNDM1YmJj
YzlmMjk0MWRiLi5iMmU4NDA3MTYyNmUxZTY1YTNkNGNhZmZlZDYwOTY3YjYyNWNiY2JmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTI4NSwzICsyODUsNSBAQCBxdWlja1RpbWVQbHVnaW5S
ZXBsYWNlbWVudEVuYWJsZWQgaW5pdGlhbD1kZWZhdWx0UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1l
bnRFbmFibAogeW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkIGluaXRpYWw9ZGVm
YXVsdFlvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2VtZW50RW5hYmxlZAogCiBmb3JjZWRQcmVmZXJz
UmVkdWNlZE1vdGlvblZhbHVlIHR5cGU9Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSwg
aW5pdGlhbD1kZWZhdWx0Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZQorCitwb2ludGVy
TG9ja0VuYWJsZWQgaW5pdGlhbD1mYWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggYjlmNTU3ZGI3N2UwYjQ5MDgw
ZDQ3NzExMGEyMDA0MjgwZTIwZWZiNi4uY2JiMjZkYjY1MzNkNTc1ZjgxYTY1NWNiZTJkYmUxZWM2
YmFmZjQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xNjgsNiArMTY4LDcgQEAKICNkZWZpbmUgV2ViS2l0Q1NT
R3JpZExheW91dEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTR3JpZExheW91dEVuYWJs
ZWQiCiAjZGVmaW5lIFdlYktpdFZpc3VhbFZpZXdwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRWaXN1YWxWaWV3cG9ydEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1vZGVybk1lZGlhQ29u
dHJvbHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFi
bGVkIgorI2RlZmluZSBXZWJLaXRQb2ludGVyTG9ja0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0UG9pbnRlckxvY2tFbmFibGVkIgogCiAjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8vIFRoZXNl
IGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292
ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCmluZGV4IDA3NWQ5Y2E2MGExODk0NDI5YzIxZDJhYjZjMWVlNzhkNTg2
YzA1YWYuLjE5MjAwYjIzODM4ZDg0MzFlY2EyOTJjNWIyMTI2ZGVhNGU5NjJlYjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNTYyLDYgKzU2Miw5
IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV0lSRUxFU1NfVEFSR0VUX1BMQVlCQUNLKQogICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFsbG93c0FpclBsYXlGb3JN
ZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleSwKICNlbmRpZgorI2lmIEVOQUJMRShQT0lOVEVSX0xP
Q0spCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0UG9pbnRl
ckxvY2tFbmFibGVkUHJlZmVyZW5jZUtleSwKKyNlbmRpZgogICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10s
ICBXZWJLaXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRXYW50c0JhbGFuY2VkU2V0
RGVmZXJzTG9hZGluZ0JlaGF2aW9yS2V5LApAQCAtMjMzOCw2ICsyMzQxLDE2IEBAIHN0YXRpYyBO
U1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVl
OmZsYWcgZm9yS2V5OldlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrUHJl
ZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpcG9pbnRlckxvY2tFbmFibGVkCit7CisgICAgcmV0
dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UG9pbnRlckxvY2tFbmFibGVkUHJlZmVy
ZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0UG9pbnRlckxvY2tFbmFibGVkOihCT09MKWZsYWcK
K3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBvaW50ZXJMb2Nr
RW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKW1vY2tTY3JvbGxiYXJzRW5hYmxl
ZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdE1vY2tTY3JvbGxi
YXJzRW5hYmxlZFByZWZlcmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggMWU4MzA1NjdkZjk2ZDcyMzA4ODM2MDlj
YWM5MGQyZjU2ZWRjYjNmZi4uNzc2ZWM0OWM3Mzg1NTY0YWIwMDBiODU0ZWI3OTkxMDlmN2EzODhj
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCkBAIC0yNzcsNiArMjc3LDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNl
c0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtICh2b2lkKXNldEFsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOihCT09MKWZsYWc7CiAtIChCT09MKWFsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOwogCistICh2b2lkKXNldFBvaW50ZXJMb2Nr
RW5hYmxlZDooQk9PTClmbGFnOworLSAoQk9PTClwb2ludGVyTG9ja0VuYWJsZWQ7CisKIC0gKE5T
U3RyaW5nICopcGljdG9ncmFwaEZvbnRGYW1pbHk7CiAtICh2b2lkKXNldFBpY3RvZ3JhcGhGb250
RmFtaWx5OihOU1N0cmluZyAqKWZhbWlseTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCmluZGV4IGRjYmNmM2RlN2U2YWFjZmE5OWFmMGZhNDg1MDBjOWRlZTNlMTExNjYuLmU5N2Yz
OTFlM2ZlODk2MGRiMzA2MjZlZjVmOTExNDZlYWIyNzlhYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KQEAgLTIzNTUsNiArMjM1NSwxMCBAQCBzdGF0aWMgYm9vbCBuZWVkc1Nl
bGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGluZ3Muc2V0SmF2YVNjcmlwdENh
bkFjY2Vzc0NsaXBib2FyZChbcHJlZmVyZW5jZXMgamF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2Fy
ZF0pOwogICAgIHNldHRpbmdzLnNldFhTU0F1ZGl0b3JFbmFibGVkKFtwcmVmZXJlbmNlcyBpc1hT
U0F1ZGl0b3JFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0RE5TUHJlZmV0Y2hpbmdFbmFibGVk
KFtwcmVmZXJlbmNlcyBpc0ROU1ByZWZldGNoaW5nRW5hYmxlZF0pOworCisjaWYgRU5BQkxFKFBP
SU5URVJfTE9DSykKKyAgICBzZXR0aW5ncy5zZXRQb2ludGVyTG9ja0VuYWJsZWQoW3ByZWZlcmVu
Y2VzIHBvaW50ZXJMb2NrRW5hYmxlZF0pOworI2VuZGlmCiAgICAgCiAgICAgc2V0dGluZ3Muc2V0
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWREcmF3aW5nRW5h
YmxlZChbcHJlZmVyZW5jZXMgYWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZF0pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKaW5kZXggMDUz
OTRiNjViOTJlMmNlZTZiNjMxMmE0MDkwNGQ1YThmNzVkYmMxOS4uYmJjYTU5ZmY4ZDYwZDVkMzI1
YjQ2OGZlOTRkZmFkOTYwYmNkOGMyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC0yMzEsNiArMjMxLDcgQEAKICAgICBtYWNy
byhTZWxlY3Rpb25QYWludGluZ1dpdGhvdXRTZWxlY3Rpb25HYXBzRW5hYmxlZCwgc2VsZWN0aW9u
UGFpbnRpbmdXaXRob3V0U2VsZWN0aW9uR2Fwc0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRf
U0VMRUNUSU9OX1BBSU5USU5HX1dJVEhPVVRfU0VMRUNUSU9OX0dBUFNfRU5BQkxFRCwgIiIsICIi
KSBcCiAgICAgbWFjcm8oQXBwbGVQYXlFbmFibGVkLCBhcHBsZVBheUVuYWJsZWQsIEJvb2wsIGJv
b2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBtYWNybyhBcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9z
dXJlQWxsb3dlZCwgYXBwbGVQYXlDYXBhYmlsaXR5RGlzY2xvc3VyZUFsbG93ZWQsIEJvb2wsIGJv
b2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKFBvaW50ZXJMb2NrRW5hYmxlZCwgcG9pbnRl
ckxvY2tFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCiAgICAgXAogCiAjZGVm
aW5lIEZPUl9FQUNIX1dFQktJVF9ET1VCTEVfUFJFRkVSRU5DRShtYWNybykgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IDA3MzljYmU5MGQ5MWE1Y2Y0
YjlkYmRhMzMwZWRlZmIxNmVjYWM3MTQuLjAwN2VmM2I4NGI1NzcxNDRjOTU4NGJiMzVhMTc3ZDZm
ODhjOTc5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgK
QEAgLTgwLDYgKzgwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmdWxsc2NyZWVuTWF5
UmV0dXJuVG9JbmxpbmUoV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgZGlkRW50ZXJGdWxsc2NyZWVuKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIGRpZEV4aXRGdWxsc2NyZWVuKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQb2ludGVyTG9jayhXZWJLaXQ6OldlYlBhZ2VQcm94eSop
IHsgfQorCiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgdGFrZUZvY3VzKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV0tG
b2N1c0RpcmVjdGlvbikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
Y3BwCmluZGV4IDg2OTlhMDM0NWYzZWMzYWZkMzBiODZlMzc1YWRjNWYyYjA1NThhNWMuLjJhMGFi
MjRjNDEyZmU2YTdiNzcwMDA4Y2I3MGM3OThjNTYyOGY0M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgdGVtcGxhdGU8PiBz
dHJ1Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZVBvbGljeUNsaWVudEJhc2U+IHsKIH07CiAKIHRlbXBs
YXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1BhZ2VVSUNsaWVudEJhc2U+IHsKLSAgICB0eXBl
ZGVmIHN0ZDo6dHVwbGU8V0tQYWdlVUlDbGllbnRWMCwgV0tQYWdlVUlDbGllbnRWMSwgV0tQYWdl
VUlDbGllbnRWMiwgV0tQYWdlVUlDbGllbnRWMywgV0tQYWdlVUlDbGllbnRWNCwgV0tQYWdlVUlD
bGllbnRWNSwgV0tQYWdlVUlDbGllbnRWNiwgV0tQYWdlVUlDbGllbnRWNz4gVmVyc2lvbnM7Cisg
ICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAsIFdLUGFnZVVJQ2xpZW50VjEs
IFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xpZW50VjMsIFdLUGFnZVVJQ2xpZW50VjQsIFdL
UGFnZVVJQ2xpZW50VjUsIFdLUGFnZVVJQ2xpZW50VjYsIFdLUGFnZVVJQ2xpZW50VjcsIFdLUGFn
ZVVJQ2xpZW50Vjg+IFZlcnNpb25zOwogfTsKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpA
QCAtMjIxOCw2ICsyMjE4LDE1IEBAIHZvaWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJl
ZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VVSUNsaWVudEJhc2UqIHdrQ2xpZW50CiAgICAgICAgICAg
ICBtX2NsaWVudC5tZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZSh0b0FQSSgmcGFnZSksIHRv
QVBJKG1ldGFkYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogI2Vu
ZGlmCisgICAgICAgIAorICAgICAgICB2b2lkIHJlcXVlc3RQb2ludGVyTG9jayhXZWJQYWdlUHJv
eHkqIHBhZ2UpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQu
cmVxdWVzdFBvaW50ZXJMb2NrKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgbV9jbGllbnQucmVxdWVzdFBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICB9CisKICAgICB9OwogCiAgICAgdG9J
bXBsKHBhZ2VSZWYpLT5zZXRVSUNsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFVJQ2xpZW50Pih3a0Ns
aWVudCkpOwpAQCAtMjYwNiw2ICsyNjE1LDI0IEBAIHZvaWQgV0tQYWdlU2V0TXV0ZWQoV0tQYWdl
UmVmIHBhZ2UsIGJvb2wgbXV0ZWQpCiAgICAgdG9JbXBsKHBhZ2UpLT5zZXRNdXRlZChtdXRlZCk7
CiB9CiAKK3ZvaWQgV0tQYWdlRGlkQWxsb3dQb2ludGVyTG9jayhXS1BhZ2VSZWYgcGFnZSkKK3sK
KyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIHRvSW1wbChwYWdlKS0+ZGlkQWxsb3dQb2lu
dGVyTG9jaygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CisjZW5kaWYKK30KKwor
dm9pZCBXS1BhZ2VEaWREZW55UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpCit7CisjaWYgRU5B
QkxFKFBPSU5URVJfTE9DSykKKyAgICB0b0ltcGwocGFnZSktPmRpZERlbnlQb2ludGVyTG9jaygp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CisjZW5kaWYKK30KKwogYm9vbCBXS1Bh
Z2VIYXNNZWRpYVNlc3Npb25XaXRoQWN0aXZlTWVkaWFFbGVtZW50cyhXS1BhZ2VSZWYgcGFnZSkK
IHsKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCmluZGV4IDM2N2I4ZjI2MGM5NTc3MzU4ZDBjYWYxOTZi
MmVhNzUyOTlhYjE5MTIuLjYzN2Y2M2RjN2U5Y2NjNGEyN2I0OGYyYjJiYWNkNTYzODhlODEyODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaApA
QCAtMTIxLDYgKzEyMSw5IEBAIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldEFkZHNWaXNpdGVkTGlu
a3MoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgdmlzaXRlZExpbmtzKTsKIAogV0tfRVhQT1JUIGJvb2wg
V0tQYWdlSXNQbGF5aW5nQXVkaW8oV0tQYWdlUmVmIHBhZ2UpOwogV0tfRVhQT1JUIHZvaWQgV0tQ
YWdlU2V0TXV0ZWQoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgbXV0ZWQpOworICAgIAorV0tfRVhQT1JU
IHZvaWQgV0tQYWdlRGlkQWxsb3dQb2ludGVyTG9jayhXS1BhZ2VSZWYgcGFnZSk7CitXS19FWFBP
UlQgdm9pZCBXS1BhZ2VEaWREZW55UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpOwogCiBlbnVt
IHsKICAgICBrV0tNZWRpYUlzTm90UGxheWluZyA9IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IGU3NWNjZmJkYWMyOGZhZmI4NzQy
ZTg5ZTU4MjA5NDgwMGYxMDIzM2IuLmQ2ZTA5Mjg4YmNlN2Q3OWNmNDk2MDA4ZmU1NzI3ZWM0YWQz
OWIyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VV
SUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNs
aWVudC5oCkBAIC0xMDQsNiArMTA0LDggQEAgdHlwZWRlZiB2b2lkICgqV0tQYWdlRGlkQ2xpY2tB
dXRvRmlsbEJ1dHRvbkNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tUeXBlUmVmIHUKIHR5cGVk
ZWYgdm9pZCAoKldLUGFnZU1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlQ2FsbGJhY2spKFdL
UGFnZVJlZiBwYWdlLCBXS01lZGlhU2Vzc2lvbk1ldGFkYXRhUmVmIG1ldGFkYXRhLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLRnVsbHNjcmVlbk1heVJldHVyblRv
SW5saW5lQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
IAordHlwZWRlZiB2b2lkICgqV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxsYmFjaykoV0tQYWdlUmVm
IHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworCiAvLyBEZXByZWNhdGVkCiB0eXBlZGVm
IFdLUGFnZVJlZiAoKldLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNl
V2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50
TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAgICAgICgqV0tQYWdlTW91c2VEaWRN
b3ZlT3ZlckVsZW1lbnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYg
cGFnZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbyk7CkBAIC02MzYsNiArNjM4LDkzIEBAIHR5cGVkZWYgc3RydWN0
IFdLUGFnZVVJQ2xpZW50VjcgewogICAgIFdLRnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbHNjcmVlbk1heVJldHVyblRv
SW5saW5lOwogfSBXS1BhZ2VVSUNsaWVudFY3OwogCit0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNs
aWVudFY4IHsKKyAgICBXS1BhZ2VVSUNsaWVudEJhc2UgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U7CisgICAgCisgICAgLy8gVmVyc2lvbiAwLgor
ICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAg
ICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAg
IFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2hvd1BhZ2U7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZTsKKyAgICBXS1BhZ2VU
YWtlRm9jdXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRha2VGb2N1czsKKyAgICBXS1BhZ2VGb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzOworICAgIFdLUGFnZVVuZm9jdXND
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5m
b2N1czsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFja19kZXByZWNhdGVkRm9y
VXNlV2l0aFYwICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9yVXNl
V2l0aFYwOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtQ2FsbGJhY2tfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCAgICAgICAgICAgcnVuSmF2YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZv
clVzZVdpdGhWMDsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2tfZGVwcmVj
YXRlZEZvclVzZVdpdGhWMCAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHRfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VTZXRTdGF0dXNUZXh0Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXR1c1RleHQ7CisgICAgV0tQYWdl
TW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAg
ICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAg
IFdLUGFnZU1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVz
ZVdpdGhWMCAgICAgbWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRfZGVwcmVjYXRlZEZvclVzZVdp
dGhWMDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVLZXlFdmVudENhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZUtleUV2ZW50OworICAgIFdLUGFnZURp
ZE5vdEhhbmRsZVdoZWVsRXZlbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGlkTm90SGFuZGxlV2hlZWxFdmVudDsKKyAgICBXS1BhZ2VHZXRUb29sYmFyc0FyZVZpc2li
bGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xiYXJzQXJlVmlz
aWJsZTsKKyAgICBXS1BhZ2VTZXRUb29sYmFyc0FyZVZpc2libGVDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNldFRvb2xiYXJzQXJlVmlzaWJsZTsKKyAgICBXS1BhZ2VH
ZXRNZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlU2V0TWVudUJhcklzVmlzaWJsZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNZW51QmFySXNWaXNpYmxl
OworICAgIFdLUGFnZUdldFN0YXR1c0JhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdHVzQmFySXNWaXNpYmxlOworICAgIFdLUGFnZVNldFN0YXR1
c0JhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0
U3RhdHVzQmFySXNWaXNpYmxlOworICAgIFdLUGFnZUdldElzUmVzaXphYmxlQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNSZXNpemFibGU7CisgICAgV0tQ
YWdlU2V0SXNSZXNpemFibGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZXRJc1Jlc2l6YWJsZTsKKyAgICBXS1BhZ2VHZXRXaW5kb3dGcmFtZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFdpbmRvd0ZyYW1lOwor
ICAgIFdLUGFnZVNldFdpbmRvd0ZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2V0V2luZG93RnJhbWU7CisgICAgV0tQYWdlUnVuQmVmb3JlVW5sb2Fk
Q29uZmlybVBhbmVsQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNiAgICBydW5CZWZvcmVV
bmxvYWRDb25maXJtUGFuZWxfZGVwcmVjYXRlZEZvclVzZVdpdGhWNjsKKyAgICBXS1BhZ2VVSUNs
aWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZERyYXc7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGlkU2Nyb2xsOworICAgIFdLUGFnZUV4Y2Vl
ZGVkRGF0YWJhc2VRdW90YUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZXhjZWVkZWREYXRhYmFzZVF1b3RhOworICAgIFdLUGFnZVJ1bk9wZW5QYW5lbENhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuT3BlblBhbmVsOworICAg
IFdLUGFnZURlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RDYWxsYmFj
ayAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdDsK
KyAgICBXS1BhZ2VIZWFkZXJIZWlnaHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhlYWRlckhlaWdodDsKKyAgICBXS1BhZ2VGb290ZXJIZWlnaHRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvb3RlckhlaWdo
dDsKKyAgICBXS1BhZ2VEcmF3SGVhZGVyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRyYXdIZWFkZXI7CisgICAgV0tQYWdlRHJhd0Zvb3RlckNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3Rm9vdGVy
OworICAgIFdLUGFnZVByaW50RnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHJpbnRGcmFtZTsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk1vZGFsOwor
ICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW51c2VkMTsgLy8gVXNlZCB0byBiZSBkaWRDb21wbGV0ZVJ1YmJlckJh
bmRGb3JNYWluRnJhbWUKKyAgICBXS1BhZ2VTYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVy
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNG
b2xkZXI7CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0X3VuYXZhaWxh
YmxlOworICAgIAorICAgIC8vIFZlcnNpb24gMS4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2Fs
bGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMSAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1Bh
Z2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMTsKKyAgICBXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxl
bWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlRGlkTW92ZU92
ZXJFbGVtZW50OworICAgIFdLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2Vk
Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMSB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNs
aWNrZWRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDIuCisg
ICAgV0tQYWdlU2hvd0NvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaG93Q29sb3JQaWNrZXI7CisgICAgV0tQYWdlSGlkZUNvbG9yUGlja2Vy
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlQ29sb3JQ
aWNrZXI7CisgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQ7Cisg
ICAgCisgICAgLy8gVmVyc2lvbiAzLgorICAgIFdLUGFnZVBpbm5lZFN0YXRlRGlkQ2hhbmdlQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlubmVkU3RhdGVEaWRDaGFu
Z2U7CisgICAgCisgICAgLy8gVmVyc2lvbiA0LgorICAgIHZvaWQqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkMjsgLy8g
VXNlZCB0byBiZSBkaWRCZWdpblRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MuCisgICAg
dm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnVzZWQzOyAvLyBVc2VkIHRvIGJlIGRpZFJlY29nbml6ZUxvbmdNb3VzZVBy
ZXNzLgorICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW51c2VkNDsgLy8gVXNlZCB0byBiZSBkaWRDYW5jZWxUcmFj
a2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzLgorICAgIFdLUGFnZUlzUGxheWluZ0F1ZGlvRGlk
Q2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQbGF5aW5nQXVk
aW9EaWRDaGFuZ2U7CisgICAgCisgICAgLy8gVmVyc2lvbiA1LgorICAgIFdLUGFnZURlY2lkZVBv
bGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgICAgZGVj
aWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdlRGlkQ2xp
Y2tBdXRvRmlsbEJ1dHRvbkNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
aWRDbGlja0F1dG9GaWxsQnV0dG9uOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxi
YWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjU7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1D
YWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29u
ZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9t
cHRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICAgcnVuSmF2YVNjcmlw
dFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFnZU1lZGlhU2Vzc2lvbk1l
dGFkYXRhRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFTZXNz
aW9uTWV0YWRhdGFEaWRDaGFuZ2U7CisgICAgCisgICAgLy8gVmVyc2lvbiA2LgorICAgIFdLUGFn
ZUNyZWF0ZU5ld1BhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY3JlYXRlTmV3UGFnZTsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydDsK
KyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtOworICAgIFdLUGFnZVJ1bkphdmFT
Y3JpcHRQcm9tcHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVu
SmF2YVNjcmlwdFByb21wdDsKKyAgICBXS0NoZWNrVXNlck1lZGlhUGVybWlzc2lvbkNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVXNlck1lZGlhUGVybWlzc2lv
bkZvck9yaWdpbjsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDcuCisgICAgV0tQYWdlUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5C
ZWZvcmVVbmxvYWRDb25maXJtUGFuZWw7CisgICAgV0tGdWxsc2NyZWVuTWF5UmV0dXJuVG9Jbmxp
bmVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsc2NyZWVuTWF5UmV0
dXJuVG9JbmxpbmU7CisgICAgCisgICAgLy8gVmVyc2lvbiA4LgorICAgIFdLUmVxdWVzdFBvaW50
ZXJMb2NrQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVx
dWVzdFBvaW50ZXJMb2NrOworfSBXS1BhZ2VVSUNsaWVudFY4OworICAgIAogI2lmZGVmIF9fY3Bs
dXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcAppbmRleCBjN2JhMWI0ZDM0NzlhNWJjZTJiZjA3N2E3NTgyNDAzZGVj
ZDMxNGZkLi40NDgyOWJlNGQxNjRhMzU2NDQ4YTk4YTZlYzg3NTY4NTg0ZWViYjE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0x
NTYwLDMgKzE1NjAsMTQgQEAgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QXBwbGVQYXlDYXBhYmlsaXR5
RGlzY2xvc3VyZUFsbG93ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXIKIHsKICAgICBXZWJLaXQ6
OnRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVB
bGxvd2VkKGFsbG93ZWQpOwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRQb2ludGVyTG9ja0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQorewor
ICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFBvaW50ZXJMb2NrRW5hYmxlZChlbmFibGVk
KTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0UG9pbnRlckxvY2tFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNl
c1JlZiktPnBvaW50ZXJMb2NrRW5hYmxlZCgpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaAppbmRleCBlMDg4YzAxOGU4ZDkyOTVk
NzM3N2RlNzMyMWI4MGM2M2VhMjc1ZGUwLi40NzYzYzY1NTIzNjg0Y2U4ODMxZjkwODFlZWJmOTVl
MDU0YTcwODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzUmVmLmgKQEAgLTI4NCw2ICsyODQsMTEgQEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldEFwcGxlUGF5RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
LAogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Ns
b3N1cmVBbGxvd2VkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2Vk
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgYWxsb3dlZCk7CiAKKy8vIERl
ZmF1bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UG9pbnRlckxv
Y2tFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7
CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UG9pbnRlckxvY2tFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCisgICAgCiAjaWZkZWYgX19jcGx1c3BsdXMK
IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCAzNmY2MDE0OTkzYjAxYjczNzIyZmUzODE2YWY2ZjJiZWVmZDU1NTc1Li45NzE4ZTkzYTcwOGY5
OWQ2Nzk3YzIwODdlZThiN2Q4NWYwOTM5NjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtNjYzMCwxMSArNjYzMCwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6c2V0VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihXZWJDb3JlOjpVc2VySW50ZXJmYWNl
TGF5b3V0RAogdm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RQb2ludGVyTG9jaygpCiB7CiAgICAg
aWYgKCFpc1ZpZXdWaXNpYmxlKCkpIHsKLSAgICAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlOjpEaWROb3RBY3F1aXJlUG9pbnRlckxvY2soKSwgbV9wYWdlSUQpOworICAgICAg
ICBkaWREZW55UG9pbnRlckxvY2soKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGRp
ZEFsbG93UG9pbnRlckxvY2soKTsKKyAgICBtX3VpQ2xpZW50LT5yZXF1ZXN0UG9pbnRlckxvY2so
dGhpcyk7CiB9CiAgICAgCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQWxsb3dQb2ludGVyTG9jaygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
MjEyZjE0YWEzNjgxMGJjN2M1NGJiMzYyOTNmNjZkODBkNjBkNWFkNy4uOTFlOWEwYTZiZDI3MjY5
NDI3NzMyYTJhOTNmY2IwYTIxMjAzYWU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzAyNCw2ICszMDI0LDcgQEAgdm9pZCBXZWJQYWdl
Ojp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICNp
ZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogICAgIHNldHRpbmdzLnNldEF0dGFjaG1lbnRF
bGVtZW50RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OmF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZEtleSgpKSk7CiAjZW5kaWYKKyAgICBzZXR0aW5ncy5z
ZXRQb2ludGVyTG9ja0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5Ojpwb2ludGVyTG9ja0VuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEFsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tLZXko
KSkpOwogICAgIHNldHRpbmdzLnNldE1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbShzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1lZGlhQ29udHJvbHNTY2Fs
ZVdpdGhQYWdlWm9vbUtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0TW9ja1Njcm9sbGJhcnNFbmFi
bGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bW9ja1Njcm9s
bGJhcnNFbmFibGVkS2V5KCkpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292503</attachid>
            <date>2016-10-22 11:45:41 -0700</date>
            <delta_ts>2016-11-07 10:33:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163801-20161022114202.patch</filename>
            <type>text/plain</type>
            <size>34596</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc3OWFlNGNkYjlmNWJlNmJjY2E4NDA5
YTBkMjc0N2E5M2Y0NGQ3MmYuLjJlOWI1NmQ0YWM0OTMwNTQzM2MyMjdhMGY5MWU0OWM4ODA5OTBj
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMTAtMjEgIEplcmVteSBKb25lcyAgPGplcmVt
eWpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50
ZXIgbG9jay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5l
cy5oOiBFTkFCTEVfUE9JTlRFUl9MT0NLIHRydWUgZm9yIE1hYy4KKwogMjAxNi0xMC0yMCAgS2Vp
dGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgV0FTTSBjYWxscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRkODdkMjJiNTdhNGM4YzQ2M2FkMWE4NDRm
OTYyMzBhN2I1MTg0N2UuLjQ4OGJlZTk5ODJjZGQ2NzU5NGY1NzA4OTMwNTEwYTIxOTc5OWUxYzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNi0xMC0yMSAgSmVyZW15IEpvbmVzICA8
amVyZW15akBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUg
cG9pbnRlciBsb2NrLiBFbmFibGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIHRlc3RzIG5v
dyBwYXNzIHdpdGggRHVtcFJlbmRlclRyZWUuCisgICAgICAgIExheW91dFRlc3RzL3BvaW50ZXIt
bG9jay9sb2NrLWFscmVhZHktbG9ja2VkLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRl
ci1sb2NrL2xvY2stZWxlbWVudC1ub3QtaW4tZG9tLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMv
cG9pbnRlci1sb2NrL2xvY2tlZC1lbGVtZW50LWlmcmFtZS1yZW1vdmVkLWZyb20tZG9tLmh0bWwK
KyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL21vdXNlLWV2ZW50LWFwaS5odG1sCisK
KyAgICAgICAgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2sgbm93IHBy
b3RlY3RzIGFnYWluc3Qgc3luY2hyb25vdXMgY2FsbGJhY2sKKyAgICAgICAgdG8gYWxsb3dQb2lu
dGVyTG9jaygpLgorCisgICAgICAgIEFkZCBwb2ludGVyTG9ja0VuYWJsZWQgc2V0dGluZy4KKwor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
ZXhpdFBvaW50ZXJMb2NrKTogRml4IGV4aXN0aW5nIHR5cG8uCisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KTogRGl0dG8uCisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJM
b2NrKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOgorCiAyMDE2LTEwLTIxICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBJRExdIE1lZGlhQ29udHJv
bHNIb3N0IGhhcyBpbnZhbGlkIG9wZXJhdGlvbiBvdmVybG9hZHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCA2YTZlZTRjZDI2OWQzNzViODM2MThmYWM5NTk1NDM0OGUxYjBiYjQ1Li5kYTczODQ1YmVlNTE2
M2VjYmE2OGUwZGI2NWQyNzEzY2RkMzg5YzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MjQgQEAKIDIwMTYtMTAtMjEgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCisg
ICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9jay4gRW5hYmxlIHBv
aW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQbHVtYiB0aHJvdWdoIFBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0
aW5nLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlh
bGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBwb2ludGVyTG9ja0VuYWJsZWRdKToK
KyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0UG9pbnRlckxvY2tFbmFibGVkOl0pOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmll
dy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6
CisKKzIwMTYtMTAtMjEgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgorCiAgICAg
ICAgIEltcGxlbWVudCBiYXNpYyBwb2ludGVyIGxvY2sgYmVoYXZpb3IgZm9yIFdlYktpdCBhbmQg
V2ViS2l0Mi4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2Mjc0NQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjc3Yzk4MDdlMzU5OGEyMjc4OTk1MjQ3NWI5ZTBkNDA4
OGYwYTUxYS4uNzIyNjI4YWFhZmZmNDViZWFlZGZjNmMyYzc3YTk0ZGIyZDZmNDc2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDE2LTEwLTIxICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlq
QGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgcnVudGltZSBmbGFnIHRvIGVuYWJsZSBwb2ludGVy
IGxvY2suIEVuYWJsZSBwb2ludGVyIGxvY2sgZmVhdHVyZSBmb3IgbWFjLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzODAxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGx1bWIgdGhyb3VnaCBSZXF1ZXN0
UG9pbnRlckxvY2sgdG8gdGhlIFdLUGFnZVVJQ2xpZW50LgorICAgICAgICBBZGRpbmcgYSBuZXcg
bWV0aG9kIHJlcXVpcmVzIGEgbmV3IFdLUGFnZVVJQ2xpZW50IHZlcnNpb246IFdLUGFnZVVJQ2xp
ZW50VjggCisgICAgICAgIFBsdW1iIHRocm91Z2ggUG9pbnRlckxvY2tFbmFibGVkIHNldHRpbmcu
CisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlDbGllbnQ6
OnJlcXVlc3RQb2ludGVyTG9jayk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQpOgorICAgICAgICAoV0tQYWdlRGlk
QWxsb3dQb2ludGVyTG9jayk6CisgICAgICAgIChXS1BhZ2VEaWREZW55UG9pbnRlckxvY2spOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldFBvaW50ZXJMb2Nr
RW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UG9pbnRlckxvY2tFbmFibGVkKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZi5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gaW5pdF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGVu
Y29kZVdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBpbml0
V2l0aENvZGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGNvcHlXaXRo
Wm9uZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UG9pbnRlckxvY2spOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
dXBkYXRlUHJlZmVyZW5jZXMpOgorCisyMDE2LTEwLTIxICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlq
QGFwcGxlLmNvbT4KKwogICAgICAgICBJbXBsZW1lbnQgYmFzaWMgcG9pbnRlciBsb2NrIGJlaGF2
aW9yIGZvciBXZWJLaXQgYW5kIFdlYktpdDIuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NDUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXgg
N2E1ODk3OTZkZDY0ZmM2MGNhZWVmNzViOGVhYWMzOTY2YzVkODc0Zi4uNDk3N2I5ZWFhMzU2MTU4
NWFmOTIzZjFkZWMxMTVhZjlhODViOWE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVh
dHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC02
NDIsNyArNjQyLDcgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0byB1
cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNlbmRpZgogCiAjaWYgIWRl
ZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKLSNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAw
CisjZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMQogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDExMGU2
NDc5MTE4ZjkxYWM0NWZkMDE0YjU4NzMwZTc0MDJkN2RmODkuLmYzOWQ4ZDljODNmYzUzZDMzNzc5
ZmQ2NjlkZDU5NGY2MmY4YTkyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjA3OCw3
ICs2MDc4LDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1bGxTY3JlZW5DaGFuZ2VF
dmVudFF1ZXVlKERvY3VtZW50KiBkb2MpCiAKIHZvaWQgRG9jdW1lbnQ6OmV4aXRQb2ludGVyTG9j
aygpCiB7Ci0gICAgUGFnZSogcGFnZSA9IHRoaXM+cGFnZSgpOworICAgIFBhZ2UqIHBhZ2UgPSB0
aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKGF1
dG8qIHRhcmdldCA9IHBhZ2UtPnBvaW50ZXJMb2NrQ29udHJvbGxlcigpLmVsZW1lbnQoKSkgewpA
QCAtNjA5MCwxMCArNjA5MCwxMCBAQCB2b2lkIERvY3VtZW50OjpleGl0UG9pbnRlckxvY2soKQog
CiBFbGVtZW50KiBEb2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KCkgY29uc3QKIHsKLSAgICBQ
YWdlKiBwYWdlID0gdGhpcz5wYWdlKCk7CisgICAgUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKTsK
ICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkubG9ja1BlbmRp
bmcoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0byogZWxlbWVudCA9IHBhZ2Uo
KS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVudCgpOworICAgIGF1dG8qIGVsZW1lbnQg
PSBwYWdlLT5wb2ludGVyTG9ja0NvbnRyb2xsZXIoKS5lbGVtZW50KCk7CiAgICAgaWYgKCFlbGVt
ZW50IHx8ICZlbGVtZW50LT5kb2N1bWVudCgpICE9IHRoaXMpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIHJldHVybiBlbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
CmluZGV4IDRkMzk5NTk4MTQ2MjU1OTNmMzRiZDU4Y2U3ZTFmMDIzYmFiYTU1NjcuLjY5OWVmOGVl
YjVmOWZhZDQ3ODFhNjcyYTYxZDM0ODFiMTZhNTQ1NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKQEAgLTczLDcgKzczLDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUtleWJvYXJk
RXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJQbHVn
aW5Eb2N1bWVudC5oIgotI2luY2x1ZGUgIlBvaW50ZXJMb2NrQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIlJlbmRlckZyYW1lU2V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRl
ICJSZW5kZXJMaXN0Qm94LmgiCkBAIC0xMjEsNiArMTIwLDEwIEBACiAjaW5jbHVkZSAiUGxhdGZv
cm1HZXN0dXJlRXZlbnRNYWMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykK
KyNpbmNsdWRlICJQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggOTg2NTVlNjk5OGM3ZmFiMDc0
MGY4ZjllMDE2NzY5ZDJhNzRkNjZjNS4uYTkzMTJjY2EzMzhjMTAwODY1YWJkM2JiZjIyY2I1OTBi
ZDlkMjVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVy
LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCisjaW5jbHVkZSAiU2V0
dGluZ3MuaCIKICNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKIAogCkBAIC01Miw2ICs1MywxMiBA
QCB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKEVsZW1lbnQq
IHRhcmdldCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIFNldHRpbmdzKiBzZXR0aW5n
cyA9IHRhcmdldC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpOworICAgIGlmICghc2V0dGluZ3MgfHwg
IXNldHRpbmdzLT5wb2ludGVyTG9ja0VuYWJsZWQoKSkgeworICAgICAgICBlbnF1ZXVlRXZlbnQo
ZXZlbnROYW1lcygpLnBvaW50ZXJsb2NrZXJyb3JFdmVudCwgdGFyZ2V0KTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIGlmICh0YXJnZXQtPmRvY3VtZW50KCkuaXNTYW5kYm94ZWQoU2Fu
ZGJveFBvaW50ZXJMb2NrKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3Vs
ZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgogICAgICAgICB0YXJn
ZXQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHks
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBwb2ludGVyIGxvY2sg
b24gYW4gZWxlbWVudCBiZWNhdXNlIHRoZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFu
ZCB0aGUgJ2FsbG93LXBvaW50ZXItbG9jaycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDhkYzRmN2MyYjVkYTE4Njc1NTIzOTBmMTE0MzViYmNj
OWYyOTQxZGIuLmIyZTg0MDcxNjI2ZTFlNjVhM2Q0Y2FmZmVkNjA5NjdiNjI1Y2JjYmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtMjg1LDMgKzI4NSw1IEBAIHF1aWNrVGltZVBsdWdpblJl
cGxhY2VtZW50RW5hYmxlZCBpbml0aWFsPWRlZmF1bHRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVu
dEVuYWJsCiB5b3VUdWJlRmxhc2hQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQgaW5pdGlhbD1kZWZh
dWx0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkCiAKIGZvcmNlZFByZWZlcnNS
ZWR1Y2VkTW90aW9uVmFsdWUgdHlwZT1Gb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlLCBp
bml0aWFsPWRlZmF1bHRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlCisKK3BvaW50ZXJM
b2NrRW5hYmxlZCBpbml0aWFsPWZhbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYmY5YWY1NTMyOWQwODEzMDZkYmMx
OTlhM2NhM2NiOWJhMjIxMmYxOC4uMGZjYzBkMTRhYTNkYTI5N2ZkMzc1YWNiYzU0ZTAzZjM0ZWE0
ZDFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbQpAQCAtNzcsNyArNzcsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBs
ZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Bs
YXRmb3JtU2NyZWVuLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUv
U2VyaWFsaXplZENyeXB0b0tleVdyYXAuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2lkZ2V0Lmg+CkBA
IC05NSw2ICs5NCwxMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9HZW9sb2NhdGlvbi5oPgogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorI2ltcG9ydCA8V2ViQ29yZS9Qb2ludGVyTG9j
a0NvbnRyb2xsZXIuaD4KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8V2Vi
Q29yZS9XQUtDbGlwVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XQUtXaW5kb3cuaD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CmluZGV4IGI5ZjU1N2RiNzdlMGI0OTA4MGQ0NzcxMTBhMjAwNDI4MGUyMGVmYjYuLmNiYjI2ZGI2
NTMzZDU3NWY4MWE2NTVjYmUyZGJlMWVjNmJhZmY0OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTY4LDYgKzE2
OCw3IEBACiAjZGVmaW5lIFdlYktpdENTU0dyaWRMYXlvdXRFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdENTU0dyaWRMYXlvdXRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRWaXN1YWxWaWV3cG9y
dEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VmlzdWFsVmlld3BvcnRFbmFibGVkIgogI2Rl
ZmluZSBXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UG9pbnRlckxvY2tF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBvaW50ZXJMb2NrRW5hYmxlZCIKIAogI2lmICFU
QVJHRVRfT1NfSVBIT05FCiAvLyBUaGVzZSBhcmUgcHJpdmF0ZSBib3RoIGJlY2F1c2UgY2FsbGVy
cyBzaG91bGQgYmUgdXNpbmcgdGhlIGNvdmVyIG1ldGhvZHMgYW5kIGJlY2F1c2UgdGhlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAwNzVkOWNhNjBh
MTg5NDQyOWMyMWQyYWI2YzFlZTc4ZDU4NmMwNWFmLi41NTlkMmJiNzc1ODU5NmY3OWIwMDlmMzZj
YTM4MWI0ZDU1MjJhMDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KQEAgLTU2Miw2ICs1NjIsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdJUkVMRVNT
X1RBUkdFVF9QTEFZQkFDSykKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10s
ICBXZWJLaXRBbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXksCiAjZW5k
aWYKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRQb2ludGVy
TG9ja0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJv
b2w6WUVTXSwgIFdlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrUHJlZmVy
ZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRS
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRXYW50c0JhbGFuY2VkU2V0RGVmZXJzTG9h
ZGluZ0JlaGF2aW9yS2V5LApAQCAtMjMzOCw2ICsyMzM5LDE2IEBAIHN0YXRpYyBOU1N0cmluZyAq
Y2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9y
S2V5OldlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtl
eV07CiB9CiAKKy0gKEJPT0wpcG9pbnRlckxvY2tFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxm
IF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UG9pbnRlckxvY2tFbmFibGVkUHJlZmVyZW5jZUtleV07
Cit9CisKKy0gKHZvaWQpc2V0UG9pbnRlckxvY2tFbmFibGVkOihCT09MKWZsYWcKK3sKKyAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBvaW50ZXJMb2NrRW5hYmxlZFBy
ZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKW1vY2tTY3JvbGxiYXJzRW5hYmxlZAogewogICAg
IHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdE1vY2tTY3JvbGxiYXJzRW5hYmxl
ZFByZWZlcmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggMWU4MzA1NjdkZjk2ZDcyMzA4ODM2MDljYWM5MGQyZjU2
ZWRjYjNmZi4uNzc2ZWM0OWM3Mzg1NTY0YWIwMDBiODU0ZWI3OTkxMDlmN2EzODhjYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBA
IC0yNzcsNiArMjc3LDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9k
ZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtICh2b2lkKXNldEFsbG93c1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrOihCT09MKWZsYWc7CiAtIChCT09MKWFsbG93c1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrOwogCistICh2b2lkKXNldFBvaW50ZXJMb2NrRW5hYmxlZDoo
Qk9PTClmbGFnOworLSAoQk9PTClwb2ludGVyTG9ja0VuYWJsZWQ7CisKIC0gKE5TU3RyaW5nICop
cGljdG9ncmFwaEZvbnRGYW1pbHk7CiAtICh2b2lkKXNldFBpY3RvZ3JhcGhGb250RmFtaWx5OihO
U1N0cmluZyAqKWZhbWlseTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4
IGRjYmNmM2RlN2U2YWFjZmE5OWFmMGZhNDg1MDBjOWRlZTNlMTExNjYuLjBkMTcxMWQwODRiYWY4
MGIyNzhiMWRiMmFjN2VhNzM2NzlmNDc0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KQEAgLTIzNTUsNyArMjM1NSw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldo
aWxlTG9hZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xp
cGJvYXJkKFtwcmVmZXJlbmNlcyBqYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkXSk7CiAgICAg
c2V0dGluZ3Muc2V0WFNTQXVkaXRvckVuYWJsZWQoW3ByZWZlcmVuY2VzIGlzWFNTQXVkaXRvckVu
YWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRETlNQcmVmZXRjaGluZ0VuYWJsZWQoW3ByZWZlcmVu
Y2VzIGlzRE5TUHJlZmV0Y2hpbmdFbmFibGVkXSk7Ci0gICAgCisKICAgICBzZXR0aW5ncy5zZXRB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgYWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRBY2NlbGVyYXRlZERyYXdpbmdFbmFi
bGVkKFtwcmVmZXJlbmNlcyBhY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkXSk7CiAgICAgc2V0dGlu
Z3Muc2V0RGlzcGxheUxpc3REcmF3aW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgZGlzcGxheUxpc3RE
cmF3aW5nRW5hYmxlZF0pOwpAQCAtMjUyOSw2ICsyNTI5LDEwIEBAIHN0YXRpYyBib29sIG5lZWRz
U2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKIAogICAgIHNldHRpbmdzLnNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkKFtwcmVmZXJlbmNlcyByZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RW5hYmxlZF0pOwogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICBzZXR0aW5ncy5zZXRQ
b2ludGVyTG9ja0VuYWJsZWQoW3ByZWZlcmVuY2VzIHBvaW50ZXJMb2NrRW5hYmxlZF0pOworI2Vu
ZGlmCisKICNpZiBFTkFCTEUoR0FNRVBBRCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldEdhbWVwYWRzRW5hYmxlZChbcHJlZmVyZW5jZXMgZ2FtZXBhZHNF
bmFibGVkXSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cmVmZXJlbmNlc0RlZmluaXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZpbml0aW9ucy5oCmluZGV4IDA1Mzk0YjY1YjkyZTJjZWU2YjYzMTJhNDA5MDRkNWE4
Zjc1ZGJjMTkuLmJiY2E1OWZmOGQ2MGQ1ZDMyNWI0NjhmZTk0ZGZhZDk2MGJjZDhjMmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaApA
QCAtMjMxLDYgKzIzMSw3IEBACiAgICAgbWFjcm8oU2VsZWN0aW9uUGFpbnRpbmdXaXRob3V0U2Vs
ZWN0aW9uR2Fwc0VuYWJsZWQsIHNlbGVjdGlvblBhaW50aW5nV2l0aG91dFNlbGVjdGlvbkdhcHNF
bmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX1NFTEVDVElPTl9QQUlOVElOR19XSVRIT1VUX1NF
TEVDVElPTl9HQVBTX0VOQUJMRUQsICIiLCAiIikgXAogICAgIG1hY3JvKEFwcGxlUGF5RW5hYmxl
ZCwgYXBwbGVQYXlFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCiAgICAgbWFj
cm8oQXBwbGVQYXlDYXBhYmlsaXR5RGlzY2xvc3VyZUFsbG93ZWQsIGFwcGxlUGF5Q2FwYWJpbGl0
eURpc2Nsb3N1cmVBbGxvd2VkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNy
byhQb2ludGVyTG9ja0VuYWJsZWQsIHBvaW50ZXJMb2NrRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFs
c2UsICIiLCAiIikgXAogICAgIFwKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfRE9VQkxFX1BS
RUZFUkVOQ0UobWFjcm8pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQVBJVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGll
bnQuaAppbmRleCAwNzM5Y2JlOTBkOTFhNWNmNGI5ZGJkYTMzMGVkZWZiMTZlY2FjNzE0Li5hNjAz
NGRiNTAyYjRiNTE2MDNmODhkYjgyMDA0MjNhYjgyMWNjZTU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCkBAIC0xNjcsNiArMTY3LDEwIEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIE5TRGljdGlvbmFyeSAqZGF0YURldGVjdGlvbkNvbnRleHQoKSB7IHJldHVy
biBudWxscHRyOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3RQb2ludGVyTG9jayhXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgfQor
I2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbihXZWJLaXQ6
OldlYlBhZ2VQcm94eSYsIEFQSTo6T2JqZWN0KikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW1h
Z2VPck1lZGlhRG9jdW1lbnRTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgeyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDg2OTlhMDM0
NWYzZWMzYWZkMzBiODZlMzc1YWRjNWYyYjA1NThhNWMuLjM3MDNkMDU5ZWJlNWQyZjU0OTlmMjk0
OTUyNzRjZjE0NmNkYWFkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJhaXRz
PFdLUGFnZVBvbGljeUNsaWVudEJhc2U+IHsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IENsaWVu
dFRyYWl0czxXS1BhZ2VVSUNsaWVudEJhc2U+IHsKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V0tQ
YWdlVUlDbGllbnRWMCwgV0tQYWdlVUlDbGllbnRWMSwgV0tQYWdlVUlDbGllbnRWMiwgV0tQYWdl
VUlDbGllbnRWMywgV0tQYWdlVUlDbGllbnRWNCwgV0tQYWdlVUlDbGllbnRWNSwgV0tQYWdlVUlD
bGllbnRWNiwgV0tQYWdlVUlDbGllbnRWNz4gVmVyc2lvbnM7CisgICAgdHlwZWRlZiBzdGQ6OnR1
cGxlPFdLUGFnZVVJQ2xpZW50VjAsIFdLUGFnZVVJQ2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIs
IFdLUGFnZVVJQ2xpZW50VjMsIFdLUGFnZVVJQ2xpZW50VjQsIFdLUGFnZVVJQ2xpZW50VjUsIFdL
UGFnZVVJQ2xpZW50VjYsIFdLUGFnZVVJQ2xpZW50VjcsIFdLUGFnZVVJQ2xpZW50Vjg+IFZlcnNp
b25zOwogfTsKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpAQCAtMjIxOCw2ICsyMjE4LDE1
IEBAIHZvaWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBX
S1BhZ2VVSUNsaWVudEJhc2UqIHdrQ2xpZW50CiAgICAgICAgICAgICBtX2NsaWVudC5tZWRpYVNl
c3Npb25NZXRhZGF0YURpZENoYW5nZSh0b0FQSSgmcGFnZSksIHRvQVBJKG1ldGFkYXRhKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogI2VuZGlmCisjaWYgRU5BQkxFKFBP
SU5URVJfTE9DSykKKyAgICAgICAgdm9pZCByZXF1ZXN0UG9pbnRlckxvY2soV2ViUGFnZVByb3h5
KiBwYWdlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIW1fY2xpZW50LnJl
cXVlc3RQb2ludGVyTG9jaykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIG1fY2xpZW50LnJlcXVlc3RQb2ludGVyTG9jayh0b0FQSShwYWdlKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgfTsKIAogICAg
IHRvSW1wbChwYWdlUmVmKS0+c2V0VUlDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxVSUNsaWVudD4o
d2tDbGllbnQpKTsKQEAgLTI2MDYsNiArMjYxNSwyNCBAQCB2b2lkIFdLUGFnZVNldE11dGVkKFdL
UGFnZVJlZiBwYWdlLCBib29sIG11dGVkKQogICAgIHRvSW1wbChwYWdlKS0+c2V0TXV0ZWQobXV0
ZWQpOwogfQogCit2b2lkIFdLUGFnZURpZEFsbG93UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2Up
Cit7CisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICB0b0ltcGwocGFnZSktPmRpZEFsbG93
UG9pbnRlckxvY2soKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOworI2VuZGlmCit9
CisKK3ZvaWQgV0tQYWdlRGlkRGVueVBvaW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKQoreworI2lm
IEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgdG9JbXBsKHBhZ2UpLT5kaWREZW55UG9pbnRlckxv
Y2soKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOworI2VuZGlmCit9CisKIGJvb2wg
V0tQYWdlSGFzTWVkaWFTZXNzaW9uV2l0aEFjdGl2ZU1lZGlhRWxlbWVudHMoV0tQYWdlUmVmIHBh
Z2UpCiB7CiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAppbmRleCAzNjdiOGYyNjBjOTU3NzM1OGQwY2Fm
MTk2YjJlYTc1Mjk5YWIxOTEyLi42MzdmNjNkYzdlOWNjYzRhMjdiNDhmMmIyYmFjZDU2Mzg4ZTgx
MjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
LmgKQEAgLTEyMSw2ICsxMjEsOSBAQCBXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRBZGRzVmlzaXRl
ZExpbmtzKFdLUGFnZVJlZiBwYWdlLCBib29sIHZpc2l0ZWRMaW5rcyk7CiAKIFdLX0VYUE9SVCBi
b29sIFdLUGFnZUlzUGxheWluZ0F1ZGlvKFdLUGFnZVJlZiBwYWdlKTsKIFdLX0VYUE9SVCB2b2lk
IFdLUGFnZVNldE11dGVkKFdLUGFnZVJlZiBwYWdlLCBib29sIG11dGVkKTsKKyAgICAKK1dLX0VY
UE9SVCB2b2lkIFdLUGFnZURpZEFsbG93UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpOworV0tf
RVhQT1JUIHZvaWQgV0tQYWdlRGlkRGVueVBvaW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKTsKIAog
ZW51bSB7CiAgICAga1dLTWVkaWFJc05vdFBsYXlpbmcgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAppbmRleCBlNzVjY2ZiZGFjMjhmYWZi
ODc0MmU4OWU1ODIwOTQ4MDBmMTAyMzNiLi5kNmUwOTI4OGJjZTdkNzljZjQ5NjAwOGZlNTcyN2Vj
NGFkMzliMjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
VUlDbGllbnQuaApAQCAtMTA0LDYgKzEwNCw4IEBAIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENs
aWNrQXV0b0ZpbGxCdXR0b25DYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1CiB0
eXBlZGVmIHZvaWQgKCpXS1BhZ2VNZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgV0tNZWRpYVNlc3Npb25NZXRhZGF0YVJlZiBtZXRhZGF0YSwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS0Z1bGxzY3JlZW5NYXlSZXR1
cm5Ub0lubGluZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7CiAKK3R5cGVkZWYgdm9pZCAoKldLUmVxdWVzdFBvaW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFn
ZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKwogLy8gRGVwcmVjYXRlZAogdHlw
ZWRlZiBXS1BhZ2VSZWYgKCpXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRlZEZv
clVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tF
dmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgICAgICAoKldLUGFnZU1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQYWdl
UmVmIHBhZ2UsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS1R5cGVSZWYgdXNlckRhdGEs
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtNjM2LDYgKzYzOCw5MyBAQCB0eXBlZGVmIHN0
cnVjdCBXS1BhZ2VVSUNsaWVudFY3IHsKICAgICBXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGlu
ZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxzY3JlZW5NYXlSZXR1
cm5Ub0lubGluZTsKIH0gV0tQYWdlVUlDbGllbnRWNzsKIAordHlwZWRlZiBzdHJ1Y3QgV0tQYWdl
VUlDbGllbnRWOCB7CisgICAgV0tQYWdlVUlDbGllbnRCYXNlICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOworICAgIAorICAgIC8vIFZlcnNpb24g
MC4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhW
MCAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsK
KyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNob3dQYWdlOworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2U7CisgICAgV0tQ
YWdlVGFrZUZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0YWtlRm9jdXM7CisgICAgV0tQYWdlRm9jdXNDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1czsKKyAgICBXS1BhZ2VVbmZv
Y3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuZm9jdXM7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2tfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCAgICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxlcnRfZGVwcmVjYXRlZEZv
clVzZVdpdGhWMDsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrX2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtX2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0X2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlU2V0U3RhdHVzVGV4dENhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0dXNUZXh0OworICAgIFdL
UGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhW
MCAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsK
KyAgICBXS1BhZ2VNaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjAgICAgIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjA7CisgICAgV0tQYWdlRGlkTm90SGFuZGxlS2V5RXZlbnRDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVLZXlFdmVudDsKKyAgICBXS1Bh
Z2VEaWROb3RIYW5kbGVXaGVlbEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQ7CisgICAgV0tQYWdlR2V0VG9vbGJhcnNBcmVW
aXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYmFyc0Fy
ZVZpc2libGU7CisgICAgV0tQYWdlU2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUb29sYmFyc0FyZVZpc2libGU7CisgICAgV0tQ
YWdlR2V0TWVudUJhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtZW51QmFySXNWaXNpYmxlOworICAgIFdLUGFnZVNldE1lbnVCYXJJc1Zpc2libGVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWVudUJhcklzVmlz
aWJsZTsKKyAgICBXS1BhZ2VHZXRTdGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c0JhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRT
dGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNldFN0YXR1c0JhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRJc1Jlc2l6YWJsZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVzaXphYmxlOworICAg
IFdLUGFnZVNldElzUmVzaXphYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2V0SXNSZXNpemFibGU7CisgICAgV0tQYWdlR2V0V2luZG93RnJhbWVDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRXaW5kb3dGcmFt
ZTsKKyAgICBXS1BhZ2VTZXRXaW5kb3dGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNldFdpbmRvd0ZyYW1lOworICAgIFdLUGFnZVJ1bkJlZm9yZVVu
bG9hZENvbmZpcm1QYW5lbENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjYgICAgcnVuQmVm
b3JlVW5sb2FkQ29uZmlybVBhbmVsX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjY7CisgICAgV0tQYWdl
VUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkaWREcmF3OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURpZFNjcm9sbDsKKyAgICBXS1BhZ2VF
eGNlZWRlZERhdGFiYXNlUXVvdGFDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGV4Y2VlZGVkRGF0YWJhc2VRdW90YTsKKyAgICBXS1BhZ2VSdW5PcGVuUGFuZWxDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk9wZW5QYW5lbDsK
KyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2Fs
bGJhY2sgICAgICAgICAgIGRlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3Q7CisgICAgV0tQYWdlSGVhZGVySGVpZ2h0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWFkZXJIZWlnaHQ7CisgICAgV0tQYWdlRm9vdGVySGVpZ2h0
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb290ZXJI
ZWlnaHQ7CisgICAgV0tQYWdlRHJhd0hlYWRlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkcmF3SGVhZGVyOworICAgIFdLUGFnZURyYXdGb290ZXJD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0Zv
b3RlcjsKKyAgICBXS1BhZ2VQcmludEZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHByaW50RnJhbWU7CisgICAgV0tQYWdlVUlDbGllbnRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5Nb2Rh
bDsKKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVudXNlZDE7IC8vIFVzZWQgdG8gYmUgZGlkQ29tcGxldGVSdWJi
ZXJCYW5kRm9yTWFpbkZyYW1lCisgICAgV0tQYWdlU2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0Zv
bGRlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBzYXZlRGF0YVRvRmlsZUluRG93bmxv
YWRzRm9sZGVyOworICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdF91bmF2
YWlsYWJsZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDEuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFn
ZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgICAgICAgICAgICAgICAgICBjcmVhdGVO
ZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VzZURpZE1v
dmVPdmVyRWxlbWVudDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xp
Y2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgdW5hdmFpbGFibGVQbHVnaW5CdXR0
b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisgICAgCisgICAgLy8gVmVyc2lvbiAy
LgorICAgIFdLUGFnZVNob3dDb2xvclBpY2tlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2hvd0NvbG9yUGlja2VyOworICAgIFdLUGFnZUhpZGVDb2xvclBp
Y2tlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUNv
bG9yUGlja2VyOworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2Vk
OworICAgIAorICAgIC8vIFZlcnNpb24gMy4KKyAgICBXS1BhZ2VQaW5uZWRTdGF0ZURpZENoYW5n
ZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpbm5lZFN0YXRlRGlk
Q2hhbmdlOworICAgIAorICAgIC8vIFZlcnNpb24gNC4KKyAgICB2b2lkKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDI7
IC8vIFVzZWQgdG8gYmUgZGlkQmVnaW5UcmFja2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzLgor
ICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW51c2VkMzsgLy8gVXNlZCB0byBiZSBkaWRSZWNvZ25pemVMb25nTW91
c2VQcmVzcy4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDQ7IC8vIFVzZWQgdG8gYmUgZGlkQ2FuY2Vs
VHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcy4KKyAgICBXS1BhZ2VJc1BsYXlpbmdBdWRp
b0RpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUGxheWlu
Z0F1ZGlvRGlkQ2hhbmdlOworICAgIAorICAgIC8vIFZlcnNpb24gNS4KKyAgICBXS1BhZ2VEZWNp
ZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgICAg
IGRlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZURp
ZENsaWNrQXV0b0ZpbGxCdXR0b25DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbjsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRD
YWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRB
bGVydF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25m
aXJtQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAgICAgICAgcnVuSmF2YVNjcmlw
dENvbmZpcm1fZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0
UHJvbXB0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAgICAgICAgIHJ1bkphdmFT
Y3JpcHRQcm9tcHRfZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAgICBXS1BhZ2VNZWRpYVNlc3Np
b25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlh
U2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlOworICAgIAorICAgIC8vIFZlcnNpb24gNi4KKyAgICBX
S1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNyZWF0ZU5ld1BhZ2U7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxl
cnQ7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybTsKKyAgICBXS1BhZ2VSdW5K
YXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJ1bkphdmFTY3JpcHRQcm9tcHQ7CisgICAgV0tDaGVja1VzZXJNZWRpYVBlcm1pc3Npb25DYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja1VzZXJNZWRpYVBlcm1p
c3Npb25Gb3JPcmlnaW47CisgICAgCisgICAgLy8gVmVyc2lvbiA3LgorICAgIFdLUGFnZVJ1bkJl
Zm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsOworICAgIFdLRnVsbHNjcmVlbk1heVJldHVyblRv
SW5saW5lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbHNjcmVlbk1h
eVJldHVyblRvSW5saW5lOworICAgIAorICAgIC8vIFZlcnNpb24gOC4KKyAgICBXS1JlcXVlc3RQ
b2ludGVyTG9ja0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlcXVlc3RQb2ludGVyTG9jazsKK30gV0tQYWdlVUlDbGllbnRWODsKKyAgICAKICNpZmRlZiBf
X2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggYzdiYTFiNGQzNDc5YTViY2UyYmYwNzdhNzU4MjQw
M2RlY2QzMTRmZC4uNDQ4MjliZTRkMTY0YTM1NjQ0OGE5OGE2ZWM4NzU2ODU4NGVlYmIxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApA
QCAtMTU2MCwzICsxNTYwLDE0IEBAIHZvaWQgV0tQcmVmZXJlbmNlc1NldEFwcGxlUGF5Q2FwYWJp
bGl0eURpc2Nsb3N1cmVBbGxvd2VkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyCiB7CiAgICAgV2Vi
S2l0Ojp0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRBcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9z
dXJlQWxsb3dlZChhbGxvd2VkKTsKIH0KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0UG9pbnRlckxv
Y2tFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkK
K3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQb2ludGVyTG9ja0VuYWJsZWQoZW5h
YmxlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBvaW50ZXJMb2NrRW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5wb2ludGVyTG9ja0VuYWJsZWQoKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmgKaW5kZXggZTA4OGMwMThlOGQ5
Mjk1ZDczNzdkZTczMjFiODBjNjNlYTI3NWRlMC4uYWY3MGVjMDdjNDg4ODg3YTAzMGY5NmRhYTI4
YTU0ZTUwYWMyYjYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlc1JlZi5oCkBAIC0yODQsNiArMjg0LDEwIEBAIFdLX0VYUE9SVCB2b2lkIFdL
UHJlZmVyZW5jZXNTZXRBcHBsZVBheUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRBcHBsZVBheUNhcGFiaWxpdHlE
aXNjbG9zdXJlQWxsb3dlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKIFdLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxs
b3dlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGFsbG93ZWQpOwogCisv
LyBEZWZhdWx0cyB0byBmYWxzZQorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFBvaW50
ZXJMb2NrRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJs
ZWQpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFBvaW50ZXJMb2NrRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KaW5kZXggZWJkYmRkNWI5NTFmNDIxYTE5NjVlOTM2MzZmODU1MWU3MjhkNjI1ZC4uYjZk
YWEwNDk5NDI4NTUwNTQwNTZlMTMwMTc0ODM4MjRhZTMyMWIyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTQ1MCw2ICs0NTAsNyBA
QCBzdGF0aWMgdWludDMyX3QgY29udmVydFN5c3RlbUxheW91dERpcmVjdGlvbihOU1VzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24gZGlyZQogICAgIC8vIFRoZXJlZm9yZSwgYWNjb3JkaW5nIHRv
IHRoZSBkb2NzWzFdLCAidGhpcyBwcm9wZXJ0eSBjb250YWlucyB0aGUgdmFsdWUgcmVwb3J0ZWQg
YnkgdGhlIGFwcCdzIHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gcHJvcGVydHkuIgogICAg
IC8vIFsxXSBodHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy9kb2N1bWVudGF0
aW9uL0NvY29hL1JlZmVyZW5jZS9BcHBsaWNhdGlvbktpdC9DbGFzc2VzL05TVmlld19DbGFzcy9p
bmRleC5odG1sIy8vYXBwbGVfcmVmL2RvYy91aWQvMjAwMDAwMTQtU1cyMjIKICAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
S2V5OjpzeXN0ZW1MYXlvdXREaXJlY3Rpb25LZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0
b3JlOjpWYWx1ZShjb252ZXJ0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKHNlbGYudXNlckludGVyZmFj
ZUxheW91dERpcmVjdGlvbikpKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZh
bHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5Ojpwb2ludGVyTG9ja0VuYWJsZWRL
ZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlv
biBhbGxvd3NQb2ludGVyTG9ja10pKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25m
aWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24uaAppbmRleCBhZmI1YjJlNzUxY2UxOTM4YmQ5NGNhZmY2OTEyODNiODY0
ZWYwNDU0Li41ODNhNjgxM2I0OWI1YzdlMTEwNDM5ZGI2ZjkzNGM3ZWIxYTU1NDM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24uaApAQCAtMTkwLDYgKzE5MCwxMiBAQCBXS19DTEFTU19BVkFJTEFCTEUo
bWFjb3N4KDEwLjEwKSwgaW9zKDguMCkpCiAKICNlbHNlCiAKKy8qISBAYWJzdHJhY3QgQSBCb29s
ZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBwb2ludGVyIGxvY2sgaXMgYWxsb3dlZC4KKyBA
ZGlzY3Vzc2lvbiBUaGlzIGFsbG93cyBhIHBhZ2UgdG8gdXNlIGVsZW1lbnQucmVxdWVzdFBvaW50
ZXJMb2NrKCkuCisgVGhlIGRlZmF1bHQgdmFsdWUgaXMgTk8uCisgKi8KK0Bwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGFsbG93c1BvaW50ZXJMb2NrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEyKSk7CisKIC8qISBAYWJzdHJhY3QgVGhlIGRpcmVjdGlvbmFsaXR5IG9mIHVzZXIgaW50ZXJm
YWNlIGVsZW1lbnRzLgogIEBkaXNjdXNzaW9uIFBvc3NpYmxlIHZhbHVlcyBhcmUgZGVzY3JpYmVk
IGluIFdLVXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeS4KICBUaGUgZGVmYXVsdCB2YWx1ZSBp
cyBXS1VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3lDb250ZW50LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uLm1tCmluZGV4IDU0MjRkZTJiODQ0ZGVkN2FmYjE5MjRiYWM2N2M1MDJlNzJiMzdkMTQuLjQz
Y2RiMzA3MDNlZDAyNGUwY2FjNmI5MzNkYWIzN2MzYWI5NzliNWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24ubW0KQEAgLTE1MCw2ICsxNTAsNyBAQCBwcml2YXRlOgogICAgIF9tZWRpYVR5cGVzUmVx
dWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNrID0gV0tBdWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7
CiAgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsKICAgICBfdXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSA9IFdLVXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeUNvbnRl
bnQ7CisgICAgX2FsbG93c1BvaW50ZXJMb2NrID0gTk87CiAjZW5kaWYKICAgICBfbWFpbkNvbnRl
bnRVc2VyR2VzdHVyZU92ZXJyaWRlRW5hYmxlZCA9IE5POwogICAgIF9pbnZpc2libGVBdXRvcGxh
eU5vdFBlcm1pdHRlZCA9IE5POwpAQCAtMjE5LDYgKzIyMCw3IEBAIHByaXZhdGU6CiAgICAgW2Nv
ZGVyIGVuY29kZUJvb2w6c2VsZi5pZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cyBmb3JLZXk6QCJp
Z25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cyJdOwogI2Vsc2UKICAgICBbY29kZXIgZW5jb2RlSW50
ZWdlcjpzZWxmLnVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgZm9yS2V5OkAidXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSJdOworICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuYWxsb3dz
UG9pbnRlckxvY2sgZm9yS2V5OkAiYWxsb3dzUG9pbnRlckxvY2siXTsKICNlbmRpZgogfQogCkBA
IC0yNDgsNiArMjUwLDcgQEAgcHJpdmF0ZToKICAgICBhdXRvIHVzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3lDYW5kaWRhdGUgPSBzdGF0aWNfY2FzdDxXS1VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Q
b2xpY3k+KFtjb2RlciBkZWNvZGVJbnRlZ2VyRm9yS2V5OkAidXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeSJdKTsKICAgICBpZiAodXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeUNhbmRpZGF0
ZSA9PSBXS1VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3lDb250ZW50IHx8IHVzZXJJbnRlcmZh
Y2VEaXJlY3Rpb25Qb2xpY3lDYW5kaWRhdGUgPT0gV0tVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9s
aWN5U3lzdGVtKQogICAgICAgICBzZWxmLnVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgPSB1
c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5Q2FuZGlkYXRlOworICAgIHNlbGYuYWxsb3dzUG9p
bnRlckxvY2sgPSBbY29kZXIgZGVjb2RlQm9vbEZvcktleTpAImFsbG93c1BvaW50ZXJMb2NrIl07
CiAjZW5kaWYKIAogICAgIHJldHVybiBzZWxmOwpAQCAtMzAzLDYgKzMwNiw3IEBAIHByaXZhdGU6
CiAgICAgY29uZmlndXJhdGlvbi0+X3NlcnZpY2VDb250cm9sc0VuYWJsZWQgPSBzZWxmLT5fc2Vy
dmljZUNvbnRyb2xzRW5hYmxlZDsKICAgICBjb25maWd1cmF0aW9uLT5faW1hZ2VDb250cm9sc0Vu
YWJsZWQgPSBzZWxmLT5faW1hZ2VDb250cm9sc0VuYWJsZWQ7CiAgICAgY29uZmlndXJhdGlvbi0+
X3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIgPSBzZWxmLT5fcmVx
dWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlcjsKKyAgICBjb25maWd1cmF0
aW9uLT5fYWxsb3dzUG9pbnRlckxvY2sgPSBzZWxmLT5fYWxsb3dzUG9pbnRlckxvY2s7CiAjZW5k
aWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKElPUykKICAgICBjb25m
aWd1cmF0aW9uLT5fZGF0YURldGVjdG9yVHlwZXMgPSBzZWxmLT5fZGF0YURldGVjdG9yVHlwZXM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDM2ZjYwMTQ5
OTNiMDFiNzM3MjJmZTM4MTZhZjZmMmJlZWZkNTU1NzUuLjk3MThlOTNhNzA4Zjk5ZDY3OTdjMjA4
N2VlOGI3ZDg1ZjA5Mzk2MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCkBAIC02NjMwLDExICs2NjMwLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRVc2Vy
SW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXRECiB2
b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFBvaW50ZXJMb2NrKCkKIHsKICAgICBpZiAoIWlzVmll
d1Zpc2libGUoKSkgewotICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpZE5vdEFjcXVpcmVQb2ludGVyTG9jaygpLCBtX3BhZ2VJRCk7CisgICAgICAgIGRpZERlbnlQ
b2ludGVyTG9jaygpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgZGlkQWxsb3dQb2lu
dGVyTG9jaygpOworICAgIG1fdWlDbGllbnQtPnJlcXVlc3RQb2ludGVyTG9jayh0aGlzKTsKIH0K
ICAgICAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRBbGxvd1BvaW50ZXJMb2NrKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAyMTJmMTRhYTM2
ODEwYmM3YzU0YmIzNjI5M2Y2NmQ4MGQ2MGQ1YWQ3Li4zYjY4MmQxM2NlMjcxODZjY2Y0NTUxMzFj
YzQ2YTZjZGRhOGIxOTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC0xNTIsNyArMTUyLDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VU
aHJvdHRsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRG9jdW1lbnQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Bv
aW50ZXJMb2NrQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJpbnRDb250ZXh0Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SYW5nZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5
ZXIuaD4KQEAgLTIwNCw2ICsyMDMsMTAgQEAKICNpbmNsdWRlICJXZWJWaWJyYXRpb25DbGllbnQu
aCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyNpbmNsdWRlIDxXZWJDb3Jl
L1BvaW50ZXJMb2NrQ29udHJvbGxlci5oPgorI2VuZGlmCisKICNpZiBFTkFCTEUoUFJPWElNSVRZ
X0VWRU5UUykKICNpbmNsdWRlICJXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKICNlbmRpZgpA
QCAtMzAyNCw2ICszMDI3LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25z
dCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVN
RU5UKQogICAgIHNldHRpbmdzLnNldEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmF0dGFjaG1lbnRFbGVtZW50RW5hYmxl
ZEtleSgpKSk7CiAjZW5kaWYKKyAgICBzZXR0aW5ncy5zZXRQb2ludGVyTG9ja0VuYWJsZWQoc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpwb2ludGVyTG9ja0VuYWJs
ZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBs
YXliYWNrKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dz
UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldE1l
ZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6Om1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbUtleSgpKSk7CiAg
ICAgc2V0dGluZ3Muc2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6bW9ja1Njcm9sbGJhcnNFbmFibGVkS2V5KCkpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294068</attachid>
            <date>2016-11-07 10:34:04 -0800</date>
            <delta_ts>2016-11-10 22:51:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163801-20161107102957.patch</filename>
            <type>text/plain</type>
            <size>34214</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBhMjg0YTg0ZDk2ZjU4ODMxNjM4YTNk
NDE4ZDlmZmRiYWM0MmQwYTguLjgzOTA3YjBjOTEwODk2YzFmNjg1ZmRmMjZkMDczZmNhODNkZDk3
Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMTEtMDQgIEplcmVteSBKb25lcyAgPGplcmVt
eWpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50
ZXIgbG9jay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKyAgICAgICAgcmRh
cjovL3Byb2JsZW0vMjg1NTA5NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOiBFTkFCTEVfUE9JTlRFUl9MT0NL
IHRydWUgZm9yIE1hYy4KKwogMjAxNi0xMS0wMyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUu
Y29tPgogCiAgICAgICAgIERGRyBwbGF5cyBmYXN0IGFuZCBsb29zZSB3aXRoIHRoZSBzaGFkb3cg
dmFsdWVzIG9mIGEgUGhpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODkxMTE2MDBmZDJmNDhkN2JjYjRhMzdkYTI2
NjUzZDIyYTY5YTJkMy4uNmJkYWFmOGNhYmZiNzg2OTllYzAxZjAzZWM3OTFkYjdjMzQ1Mjg3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE2LTExLTA0ICBKZXJlbXkgSm9uZXMgIDxq
ZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBmbGFnIHRvIGVuYWJsZSBw
b2ludGVyIGxvY2suIEVuYWJsZSBwb2ludGVyIGxvY2sgZmVhdHVyZSBmb3IgbWFjLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzODAxCisgICAgICAg
IHJkYXI6Ly9wcm9ibGVtLzI4NTUwOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlc2UgdGVzdHMgbm93IHBhc3Mgd2l0aCBEdW1wUmVuZGVyVHJl
ZS4KKyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL2xvY2stYWxyZWFkeS1sb2NrZWQu
aHRtbAorICAgICAgICBMYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1lbGVtZW50LW5vdC1p
bi1kb20uaHRtbAorICAgICAgICBMYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9ja2VkLWVsZW1l
bnQtaWZyYW1lLXJlbW92ZWQtZnJvbS1kb20uaHRtbAorICAgICAgICBMYXlvdXRUZXN0cy9wb2lu
dGVyLWxvY2svbW91c2UtZXZlbnQtYXBpLmh0bWwKKworICAgICAgICBQb2ludGVyTG9ja0NvbnRy
b2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayBub3cgcHJvdGVjdHMgYWdhaW5zdCBzeW5jaHJvbm91
cyBjYWxsYmFjaworICAgICAgICB0byBhbGxvd1BvaW50ZXJMb2NrKCkuCisKKyAgICAgICAgQWRk
IHBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRQb2ludGVyTG9ja0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cG9pbnRlckxvY2tFbmFibGVkKToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXRQb2ludGVy
TG9jayk6IEZpeCBleGlzdGluZyB0eXBvLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBv
aW50ZXJMb2NrRWxlbWVudCk6IERpdHRvCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3Bw
OgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAgICAg
ICAgKiBwYWdlL1NldHRpbmdzLmluOgorCiAyMDE2LTExLTA0ICBTYWlkIEFib3UtSGFsbGF3YSAg
PHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgc2V0dGluZyBhbmQgcHJl
ZmVyZW5jZXMgdG8gZW5hYmxlL2Rpc2FibGUgYXN5bmMgaW1hZ2UgZGVjb2RpbmcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCBlNjM1NTU2MjA2YjdiMGIxYzJlMmZhMWUzYzQ0MTAzM2NjZjRhNzlhLi5iM2Ni
YzBkZDJjNTk4ZjEwMzNjOTIzYzlhMjZkMDAxNTY1NWI2YmYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTYtMTEtMDQgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9jay4g
RW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKyAgICAgICAgcmRhcjovL3Byb2Js
ZW0vMjg1NTA5NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQbHVtYiB0aHJvdWdoIFBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21l
Q2xpZW50OjpyZXF1ZXN0UG9pbnRlclVubG9jayk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
OgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIHBvaW50ZXJMb2NrRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJl
bmNlcyBzZXRQb2ludGVyTG9ja0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxNi0xMS0wNCAgU2FpZCBB
Ym91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHNl
dHRpbmcgYW5kIHByZWZlcmVuY2VzIHRvIGVuYWJsZS9kaXNhYmxlIGFzeW5jIGltYWdlIGRlY29k
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggMzFjOGU3YjA5ZWVlYzY2MWJmNGU2Y2MyODJkZGZjNTI1MjIwN2Vm
ZC4uMjI2ZGVjNmVjMmMwNmFiMTk0OTE1N2JjNjk2NmM1NGU4YmY4OTM0OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM5IEBACisyMDE2LTExLTA0ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBmbGFnIHRvIGVuYWJsZSBwb2ludGVyIGxvY2su
IEVuYWJsZSBwb2ludGVyIGxvY2sgZmVhdHVyZSBmb3IgbWFjLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzODAxCisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzI4NTUwOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2hvdyBhIGJhbm5lciBleHBsYWluaW5nIGhvdyB0byBnZXQgb3V0IG9mIHBvaW50ZXIg
bG9jayB3aGVuIGFjdGl2YXRlZC4KKyAgICAgICAgRGlzbWlzcyBwb2ludGVyIGxvY2sgYmFubmVy
IHdoZW4gRXNjYXBlIGlzIHByZXNzZWQuCisgICAgICAgIAorICAgICAgICAqIFNoYXJlZC9XZWJQ
cmVmZXJlbmNlc0RlZmluaXRpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAg
ICAgICAgKEFQSTo6VUlDbGllbnQ6OmRpZExvc2VQb2ludGVyTG9jayk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQp
OgorICAgICAgICAoV0tQYWdlRGlkQWxsb3dQb2ludGVyTG9jayk6CisgICAgICAgIChXS1BhZ2VE
aWREZW55UG9pbnRlckxvY2spOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2
YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVm
ZXJlbmNlc1NldFBvaW50ZXJMb2NrRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0
UG9pbnRlckxvY2tFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaXNwYXRjaEFjdGl2aXR5U3RhdGVDaGFu
Z2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGVBZnRlclByb2Nl
c3NFeGl0ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RQb2ludGVy
TG9jayk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQWxsb3dQb2ludGVyTG9j
ayk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRGVueVBvaW50ZXJMb2NrKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UG9pbnRlclVubG9jayk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMpOgorCiAyMDE2LTExLTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwODI5My4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RG
L3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IDdiNmQxMWE5MTU0OTcxMWEwY2EyNDAwMDQ4NjMy
ZjhhZDkzNjQxNGUuLmViYzhhN2NkNjM5N2Q4NzBmOTA3MmU3Y2I4NTMzZjg2ODAyZDZhZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtNjM4LDcgKzYzOCw3IEBAIHRoZSBwdWJsaWMgaU9T
IFNESy4gV2Ugd2lsbCBhbHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBGZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBmaWxlCiAjZW5kaWYKIAogI2lmICFkZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0spCi0j
ZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMAorI2RlZmluZSBFTkFCTEVfUE9JTlRFUl9MT0NL
IDEKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCmluZGV4IDg1ODAyMmM1OTI0OTcyNzBkYzg4N2U1OTMwMTI5MzQ2ZjYwMzI2MmIu
LjUyNDAyNWZkZWUyY2YxNTNiNDhlNTY4NGE4NzNiNTUzNjljMTg5MjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCkBAIC0xODUsNiArMTg1LDExIEBAIHB1YmxpYzoKICAgICBib29sIGdhbWVwYWRzRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJlR2FtZXBhZHNFbmFibGVkOyB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgdm9pZCBzZXRQb2ludGVyTG9ja0VuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpIHsgbV9pc1BvaW50ZXJMb2NrRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAg
IGJvb2wgcG9pbnRlckxvY2tFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1BvaW50ZXJMb2Nr
RW5hYmxlZDsgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikK
ICAgICB2b2lkIHNldEFuaW1hdGlvblRyaWdnZXJzRW5hYmxlZChib29sIGFyZUVuYWJsZWQpIHsg
bV9hcmVBbmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9CiAgICAgYm9vbCBh
bmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2FyZUFuaW1hdGlvblRy
aWdnZXJzRW5hYmxlZDsgfQpAQCAtMzEyLDYgKzMxNywxMCBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9hcmVHYW1lcGFkc0VuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUE9J
TlRFUl9MT0NLKQorICAgIGJvb2wgbV9pc1BvaW50ZXJMb2NrRW5hYmxlZCB7IGZhbHNlIH07Cisj
ZW5kaWYKKwogI2lmIEVOQUJMRShDU1NfQU5JTUFUSU9OU19MRVZFTF8yKQogICAgIGJvb2wgbV9h
cmVBbmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IDNiZDYxZDYxZDFiZmFjMDUyYzg1Mjk1Y2MxNWNhYWU1MzkyNDE5NDIuLjkzODRlNTdk
YThlYTZlNjYyNDY4Y2I3OGRmZDQ5ZDIxODcxMzZhZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtNjAxMyw3ICs2MDEzLDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1bGxT
Y3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50KiBkb2MpCiAKIHZvaWQgRG9jdW1lbnQ6OmV4
aXRQb2ludGVyTG9jaygpCiB7Ci0gICAgUGFnZSogcGFnZSA9IHRoaXM+cGFnZSgpOworICAgIFBh
Z2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47
CiAgICAgaWYgKGF1dG8qIHRhcmdldCA9IHBhZ2UtPnBvaW50ZXJMb2NrQ29udHJvbGxlcigpLmVs
ZW1lbnQoKSkgewpAQCAtNjAyNSwxMCArNjAyNSwxMCBAQCB2b2lkIERvY3VtZW50OjpleGl0UG9p
bnRlckxvY2soKQogCiBFbGVtZW50KiBEb2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KCkgY29u
c3QKIHsKLSAgICBQYWdlKiBwYWdlID0gdGhpcz5wYWdlKCk7CisgICAgUGFnZSogcGFnZSA9IHRo
aXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+cG9pbnRlckxvY2tDb250cm9sbGVy
KCkubG9ja1BlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0byogZWxl
bWVudCA9IHBhZ2UoKS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVudCgpOworICAgIGF1
dG8qIGVsZW1lbnQgPSBwYWdlLT5wb2ludGVyTG9ja0NvbnRyb2xsZXIoKS5lbGVtZW50KCk7CiAg
ICAgaWYgKCFlbGVtZW50IHx8ICZlbGVtZW50LT5kb2N1bWVudCgpICE9IHRoaXMpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBlbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCmluZGV4IGFiOTgyOGVkODkzYzg4ZGY2MDQ5YTk4ZDNhYzhlYzNiMjUzNzc1
OWUuLjM1NTY5MGJjYmY5ZTVjYmIzMTNmODQ2OGUwMzJjYzYwMjU1MmQ5ZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTczLDcgKzczLDYgQEAKICNpbmNsdWRlICJQbGF0
Zm9ybUtleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKICNp
bmNsdWRlICJQbHVnaW5Eb2N1bWVudC5oIgotI2luY2x1ZGUgIlBvaW50ZXJMb2NrQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIlJlbmRlckZyYW1lU2V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJMaXN0Qm94LmgiCkBAIC0xMjEsNiArMTIwLDEwIEBACiAjaW5j
bHVkZSAiUGxhdGZvcm1HZXN0dXJlRXZlbnRNYWMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBP
SU5URVJfTE9DSykKKyNpbmNsdWRlICJQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCIKKyNlbmRpZgor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggOTg2NTVl
Njk5OGM3ZmFiMDc0MGY4ZjllMDE2NzY5ZDJhNzRkNjZjNS4uNTViZWQzZjg1YzQ5ZWZmZmZhOTk1
NjQ0M2YxYTU1MzMxYzMzZDg5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2lu
dGVyTG9ja0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxv
Y2tDb250cm9sbGVyLmNwcApAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMu
aCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCisj
aW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdENvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKIAogCkBAIC01Miw2ICs1NCwxNiBA
QCB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKEVsZW1lbnQq
IHRhcmdldCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmICghUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5wb2ludGVyTG9ja0VuYWJsZWQoKSkgeworICAg
ICAgICBlbnF1ZXVlRXZlbnQoZXZlbnROYW1lcygpLnBvaW50ZXJsb2NrZXJyb3JFdmVudCwgdGFy
Z2V0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghU2NyaXB0Q29udHJvbGxl
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpIHsKKyAgICAgICAgZW5xdWV1ZUV2ZW50KGV2ZW50
TmFtZXMoKS5wb2ludGVybG9ja2Vycm9yRXZlbnQsIHRhcmdldCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBpZiAodGFyZ2V0LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNhbmRib3hQ
b2ludGVyTG9jaykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUg
bW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KICAgICAgICAgdGFyZ2V0LT5k
b2N1bWVudCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFu
IGVsZW1lbnQgYmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhl
ICdhbGxvdy1wb2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5pbgppbmRleCAyNDRkNmNjYWQ0NjYxYWM0ODAyMGMxN2M2ZTE0YmVlZTNlZWMw
YzY5Li44NjQ0NThiZTI1ZjdkMjZhZWQyYjUxZWFjYzI5ZWEzZWI4YjMyMDNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaW4KQEAgLTI4OCwzICsyODgsNSBAQCB5b3VUdWJlRmxhc2hQbHVnaW5SZXBs
YWNlbWVudEVuYWJsZWQgaW5pdGlhbD1kZWZhdWx0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1l
bgogZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSB0eXBlPUZvcmNlZFByZWZlcnNSZWR1
Y2VkTW90aW9uVmFsdWUsIGluaXRpYWw9ZGVmYXVsdEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9u
VmFsdWUKIAogYXN5bmNJbWFnZURlY29kaW5nRW5hYmxlZCBpbml0aWFsPXRydWUKKworcG9pbnRl
ckxvY2tFbmFibGVkIGluaXRpYWw9ZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBiZjlhZjU1MzI5ZDA4MTMwNmRi
YzE5OWEzY2EzY2I5YmEyMjEyZjE4Li5iY2VhZmQ1MTE2NTMyMmIzYWRiYTc5NGMwYzFmNThkYjVj
ZTE5YThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50Lm1tCkBAIC03Nyw3ICs3Nyw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL05vdElt
cGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UGxhdGZvcm1TY3JlZW4uaD4KLSNpbXBvcnQgPFdlYkNvcmUvUG9pbnRlckxvY2tDb250cm9sbGVy
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9TZXJpYWxpemVkQ3J5cHRvS2V5V3JhcC5oPgogI2ltcG9ydCA8V2ViQ29yZS9XaWRnZXQuaD4K
QEAgLTk1LDYgKzk0LDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL0dlb2xvY2F0aW9uLmg+CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisjaW1wb3J0IDxXZWJDb3JlL1BvaW50ZXJM
b2NrQ29udHJvbGxlci5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0IDxX
ZWJDb3JlL1dBS0NsaXBWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dBS1dpbmRvdy5oPgpAQCAt
NzMwLDggKzczMyw4IEBAIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0UG9pbnRlckxvY2so
KQogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RQb2ludGVyVW5sb2NrKCkKIHsKICNpZiBQ
TEFURk9STShNQUMpCi0gICAgQ0dEaXNwbGF5U2hvd0N1cnNvcihDR01haW5EaXNwbGF5SUQoKSk7
CiAgICAgQ0dBc3NvY2lhdGVNb3VzZUFuZE1vdXNlQ3Vyc29yUG9zaXRpb24odHJ1ZSk7CisgICAg
Q0dEaXNwbGF5U2hvd0N1cnNvcihDR01haW5EaXNwbGF5SUQoKSk7CiAgICAgaWYgKFttX3dlYlZp
ZXcgcGFnZV0pCiAgICAgICAgIFttX3dlYlZpZXcgcGFnZV0tPnBvaW50ZXJMb2NrQ29udHJvbGxl
cigpLmRpZExvc2VQb2ludGVyTG9jaygpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA3MDZjYzlhMDIx
MTFiODYzNDFkNjU1NTk1NGYzZGNjMTY2NjQ1MWRjLi4xOWExNzAzOTlmNDFjNWY1Zjg0MTEzZmMy
N2I3MDVjOGI0MDMwZmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTE2OSw2ICsxNjksNyBAQAogI2RlZmluZSBX
ZWJLaXRDU1NHcmlkTGF5b3V0RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NHcmlkTGF5
b3V0RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0VmlzdWFsVmlld3BvcnRFbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdFZpc3VhbFZpZXdwb3J0RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TW9kZXJu
TWVkaWFDb250cm9sc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TW9kZXJuTWVkaWFDb250
cm9sc0VuYWJsZWQiCisjZGVmaW5lIFdlYktpdFBvaW50ZXJMb2NrRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRQb2ludGVyTG9ja0VuYWJsZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQog
Ly8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5n
IHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggNmMzNDgyNWJmMzdlZTcxYzI0NzRiNTg3OTkw
ZTBhMmRhZWE4OTViNS4uYjRlYjMwZGJhYzcxMjgyZjNiYmFlZDJiYjU2ZjllNmEzYjg0YWZlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0yMzQ4
LDYgKzIzNDgsMTYgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwog
ICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0QWxsb3dzUGljdHVyZUlu
UGljdHVyZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClwb2ludGVy
TG9ja0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRQ
b2ludGVyTG9ja0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRQb2ludGVy
TG9ja0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBm
b3JLZXk6V2ViS2l0UG9pbnRlckxvY2tFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJP
T0wpbW9ja1Njcm9sbGJhcnNFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVG
b3JLZXk6V2ViS2l0TW9ja1Njcm9sbGJhcnNFbmFibGVkUHJlZmVyZW5jZUtleV07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBj
MmM2MzBkODUzY2YwNzhhYjExOGZiMjdkNWNlYTFhODBjYjU1NWUxLi5hZGI1OTU2NGMyOGY5ZWMx
NjA5MGFjOTNmZTE5OGQyOWVhM2E4ZmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTI3OCw2ICsyNzgsOSBAQCBleHRlcm4g
TlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNh
dGlvbjsKIC0gKHZvaWQpc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6KEJP
T0wpZmxhZzsKIC0gKEJPT0wpYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s7CiAK
Ky0gKHZvaWQpc2V0UG9pbnRlckxvY2tFbmFibGVkOihCT09MKWZsYWc7CistIChCT09MKXBvaW50
ZXJMb2NrRW5hYmxlZDsKKwogLSAoTlNTdHJpbmcgKilwaWN0b2dyYXBoRm9udEZhbWlseTsKIC0g
KHZvaWQpc2V0UGljdG9ncmFwaEZvbnRGYW1pbHk6KE5TU3RyaW5nICopZmFtaWx5OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggN2NmYWE4N2I1NTZlYjQ3NmJmM2M1ZmVk
NWUwM2U2OGZiYTJkZTRiZi4uNGY4ZGY3YTUxODY5NTU3OGE3ZjIwMGNlMTM2OWY3ODM3Mjc5Y2Ux
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjUzMCw2ICsyNTMwLDEw
IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKIAogICAg
IHNldHRpbmdzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKFtwcmVmZXJlbmNlcyBy
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZF0pOwogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9D
SykKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBvaW50
ZXJMb2NrRW5hYmxlZChbcHJlZmVyZW5jZXMgcG9pbnRlckxvY2tFbmFibGVkXSk7CisjZW5kaWYK
KwogI2lmIEVOQUJMRShHQU1FUEFEKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0R2FtZXBhZHNFbmFibGVkKFtwcmVmZXJlbmNlcyBnYW1lcGFkc0VuYWJs
ZWRdKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmluaXRpb25zLmgKaW5kZXggNTJhNmQ1ZjM1ZWZlMzMwNTU5ZDQ3ZGIxM2M5NDhmZWI0ODEz
ODNjMS4uNDNmZGNkNGNjNzlkZmQyNjVhZDQ2ODVhOTlhY2NlOGJjYWVkZDIxMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC0y
OTgsNiArMjk4LDcgQEAKICAgICBtYWNybyhWYXJpYXRpb25Gb250c0VuYWJsZWQsIHZhcmlhdGlv
bkZvbnRzRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIlZhcmlhdGlvbiBGb250cyIsICJFbmFi
bGUgdmFyaWF0aW9uIGZvbnRzIikgXAogICAgIG1hY3JvKElucHV0RXZlbnRzRW5hYmxlZCwgaW5w
dXRFdmVudHNFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiSW5wdXQgRXZlbnRzIiwgIkVuYWJs
ZSBJbnB1dEV2ZW50cyBzdXBwb3J0IikgXAogICAgIG1hY3JvKFdlYkdMMkVuYWJsZWQsIHdlYkdM
MkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICJXZWJHTCAyLjAiLCAiV2ViR0wgMiBwcm90b3R5
cGUiKSBcCisgICAgbWFjcm8oUG9pbnRlckxvY2tFbmFibGVkLCBwb2ludGVyTG9ja0VuYWJsZWQs
IEJvb2wsIGJvb2wsIGZhbHNlLCAiUG9pbnRlckxvY2siLCAiUG9pbnRlciBMb2NrIEFQSSBzdXBw
b3J0IikgXAogICAgIFwKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IDA3MzljYmU5MGQ5MWE1Y2Y0YjlkYmRhMzMw
ZWRlZmIxNmVjYWM3MTQuLmZmNThlZThiMWM4ODg5ODJjNWU5NzE5MTI4M2U4ZmFlNWJmM2Q2Yjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKQEAgLTE2Nyw2
ICsxNjcsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgTlNEaWN0aW9uYXJ5ICpkYXRhRGV0ZWN0
aW9uQ29udGV4dCgpIHsgcmV0dXJuIG51bGxwdHI7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFBP
SU5URVJfTE9DSykKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBvaW50ZXJMb2NrKFdlYktpdDo6
V2ViUGFnZVByb3h5KikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZExvc2VQb2ludGVyTG9jayhX
ZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgfQorI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2xpY2tBdXRvRmlsbEJ1dHRvbihXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIEFQSTo6T2JqZWN0Kikg
eyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW1hZ2VPck1lZGlhRG9jdW1lbnRTaXplQ2hhbmdlZChj
b25zdCBXZWJDb3JlOjpJbnRTaXplJikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuY3BwCmluZGV4IGNlYTYwNDkxZjM1ZWU4YWU0OGJiNGE4YzgxN2MyNWVjN2JjOWEw
NGQuLmE0OTdjMTMzZWVkMTczNGFmNGMyYTY1YmI1NDJhOTE3NzZiY2FiZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZVBvbGljeUNsaWVudEJhc2U+IHsKIH07
CiAKIHRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1BhZ2VVSUNsaWVudEJhc2U+IHsK
LSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V0tQYWdlVUlDbGllbnRWMCwgV0tQYWdlVUlDbGllbnRW
MSwgV0tQYWdlVUlDbGllbnRWMiwgV0tQYWdlVUlDbGllbnRWMywgV0tQYWdlVUlDbGllbnRWNCwg
V0tQYWdlVUlDbGllbnRWNSwgV0tQYWdlVUlDbGllbnRWNiwgV0tQYWdlVUlDbGllbnRWNz4gVmVy
c2lvbnM7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAsIFdLUGFnZVVJ
Q2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xpZW50VjMsIFdLUGFnZVVJQ2xp
ZW50VjQsIFdLUGFnZVVJQ2xpZW50VjUsIFdLUGFnZVVJQ2xpZW50VjYsIFdLUGFnZVVJQ2xpZW50
VjcsIFdLUGFnZVVJQ2xpZW50Vjg+IFZlcnNpb25zOwogfTsKIAogI2lmIEVOQUJMRShDT05URVhU
X01FTlVTKQpAQCAtMjIxOCw2ICsyMjE4LDIzIEBAIHZvaWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50
KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VVSUNsaWVudEJhc2UqIHdrQ2xpZW50CiAg
ICAgICAgICAgICBtX2NsaWVudC5tZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZSh0b0FQSSgm
cGFnZSksIHRvQVBJKG1ldGFkYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAg
ICAgfQogI2VuZGlmCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICAgICAgdm9pZCByZXF1
ZXN0UG9pbnRlckxvY2soV2ViUGFnZVByb3h5KiBwYWdlKSBvdmVycmlkZQorICAgICAgICB7Cisg
ICAgICAgICAgICBpZiAoIW1fY2xpZW50LnJlcXVlc3RQb2ludGVyTG9jaykKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fY2xpZW50LnJlcXVlc3RQ
b2ludGVyTG9jayh0b0FQSShwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAg
ICAgfQorCisgICAgICAgIHZvaWQgZGlkTG9zZVBvaW50ZXJMb2NrKFdlYlBhZ2VQcm94eSogcGFn
ZSkgb3ZlcnJpZGUKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5yZXF1ZXN0
UG9pbnRlckxvY2spCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBtX2Ns
aWVudC5kaWRMb3NlUG9pbnRlckxvY2sodG9BUEkocGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50
SW5mbyk7CisgICAgICAgIH0KKyNlbmRpZgogICAgIH07CiAKICAgICB0b0ltcGwocGFnZVJlZikt
PnNldFVJQ2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50KSk7CkBAIC0y
NjA2LDYgKzI2MjMsMjQgQEAgdm9pZCBXS1BhZ2VTZXRNdXRlZChXS1BhZ2VSZWYgcGFnZSwgV0tN
ZWRpYU11dGVkU3RhdGUgbXV0ZWQpCiAgICAgdG9JbXBsKHBhZ2UpLT5zZXRNdXRlZChtdXRlZCk7
CiB9CiAKK3ZvaWQgV0tQYWdlRGlkQWxsb3dQb2ludGVyTG9jayhXS1BhZ2VSZWYgcGFnZSkKK3sK
KyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIHRvSW1wbChwYWdlKS0+ZGlkQWxsb3dQb2lu
dGVyTG9jaygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CisjZW5kaWYKK30KKwor
dm9pZCBXS1BhZ2VEaWREZW55UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpCit7CisjaWYgRU5B
QkxFKFBPSU5URVJfTE9DSykKKyAgICB0b0ltcGwocGFnZSktPmRpZERlbnlQb2ludGVyTG9jaygp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFnZSk7CisjZW5kaWYKK30KKwogYm9vbCBXS1Bh
Z2VIYXNNZWRpYVNlc3Npb25XaXRoQWN0aXZlTWVkaWFFbGVtZW50cyhXS1BhZ2VSZWYgcGFnZSkK
IHsKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCmluZGV4IGRhZTUxZmEzZGJmZWEwYTZhYWM3NmU5M2Mw
OTZkYWFmMmYyYmE5NmYuLjczNTBjMGJjOTM1ODRkOTUxYmE3YzIzODdiZjQxYmVjZDViZDdlZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaApA
QCAtMTI4LDYgKzEyOCw5IEBAIGVudW0gewogfTsKIHR5cGVkZWYgdWludDMyX3QgV0tNZWRpYU11
dGVkU3RhdGU7CiBXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRNdXRlZChXS1BhZ2VSZWYgcGFnZSwg
V0tNZWRpYU11dGVkU3RhdGUgbXV0ZWQpOworICAgIAorV0tfRVhQT1JUIHZvaWQgV0tQYWdlRGlk
QWxsb3dQb2ludGVyTG9jayhXS1BhZ2VSZWYgcGFnZSk7CitXS19FWFBPUlQgdm9pZCBXS1BhZ2VE
aWREZW55UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpOwogCiBlbnVtIHsKICAgICBrV0tNZWRp
YUlzTm90UGxheWluZyA9IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2VVSUNsaWVudC5oCmluZGV4IGU3NWNjZmJkYWMyOGZhZmI4NzQyZTg5ZTU4MjA5NDgwMGYx
MDIzM2IuLjI5YjhlMTBhYmNjYjQwOTkyYjBkZTcwNDc5ZDNkNDFiNmVmZDZlYjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCkBAIC0xMDQs
NiArMTA0LDkgQEAgdHlwZWRlZiB2b2lkICgqV0tQYWdlRGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbkNh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tUeXBlUmVmIHUKIHR5cGVkZWYgdm9pZCAoKldLUGFn
ZU1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBX
S01lZGlhU2Vzc2lvbk1ldGFkYXRhUmVmIG1ldGFkYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKIHR5cGVkZWYgdm9pZCAoKldLRnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lQ2FsbGJhY2sp
KFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAordHlwZWRlZiB2b2lk
ICgqV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tEaWRMb3NlUG9pbnRlckxvY2tDYWxs
YmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworCiAvLyBEZXBy
ZWNhdGVkCiB0eXBlZGVmIFdLUGFnZVJlZiAoKldLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZl
YXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1v
dXNlQnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAgICAgICgq
V0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0
aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLVHlwZVJl
ZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CkBAIC02MzYsNiArNjM5LDk0IEBA
IHR5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50VjcgewogICAgIFdLRnVsbHNjcmVlbk1heVJl
dHVyblRvSW5saW5lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbHNj
cmVlbk1heVJldHVyblRvSW5saW5lOwogfSBXS1BhZ2VVSUNsaWVudFY3OwogCit0eXBlZGVmIHN0
cnVjdCBXS1BhZ2VVSUNsaWVudFY4IHsKKyAgICBXS1BhZ2VVSUNsaWVudEJhc2UgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U7CisgICAgCisgICAg
Ly8gVmVyc2lvbiAwLgorICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVk
Rm9yVXNlV2l0aFYwICAgICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9y
VXNlV2l0aFYwOworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1BhZ2U7CisgICAgV0tQYWdlVUlDbGllbnRD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9z
ZTsKKyAgICBXS1BhZ2VUYWtlRm9jdXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRha2VGb2N1czsKKyAgICBXS1BhZ2VGb2N1c0NhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzOworICAg
IFdLUGFnZVVuZm9jdXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5mb2N1czsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFj
a19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydF9k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtQ2Fs
bGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgICAgcnVuSmF2YVNjcmlwdENvbmZp
cm1fZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0
Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQ
cm9tcHRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VTZXRTdGF0dXNUZXh0Q2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXR1c1Rl
eHQ7CisgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFja19kZXByZWNhdGVk
Rm9yVXNlV2l0aFYwICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudF9kZXByZWNhdGVkRm9y
VXNlV2l0aFYwOworICAgIFdLUGFnZU1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2tf
ZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgbWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRfZGVw
cmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVLZXlFdmVudENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZUtleUV2ZW50
OworICAgIFdLUGFnZURpZE5vdEhhbmRsZVdoZWVsRXZlbnRDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkTm90SGFuZGxlV2hlZWxFdmVudDsKKyAgICBXS1BhZ2VHZXRU
b29sYmFyc0FyZVZpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRvb2xiYXJzQXJlVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRUb29sYmFyc0FyZVZpc2libGVDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRvb2xiYXJzQXJlVmlzaWJs
ZTsKKyAgICBXS1BhZ2VHZXRNZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlU2V0TWVudUJh
cklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRN
ZW51QmFySXNWaXNpYmxlOworICAgIFdLUGFnZUdldFN0YXR1c0JhcklzVmlzaWJsZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzQmFySXNWaXNpYmxlOworICAg
IFdLUGFnZVNldFN0YXR1c0JhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2V0U3RhdHVzQmFySXNWaXNpYmxlOworICAgIFdLUGFnZUdldElzUmVzaXph
YmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNSZXNp
emFibGU7CisgICAgV0tQYWdlU2V0SXNSZXNpemFibGVDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZXRJc1Jlc2l6YWJsZTsKKyAgICBXS1BhZ2VHZXRXaW5k
b3dGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdl
dFdpbmRvd0ZyYW1lOworICAgIFdLUGFnZVNldFdpbmRvd0ZyYW1lQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0V2luZG93RnJhbWU7CisgICAgV0tQYWdl
UnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhW
NiAgICBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxfZGVwcmVjYXRlZEZvclVzZVdpdGhWNjsK
KyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRpZERyYXc7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGlkU2Nyb2xsOwor
ICAgIFdLUGFnZUV4Y2VlZGVkRGF0YWJhc2VRdW90YUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXhjZWVkZWREYXRhYmFzZVF1b3RhOworICAgIFdLUGFnZVJ1bk9wZW5Q
YW5lbENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVu
T3BlblBhbmVsOworICAgIFdLUGFnZURlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RDYWxsYmFjayAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJt
aXNzaW9uUmVxdWVzdDsKKyAgICBXS1BhZ2VIZWFkZXJIZWlnaHRDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlckhlaWdodDsKKyAgICBXS1BhZ2VG
b290ZXJIZWlnaHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZvb3RlckhlaWdodDsKKyAgICBXS1BhZ2VEcmF3SGVhZGVyQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdIZWFkZXI7CisgICAgV0tQYWdl
RHJhd0Zvb3RlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkcmF3Rm9vdGVyOworICAgIFdLUGFnZVByaW50RnJhbWVDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRGcmFtZTsKKyAgICBXS1BhZ2VV
SUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJ1bk1vZGFsOworICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkMTsgLy8gVXNlZCB0byBiZSBkaWRD
b21wbGV0ZVJ1YmJlckJhbmRGb3JNYWluRnJhbWUKKyAgICBXS1BhZ2VTYXZlRGF0YVRvRmlsZUlu
RG93bmxvYWRzRm9sZGVyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgIHNhdmVEYXRhVG9G
aWxlSW5Eb3dubG9hZHNGb2xkZXI7CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRJbnRlcnJ1cHRKYXZh
U2NyaXB0X3VuYXZhaWxhYmxlOworICAgIAorICAgIC8vIFZlcnNpb24gMS4KKyAgICBXS1BhZ2VD
cmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMSAgICAgICAgICAgICAg
ICAgIGNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMTsKKyAgICBXS1BhZ2VNb3Vz
ZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50OworICAgIFdLUGFnZURlY2lkZVBvbGljeUZvck5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgZGVjaWRlUG9saWN5Rm9y
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVn
aW5CdXR0b25DbGlja2VkQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMSB1bmF2YWlsYWJs
ZVBsdWdpbkJ1dHRvbkNsaWNrZWRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMTsKKyAgICAKKyAgICAv
LyBWZXJzaW9uIDIuCisgICAgV0tQYWdlU2hvd0NvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Q29sb3JQaWNrZXI7CisgICAgV0tQYWdl
SGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoaWRlQ29sb3JQaWNrZXI7CisgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25D
bGlja2VkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1
dHRvbkNsaWNrZWQ7CisgICAgCisgICAgLy8gVmVyc2lvbiAzLgorICAgIFdLUGFnZVBpbm5lZFN0
YXRlRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlu
bmVkU3RhdGVEaWRDaGFuZ2U7CisgICAgCisgICAgLy8gVmVyc2lvbiA0LgorICAgIHZvaWQqICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW51c2VkMjsgLy8gVXNlZCB0byBiZSBkaWRCZWdpblRyYWNraW5nUG90ZW50aWFsTG9uZ01v
dXNlUHJlc3MuCisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQzOyAvLyBVc2VkIHRvIGJlIGRpZFJlY29n
bml6ZUxvbmdNb3VzZVByZXNzLgorICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkNDsgLy8gVXNlZCB0byBi
ZSBkaWRDYW5jZWxUcmFja2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzLgorICAgIFdLUGFnZUlz
UGxheWluZ0F1ZGlvRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaXNQbGF5aW5nQXVkaW9EaWRDaGFuZ2U7CisgICAgCisgICAgLy8gVmVyc2lvbiA1LgorICAg
IFdLUGFnZURlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2sg
ICAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3Q7Cisg
ICAgV0tQYWdlRGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbkNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaWRDbGlja0F1dG9GaWxsQnV0dG9uOworICAgIFdLUGFnZVJ1bkphdmFT
Y3JpcHRBbGVydENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAgICAgcnVu
SmF2YVNjcmlwdEFsZXJ0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjU7CisgICAgV0tQYWdlUnVuSmF2
YVNjcmlwdENvbmZpcm1DYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICBy
dW5KYXZhU2NyaXB0Q29uZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFnZVJ1
bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAg
ICAgcnVuSmF2YVNjcmlwdFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFn
ZU1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgbWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2U7CisgICAgCisgICAgLy8gVmVyc2lv
biA2LgorICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZTsKKyAgICBXS1BhZ2VSdW5KYXZhU2Ny
aXB0QWxlcnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkph
dmFTY3JpcHRBbGVydDsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtOworICAg
IFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcnVuSmF2YVNjcmlwdFByb21wdDsKKyAgICBXS0NoZWNrVXNlck1lZGlhUGVy
bWlzc2lvbkNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrVXNl
ck1lZGlhUGVybWlzc2lvbkZvck9yaWdpbjsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDcuCisgICAg
V0tQYWdlUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWw7CisgICAgV0tGdWxsc2NyZWVu
TWF5UmV0dXJuVG9JbmxpbmVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
dWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmU7CisgICAgCisgICAgLy8gVmVyc2lvbiA4LgorICAg
IFdLUmVxdWVzdFBvaW50ZXJMb2NrQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdFBvaW50ZXJMb2NrOworICAgIFdLRGlkTG9zZVBvaW50ZXJMb2Nr
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTG9zZVBv
aW50ZXJMb2NrOworfSBXS1BhZ2VVSUNsaWVudFY4OworICAgIAogI2lmZGVmIF9fY3BsdXNwbHVz
CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcAppbmRleCBhN2NiYWU4NzAzYjcyZjM0NjRhZDE1YTRmNzI1NWFkZjUxYWYyMjdj
Li5jMjRhODU3YWY3NDc2NTQ0MTIyMzkzZTFkMGFkM2EzYTdiOGI0YjZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0xNTcwLDMg
KzE1NzAsMTQgQEAgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QXBwbGVQYXlDYXBhYmlsaXR5RGlzY2xv
c3VyZUFsbG93ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXIKIHsKICAgICBXZWJLaXQ6OnRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPnNldEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2Vk
KGFsbG93ZWQpOwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRQb2ludGVyTG9ja0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRv
SW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFBvaW50ZXJMb2NrRW5hYmxlZChlbmFibGVkKTsKK30K
KworYm9vbCBXS1ByZWZlcmVuY2VzR2V0UG9pbnRlckxvY2tFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PnBvaW50ZXJMb2NrRW5hYmxlZCgpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IGEyZGRlMDlh
NzEyMDY2N2Q4MTk4ZGMxODIzMDY5NTUzNWVjODljZDIuLjUwZGE2MDUwYjU2NDQ4NTI1N2VlODBm
MTExYjEwMTE2M2Q2MWIwNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC00MzQsNiArNDM0LDEwIEBA
IFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTZWxlY3Rpb25QYWludGluZ1dpdGhvdXRT
ZWxlY3Rpb25HYXBzRW5hYmxlZChXS1ByCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0
QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soV0tQcmVmZXJlbmNlc1JlZiwgYm9v
bCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRBbGxvd3NQaWN0dXJlSW5Q
aWN0dXJlTWVkaWFQbGF5YmFjayhXS1ByZWZlcmVuY2VzUmVmKTsKIAorLy8gRGVmYXVsdCB0byBm
YWxzZS4KK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQb2ludGVyTG9ja0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKK1dLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRQb2ludGVyTG9ja0VuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDNlNzk5YTY0YzMzZDcy
Y2NhZTA2Yzk3YWU1N2U5NTFjMjAxNmZmMzIuLmZkZjliZjc0YzQ0Y2RmZDAyNGYzMjVmMTkxODEx
OThkNmE5ZTQ2YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC0xNTU3LDcgKzE1NTcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlzcGF0Y2hBY3Rpdml0
eVN0YXRlQ2hhbmdlKCkKICAgICAgICAgbV9wcm9jZXNzLT5yZXNwb25zaXZlbmVzc1RpbWVyKCku
c3RvcCgpOwogCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKLSAgICBpZiAoKGNoYW5nZWQgJiBB
Y3Rpdml0eVN0YXRlOjpJc1Zpc2libGUpICYmICFpc1ZpZXdWaXNpYmxlKCkpCisgICAgaWYgKCgo
Y2hhbmdlZCAmIEFjdGl2aXR5U3RhdGU6OklzVmlzaWJsZSkgJiYgIWlzVmlld1Zpc2libGUoKSkg
fHwgKChjaGFuZ2VkICYgQWN0aXZpdHlTdGF0ZTo6V2luZG93SXNBY3RpdmUpICYmICFtX3BhZ2VD
bGllbnQuaXNWaWV3V2luZG93QWN0aXZlKCkpKQogICAgICAgICByZXF1ZXN0UG9pbnRlclVubG9j
aygpOwogI2VuZGlmCiAKQEAgLTU0NzQsNiArNTQ3NCwxMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCgpCiAgICAgbV9wYWdlQ2xpZW50LmRpc21pc3ND
b250ZW50UmVsYXRpdmVDaGlsZFdpbmRvd3MoKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5U
RVJfTE9DSykKKyAgICByZXF1ZXN0UG9pbnRlclVubG9jaygpOworI2VuZGlmCisKICAgICBQYWdl
TG9hZFN0YXRlOjpUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbiA9IG1fcGFnZUxvYWRTdGF0ZS50cmFu
c2FjdGlvbigpOwogICAgIG1fcGFnZUxvYWRTdGF0ZS5yZXNldCh0cmFuc2FjdGlvbik7CiAKQEAg
LTY2NjcsMTYgKzY2NzEsMjEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhpZGVWYWxpZGF0aW9uTWVz
c2FnZSgpCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1
ZXN0UG9pbnRlckxvY2soKQogeworICAgIEFTU0VSVCghbV9pc1BvaW50ZXJMb2NrUGVuZGluZyk7
CisgICAgQVNTRVJUKCFtX2lzUG9pbnRlckxvY2tlZCk7CisgICAgbV9pc1BvaW50ZXJMb2NrUGVu
ZGluZyA9IHRydWU7CiAgICAgaWYgKCFpc1ZpZXdWaXNpYmxlKCkpIHsKLSAgICAgICAgbV9wcm9j
ZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWROb3RBY3F1aXJlUG9pbnRlckxvY2soKSwg
bV9wYWdlSUQpOworICAgICAgICBkaWREZW55UG9pbnRlckxvY2soKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLQotICAgIGRpZEFsbG93UG9pbnRlckxvY2soKTsKKyAgICBtX3VpQ2xpZW50LT5y
ZXF1ZXN0UG9pbnRlckxvY2sodGhpcyk7CiB9CiAgICAgCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
QWxsb3dQb2ludGVyTG9jaygpCiB7CisgICAgQVNTRVJUKG1faXNQb2ludGVyTG9ja1BlbmRpbmcg
JiYgIW1faXNQb2ludGVyTG9ja2VkKTsKKyAgICBtX2lzUG9pbnRlckxvY2tlZCA9IHRydWU7Cisg
ICAgbV9pc1BvaW50ZXJMb2NrUGVuZGluZyA9IGZhbHNlOwogICAgIENHRGlzcGxheUhpZGVDdXJz
b3IoQ0dNYWluRGlzcGxheUlEKCkpOwogICAgIENHQXNzb2NpYXRlTW91c2VBbmRNb3VzZUN1cnNv
clBvc2l0aW9uKGZhbHNlKTsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpZEFjcXVpcmVQb2ludGVyTG9jaygpLCBtX3BhZ2VJRCk7CkBAIC02Njg0LDE0ICs2NjkzLDI3
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRBbGxvd1BvaW50ZXJMb2NrKCkKICAgICAKIHZvaWQg
V2ViUGFnZVByb3h5OjpkaWREZW55UG9pbnRlckxvY2soKQogeworICAgIEFTU0VSVChtX2lzUG9p
bnRlckxvY2tQZW5kaW5nICYmICFtX2lzUG9pbnRlckxvY2tlZCk7CisgICAgbV9pc1BvaW50ZXJM
b2NrUGVuZGluZyA9IGZhbHNlOwogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6RGlkTm90QWNxdWlyZVBvaW50ZXJMb2NrKCksIG1fcGFnZUlEKTsKIH0KIAogdm9pZCBXZWJQ
YWdlUHJveHk6OnJlcXVlc3RQb2ludGVyVW5sb2NrKCkKIHsKLSAgICBDR0Rpc3BsYXlTaG93Q3Vy
c29yKENHTWFpbkRpc3BsYXlJRCgpKTsKLSAgICBDR0Fzc29jaWF0ZU1vdXNlQW5kTW91c2VDdXJz
b3JQb3NpdGlvbih0cnVlKTsKLSAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpZExvc2VQb2ludGVyTG9jaygpLCBtX3BhZ2VJRCk7CisgICAgaWYgKG1faXNQb2ludGVyTG9j
a2VkKSB7CisgICAgICAgIENHQXNzb2NpYXRlTW91c2VBbmRNb3VzZUN1cnNvclBvc2l0aW9uKHRy
dWUpOworICAgICAgICBDR0Rpc3BsYXlTaG93Q3Vyc29yKENHTWFpbkRpc3BsYXlJRCgpKTsKKyAg
ICAgICAgbV91aUNsaWVudC0+ZGlkTG9zZVBvaW50ZXJMb2NrKHRoaXMpOworICAgICAgICBtX3By
b2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZExvc2VQb2ludGVyTG9jaygpLCBtX3Bh
Z2VJRCk7CisgICAgfQorCisgICAgaWYgKG1faXNQb2ludGVyTG9ja1BlbmRpbmcpIHsKKyAgICAg
ICAgbV91aUNsaWVudC0+ZGlkTG9zZVBvaW50ZXJMb2NrKHRoaXMpOworICAgICAgICBtX3Byb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZE5vdEFjcXVpcmVQb2ludGVyTG9jaygpLCBt
X3BhZ2VJRCk7CisgICAgfQorCisgICAgbV9pc1BvaW50ZXJMb2NrZWQgPSBmYWxzZTsKKyAgICBt
X2lzUG9pbnRlckxvY2tQZW5kaW5nID0gZmFsc2U7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDMyNjU5ZDE4NjhhY2ViNTNmNjllZjBkYjQy
ZDMyNTBhMTI4Yjc5NDkuLmFhNjY2M2FjYzYzNWJiNmQ2YzJiZTljYTJjYWZiMjkwMmQ4ZWFmY2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE5MjcsNiArMTky
NywxMSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9mb3JjZUFsd2F5c1VzZXJTY2FsYWJsZSB7IGZh
bHNlIH07CiAjZW5kaWYKIAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgYm9vbCBtX2lz
UG9pbnRlckxvY2tQZW5kaW5nIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNQb2ludGVyTG9ja2Vk
IHsgZmFsc2UgfTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKICAg
ICBib29sIG1fc3luY05hdmlnYXRpb25BY3Rpb25IYXNEb3dubG9hZEF0dHJpYnV0ZSB7IGZhbHNl
IH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAppbmRleCA0YjQ5MGY0MjVlMDhlZjM5ZTljNDFiNTE0N2ViN2UzYTVmNDk0OWJhLi40OTI1
YWFiNmVjYjIyNTkyMTAwZjc3NmUxZDRjYWZhNGVkMjk2NGI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xNTIsNyArMTUyLDYgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1BhZ2VDb25maWd1cmF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
bGF0Zm9ybUtleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRvY3VtZW50
Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1ByaW50Q29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmFuZ2UuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1JlbmRlckxheWVyLmg+CkBAIC0yMDAsNiArMTk5LDEwIEBACiAjaW5j
bHVkZSAiV2ViVmlicmF0aW9uQ2xpZW50LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShQT0lOVEVS
X0xPQ0spCisjaW5jbHVkZSA8V2ViQ29yZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuaD4KKyNlbmRp
ZgorCiAjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCiAjaW5jbHVkZSAiV2ViRGV2aWNlUHJv
eGltaXR5Q2xpZW50LmgiCiAjZW5kaWYKQEAgLTMxODgsNiArMzE5MSwxMCBAQCB2b2lkIFdlYlBh
Z2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0R2FtZXBhZHNF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Z2FtZXBh
ZHNFbmFibGVkS2V5KCkpKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAg
ICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFBvaW50ZXJMb2Nr
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBvaW50
ZXJMb2NrRW5hYmxlZEtleSgpKSk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQogICAgIHNldHRpbmdzLnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzZXJ2aWNlQ29udHJvbHNFbmFibGVkS2V5
KCkpKTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294476</attachid>
            <date>2016-11-10 22:51:42 -0800</date>
            <delta_ts>2016-11-18 11:08:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163801-20161110224729.patch</filename>
            <type>text/plain</type>
            <size>35296</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBhMjg0YTg0ZDk2ZjU4ODMxNjM4YTNk
NDE4ZDlmZmRiYWM0MmQwYTguLjgzOTA3YjBjOTEwODk2YzFmNjg1ZmRmMjZkMDczZmNhODNkZDk3
Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMTEtMDQgIEplcmVteSBKb25lcyAgPGplcmVt
eWpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50
ZXIgbG9jay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKyAgICAgICAgcmRh
cjovL3Byb2JsZW0vMjg1NTA5NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOiBFTkFCTEVfUE9JTlRFUl9MT0NL
IHRydWUgZm9yIE1hYy4KKwogMjAxNi0xMS0wMyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUu
Y29tPgogCiAgICAgICAgIERGRyBwbGF5cyBmYXN0IGFuZCBsb29zZSB3aXRoIHRoZSBzaGFkb3cg
dmFsdWVzIG9mIGEgUGhpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODkxMTE2MDBmZDJmNDhkN2JjYjRhMzdkYTI2
NjUzZDIyYTY5YTJkMy4uNmJkYWFmOGNhYmZiNzg2OTllYzAxZjAzZWM3OTFkYjdjMzQ1Mjg3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE2LTExLTA0ICBKZXJlbXkgSm9uZXMgIDxq
ZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBmbGFnIHRvIGVuYWJsZSBw
b2ludGVyIGxvY2suIEVuYWJsZSBwb2ludGVyIGxvY2sgZmVhdHVyZSBmb3IgbWFjLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzODAxCisgICAgICAg
IHJkYXI6Ly9wcm9ibGVtLzI4NTUwOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlc2UgdGVzdHMgbm93IHBhc3Mgd2l0aCBEdW1wUmVuZGVyVHJl
ZS4KKyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL2xvY2stYWxyZWFkeS1sb2NrZWQu
aHRtbAorICAgICAgICBMYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1lbGVtZW50LW5vdC1p
bi1kb20uaHRtbAorICAgICAgICBMYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9ja2VkLWVsZW1l
bnQtaWZyYW1lLXJlbW92ZWQtZnJvbS1kb20uaHRtbAorICAgICAgICBMYXlvdXRUZXN0cy9wb2lu
dGVyLWxvY2svbW91c2UtZXZlbnQtYXBpLmh0bWwKKworICAgICAgICBQb2ludGVyTG9ja0NvbnRy
b2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayBub3cgcHJvdGVjdHMgYWdhaW5zdCBzeW5jaHJvbm91
cyBjYWxsYmFjaworICAgICAgICB0byBhbGxvd1BvaW50ZXJMb2NrKCkuCisKKyAgICAgICAgQWRk
IHBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRQb2ludGVyTG9ja0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6cG9pbnRlckxvY2tFbmFibGVkKToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXRQb2ludGVy
TG9jayk6IEZpeCBleGlzdGluZyB0eXBvLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBv
aW50ZXJMb2NrRWxlbWVudCk6IERpdHRvCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3Bw
OgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAgICAg
ICAgKiBwYWdlL1NldHRpbmdzLmluOgorCiAyMDE2LTExLTA0ICBTYWlkIEFib3UtSGFsbGF3YSAg
PHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgc2V0dGluZyBhbmQgcHJl
ZmVyZW5jZXMgdG8gZW5hYmxlL2Rpc2FibGUgYXN5bmMgaW1hZ2UgZGVjb2RpbmcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCBlNjM1NTU2MjA2YjdiMGIxYzJlMmZhMWUzYzQ0MTAzM2NjZjRhNzlhLi5iM2Ni
YzBkZDJjNTk4ZjEwMzNjOTIzYzlhMjZkMDAxNTY1NWI2YmYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTYtMTEtMDQgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9jay4g
RW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKyAgICAgICAgcmRhcjovL3Byb2Js
ZW0vMjg1NTA5NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQbHVtYiB0aHJvdWdoIFBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21l
Q2xpZW50OjpyZXF1ZXN0UG9pbnRlclVubG9jayk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
OgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIHBvaW50ZXJMb2NrRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJl
bmNlcyBzZXRQb2ludGVyTG9ja0VuYWJsZWQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxNi0xMS0wNCAgU2FpZCBB
Ym91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHNl
dHRpbmcgYW5kIHByZWZlcmVuY2VzIHRvIGVuYWJsZS9kaXNhYmxlIGFzeW5jIGltYWdlIGRlY29k
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggMzFjOGU3YjA5ZWVlYzY2MWJmNGU2Y2MyODJkZGZjNTI1MjIwN2Vm
ZC4uMjI2ZGVjNmVjMmMwNmFiMTk0OTE1N2JjNjk2NmM1NGU4YmY4OTM0OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM5IEBACisyMDE2LTExLTA0ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgcnVudGltZSBmbGFnIHRvIGVuYWJsZSBwb2ludGVyIGxvY2su
IEVuYWJsZSBwb2ludGVyIGxvY2sgZmVhdHVyZSBmb3IgbWFjLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzODAxCisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzI4NTUwOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2hvdyBhIGJhbm5lciBleHBsYWluaW5nIGhvdyB0byBnZXQgb3V0IG9mIHBvaW50ZXIg
bG9jayB3aGVuIGFjdGl2YXRlZC4KKyAgICAgICAgRGlzbWlzcyBwb2ludGVyIGxvY2sgYmFubmVy
IHdoZW4gRXNjYXBlIGlzIHByZXNzZWQuCisgICAgICAgIAorICAgICAgICAqIFNoYXJlZC9XZWJQ
cmVmZXJlbmNlc0RlZmluaXRpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAg
ICAgICAgKEFQSTo6VUlDbGllbnQ6OmRpZExvc2VQb2ludGVyTG9jayk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQp
OgorICAgICAgICAoV0tQYWdlRGlkQWxsb3dQb2ludGVyTG9jayk6CisgICAgICAgIChXS1BhZ2VE
aWREZW55UG9pbnRlckxvY2spOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2
YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVm
ZXJlbmNlc1NldFBvaW50ZXJMb2NrRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0
UG9pbnRlckxvY2tFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaXNwYXRjaEFjdGl2aXR5U3RhdGVDaGFu
Z2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGVBZnRlclByb2Nl
c3NFeGl0ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RQb2ludGVy
TG9jayk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQWxsb3dQb2ludGVyTG9j
ayk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRGVueVBvaW50ZXJMb2NrKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UG9pbnRlclVubG9jayk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMpOgorCiAyMDE2LTExLTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwODI5My4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RG
L3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IDdiNmQxMWE5MTU0OTcxMWEwY2EyNDAwMDQ4NjMy
ZjhhZDkzNjQxNGUuLmViYzhhN2NkNjM5N2Q4NzBmOTA3MmU3Y2I4NTMzZjg2ODAyZDZhZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtNjM4LDcgKzYzOCw3IEBAIHRoZSBwdWJsaWMgaU9T
IFNESy4gV2Ugd2lsbCBhbHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBGZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBmaWxlCiAjZW5kaWYKIAogI2lmICFkZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0spCi0j
ZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMAorI2RlZmluZSBFTkFCTEVfUE9JTlRFUl9MT0NL
IDEKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCmluZGV4IDg1ODAyMmM1OTI0OTcyNzBkYzg4N2U1OTMwMTI5MzQ2ZjYwMzI2MmIu
LjUyNDAyNWZkZWUyY2YxNTNiNDhlNTY4NGE4NzNiNTUzNjljMTg5MjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCkBAIC0xODUsNiArMTg1LDExIEBAIHB1YmxpYzoKICAgICBib29sIGdhbWVwYWRzRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJlR2FtZXBhZHNFbmFibGVkOyB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgdm9pZCBzZXRQb2ludGVyTG9ja0VuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpIHsgbV9pc1BvaW50ZXJMb2NrRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAg
IGJvb2wgcG9pbnRlckxvY2tFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1BvaW50ZXJMb2Nr
RW5hYmxlZDsgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikK
ICAgICB2b2lkIHNldEFuaW1hdGlvblRyaWdnZXJzRW5hYmxlZChib29sIGFyZUVuYWJsZWQpIHsg
bV9hcmVBbmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9CiAgICAgYm9vbCBh
bmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2FyZUFuaW1hdGlvblRy
aWdnZXJzRW5hYmxlZDsgfQpAQCAtMzEyLDYgKzMxNywxMCBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9hcmVHYW1lcGFkc0VuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUE9J
TlRFUl9MT0NLKQorICAgIGJvb2wgbV9pc1BvaW50ZXJMb2NrRW5hYmxlZCB7IGZhbHNlIH07Cisj
ZW5kaWYKKwogI2lmIEVOQUJMRShDU1NfQU5JTUFUSU9OU19MRVZFTF8yKQogICAgIGJvb2wgbV9h
cmVBbmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IDNiZDYxZDYxZDFiZmFjMDUyYzg1Mjk1Y2MxNWNhYWU1MzkyNDE5NDIuLjkzODRlNTdk
YThlYTZlNjYyNDY4Y2I3OGRmZDQ5ZDIxODcxMzZhZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtNjAxMyw3ICs2MDEzLDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1bGxT
Y3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50KiBkb2MpCiAKIHZvaWQgRG9jdW1lbnQ6OmV4
aXRQb2ludGVyTG9jaygpCiB7Ci0gICAgUGFnZSogcGFnZSA9IHRoaXM+cGFnZSgpOworICAgIFBh
Z2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47
CiAgICAgaWYgKGF1dG8qIHRhcmdldCA9IHBhZ2UtPnBvaW50ZXJMb2NrQ29udHJvbGxlcigpLmVs
ZW1lbnQoKSkgewpAQCAtNjAyNSwxMCArNjAyNSwxMCBAQCB2b2lkIERvY3VtZW50OjpleGl0UG9p
bnRlckxvY2soKQogCiBFbGVtZW50KiBEb2N1bWVudDo6cG9pbnRlckxvY2tFbGVtZW50KCkgY29u
c3QKIHsKLSAgICBQYWdlKiBwYWdlID0gdGhpcz5wYWdlKCk7CisgICAgUGFnZSogcGFnZSA9IHRo
aXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwgcGFnZS0+cG9pbnRlckxvY2tDb250cm9sbGVy
KCkubG9ja1BlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0byogZWxl
bWVudCA9IHBhZ2UoKS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVudCgpOworICAgIGF1
dG8qIGVsZW1lbnQgPSBwYWdlLT5wb2ludGVyTG9ja0NvbnRyb2xsZXIoKS5lbGVtZW50KCk7CiAg
ICAgaWYgKCFlbGVtZW50IHx8ICZlbGVtZW50LT5kb2N1bWVudCgpICE9IHRoaXMpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBlbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZmVhdHVyZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24KaW5k
ZXggYmQ0MDlhMjMxMjBjYTFhMDAzZjYyNjU2ODY4YjM3NmU0YzAxNTU1ZC4uNDVlZmIwYjA5YjJi
ODliZWE4ZjBmYTI4NWM5YjNmNDUzNmQ4Yjc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmVhdHVyZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5qc29uCkBAIC0yNzAs
NiArMjcwLDIwIEBACiAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbiBBUEkgdGhhdCBjYW4gYmUg
dXNlZCB0byB1bmRlcnN0YW5kIHRoZSB2aXNpYmlsaXR5IGFuZCBwb3NpdGlvbiBvZiBET00gZWxl
bWVudHMgcmVsYXRpdmUgdG8gYSBjb250YWluaW5nIGVsZW1lbnQgb3IgdG8gdGhlIHRvcC1sZXZl
bCB2aWV3cG9ydC4iCiAgICAgfSwKICAgICB7CisgICAgICAgICJuYW1lIjogIlBvaW50ZXIgTG9j
ayIsCisgICAgICAgICJzdGF0dXMiOiB7CisgICAgICAgICAgICAic3RhdHVzIjogIkluIERldmVs
b3BtZW50IiwKKyAgICAgICAgICAgICJlbmFibGVkLWJ5LWRlZmF1bHQiOiBmYWxzZQorICAgICAg
ICB9LAorICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9wb2ludGVybG9jay8i
LAorICAgICAgICAia2V5d29yZHMiOiBbInBvaW50ZXIiLCAicG9pbnRlciBsb2NrIl0sCisgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyBzY3JpcHRlZCBhY2Nlc3MgdG8gcmF3IG1vdXNl
IG1vdmVtZW50IGRhdGEgd2hpbGUgbG9ja2luZyB0aGUgdGFyZ2V0IG9mIG1vdXNlIGV2ZW50cyB0
byBhIHNpbmdsZSBlbGVtZW50IGFuZCByZW1vdmluZyB0aGUgY3Vyc29yIGZyb20gdmlldy4iLAor
ICAgICAgICAiY29udGFjdCI6IHsKKyAgICAgICAgICAgICJuYW1lIjogIkplcmVteSBKb25lcyIs
CisgICAgICAgICAgICAiZW1haWwiOiAiamVyZW15akBhcHBsZS5jb20iCisgICAgICAgIH0KKyAg
ICB9LAorICAgIHsKICAgICAgICAgIm5hbWUiOiAiUHJlbG9hZCIsCiAgICAgICAgICJzdGF0dXMi
OiB7CiAgICAgICAgICAgICAic3RhdHVzIjogIkluIERldmVsb3BtZW50IiwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhYjk4MjhlZDg5M2M4OGRmNjA0OWE5OGQzYWM4ZWMz
YjI1Mzc3NTllLi4zNTU2OTBiY2JmOWU1Y2JiMzEzZjg0NjhlMDMyY2M2MDI1NTJkOWQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC03Myw3ICs3Myw2IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50
LmgiCiAjaW5jbHVkZSAiUGx1Z2luRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJQb2ludGVyTG9ja0Nv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJSZW5kZXJGcmFtZVNldC5oIgogI2luY2x1ZGUgIlJlbmRl
ckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGlzdEJveC5oIgpAQCAtMTIxLDYgKzEyMCwxMCBA
QAogI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZUV2ZW50TWFjLmgiCiAjZW5kaWYKIAorI2lmIEVO
QUJMRShQT0lOVEVSX0xPQ0spCisjaW5jbHVkZSAiUG9pbnRlckxvY2tDb250cm9sbGVyLmgiCisj
ZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCmluZGV4
IDk4NjU1ZTY5OThjN2ZhYjA3NDBmOGY5ZTAxNjc2OWQyYTc0ZDY2YzUuLjU1YmVkM2Y4NWM0OWVm
ZmZmYTk5NTY0NDNmMWE1NTMzMWMzM2Q4OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bv
aW50ZXJMb2NrQ29udHJvbGxlci5jcHAKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJFdmVu
dE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVu
dC5oIgorI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTY3Jp
cHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCiAKIApAQCAtNTIsNiAr
NTQsMTYgQEAgdm9pZCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayhF
bGVtZW50KiB0YXJnZXQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoIVJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucG9pbnRlckxvY2tFbmFibGVkKCkp
IHsKKyAgICAgICAgZW5xdWV1ZUV2ZW50KGV2ZW50TmFtZXMoKS5wb2ludGVybG9ja2Vycm9yRXZl
bnQsIHRhcmdldCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIVNjcmlwdENv
bnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7CisgICAgICAgIGVucXVldWVFdmVu
dChldmVudE5hbWVzKCkucG9pbnRlcmxvY2tlcnJvckV2ZW50LCB0YXJnZXQpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCiAgICAgaWYgKHRhcmdldC0+ZG9jdW1lbnQoKS5pc1NhbmRib3hlZChT
YW5kYm94UG9pbnRlckxvY2spKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hv
dWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCiAgICAgICAgIHRh
cmdldC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0
eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgQVNDSUlMaXRlcmFsKCJCbG9ja2VkIHBvaW50ZXIgbG9j
ayBvbiBhbiBlbGVtZW50IGJlY2F1c2UgdGhlIGVsZW1lbnQncyBmcmFtZSBpcyBzYW5kYm94ZWQg
YW5kIHRoZSAnYWxsb3ctcG9pbnRlci1sb2NrJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIikpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbiBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggMjQ0ZDZjY2FkNDY2MWFjNDgwMjBjMTdjNmUxNGJl
ZWUzZWVjMGM2OS4uODY0NDU4YmUyNWY3ZDI2YWVkMmI1MWVhY2MyOWVhM2ViOGIzMjAzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC0yODgsMyArMjg4LDUgQEAgeW91VHViZUZsYXNoUGx1
Z2luUmVwbGFjZW1lbnRFbmFibGVkIGluaXRpYWw9ZGVmYXVsdFlvdVR1YmVGbGFzaFBsdWdpblJl
cGxhY2VtZW4KIGZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUgdHlwZT1Gb3JjZWRQcmVm
ZXJzUmVkdWNlZE1vdGlvblZhbHVlLCBpbml0aWFsPWRlZmF1bHRGb3JjZWRQcmVmZXJzUmVkdWNl
ZE1vdGlvblZhbHVlCiAKIGFzeW5jSW1hZ2VEZWNvZGluZ0VuYWJsZWQgaW5pdGlhbD10cnVlCisK
K3BvaW50ZXJMb2NrRW5hYmxlZCBpbml0aWFsPWZhbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYmY5YWY1NTMyOWQw
ODEzMDZkYmMxOTlhM2NhM2NiOWJhMjIxMmYxOC4uYmNlYWZkNTExNjUzMjJiM2FkYmE3OTRjMGMx
ZjU4ZGI1Y2UxOWE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtNzcsNyArNzcsNiBAQAogI2ltcG9ydCA8V2ViQ29y
ZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1BvaW50ZXJMb2NrQ29u
dHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQg
PFdlYkNvcmUvU2VyaWFsaXplZENyeXB0b0tleVdyYXAuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2lk
Z2V0Lmg+CkBAIC05NSw2ICs5NCwxMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9HZW9sb2NhdGlvbi5o
PgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorI2ltcG9ydCA8V2ViQ29yZS9Q
b2ludGVyTG9ja0NvbnRyb2xsZXIuaD4KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogI2lt
cG9ydCA8V2ViQ29yZS9XQUtDbGlwVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XQUtXaW5kb3cu
aD4KQEAgLTczMCw4ICs3MzMsOCBAQCBib29sIFdlYkNocm9tZUNsaWVudDo6cmVxdWVzdFBvaW50
ZXJMb2NrKCkKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0UG9pbnRlclVubG9jaygpCiB7
CiAjaWYgUExBVEZPUk0oTUFDKQotICAgIENHRGlzcGxheVNob3dDdXJzb3IoQ0dNYWluRGlzcGxh
eUlEKCkpOwogICAgIENHQXNzb2NpYXRlTW91c2VBbmRNb3VzZUN1cnNvclBvc2l0aW9uKHRydWUp
OworICAgIENHRGlzcGxheVNob3dDdXJzb3IoQ0dNYWluRGlzcGxheUlEKCkpOwogICAgIGlmIChb
bV93ZWJWaWV3IHBhZ2VdKQogICAgICAgICBbbV93ZWJWaWV3IHBhZ2VdLT5wb2ludGVyTG9ja0Nv
bnRyb2xsZXIoKS5kaWRMb3NlUG9pbnRlckxvY2soKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNzA2
Y2M5YTAyMTExYjg2MzQxZDY1NTU5NTRmM2RjYzE2NjY0NTFkYy4uMTlhMTcwMzk5ZjQxYzVmNWY4
NDExM2ZjMjdiNzA1YzhiNDAzMGZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xNjksNiArMTY5LDcgQEAKICNk
ZWZpbmUgV2ViS2l0Q1NTR3JpZExheW91dEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NT
R3JpZExheW91dEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFZpc3VhbFZpZXdwb3J0RW5hYmxlZFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRWaXN1YWxWaWV3cG9ydEVuYWJsZWQiCiAjZGVmaW5lIFdlYktp
dE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1vZGVybk1l
ZGlhQ29udHJvbHNFbmFibGVkIgorI2RlZmluZSBXZWJLaXRQb2ludGVyTG9ja0VuYWJsZWRQcmVm
ZXJlbmNlS2V5IEAiV2ViS2l0UG9pbnRlckxvY2tFbmFibGVkIgogCiAjaWYgIVRBUkdFVF9PU19J
UEhPTkUKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBi
ZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDZjMzQ4MjViZjM3ZWU3MWMyNDc0
YjU4Nzk5MGUwYTJkYWVhODk1YjUuLmI0ZWIzMGRiYWM3MTI4MmYzYmJhZWQyYmI1NmY5ZTZhM2I4
NGFmZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpA
QCAtMjM0OCw2ICsyMzQ4LDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9
IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdEFsbG93c1Bp
Y3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wp
cG9pbnRlckxvY2tFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6
V2ViS2l0UG9pbnRlckxvY2tFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0
UG9pbnRlckxvY2tFbmFibGVkOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVl
OmZsYWcgZm9yS2V5OldlYktpdFBvaW50ZXJMb2NrRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQor
CiAtIChCT09MKW1vY2tTY3JvbGxiYXJzRW5hYmxlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9v
bFZhbHVlRm9yS2V5OldlYktpdE1vY2tTY3JvbGxiYXJzRW5hYmxlZFByZWZlcmVuY2VLZXldOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
aW5kZXggYzJjNjMwZDg1M2NmMDc4YWIxMThmYjI3ZDVjZWExYTgwY2I1NTVlMS4uYWRiNTk1NjRj
MjhmOWVjMTYwOTBhYzkzZmUxOThkMjllYTNhOGZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0yNzgsNiArMjc4LDkgQEAg
ZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxO
b3RpZmljYXRpb247CiAtICh2b2lkKXNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrOihCT09MKWZsYWc7CiAtIChCT09MKWFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrOwogCistICh2b2lkKXNldFBvaW50ZXJMb2NrRW5hYmxlZDooQk9PTClmbGFnOworLSAoQk9P
TClwb2ludGVyTG9ja0VuYWJsZWQ7CisKIC0gKE5TU3RyaW5nICopcGljdG9ncmFwaEZvbnRGYW1p
bHk7CiAtICh2b2lkKXNldFBpY3RvZ3JhcGhGb250RmFtaWx5OihOU1N0cmluZyAqKWZhbWlseTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDdjZmFhODdiNTU2ZWI0NzZi
ZjNjNWZlZDVlMDNlNjhmYmEyZGU0YmYuLjRmOGRmN2E1MTg2OTU1NzhhN2YyMDBjZTEzNjlmNzgz
NzI3OWNlMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI1MzAsNiAr
MjUzMCwxMCBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygp
CiAKICAgICBzZXR0aW5ncy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChbcHJlZmVy
ZW5jZXMgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRdKTsKIAorI2lmIEVOQUJMRShQT0lO
VEVSX0xPQ0spCisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRQb2ludGVyTG9ja0VuYWJsZWQoW3ByZWZlcmVuY2VzIHBvaW50ZXJMb2NrRW5hYmxlZF0pOwor
I2VuZGlmCisKICNpZiBFTkFCTEUoR0FNRVBBRCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldEdhbWVwYWRzRW5hYmxlZChbcHJlZmVyZW5jZXMgZ2FtZXBh
ZHNFbmFibGVkXSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZpbml0aW9ucy5oCmluZGV4IDUyYTZkNWYzNWVmZTMzMDU1OWQ0N2RiMTNjOTQ4
ZmViNDgxMzgzYzEuLjQzZmRjZDRjYzc5ZGZkMjY1YWQ0Njg1YTk5YWNjZThiY2FlZGQyMTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25z
LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMu
aApAQCAtMjk4LDYgKzI5OCw3IEBACiAgICAgbWFjcm8oVmFyaWF0aW9uRm9udHNFbmFibGVkLCB2
YXJpYXRpb25Gb250c0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICJWYXJpYXRpb24gRm9udHMi
LCAiRW5hYmxlIHZhcmlhdGlvbiBmb250cyIpIFwKICAgICBtYWNybyhJbnB1dEV2ZW50c0VuYWJs
ZWQsIGlucHV0RXZlbnRzRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIklucHV0IEV2ZW50cyIs
ICJFbmFibGUgSW5wdXRFdmVudHMgc3VwcG9ydCIpIFwKICAgICBtYWNybyhXZWJHTDJFbmFibGVk
LCB3ZWJHTDJFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiV2ViR0wgMi4wIiwgIldlYkdMIDIg
cHJvdG90eXBlIikgXAorICAgIG1hY3JvKFBvaW50ZXJMb2NrRW5hYmxlZCwgcG9pbnRlckxvY2tF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIlBvaW50ZXJMb2NrIiwgIlBvaW50ZXIgTG9jayBB
UEkgc3VwcG9ydCIpIFwKICAgICBcCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAppbmRleCAwNzM5Y2JlOTBkOTFhNWNmNGI5
ZGJkYTMzMGVkZWZiMTZlY2FjNzE0Li5mZjU4ZWU4YjFjODg4OTgyYzVlOTcxOTEyODNlOGZhZTVi
ZjNkNmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCkBA
IC0xNjcsNiArMTY3LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIE5TRGljdGlvbmFyeSAqZGF0
YURldGVjdGlvbkNvbnRleHQoKSB7IHJldHVybiBudWxscHRyOyB9CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShQT0lOVEVSX0xPQ0spCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQb2ludGVyTG9jayhX
ZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRMb3NlUG9pbnRl
ckxvY2soV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KKyNlbmRpZgorCiAgICAgdmlydHVhbCB2
b2lkIGRpZENsaWNrQXV0b0ZpbGxCdXR0b24oV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBBUEk6Ok9i
amVjdCopIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNo
YW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCBjZWE2MDQ5MWYzNWVlOGFlNDhiYjRhOGM4MTdjMjVl
YzdiYzlhMDRkLi5hNDk3YzEzM2VlZDE3MzRhZjRjMmE2NWJiNTQyYTkxNzc2YmNhYmUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMTA5LDcgKzEwOSw3
IEBAIHRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1BhZ2VQb2xpY3lDbGllbnRCYXNl
PiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnRC
YXNlPiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAsIFdLUGFnZVVJ
Q2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xpZW50VjMsIFdLUGFnZVVJQ2xp
ZW50VjQsIFdLUGFnZVVJQ2xpZW50VjUsIFdLUGFnZVVJQ2xpZW50VjYsIFdLUGFnZVVJQ2xpZW50
Vjc+IFZlcnNpb25zOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VVSUNsaWVudFYwLCBX
S1BhZ2VVSUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1BhZ2VVSUNsaWVudFYzLCBXS1Bh
Z2VVSUNsaWVudFY0LCBXS1BhZ2VVSUNsaWVudFY1LCBXS1BhZ2VVSUNsaWVudFY2LCBXS1BhZ2VV
SUNsaWVudFY3LCBXS1BhZ2VVSUNsaWVudFY4PiBWZXJzaW9uczsKIH07CiAKICNpZiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKQEAgLTIyMTgsNiArMjIxOCwyMyBAQCB2b2lkIFdLUGFnZVNldFBhZ2VV
SUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0Ns
aWVudAogICAgICAgICAgICAgbV9jbGllbnQubWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2Uo
dG9BUEkoJnBhZ2UpLCB0b0FQSShtZXRhZGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CiAgICAgICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgICAgIHZv
aWQgcmVxdWVzdFBvaW50ZXJMb2NrKFdlYlBhZ2VQcm94eSogcGFnZSkgb3ZlcnJpZGUKKyAgICAg
ICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5yZXF1ZXN0UG9pbnRlckxvY2spCisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgCisgICAgICAgICAgICBtX2NsaWVudC5y
ZXF1ZXN0UG9pbnRlckxvY2sodG9BUEkocGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CisgICAgICAgIH0KKworICAgICAgICB2b2lkIGRpZExvc2VQb2ludGVyTG9jayhXZWJQYWdlUHJv
eHkqIHBhZ2UpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQu
cmVxdWVzdFBvaW50ZXJMb2NrKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAg
ICAgbV9jbGllbnQuZGlkTG9zZVBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5iYXNl
LmNsaWVudEluZm8pOworICAgICAgICB9CisjZW5kaWYKICAgICB9OwogCiAgICAgdG9JbXBsKHBh
Z2VSZWYpLT5zZXRVSUNsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFVJQ2xpZW50Pih3a0NsaWVudCkp
OwpAQCAtMjYwNiw2ICsyNjIzLDI0IEBAIHZvaWQgV0tQYWdlU2V0TXV0ZWQoV0tQYWdlUmVmIHBh
Z2UsIFdLTWVkaWFNdXRlZFN0YXRlIG11dGVkKQogICAgIHRvSW1wbChwYWdlKS0+c2V0TXV0ZWQo
bXV0ZWQpOwogfQogCit2b2lkIFdLUGFnZURpZEFsbG93UG9pbnRlckxvY2soV0tQYWdlUmVmIHBh
Z2UpCit7CisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICB0b0ltcGwocGFnZSktPmRpZEFs
bG93UG9pbnRlckxvY2soKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOworI2VuZGlm
Cit9CisKK3ZvaWQgV0tQYWdlRGlkRGVueVBvaW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKQorewor
I2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgdG9JbXBsKHBhZ2UpLT5kaWREZW55UG9pbnRl
ckxvY2soKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOworI2VuZGlmCit9CisKIGJv
b2wgV0tQYWdlSGFzTWVkaWFTZXNzaW9uV2l0aEFjdGl2ZU1lZGlhRWxlbWVudHMoV0tQYWdlUmVm
IHBhZ2UpCiB7CiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAppbmRleCBkYWU1MWZhM2RiZmVhMGE2YWFj
NzZlOTNjMDk2ZGFhZjJmMmJhOTZmLi43MzUwYzBiYzkzNTg0ZDk1MWJhN2MyMzg3YmY0MWJlY2Q1
YmQ3ZWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2
YXRlLmgKQEAgLTEyOCw2ICsxMjgsOSBAQCBlbnVtIHsKIH07CiB0eXBlZGVmIHVpbnQzMl90IFdL
TWVkaWFNdXRlZFN0YXRlOwogV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0TXV0ZWQoV0tQYWdlUmVm
IHBhZ2UsIFdLTWVkaWFNdXRlZFN0YXRlIG11dGVkKTsKKyAgICAKK1dLX0VYUE9SVCB2b2lkIFdL
UGFnZURpZEFsbG93UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpOworV0tfRVhQT1JUIHZvaWQg
V0tQYWdlRGlkRGVueVBvaW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKTsKIAogZW51bSB7CiAgICAg
a1dLTWVkaWFJc05vdFBsYXlpbmcgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlVUlDbGllbnQuaAppbmRleCBlNzVjY2ZiZGFjMjhmYWZiODc0MmU4OWU1ODIw
OTQ4MDBmMTAyMzNiLi4yOWI4ZTEwYWJjY2I0MDk5MmIwZGU3MDQ3OWQzZDQxYjZlZmQ2ZWIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaApA
QCAtMTA0LDYgKzEwNCw5IEBAIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENsaWNrQXV0b0ZpbGxC
dXR0b25DYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1CiB0eXBlZGVmIHZvaWQg
KCpXS1BhZ2VNZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VSZWYg
cGFnZSwgV0tNZWRpYVNlc3Npb25NZXRhZGF0YVJlZiBtZXRhZGF0YSwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKK3R5cGVk
ZWYgdm9pZCAoKldLUmVxdWVzdFBvaW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLRGlkTG9zZVBvaW50ZXJM
b2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKwog
Ly8gRGVwcmVjYXRlZAogdHlwZWRlZiBXS1BhZ2VSZWYgKCpXS1BhZ2VDcmVhdGVOZXdQYWdlQ2Fs
bGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlvbmFy
eVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1
dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQg
ICAgICAoKldLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2tfZGVwcmVjYXRlZEZv
clVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBX
S1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtNjM2LDYgKzYz
OSw5NCBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY3IHsKICAgICBXS0Z1bGxzY3Jl
ZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZTsKIH0gV0tQYWdlVUlDbGllbnRWNzsKIAordHlw
ZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWOCB7CisgICAgV0tQYWdlVUlDbGllbnRCYXNlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOworICAg
IAorICAgIC8vIFZlcnNpb24gMC4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVw
cmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2VfZGVwcmVj
YXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dQYWdlOworICAgIFdLUGFnZVVJ
Q2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2xvc2U7CisgICAgV0tQYWdlVGFrZUZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlRm9jdXM7CisgICAgV0tQYWdlRm9jdXNDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1
czsKKyAgICBXS1BhZ2VVbmZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuZm9jdXM7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0
Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgICAgICBydW5KYXZhU2NyaXB0
QWxlcnRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29u
ZmlybUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgIHJ1bkphdmFTY3Jp
cHRDb25maXJtX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlw
dFByb21wdENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICBydW5KYXZh
U2NyaXB0UHJvbXB0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlU2V0U3RhdHVz
VGV4dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRT
dGF0dXNUZXh0OworICAgIFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2tfZGVw
cmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRfZGVwcmVj
YXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VNaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZENh
bGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlj
a2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlRGlkTm90SGFuZGxlS2V5RXZl
bnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVL
ZXlFdmVudDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVXaGVlbEV2ZW50Q2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQ7CisgICAgV0tQ
YWdlR2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0b29sYmFyc0FyZVZpc2libGU7CisgICAgV0tQYWdlU2V0VG9vbGJhcnNBcmVWaXNp
YmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUb29sYmFyc0Fy
ZVZpc2libGU7CisgICAgV0tQYWdlR2V0TWVudUJhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtZW51QmFySXNWaXNpYmxlOworICAgIFdLUGFnZVNl
dE1lbnVCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0TWVudUJhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRTdGF0dXNCYXJJc1Zpc2libGVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c0JhcklzVmlzaWJs
ZTsKKyAgICBXS1BhZ2VTZXRTdGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNldFN0YXR1c0JhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRJ
c1Jlc2l6YWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlzUmVzaXphYmxlOworICAgIFdLUGFnZVNldElzUmVzaXphYmxlQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNSZXNpemFibGU7CisgICAgV0tQYWdl
R2V0V2luZG93RnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnZXRXaW5kb3dGcmFtZTsKKyAgICBXS1BhZ2VTZXRXaW5kb3dGcmFtZUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFdpbmRvd0ZyYW1lOworICAg
IFdLUGFnZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjYgICAgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsX2RlcHJlY2F0ZWRGb3JVc2VX
aXRoVjY7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaWREcmF3OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURpZFNj
cm9sbDsKKyAgICBXS1BhZ2VFeGNlZWRlZERhdGFiYXNlUXVvdGFDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGV4Y2VlZGVkRGF0YWJhc2VRdW90YTsKKyAgICBXS1BhZ2VS
dW5PcGVuUGFuZWxDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJ1bk9wZW5QYW5lbDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgIGRlY2lkZVBvbGljeUZvckdlb2xvY2F0
aW9uUGVybWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdlSGVhZGVySGVpZ2h0Q2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJIZWlnaHQ7CisgICAg
V0tQYWdlRm9vdGVySGVpZ2h0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmb290ZXJIZWlnaHQ7CisgICAgV0tQYWdlRHJhd0hlYWRlckNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3SGVhZGVyOworICAg
IFdLUGFnZURyYXdGb290ZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZHJhd0Zvb3RlcjsKKyAgICBXS1BhZ2VQcmludEZyYW1lQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50RnJhbWU7CisgICAg
V0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBydW5Nb2RhbDsKKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDE7IC8vIFVzZWQgdG8g
YmUgZGlkQ29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZyYW1lCisgICAgV0tQYWdlU2F2ZURhdGFU
b0ZpbGVJbkRvd25sb2Fkc0ZvbGRlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBzYXZl
RGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyOworICAgIHZvaWQqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkSW50ZXJy
dXB0SmF2YVNjcmlwdF91bmF2YWlsYWJsZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDEuCisgICAg
V0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgICAgICAg
ICAgICAgICAgICBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisgICAgV0tQ
YWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lG
b3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBv
bGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZVVuYXZhaWxh
YmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgdW5h
dmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisgICAg
CisgICAgLy8gVmVyc2lvbiAyLgorICAgIFdLUGFnZVNob3dDb2xvclBpY2tlckNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NvbG9yUGlja2VyOworICAg
IFdLUGFnZUhpZGVDb2xvclBpY2tlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGlkZUNvbG9yUGlja2VyOworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2lu
QnV0dG9uQ2xpY2tlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdW5hdmFpbGFibGVQ
bHVnaW5CdXR0b25DbGlja2VkOworICAgIAorICAgIC8vIFZlcnNpb24gMy4KKyAgICBXS1BhZ2VQ
aW5uZWRTdGF0ZURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBpbm5lZFN0YXRlRGlkQ2hhbmdlOworICAgIAorICAgIC8vIFZlcnNpb24gNC4KKyAgICB2
b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVudXNlZDI7IC8vIFVzZWQgdG8gYmUgZGlkQmVnaW5UcmFja2luZ1BvdGVudGlh
bExvbmdNb3VzZVByZXNzLgorICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkMzsgLy8gVXNlZCB0byBiZSBk
aWRSZWNvZ25pemVMb25nTW91c2VQcmVzcy4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDQ7IC8vIFVz
ZWQgdG8gYmUgZGlkQ2FuY2VsVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcy4KKyAgICBX
S1BhZ2VJc1BsYXlpbmdBdWRpb0RpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlOworICAgIAorICAgIC8vIFZlcnNpb24g
NS4KKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdENh
bGxiYWNrICAgICAgICAgICAgIGRlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0OworICAgIFdLUGFnZURpZENsaWNrQXV0b0ZpbGxCdXR0b25DYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbjsKKyAgICBXS1BhZ2VS
dW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAg
ICAgIHJ1bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFn
ZVJ1bkphdmFTY3JpcHRDb25maXJtQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAg
ICAgICAgcnVuSmF2YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAgICBX
S1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAg
ICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHRfZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAg
ICBXS1BhZ2VNZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgIG1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlOworICAgIAorICAgIC8v
IFZlcnNpb24gNi4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2U7CisgICAgV0tQYWdlUnVu
SmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBydW5KYXZhU2NyaXB0QWxlcnQ7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmly
bTsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQ7CisgICAgV0tDaGVja1VzZXJN
ZWRpYVBlcm1pc3Npb25DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
aGVja1VzZXJNZWRpYVBlcm1pc3Npb25Gb3JPcmlnaW47CisgICAgCisgICAgLy8gVmVyc2lvbiA3
LgorICAgIFdLUGFnZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsOworICAgIFdLRnVs
bHNjcmVlbk1heVJldHVyblRvSW5saW5lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lOworICAgIAorICAgIC8vIFZlcnNpb24g
OC4KKyAgICBXS1JlcXVlc3RQb2ludGVyTG9ja0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlcXVlc3RQb2ludGVyTG9jazsKKyAgICBXS0RpZExvc2VQb2lu
dGVyTG9ja0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRp
ZExvc2VQb2ludGVyTG9jazsKK30gV0tQYWdlVUlDbGllbnRWODsKKyAgICAKICNpZmRlZiBfX2Nw
bHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggYTdjYmFlODcwM2I3MmYzNDY0YWQxNWE0ZjcyNTVhZGY1
MWFmMjI3Yy4uYzI0YTg1N2FmNzQ3NjU0NDEyMjM5M2UxZDBhZDNhM2E3YjhiNGI2ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAt
MTU3MCwzICsxNTcwLDE0IEBAIHZvaWQgV0tQcmVmZXJlbmNlc1NldEFwcGxlUGF5Q2FwYWJpbGl0
eURpc2Nsb3N1cmVBbGxvd2VkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyCiB7CiAgICAgV2ViS2l0
Ojp0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRBcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJl
QWxsb3dlZChhbGxvd2VkKTsKIH0KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0UG9pbnRlckxvY2tF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sK
KyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRQb2ludGVyTG9ja0VuYWJsZWQoZW5hYmxl
ZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFBvaW50ZXJMb2NrRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5j
ZXNSZWYpLT5wb2ludGVyTG9ja0VuYWJsZWQoKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCBh
MmRkZTA5YTcxMjA2NjdkODE5OGRjMTgyMzA2OTU1MzVlYzg5Y2QyLi41MGRhNjA1MGI1NjQ0ODUy
NTdlZTgwZjExMWIxMDExNjNkNjFiMDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNDM0LDYgKzQz
NCwxMCBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2VsZWN0aW9uUGFpbnRpbmdX
aXRob3V0U2VsZWN0aW9uR2Fwc0VuYWJsZWQoV0tQcgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKFdLUHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QWxsb3dzUGlj
dHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soV0tQcmVmZXJlbmNlc1JlZik7CiAKKy8vIERlZmF1
bHQgdG8gZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0UG9pbnRlckxvY2tF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CitX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UG9pbnRlckxvY2tFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAzZTc5OWE2
NGMzM2Q3MmNjYWUwNmM5N2FlNTdlOTUxYzIwMTZmZjMyLi5lMTNlM2QwNjE1Y2M4ZjY0YWJhYTJj
YjRhNWFkN2FkNzBjNGE1YmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMTU1Nyw3ICsxNTU3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpc3BhdGNo
QWN0aXZpdHlTdGF0ZUNoYW5nZSgpCiAgICAgICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NU
aW1lcigpLnN0b3AoKTsKIAogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCi0gICAgaWYgKChjaGFu
Z2VkICYgQWN0aXZpdHlTdGF0ZTo6SXNWaXNpYmxlKSAmJiAhaXNWaWV3VmlzaWJsZSgpKQorICAg
IGlmICgoKGNoYW5nZWQgJiBBY3Rpdml0eVN0YXRlOjpJc1Zpc2libGUpICYmICFpc1ZpZXdWaXNp
YmxlKCkpIHx8ICgoY2hhbmdlZCAmIEFjdGl2aXR5U3RhdGU6OldpbmRvd0lzQWN0aXZlKSAmJiAh
bV9wYWdlQ2xpZW50LmlzVmlld1dpbmRvd0FjdGl2ZSgpKSkKICAgICAgICAgcmVxdWVzdFBvaW50
ZXJVbmxvY2soKTsKICNlbmRpZgogCkBAIC01NDc0LDYgKzU0NzQsMTAgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OnJlc2V0U3RhdGVBZnRlclByb2Nlc3NFeGl0ZWQoKQogICAgIG1fcGFnZUNsaWVudC5k
aXNtaXNzQ29udGVudFJlbGF0aXZlQ2hpbGRXaW5kb3dzKCk7CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShQT0lOVEVSX0xPQ0spCisgICAgcmVxdWVzdFBvaW50ZXJVbmxvY2soKTsKKyNlbmRpZgorCiAg
ICAgUGFnZUxvYWRTdGF0ZTo6VHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24gPSBtX3BhZ2VMb2FkU3Rh
dGUudHJhbnNhY3Rpb24oKTsKICAgICBtX3BhZ2VMb2FkU3RhdGUucmVzZXQodHJhbnNhY3Rpb24p
OwogCkBAIC02NjY3LDMxICs2NjcxLDUzIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoaWRlVmFsaWRh
dGlvbk1lc3NhZ2UoKQogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiB2b2lkIFdlYlBhZ2VQcm94
eTo6cmVxdWVzdFBvaW50ZXJMb2NrKCkKIHsKKyAgICBBU1NFUlQoIW1faXNQb2ludGVyTG9ja1Bl
bmRpbmcpOworICAgIEFTU0VSVCghbV9pc1BvaW50ZXJMb2NrZWQpOworICAgIG1faXNQb2ludGVy
TG9ja1BlbmRpbmcgPSB0cnVlOwogICAgIGlmICghaXNWaWV3VmlzaWJsZSgpKSB7Ci0gICAgICAg
IG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkTm90QWNxdWlyZVBvaW50ZXJM
b2NrKCksIG1fcGFnZUlEKTsKKyAgICAgICAgZGlkRGVueVBvaW50ZXJMb2NrKCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0KLSAgICBkaWRBbGxvd1BvaW50ZXJMb2NrKCk7CisgICAgbV91aUNs
aWVudC0+cmVxdWVzdFBvaW50ZXJMb2NrKHRoaXMpOwogfQogICAgIAogdm9pZCBXZWJQYWdlUHJv
eHk6OmRpZEFsbG93UG9pbnRlckxvY2soKQogeworICAgIEFTU0VSVChtX2lzUG9pbnRlckxvY2tQ
ZW5kaW5nICYmICFtX2lzUG9pbnRlckxvY2tlZCk7CisgICAgbV9pc1BvaW50ZXJMb2NrZWQgPSB0
cnVlOworICAgIG1faXNQb2ludGVyTG9ja1BlbmRpbmcgPSBmYWxzZTsKKyNpZiBQTEFURk9STShN
QUMpCiAgICAgQ0dEaXNwbGF5SGlkZUN1cnNvcihDR01haW5EaXNwbGF5SUQoKSk7CiAgICAgQ0dB
c3NvY2lhdGVNb3VzZUFuZE1vdXNlQ3Vyc29yUG9zaXRpb24oZmFsc2UpOworI2VuZGlmCiAgICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRBY3F1aXJlUG9pbnRlckxvY2so
KSwgbV9wYWdlSUQpOwogfQogICAgIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZERlbnlQb2ludGVy
TG9jaygpCiB7CisgICAgQVNTRVJUKG1faXNQb2ludGVyTG9ja1BlbmRpbmcgJiYgIW1faXNQb2lu
dGVyTG9ja2VkKTsKKyAgICBtX2lzUG9pbnRlckxvY2tQZW5kaW5nID0gZmFsc2U7CiAgICAgbV9w
cm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWROb3RBY3F1aXJlUG9pbnRlckxvY2so
KSwgbV9wYWdlSUQpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFBvaW50ZXJVbmxv
Y2soKQogewotICAgIENHRGlzcGxheVNob3dDdXJzb3IoQ0dNYWluRGlzcGxheUlEKCkpOwotICAg
IENHQXNzb2NpYXRlTW91c2VBbmRNb3VzZUN1cnNvclBvc2l0aW9uKHRydWUpOwotICAgIG1fcHJv
Y2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkTG9zZVBvaW50ZXJMb2NrKCksIG1fcGFn
ZUlEKTsKKyAgICBpZiAobV9pc1BvaW50ZXJMb2NrZWQpIHsKKyNpZiBQTEFURk9STShNQUMpCisg
ICAgICAgIENHQXNzb2NpYXRlTW91c2VBbmRNb3VzZUN1cnNvclBvc2l0aW9uKHRydWUpOworICAg
ICAgICBDR0Rpc3BsYXlTaG93Q3Vyc29yKENHTWFpbkRpc3BsYXlJRCgpKTsKKyNlbmRpZgorICAg
ICAgICBtX3VpQ2xpZW50LT5kaWRMb3NlUG9pbnRlckxvY2sodGhpcyk7CisgICAgICAgIG1fcHJv
Y2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkTG9zZVBvaW50ZXJMb2NrKCksIG1fcGFn
ZUlEKTsKKyAgICB9CisKKyAgICBpZiAobV9pc1BvaW50ZXJMb2NrUGVuZGluZykgeworICAgICAg
ICBtX3VpQ2xpZW50LT5kaWRMb3NlUG9pbnRlckxvY2sodGhpcyk7CisgICAgICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkTm90QWNxdWlyZVBvaW50ZXJMb2NrKCksIG1f
cGFnZUlEKTsKKyAgICB9CisKKyAgICBtX2lzUG9pbnRlckxvY2tlZCA9IGZhbHNlOworICAgIG1f
aXNQb2ludGVyTG9ja1BlbmRpbmcgPSBmYWxzZTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMzI2NTlkMTg2OGFjZWI1M2Y2OWVmMGRiNDJk
MzI1MGExMjhiNzk0OS4uYWE2NjYzYWNjNjM1YmI2ZDZjMmJlOWNhMmNhZmIyOTAyZDhlYWZjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTkyNyw2ICsxOTI3
LDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2ZvcmNlQWx3YXlzVXNlclNjYWxhYmxlIHsgZmFs
c2UgfTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICBib29sIG1faXNQ
b2ludGVyTG9ja1BlbmRpbmcgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1BvaW50ZXJMb2NrZWQg
eyBmYWxzZSB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQogICAg
IGJvb2wgbV9zeW5jTmF2aWdhdGlvbkFjdGlvbkhhc0Rvd25sb2FkQXR0cmlidXRlIHsgZmFsc2Ug
fTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCmluZGV4IDRiNDkwZjQyNWUwOGVmMzllOWM0MWI1MTQ3ZWI3ZTNhNWY0OTQ5YmEuLjQ5MjVh
YWI2ZWNiMjI1OTIxMDBmNzc2ZTFkNGNhZmE0ZWQyOTY0YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE1Miw3ICsxNTIsNiBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Bs
YXRmb3JtS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRG9jdW1lbnQu
aD4KLSNpbmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUHJpbnRDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SYW5nZS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXIuaD4KQEAgLTIwMCw2ICsxOTksMTAgQEAKICNpbmNs
dWRlICJXZWJWaWJyYXRpb25DbGllbnQuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJf
TE9DSykKKyNpbmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5oPgorI2VuZGlm
CisKICNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKICNpbmNsdWRlICJXZWJEZXZpY2VQcm94
aW1pdHlDbGllbnQuaCIKICNlbmRpZgpAQCAtMzE4OCw2ICszMTkxLDEwIEBAIHZvaWQgV2ViUGFn
ZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRHYW1lcGFkc0Vu
YWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpnYW1lcGFk
c0VuYWJsZWRLZXkoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UG9pbnRlckxvY2tF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cG9pbnRl
ckxvY2tFbmFibGVkS2V5KCkpKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCiAgICAgc2V0dGluZ3Muc2V0U2VydmljZUNvbnRyb2xzRW5hYmxlZChzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnNlcnZpY2VDb250cm9sc0VuYWJsZWRLZXko
KSkpOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295166</attachid>
            <date>2016-11-18 11:08:42 -0800</date>
            <delta_ts>2016-11-18 11:21:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163801-20161118110835.patch</filename>
            <type>text/plain</type>
            <size>43200</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NjRhOWZlMDhlNTY3NTIxZDdjYzg4ZWI1MzYxMDZkMDBjMzJiMjEyLi5lNjE1YmM3NmYyMjZiODRi
ZmZiYmMyNTc0NmQ1MzM2NTBkNGI5MjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNi0xMS0xOCAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUgcG9pbnRlciBsb2NrLiBFbmFi
bGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTYtMTEtMTQgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbSlNDXSBIYW5kbGUgbmV3X2FzeW5jX2Z1bmMgLyBuZXdfYXN5bmNfZnVu
Y19leHAgaW4gREZHIC8gRlRMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNlNzAwNzhkNGU4MWJiMWYzNDFhYjJmNTIwZWJjMTU4
ODgwZDIzZGYuLjAyM2M0MGIwMjc1ZGQzNTY2Zjg2Njc4ODcwYWUyNDU2ZWQ3ZWVmNGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTYtMTEtMTggIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9jay4g
RW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOiBFTkFC
TEVfUE9JTlRFUl9MT0NLIHRydWUgZm9yIE1hYy4KKwogMjAxNi0xMS0xNCAgTWFyayBMYW0gIDxt
YXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4IGFmdGVyIHIyMDg2OTAuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggMWEwYmUzNmNiNjI1ZTg5MDQ4YTM4NmM4NmQ1YWY2YTU1YTYxYzA0NS4uNDgw
OGZhMDkxZWFlZjgzZGE2ZTYyYzc0YWEyMDI5NWJlOTdiYmY0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMyIEBACisyMDE2LTExLTE4ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgcnVudGltZSBmbGFnIHRvIGVuYWJsZSBwb2ludGVyIGxvY2suIEVuYWJs
ZSBwb2ludGVyIGxvY2sgZmVhdHVyZSBmb3IgbWFjLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2UgdGVzdHMgbm93IHBhc3Mgd2l0aCBEdW1wUmVu
ZGVyVHJlZS4KKyAgICAgICAgTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL2xvY2stYWxyZWFkeS1s
b2NrZWQuaHRtbAorICAgICAgICBMYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1lbGVtZW50
LW5vdC1pbi1kb20uaHRtbAorICAgICAgICBMYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9ja2Vk
LWVsZW1lbnQtaWZyYW1lLXJlbW92ZWQtZnJvbS1kb20uaHRtbAorICAgICAgICBMYXlvdXRUZXN0
cy9wb2ludGVyLWxvY2svbW91c2UtZXZlbnQtYXBpLmh0bWwKKworICAgICAgICBQb2ludGVyTG9j
a0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayBub3cgcHJvdGVjdHMgYWdhaW5zdCBzeW5j
aHJvbm91cyBjYWxsYmFjaworICAgICAgICB0byBhbGxvd1BvaW50ZXJMb2NrKCkuCisKKyAgICAg
ICAgQWRkIHBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpleGl0UG9pbnRlckxvY2spOiBGaXggZXhp
c3RpbmcgdHlwby4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwb2ludGVyTG9ja0VsZW1l
bnQpOgorICAgICAgICAqIGZlYXR1cmVzLmpzb246CisgICAgICAgICogcGFnZS9FdmVudEhhbmRs
ZXIuY3BwOgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKToK
KyAgICAgICAgKFdlYkNvcmU6OlBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJV
bmxvY2spOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46CisKIDIwMTYtMTEtMTQgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbmxpbmUgUXVhbGlmaWVkTmFt
ZTo6dG9TdHJpbmcoKSBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBlYWEzYTgzNmIwYzg0YWEy
YTU0NmEzZmVmNDU0MTY3MzQwOGU1MmJiLi42NDNmOTMxMTMxMzYwOGUzN2Q2NjFiMzU4MmVhMTU2
YjZjNzk5NGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTYtMTEtMTgg
IEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1l
IGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9jay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJl
IGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjM4MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQbHVtYiB0aHJvdWdoIFBvaW50ZXJMb2NrRW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50Ojpy
ZXF1ZXN0UG9pbnRlclVubG9jayk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBwb2ludGVyTG9ja0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2Vi
UHJlZmVyZW5jZXMgc2V0UG9pbnRlckxvY2tFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTYtMTEtMTMg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBleGNlcHRpb24g
aGFuZGxpbmcgaW4gU1FMIGRhdGFiYXNlIGNvZGUsIHN0cmVhbWxpbmUgYW5kIHVwZGF0ZSBjb2Rl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggNWZiMjYyZGZmZDQwMWQ5OTBlYjYyNjNhMzcyODkzMzRkZGU4YTc0My4u
MjZjMDJkYmViZTZmZDJmY2Q2NjJhYzZjMjM0MWQ1MmEwY2MzMjRjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQyIEBACisyMDE2LTExLTE4ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgcnVudGltZSBmbGFnIHRvIGVuYWJsZSBwb2ludGVyIGxvY2suIEVu
YWJsZSBwb2ludGVyIGxvY2sgZmVhdHVyZSBmb3IgbWFjLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNQSSB0byBub3RpZnkgY2xpZW50IG9mIHBv
aW50ZXIgbG9jayBhbmQgZm9yIGNsaWVudCB0byBhbGxvdyBvciBkZW55LgorICAgICAgICBVbmxv
Y2sgcG9pbnRlciB3aGVuIHZpZXcgaXMgbm90IGxvbmdlciBhY3RpdmUuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
VUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OnJlcXVlc3RQb2ludGVyTG9jayk6
CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpkaWRMb3NlUG9pbnRlckxvY2spOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0UGFnZVVJQ2xp
ZW50KToKKyAgICAgICAgKFdLUGFnZURpZEFsbG93UG9pbnRlckxvY2spOgorICAgICAgICAoV0tQ
YWdlRGlkRGVueVBvaW50ZXJMb2NrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpyZXF1ZXN0UG9pbnRlckxvY2sp
OgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkTG9zZVBvaW50ZXJM
b2NrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkaXNwYXRjaEFjdGl2aXR5U3RhdGVDaGFuZ2UpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGVBZnRlclByb2Nlc3NFeGl0ZWQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RQb2ludGVyTG9jayk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQWxsb3dQb2ludGVyTG9jayk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkRGVueVBvaW50ZXJMb2NrKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0UG9pbnRlclVubG9jayk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgor
CiAyMDE2LTExLTE0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtNYWNdW2lPU11bV0syXSBUaWdodGVuIHBlcm1pc3Npb25zIHRvIGNoYW5nZSBDYXBzTG9j
ayBkZWxheQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGU5YzNjMDFlNTE2MmI4YmViNGI4
ZjZlYzI1MmY2MGZjOTg4YTQ3OTYuLmZkMTk1ZDQ0ODY3MDU3YWY5Y2UyZDQ3MmYxOWFjZTZkMTJm
NGExODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE1Miw3ICsxNTIsNyBAQCBFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kgPSBFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVO
Q1k7CiBFTkFCTEVfTk9TTklGRiA9IDsKIEVOQUJMRV9OT1RJRklDQVRJT05TW3Nkaz1tYWNvc3gq
XSA9IEVOQUJMRV9OT1RJRklDQVRJT05TOwogRU5BQkxFX1BERktJVF9QTFVHSU5bc2RrPW1hY29z
eCpdID0gRU5BQkxFX1BERktJVF9QTFVHSU47Ci1FTkFCTEVfUE9JTlRFUl9MT0NLID0gOworRU5B
QkxFX1BPSU5URVJfTE9DS1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfUE9JTlRFUl9MT0NLOwogRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMgPSA7CiBFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUID0gRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVDsKIEVOQUJMRV9RVU9UQSA9IDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVm
aW5lcy5oCmluZGV4IDdiNmQxMWE5MTU0OTcxMWEwY2EyNDAwMDQ4NjMyZjhhZDkzNjQxNGUuLmVi
YzhhN2NkNjM5N2Q4NzBmOTA3MmU3Y2I4NTMzZjg2ODAyZDZhZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURl
ZmluZXMuaApAQCAtNjM4LDcgKzYzOCw3IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gV2Ugd2lsbCBh
bHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBmaWxlCiAjZW5k
aWYKIAogI2lmICFkZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0spCi0jZGVmaW5lIEVOQUJMRV9Q
T0lOVEVSX0xPQ0sgMAorI2RlZmluZSBFTkFCTEVfUE9JTlRFUl9MT0NLIDEKICNlbmRpZgogCiAj
aWYgIWRlZmluZWQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGU5YzNj
MDFlNTE2MmI4YmViNGI4ZjZlYzI1MmY2MGZjOTg4YTQ3OTYuLmZkMTk1ZDQ0ODY3MDU3YWY5Y2Uy
ZDQ3MmYxOWFjZTZkMTJmNGExODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xNTIsNyArMTUyLDcgQEAgRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZID0gRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZOwogRU5BQkxFX05PU05JRkYgPSA7CiBFTkFCTEVfTk9USUZJQ0FUSU9OU1tzZGs9bWFjb3N4
Kl0gPSBFTkFCTEVfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9QREZLSVRfUExVR0lOW3Nkaz1tYWNv
c3gqXSA9IEVOQUJMRV9QREZLSVRfUExVR0lOOwotRU5BQkxFX1BPSU5URVJfTE9DSyA9IDsKK0VO
QUJMRV9QT0lOVEVSX0xPQ0tbc2RrPW1hY29zeCpdID0gRU5BQkxFX1BPSU5URVJfTE9DSzsKIEVO
QUJMRV9QUk9YSU1JVFlfRVZFTlRTID0gOwogRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCA9IEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1Q7CiBFTkFCTEVfUVVPVEEgPSA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAppbmRleCA5MDgxZjg3MjU3ZDkzNGY2Y2Q1NGEyMDU1ZTdmYjIzZjFlODUxZDhiLi4z
MjNiZTFlYmFmYWJmYmRmZTdkMjJhODk1MmUxOTNhMGVlZjNmNDc2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTYwMTUsNyArNjAxNSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZERvY3VtZW50
VG9GdWxsU2NyZWVuQ2hhbmdlRXZlbnRRdWV1ZShEb2N1bWVudCogZG9jKQogCiB2b2lkIERvY3Vt
ZW50OjpleGl0UG9pbnRlckxvY2soKQogewotICAgIFBhZ2UqIHBhZ2UgPSB0aGlzPnBhZ2UoKTsK
KyAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKICAgICAgICAg
cmV0dXJuOwogICAgIGlmIChhdXRvKiB0YXJnZXQgPSBwYWdlLT5wb2ludGVyTG9ja0NvbnRyb2xs
ZXIoKS5lbGVtZW50KCkpIHsKQEAgLTYwMjcsMTAgKzYwMjcsMTAgQEAgdm9pZCBEb2N1bWVudDo6
ZXhpdFBvaW50ZXJMb2NrKCkKIAogRWxlbWVudCogRG9jdW1lbnQ6OnBvaW50ZXJMb2NrRWxlbWVu
dCgpIGNvbnN0CiB7Ci0gICAgUGFnZSogcGFnZSA9IHRoaXM+cGFnZSgpOworICAgIFBhZ2UqIHBh
Z2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlIHx8IHBhZ2UtPnBvaW50ZXJMb2NrQ29u
dHJvbGxlcigpLmxvY2tQZW5kaW5nKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIGF1
dG8qIGVsZW1lbnQgPSBwYWdlKCktPnBvaW50ZXJMb2NrQ29udHJvbGxlcigpLmVsZW1lbnQoKTsK
KyAgICBhdXRvKiBlbGVtZW50ID0gcGFnZS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVu
dCgpOwogICAgIGlmICghZWxlbWVudCB8fCAmZWxlbWVudC0+ZG9jdW1lbnQoKSAhPSB0aGlzKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gZWxlbWVudDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5q
c29uCmluZGV4IGQxNWI1NmE3Nzg3OTFiODA3NTBkY2RhODQzZWI3NGM1OTdiZGI3NjcuLmI5OGM4
MmMyYzQxNDEyODYxMjRiOTQ5ZjEyYTk3NzhlMTE4NTNkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2ZlYXR1cmVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbgpA
QCAtMjgxLDYgKzI4MSwxNyBAQAogICAgICAgICAiZGVzY3JpcHRpb24iOiAiQW4gQVBJIHRoYXQg
Y2FuIGJlIHVzZWQgdG8gdW5kZXJzdGFuZCB0aGUgdmlzaWJpbGl0eSBhbmQgcG9zaXRpb24gb2Yg
RE9NIGVsZW1lbnRzIHJlbGF0aXZlIHRvIGEgY29udGFpbmluZyBlbGVtZW50IG9yIHRvIHRoZSB0
b3AtbGV2ZWwgdmlld3BvcnQuIgogICAgIH0sCiAgICAgeworICAgICAgICAibmFtZSI6ICJQb2lu
dGVyIExvY2siLAorICAgICAgICAic3RhdHVzIjogeworICAgICAgICAgICAgInN0YXR1cyI6ICJJ
biBEZXZlbG9wbWVudCIsCisgICAgICAgICAgICAiZW5hYmxlZC1ieS1kZWZhdWx0IjogZmFsc2UK
KyAgICAgICAgfSwKKyAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5vcmcvVFIvcG9pbnRl
cmxvY2svIiwKKyAgICAgICAgIndlYmtpdC11cmwiOiAiaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NDY1MiIsCisgICAgICAgICJrZXl3b3JkcyI6IFsicG9pbnRlciIs
ICJwb2ludGVyIGxvY2siXSwKKyAgICAgICAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIHNjcmlw
dGVkIGFjY2VzcyB0byByYXcgbW91c2UgbW92ZW1lbnQgZGF0YSB3aGlsZSBsb2NraW5nIHRoZSB0
YXJnZXQgb2YgbW91c2UgZXZlbnRzIHRvIGEgc2luZ2xlIGVsZW1lbnQgYW5kIHJlbW92aW5nIHRo
ZSBjdXJzb3IgZnJvbSB2aWV3LiIKKyAgICB9LAorICAgIHsKICAgICAgICAgIm5hbWUiOiAiUHJl
bG9hZCIsCiAgICAgICAgICJzdGF0dXMiOiB7CiAgICAgICAgICAgICAic3RhdHVzIjogIkluIERl
dmVsb3BtZW50IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBiNGVhNjQ3
ZWEyYTFmMTNiODM5Y2ZhNjlmN2E3NzY0ZTM1YjgzMDkzLi5jYmEyODViOWRhYTgyNDc4NTRkNjM4
ZDg0MTU5MDhiYWU4ZDhhNjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBA
IC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiUGx1Z2luRG9jdW1lbnQuaCIK
LSNpbmNsdWRlICJQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJSZW5kZXJGcmFt
ZVNldC5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGlzdEJv
eC5oIgpAQCAtMTIwLDYgKzExOSwxMCBAQAogI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZUV2ZW50
TWFjLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisjaW5jbHVkZSAiUG9p
bnRlckxvY2tDb250cm9sbGVyLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1
c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVy
TG9ja0NvbnRyb2xsZXIuY3BwCmluZGV4IDk4NjU1ZTY5OThjN2ZhYjA3NDBmOGY5ZTAxNjc2OWQy
YTc0ZDY2YzUuLjNiYjdkM2Y5MWJhYzdkOWY5NGNmZGI5MGQwNTdkNTI1MGE4OGIxNTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKQEAgLTM0LDYg
KzM0LDggQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIu
aCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgogCiAK
QEAgLTQ3LDExICs0OSwyMCBAQCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OlBvaW50ZXJMb2NrQ29u
dHJvbGxlcihQYWdlJiBwYWdlKQogCiB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVz
dFBvaW50ZXJMb2NrKEVsZW1lbnQqIHRhcmdldCkKIHsKKyAgICBTZXR0aW5ncyogc2V0dGluZ3Mg
PSB0YXJnZXQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKTsKKyAgICBpZiAoIXNldHRpbmdzIHx8ICFz
ZXR0aW5ncy0+cG9pbnRlckxvY2tFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGlm
ICghdGFyZ2V0IHx8ICF0YXJnZXQtPmluRG9jdW1lbnQoKSB8fCBtX2RvY3VtZW50T2ZSZW1vdmVk
RWxlbWVudFdoaWxlV2FpdGluZ0ZvclVubG9jaykgewogICAgICAgICBlbnF1ZXVlRXZlbnQoZXZl
bnROYW1lcygpLnBvaW50ZXJsb2NrZXJyb3JFdmVudCwgdGFyZ2V0KTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAorICAgIGlmICghU2NyaXB0Q29udHJvbGxlcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkpIHsKKyAgICAgICAgZW5xdWV1ZUV2ZW50KGV2ZW50TmFtZXMoKS5wb2ludGVybG9ja2Vy
cm9yRXZlbnQsIHRhcmdldCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAodGFy
Z2V0LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNhbmRib3hQb2ludGVyTG9jaykpIHsKICAgICAg
ICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xl
IG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAzMjc0IGV4aXN0cy4KICAgICAgICAgdGFyZ2V0LT5kb2N1bWVudCgpLmFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBBU0NJ
SUxpdGVyYWwoIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFuIGVsZW1lbnQgYmVjYXVzZSB0aGUg
ZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1wb2ludGVyLWxvY2sn
IHBlcm1pc3Npb24gaXMgbm90IHNldC4iKSk7CkBAIC03OSw3ICs5MCwxNCBAQCB2b2lkIFBvaW50
ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKEVsZW1lbnQqIHRhcmdldCkKIAog
dm9pZCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyVW5sb2NrKCkKIHsKLSAg
ICByZXR1cm4gbV9wYWdlLmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RQb2ludGVyVW5sb2NrKCk7
CisgICAgaWYgKCFtX2VsZW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIFNldHRpbmdzKiBz
ZXR0aW5ncyA9IG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpOworICAgIGlmICghc2V0
dGluZ3MgfHwgIXNldHRpbmdzLT5wb2ludGVyTG9ja0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV9wYWdlLmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RQb2ludGVyVW5sb2NrKCk7
CiB9CiAKIHZvaWQgUG9pbnRlckxvY2tDb250cm9sbGVyOjplbGVtZW50UmVtb3ZlZChFbGVtZW50
KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbiBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggMTRhYzcwMzQ4NGQ3OWFlMGQ3
MjU5NTU4NTVmZjU4ZjVlZDA4YWE0Yy4uODc2OWM0YzZkZTA4NjAzY2RlMTlmMDUyMmY4MDdiMGI1
OWY2NDhiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC0yODksMyArMjg5LDUgQEAgeW91
VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkIGluaXRpYWw9ZGVmYXVsdFlvdVR1YmVG
bGFzaFBsdWdpblJlcGxhY2VtZW4KIGZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUgdHlw
ZT1Gb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlLCBpbml0aWFsPWRlZmF1bHRGb3JjZWRQ
cmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlCiAKIGFzeW5jSW1hZ2VEZWNvZGluZ0VuYWJsZWQgaW5p
dGlhbD10cnVlCisKK3BvaW50ZXJMb2NrRW5hYmxlZCBpbml0aWFsPWZhbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCmluZGV4IGU5YzNjMDFlNTE2MmI4YmViNGI4ZjZlYzI1MmY2MGZjOTg4YTQ3OTYuLmZkMTk1
ZDQ0ODY3MDU3YWY5Y2UyZDQ3MmYxOWFjZTZkMTJmNGExODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBA
IC0xNTIsNyArMTUyLDcgQEAgRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZID0gRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZOwogRU5BQkxFX05PU05JRkYgPSA7CiBFTkFCTEVfTk9U
SUZJQ0FUSU9OU1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9Q
REZLSVRfUExVR0lOW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9QREZLSVRfUExVR0lOOwotRU5BQkxF
X1BPSU5URVJfTE9DSyA9IDsKK0VOQUJMRV9QT0lOVEVSX0xPQ0tbc2RrPW1hY29zeCpdID0gRU5B
QkxFX1BPSU5URVJfTE9DSzsKIEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTID0gOwogRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCA9IEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Q7CiBFTkFCTEVfUVVP
VEEgPSA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW0KaW5kZXggYmY5YWY1NTMyOWQwODEzMDZkYmMxOTlhM2NhM2NiOWJhMjIxMmYx
OC4uYmNlYWZkNTExNjUzMjJiM2FkYmE3OTRjMGMxZjU4ZGI1Y2UxOWE4YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAt
NzcsNyArNzcsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9y
dCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+Ci0j
aW1wb3J0IDxXZWJDb3JlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2VyaWFsaXplZENyeXB0b0tl
eVdyYXAuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2lkZ2V0Lmg+CkBAIC05NSw2ICs5NCwxMCBAQAog
I2ltcG9ydCA8V2ViQ29yZS9HZW9sb2NhdGlvbi5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUE9J
TlRFUl9MT0NLKQorI2ltcG9ydCA8V2ViQ29yZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuaD4KKyNl
bmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8V2ViQ29yZS9XQUtDbGlwVmlldy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9XQUtXaW5kb3cuaD4KQEAgLTczMCw4ICs3MzMsOCBAQCBib29s
IFdlYkNocm9tZUNsaWVudDo6cmVxdWVzdFBvaW50ZXJMb2NrKCkKIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpyZXF1ZXN0UG9pbnRlclVubG9jaygpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQotICAgIENH
RGlzcGxheVNob3dDdXJzb3IoQ0dNYWluRGlzcGxheUlEKCkpOwogICAgIENHQXNzb2NpYXRlTW91
c2VBbmRNb3VzZUN1cnNvclBvc2l0aW9uKHRydWUpOworICAgIENHRGlzcGxheVNob3dDdXJzb3Io
Q0dNYWluRGlzcGxheUlEKCkpOwogICAgIGlmIChbbV93ZWJWaWV3IHBhZ2VdKQogICAgICAgICBb
bV93ZWJWaWV3IHBhZ2VdLT5wb2ludGVyTG9ja0NvbnRyb2xsZXIoKS5kaWRMb3NlUG9pbnRlckxv
Y2soKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggYzAwYzg1YjFhZTVkZWRmOTA3ZTQ2MjhlYzBlNjky
ODQ3ZGYwM2EzYS4uNDg0YTVkMjgwZjY3ODczMGI3NmZkMTcwNGY4NmIyMzgwOWIzYzg5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oCkBAIC0xNzAsNiArMTcwLDcgQEAKICNkZWZpbmUgV2ViS2l0Q1NTR3JpZExheW91dEVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTR3JpZExheW91dEVuYWJsZWQiCiAjZGVmaW5l
IFdlYktpdFZpc3VhbFZpZXdwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRWaXN1YWxW
aWV3cG9ydEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIgorI2RlZmlu
ZSBXZWJLaXRQb2ludGVyTG9ja0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UG9pbnRlckxv
Y2tFbmFibGVkIgogCiAjaWYgIVRBUkdFVF9PU19JUEhPTkUKIC8vIFRoZXNlIGFyZSBwcml2YXRl
IGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBh
bmQgYmVjYXVzZSB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCmluZGV4IGM4YzQ4MmVkZWFlMzk4YTI5YjgxODIxODM5NmMwZDVhMmJmNjM3Y2MuLjMwOGU5
MjM2YmJjNDFiZjUwMGM4ODMxOGIxYWE1MjNiY2IyZmVmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMjM1OSw2ICsyMzU5LDE2IEBAIHN0YXRp
YyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZh
bHVlOmZsYWcgZm9yS2V5OldlYktpdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
UHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpcG9pbnRlckxvY2tFbmFibGVkCit7CisgICAg
cmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0UG9pbnRlckxvY2tFbmFibGVkUHJl
ZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0UG9pbnRlckxvY2tFbmFibGVkOihCT09MKWZs
YWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFBvaW50ZXJM
b2NrRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKW1vY2tTY3JvbGxiYXJzRW5h
YmxlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdE1vY2tTY3Jv
bGxiYXJzRW5hYmxlZFByZWZlcmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggZjUyYWI4NGM1MzhkYTliOGZhYThh
YmVkMGY0YWYyNjM5YzE2NjZlMy4uZGE1M2QzY2VmZDZjNmJhNjM2YzE5MDI1MWQyZTY2YWIyMzBm
NTg5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCkBAIC0yODEsNiArMjgxLDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJl
bmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtICh2b2lkKXNldEFs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOihCT09MKWZsYWc7CiAtIChCT09MKWFs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOwogCistICh2b2lkKXNldFBvaW50ZXJM
b2NrRW5hYmxlZDooQk9PTClmbGFnOworLSAoQk9PTClwb2ludGVyTG9ja0VuYWJsZWQ7CisKIC0g
KE5TU3RyaW5nICopcGljdG9ncmFwaEZvbnRGYW1pbHk7CiAtICh2b2lkKXNldFBpY3RvZ3JhcGhG
b250RmFtaWx5OihOU1N0cmluZyAqKWZhbWlseTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCmluZGV4IGViYTZhOGI5OWQ1MzljNWRmYzc5YjExY2ZhOGFhOGFjNmI1NDQxMDMuLmRj
ZjFmZTE0NGVkOGNlN2ZkODg1MmJkMTYxOTVkNmEwMzM1ZmQ1MmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI2NDMsNyArMjY0MywxMSBAQCBzdGF0aWMgYm9vbCBuZWVk
c1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGluZ3Muc2V0SmF2YVNjcmlw
dENhbkFjY2Vzc0NsaXBib2FyZChbcHJlZmVyZW5jZXMgamF2YVNjcmlwdENhbkFjY2Vzc0NsaXBi
b2FyZF0pOwogICAgIHNldHRpbmdzLnNldFhTU0F1ZGl0b3JFbmFibGVkKFtwcmVmZXJlbmNlcyBp
c1hTU0F1ZGl0b3JFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0RE5TUHJlZmV0Y2hpbmdFbmFi
bGVkKFtwcmVmZXJlbmNlcyBpc0ROU1ByZWZldGNoaW5nRW5hYmxlZF0pOwotICAgIAorCisjaWYg
RU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICBzZXR0aW5ncy5zZXRQb2ludGVyTG9ja0VuYWJsZWQo
W3ByZWZlcmVuY2VzIHBvaW50ZXJMb2NrRW5hYmxlZF0pOworI2VuZGlmCisKICAgICBzZXR0aW5n
cy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgYWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRBY2NlbGVyYXRlZERyYXdp
bmdFbmFibGVkKFtwcmVmZXJlbmNlcyBhY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkXSk7CiAgICAg
c2V0dGluZ3Muc2V0RGlzcGxheUxpc3REcmF3aW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgZGlzcGxh
eUxpc3REcmF3aW5nRW5hYmxlZF0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBlOWMzYzAxZTUxNjJiOGJlYjRi
OGY2ZWMyNTJmNjBmYzk4OGE0Nzk2Li5mZDE5NWQ0NDg2NzA1N2FmOWNlMmQ0NzJmMTlhY2U2ZDEy
ZjRhMTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTUyLDcgKzE1Miw3IEBAIEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSA9IEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWTsKIEVOQUJMRV9O
T1NOSUZGID0gOwogRU5BQkxFX05PVElGSUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX05P
VElGSUNBVElPTlM7CiBFTkFCTEVfUERGS0lUX1BMVUdJTltzZGs9bWFjb3N4Kl0gPSBFTkFCTEVf
UERGS0lUX1BMVUdJTjsKLUVOQUJMRV9QT0lOVEVSX0xPQ0sgPSA7CitFTkFCTEVfUE9JTlRFUl9M
T0NLW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9QT0lOVEVSX0xPQ0s7CiBFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUyA9IDsKIEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QgPSBFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUOwogRU5BQkxFX1FVT1RBID0gOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKaW5kZXggZjFlNzc0YjY0ZWY5M2UzMTg2NzYx
ZjNjN2M3ZmExZWNiZTA1OWI2Yi4uNjZhZTVlNGI2YzE4ZmI5NTJjMzQyYWM4OTk4ZThhZWI0ZDBl
OWNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVm
aW5pdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZp
bml0aW9ucy5oCkBAIC0zMDksNiArMzA5LDcgQEAKICAgICBtYWNybyhWYXJpYXRpb25Gb250c0Vu
YWJsZWQsIHZhcmlhdGlvbkZvbnRzRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklN
RU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIlZhcmlhdGlvbiBGb250cyIsICJFbmFibGUgdmFyaWF0
aW9uIGZvbnRzIikgXAogICAgIG1hY3JvKElucHV0RXZlbnRzRW5hYmxlZCwgaW5wdXRFdmVudHNF
bmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVE
LCAiSW5wdXQgRXZlbnRzIiwgIkVuYWJsZSBJbnB1dEV2ZW50cyBzdXBwb3J0IikgXAogICAgIG1h
Y3JvKFdlYkdMMkVuYWJsZWQsIHdlYkdMMkVuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJXZWJHTCAyLjAiLCAiV2ViR0wgMiBwcm90b3R5
cGUiKSBcCisgICAgbWFjcm8oUG9pbnRlckxvY2tFbmFibGVkLCBwb2ludGVyTG9ja0VuYWJsZWQs
IEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJQb2lu
dGVyTG9jayIsICJQb2ludGVyIExvY2sgQVBJIHN1cHBvcnQiKSBcCiAgICAgXAogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgK
aW5kZXggMDczOWNiZTkwZDkxYTVjZjRiOWRiZGEzMzBlZGVmYjE2ZWNhYzcxNC4uZmY1OGVlOGIx
Yzg4ODk4MmM1ZTk3MTkxMjgzZThmYWU1YmYzZDZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtMTY3LDYgKzE2NywxMSBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBOU0RpY3Rpb25hcnkgKmRhdGFEZXRlY3Rpb25Db250ZXh0KCkgeyByZXR1cm4gbnVs
bHB0cjsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0UG9pbnRlckxvY2soV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgZGlkTG9zZVBvaW50ZXJMb2NrKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9
CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCBkaWRDbGlja0F1dG9GaWxsQnV0dG9uKFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgQVBJOjpPYmplY3QqKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBp
bWFnZU9yTWVkaWFEb2N1bWVudFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSB7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggY2VhNjA0
OTFmMzVlZThhZTQ4YmI0YThjODE3YzI1ZWM3YmM5YTA0ZC4uYTQ5N2MxMzNlZWQxNzM0YWY0YzJh
NjViYjU0MmE5MTc3NmJjYWJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5jcHAKQEAgLTEwOSw3ICsxMDksNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFp
dHM8V0tQYWdlUG9saWN5Q2xpZW50QmFzZT4gewogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xp
ZW50VHJhaXRzPFdLUGFnZVVJQ2xpZW50QmFzZT4gewotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxX
S1BhZ2VVSUNsaWVudFYwLCBXS1BhZ2VVSUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1Bh
Z2VVSUNsaWVudFYzLCBXS1BhZ2VVSUNsaWVudFY0LCBXS1BhZ2VVSUNsaWVudFY1LCBXS1BhZ2VV
SUNsaWVudFY2LCBXS1BhZ2VVSUNsaWVudFY3PiBWZXJzaW9uczsKKyAgICB0eXBlZGVmIHN0ZDo6
dHVwbGU8V0tQYWdlVUlDbGllbnRWMCwgV0tQYWdlVUlDbGllbnRWMSwgV0tQYWdlVUlDbGllbnRW
MiwgV0tQYWdlVUlDbGllbnRWMywgV0tQYWdlVUlDbGllbnRWNCwgV0tQYWdlVUlDbGllbnRWNSwg
V0tQYWdlVUlDbGllbnRWNiwgV0tQYWdlVUlDbGllbnRWNywgV0tQYWdlVUlDbGllbnRWOD4gVmVy
c2lvbnM7CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC0yMjE4LDYgKzIyMTgs
MjMgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0
IFdLUGFnZVVJQ2xpZW50QmFzZSogd2tDbGllbnQKICAgICAgICAgICAgIG1fY2xpZW50Lm1lZGlh
U2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlKHRvQVBJKCZwYWdlKSwgdG9BUEkobWV0YWRhdGEpLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUo
UE9JTlRFUl9MT0NLKQorICAgICAgICB2b2lkIHJlcXVlc3RQb2ludGVyTG9jayhXZWJQYWdlUHJv
eHkqIHBhZ2UpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQu
cmVxdWVzdFBvaW50ZXJMb2NrKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgbV9jbGllbnQucmVxdWVzdFBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICB9CisKKyAgICAgICAgdm9pZCBkaWRM
b3NlUG9pbnRlckxvY2soV2ViUGFnZVByb3h5KiBwYWdlKSBvdmVycmlkZQorICAgICAgICB7Cisg
ICAgICAgICAgICBpZiAoIW1fY2xpZW50LnJlcXVlc3RQb2ludGVyTG9jaykKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZExvc2VQb2ludGVyTG9jayh0
b0FQSShwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgfQorI2VuZGlm
CiAgICAgfTsKIAogICAgIHRvSW1wbChwYWdlUmVmKS0+c2V0VUlDbGllbnQoc3RkOjptYWtlX3Vu
aXF1ZTxVSUNsaWVudD4od2tDbGllbnQpKTsKQEAgLTI2MDYsNiArMjYyMywyNCBAQCB2b2lkIFdL
UGFnZVNldE11dGVkKFdLUGFnZVJlZiBwYWdlLCBXS01lZGlhTXV0ZWRTdGF0ZSBtdXRlZCkKICAg
ICB0b0ltcGwocGFnZSktPnNldE11dGVkKG11dGVkKTsKIH0KIAordm9pZCBXS1BhZ2VEaWRBbGxv
d1BvaW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKQoreworI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0sp
CisgICAgdG9JbXBsKHBhZ2UpLT5kaWRBbGxvd1BvaW50ZXJMb2NrKCk7CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTShwYWdlKTsKKyNlbmRpZgorfQorCit2b2lkIFdLUGFnZURpZERlbnlQb2ludGVy
TG9jayhXS1BhZ2VSZWYgcGFnZSkKK3sKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIHRv
SW1wbChwYWdlKS0+ZGlkRGVueVBvaW50ZXJMb2NrKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShwYWdlKTsKKyNlbmRpZgorfQorCiBib29sIFdLUGFnZUhhc01lZGlhU2Vzc2lvbldpdGhBY3Rp
dmVNZWRpYUVsZW1lbnRzKFdLUGFnZVJlZiBwYWdlKQogewogI2lmIEVOQUJMRShNRURJQV9TRVNT
SU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVBy
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgK
aW5kZXggZGFlNTFmYTNkYmZlYTBhNmFhYzc2ZTkzYzA5NmRhYWYyZjJiYTk2Zi4uNzM1MGMwYmM5
MzU4NGQ5NTFiYTdjMjM4N2JmNDFiZWNkNWJkN2VkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCkBAIC0xMjgsNiArMTI4LDkgQEAgZW51bSB7
CiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS01lZGlhTXV0ZWRTdGF0ZTsKIFdLX0VYUE9SVCB2b2lk
IFdLUGFnZVNldE11dGVkKFdLUGFnZVJlZiBwYWdlLCBXS01lZGlhTXV0ZWRTdGF0ZSBtdXRlZCk7
CisgICAgCitXS19FWFBPUlQgdm9pZCBXS1BhZ2VEaWRBbGxvd1BvaW50ZXJMb2NrKFdLUGFnZVJl
ZiBwYWdlKTsKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZURpZERlbnlQb2ludGVyTG9jayhXS1BhZ2VS
ZWYgcGFnZSk7CiAKIGVudW0gewogICAgIGtXS01lZGlhSXNOb3RQbGF5aW5nID0gMCwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKaW5kZXggZTc1
Y2NmYmRhYzI4ZmFmYjg3NDJlODllNTgyMDk0ODAwZjEwMjMzYi4uMjliOGUxMGFiY2NiNDA5OTJi
MGRlNzA0NzlkM2Q0MWI2ZWZkNmViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKQEAgLTEwNCw2ICsxMDQsOSBAQCB0eXBlZGVmIHZvaWQg
KCpXS1BhZ2VEaWRDbGlja0F1dG9GaWxsQnV0dG9uQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBX
S1R5cGVSZWYgdQogdHlwZWRlZiB2b2lkICgqV0tQYWdlTWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRD
aGFuZ2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLTWVkaWFTZXNzaW9uTWV0YWRhdGFSZWYg
bWV0YWRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tGdWxs
c2NyZWVuTWF5UmV0dXJuVG9JbmxpbmVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwogCit0eXBlZGVmIHZvaWQgKCpXS1JlcXVlc3RQb2ludGVyTG9ja0Nh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0RpZExvc2VQb2ludGVyTG9ja0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7CisKIC8vIERlcHJlY2F0ZWQKIHR5cGVkZWYgV0tQYWdlUmVm
ICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdL
UGFnZVJlZiBwYWdlLCBXS0RpY3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdLRXZlbnRNb2RpZmllcnMg
bW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwogdHlwZWRlZiB2b2lkICAgICAgKCpXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxl
bWVudENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0V2
ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpj
bGllbnRJbmZvKTsKQEAgLTYzNiw2ICs2MzksOTQgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlD
bGllbnRWNyB7CiAgICAgV0tGdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmVDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmU7CiB9
IFdLUGFnZVVJQ2xpZW50Vjc7CiAKK3R5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50Vjggewor
ICAgIFdLUGFnZVVJQ2xpZW50QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYmFzZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDAuCisgICAgV0tQYWdl
Q3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICAg
ICAgICBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlVUlD
bGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaG93UGFnZTsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlOworICAgIFdLUGFnZVRha2VGb2N1c0Nh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZUZv
Y3VzOworICAgIFdLUGFnZUZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZm9jdXM7CisgICAgV0tQYWdlVW5mb2N1c0NhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmZvY3VzOworICAg
IFdLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAg
ICAgICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7Cisg
ICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0
aFYwICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0aFYw
OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNl
V2l0aFYwICAgICAgICAgICAgcnVuSmF2YVNjcmlwdFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0
aFYwOworICAgIFdLUGFnZVNldFN0YXR1c1RleHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdHVzVGV4dDsKKyAgICBXS1BhZ2VNb3VzZURpZE1v
dmVPdmVyRWxlbWVudENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgIG1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlTWlz
c2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAg
ICBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAg
IFdLUGFnZURpZE5vdEhhbmRsZUtleUV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlkTm90SGFuZGxlS2V5RXZlbnQ7CisgICAgV0tQYWdlRGlkTm90SGFuZGxl
V2hlZWxFdmVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RI
YW5kbGVXaGVlbEV2ZW50OworICAgIFdLUGFnZUdldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJhcnNBcmVWaXNpYmxlOworICAg
IFdLUGFnZVNldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2V0VG9vbGJhcnNBcmVWaXNpYmxlOworICAgIFdLUGFnZUdldE1lbnVCYXJJ
c1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVudUJh
cklzVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRNZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tQ
YWdlR2V0U3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGF0dXNCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlU2V0U3RhdHVzQmFySXNWaXNp
YmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0dXNCYXJJ
c1Zpc2libGU7CisgICAgV0tQYWdlR2V0SXNSZXNpemFibGVDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Jlc2l6YWJsZTsKKyAgICBXS1BhZ2VTZXRJc1Jl
c2l6YWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
dElzUmVzaXphYmxlOworICAgIFdLUGFnZUdldFdpbmRvd0ZyYW1lQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0V2luZG93RnJhbWU7CisgICAgV0tQYWdl
U2V0V2luZG93RnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZXRXaW5kb3dGcmFtZTsKKyAgICBXS1BhZ2VSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWxDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY2ICAgIHJ1bkJlZm9yZVVubG9hZENvbmZp
cm1QYW5lbF9kZXByZWNhdGVkRm9yVXNlV2l0aFY2OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRHJhdzsK
KyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhZ2VEaWRTY3JvbGw7CisgICAgV0tQYWdlRXhjZWVkZWREYXRhYmFz
ZVF1b3RhQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNlZWRlZERh
dGFiYXNlUXVvdGE7CisgICAgV0tQYWdlUnVuT3BlblBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5PcGVuUGFuZWw7CisgICAgV0tQYWdlRGVj
aWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAg
ICBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFn
ZUhlYWRlckhlaWdodENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVhZGVySGVpZ2h0OworICAgIFdLUGFnZUZvb3RlckhlaWdodENhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9vdGVySGVpZ2h0OworICAgIFdL
UGFnZURyYXdIZWFkZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZHJhd0hlYWRlcjsKKyAgICBXS1BhZ2VEcmF3Rm9vdGVyQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdGb290ZXI7CisgICAgV0tQ
YWdlUHJpbnRGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwcmludEZyYW1lOworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuTW9kYWw7CisgICAgdm9pZCog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnVzZWQxOyAvLyBVc2VkIHRvIGJlIGRpZENvbXBsZXRlUnViYmVyQmFuZEZvck1haW5G
cmFtZQorICAgIFdLUGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcjsKKyAg
ICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEludGVycnVwdEphdmFTY3JpcHRfdW5hdmFpbGFibGU7CisgICAg
CisgICAgLy8gVmVyc2lvbiAxLgorICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXBy
ZWNhdGVkRm9yVXNlV2l0aFYxICAgICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZV9kZXByZWNh
dGVkRm9yVXNlV2l0aFYxOworICAgIFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ7
CisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RD
YWxsYmFjayAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdDsKKyAgICBXS1BhZ2VVbmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFja19k
ZXByZWNhdGVkRm9yVXNlV2l0aFYxIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXBy
ZWNhdGVkRm9yVXNlV2l0aFYxOworICAgIAorICAgIC8vIFZlcnNpb24gMi4KKyAgICBXS1BhZ2VT
aG93Q29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNob3dDb2xvclBpY2tlcjsKKyAgICBXS1BhZ2VIaWRlQ29sb3JQaWNrZXJDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVDb2xvclBpY2tlcjsKKyAg
ICBXS1BhZ2VVbmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZDsKKyAgICAKKyAgICAv
LyBWZXJzaW9uIDMuCisgICAgV0tQYWdlUGlubmVkU3RhdGVEaWRDaGFuZ2VDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5uZWRTdGF0ZURpZENoYW5nZTsKKyAgICAK
KyAgICAvLyBWZXJzaW9uIDQuCisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQyOyAvLyBVc2VkIHRvIGJl
IGRpZEJlZ2luVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcy4KKyAgICB2b2lkKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVudXNlZDM7IC8vIFVzZWQgdG8gYmUgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MuCisgICAg
dm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnVzZWQ0OyAvLyBVc2VkIHRvIGJlIGRpZENhbmNlbFRyYWNraW5nUG90ZW50
aWFsTG9uZ01vdXNlUHJlc3MuCisgICAgV0tQYWdlSXNQbGF5aW5nQXVkaW9EaWRDaGFuZ2VDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1BsYXlpbmdBdWRpb0RpZENoYW5n
ZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDUuCisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAgICAgICAgICAgICBkZWNpZGVQb2xpY3lG
b3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdDsKKyAgICBXS1BhZ2VEaWRDbGlja0F1dG9GaWxs
QnV0dG9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZENsaWNrQXV0
b0ZpbGxCdXR0b247CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2tfZGVwcmVj
YXRlZEZvclVzZVdpdGhWNSAgICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxlcnRfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWNTsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtX2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjU7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNr
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0X2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjU7CisgICAgV0tQYWdlTWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRD
aGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYVNlc3Npb25NZXRhZGF0
YURpZENoYW5nZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDYuCisgICAgV0tQYWdlQ3JlYXRlTmV3
UGFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVh
dGVOZXdQYWdlOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0OworICAgIFdLUGFn
ZVJ1bkphdmFTY3JpcHRDb25maXJtQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuSmF2YVNjcmlwdENvbmZpcm07CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21w
dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0
UHJvbXB0OworICAgIFdLQ2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2lu
OworICAgIAorICAgIC8vIFZlcnNpb24gNy4KKyAgICBXS1BhZ2VSdW5CZWZvcmVVbmxvYWRDb25m
aXJtUGFuZWxDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkJlZm9yZVVubG9h
ZENvbmZpcm1QYW5lbDsKKyAgICBXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGlu
ZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDguCisgICAgV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0UG9pbnRl
ckxvY2s7CisgICAgV0tEaWRMb3NlUG9pbnRlckxvY2tDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaWRMb3NlUG9pbnRlckxvY2s7Cit9IFdLUGFnZVVJQ2xp
ZW50Vjg7CisgICAgCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDI5YjIxNzlh
ODQ4ZmE5ZDcwY2VmMjY4YTdmMjQzZTI1OTUwZmQ3MTQuLjNkMDExZjk5NDM4ZWExZTM2YjQzMzg4
MTBmMWFiZDdiNzhhY2FlOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTE1ODAsMyArMTU4MCw0IEBAIHZvaWQgV0tQcmVmZXJl
bmNlc1NldEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyCiB7CiAgICAgV2ViS2l0Ojp0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRBcHBs
ZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZChhbGxvd2VkKTsKIH0KKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZh
dGUuaAppbmRleCAzYzU0ZWJmNzVhNDNlNzRlZDFiNTI1ZTFmNTU1OGM2ZWU2NWVlMzQwLi5iYThi
MDVjM2ZkODU1MDU1ODAzNzcyNWNmYjk4MDE1YWJhMWU3ZTNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApA
QCAtNTUsNiArNTUsOCBAQCBzdHJ1Y3QgVUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlld0Z1
bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZTooV0tXZWJWaWV3ICopd2ViVmlldzsKIC0gKHZvaWQp
X3dlYlZpZXdEaWRFbnRlckZ1bGxzY3JlZW46KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goMTAuMTEpLCBpb3MoOC4zKSk7CiAtICh2b2lkKV93ZWJWaWV3RGlkRXhp
dEZ1bGxzY3JlZW46KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTEpLCBpb3MoOC4zKSk7CistICh2b2lkKV93ZWJWaWV3UmVxdWVzdFBvaW50ZXJMb2NrOihX
S1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CistICh2
b2lkKV93ZWJWaWV3RGlkTG9zZVBvaW50ZXJMb2NrOihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CiAKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgaW1hZ2VPck1lZGlhRG9jdW1lbnRTaXplQ2hhbmdlZDooQ0dTaXplKXNpemUg
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwogLSAoTlNEaWN0aW9u
YXJ5ICopX2RhdGFEZXRlY3Rpb25Db250ZXh0Rm9yV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAppbmRleCBiYzE0ZWY1OTcwMTYyM2I2
N2ZjYjkxNDUyMmQ5ZDhlYWMyNjVjZTRhLi5kNDlkZTJiMzllY2E2NTM0NDU3ZTMyY2MyYWUzNmJm
ZTg3ZmNlMmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
LmgKQEAgLTEwMSw2ICsxMDEsMTEgQEAgcHJpdmF0ZToKIAogICAgICAgICBOU0RpY3Rpb25hcnkg
KmRhdGFEZXRlY3Rpb25Db250ZXh0KCkgb3ZlcnJpZGU7CiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9M
T0NLKQorICAgICAgICB2b2lkIHJlcXVlc3RQb2ludGVyTG9jayhXZWJLaXQ6OldlYlBhZ2VQcm94
eSopIG92ZXJyaWRlOworICAgICAgICB2b2lkIGRpZExvc2VQb2ludGVyTG9jayhXZWJLaXQ6Oldl
YlBhZ2VQcm94eSopIG92ZXJyaWRlOworI2VuZGlmCisKICAgICAgICAgdm9pZCBpbWFnZU9yTWVk
aWFEb2N1bWVudFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsK
IAogICAgICAgICBVSURlbGVnYXRlJiBtX3VpRGVsZWdhdGU7CkBAIC0xMzUsNyArMTQwLDEwIEBA
IHByaXZhdGU6CiAjZW5kaWYKICAgICAgICAgYm9vbCBkYXRhRGV0ZWN0aW9uQ29udGV4dEZvcldl
YlZpZXcgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdJbWFnZU9yTWVkaWFEb2N1bWVudFNpemVD
aGFuZ2VkIDogMTsKLQorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgICAgIGJvb2wgd2Vi
Vmlld1JlcXVlc3RQb2ludGVyTG9jayA6IDE7CisgICAgICAgIGJvb2wgd2ViVmlld0RpZExvc2VQ
b2ludGVyTG9jayA6IDE7CisjZW5kaWYKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICAg
ICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50IDogMTsKICAgICAgICAgYm9vbCB3
ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50VXNlckluZm8gOiAxOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCBlZGEzNTY1ODQ1YjE4ODExZDRk
ZTk4ZGNmM2MwMjUyYzNkZmIxYzM0Li4wYWJlODg5OGU4MDQyODIwNjU0YWIzYmE4MzEwZDA2OTk3
ZGVhMmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5t
bQpAQCAtMTA2LDYgKzEwNiwxMCBAQCB2b2lkIFVJRGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxX
S1VJRGVsZWdhdGU+IGRlbGVnYXRlKQogICAgIG1fZGVsZWdhdGVNZXRob2RzLmRhdGFEZXRlY3Rp
b25Db250ZXh0Rm9yV2ViVmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF9kYXRhRGV0ZWN0aW9uQ29udGV4dEZvcldlYlZpZXc6KV07CiAgICAgbV9kZWxlZ2F0ZU1l
dGhvZHMud2ViVmlld0ltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQgPSBbZGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzppbWFnZU9yTWVkaWFEb2N1bWVu
dFNpemVDaGFuZ2VkOildOwogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICBtX2RlbGVn
YXRlTWV0aG9kcy53ZWJWaWV3UmVxdWVzdFBvaW50ZXJMb2NrID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXdSZXF1ZXN0UG9pbnRlckxvY2s6KV07CisgICAg
bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RpZExvc2VQb2ludGVyTG9jayA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3RGlkTG9zZVBvaW50ZXJMb2NrOild
OworI2VuZGlmCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgbV9kZWxlZ2F0ZU1ldGhv
ZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmNvbnRleHRNZW51OmZvckVsZW1lbnQ6KV07CiAgICAg
bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudFVzZXJJbmZvID0g
W2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y29udGV4dE1l
bnU6Zm9yRWxlbWVudDp1c2VySW5mbzopXTsKQEAgLTQ1Nyw2ICs0NjEsMzQgQEAgTlNEaWN0aW9u
YXJ5ICpVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGF0YURldGVjdGlvbkNvbnRleHQoKQogICAgIHJl
dHVybiBbc3RhdGljX2Nhc3Q8aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+PihkZWxlZ2F0ZSkgX2Rh
dGFEZXRlY3Rpb25Db250ZXh0Rm9yV2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKIH0K
IAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6
OnJlcXVlc3RQb2ludGVyTG9jayhXZWJLaXQ6OldlYlBhZ2VQcm94eSopCit7CisgICAgaWYgKCFt
X3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3RQb2ludGVyTG9jaykK
KyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2Rl
bGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVybjsKKworICAg
IFtzdGF0aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRlKSBfd2ViVmll
d1JlcXVlc3RQb2ludGVyTG9jazptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKK30KKwordm9pZCBV
SURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkTG9zZVBvaW50ZXJMb2NrKFdlYktpdDo6V2ViUGFnZVBy
b3h5KikKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3
RGlkTG9zZVBvaW50ZXJMb2NrKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGRlbGVnYXRl
ID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgW3N0YXRpY19jYXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRl
Pj4oZGVsZWdhdGUpIF93ZWJWaWV3RGlkTG9zZVBvaW50ZXJMb2NrOm1fdWlEZWxlZ2F0ZS5tX3dl
YlZpZXddOworfQorCisjZW5kaWYKKwogdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6aW1hZ2VP
ck1lZGlhRG9jdW1lbnRTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXpl
KQogewogICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdJbWFn
ZU9yTWVkaWFEb2N1bWVudFNpemVDaGFuZ2VkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCBjMDM1M2M2NWI0NzliMzQ5YzZkODk1ZWEzNzJlYjQyY2JlZDlj
ZWZkLi43ZjY5OTQ3MDE2ODAxMjZjMDRiMzdlYzViMWMzZmE0NGE0Y2YxMTRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTU1Nyw3ICsxNTU3LDcgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmRpc3BhdGNoQWN0aXZpdHlTdGF0ZUNoYW5nZSgpCiAgICAgICAg
IG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0b3AoKTsKIAogI2lmIEVOQUJMRShQ
T0lOVEVSX0xPQ0spCi0gICAgaWYgKChjaGFuZ2VkICYgQWN0aXZpdHlTdGF0ZTo6SXNWaXNpYmxl
KSAmJiAhaXNWaWV3VmlzaWJsZSgpKQorICAgIGlmICgoKGNoYW5nZWQgJiBBY3Rpdml0eVN0YXRl
OjpJc1Zpc2libGUpICYmICFpc1ZpZXdWaXNpYmxlKCkpIHx8ICgoY2hhbmdlZCAmIEFjdGl2aXR5
U3RhdGU6OldpbmRvd0lzQWN0aXZlKSAmJiAhbV9wYWdlQ2xpZW50LmlzVmlld1dpbmRvd0FjdGl2
ZSgpKSkKICAgICAgICAgcmVxdWVzdFBvaW50ZXJVbmxvY2soKTsKICNlbmRpZgogCkBAIC01NDc4
LDYgKzU0NzgsMTAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGVBZnRlclByb2Nlc3NF
eGl0ZWQoKQogICAgIG1fcGFnZUNsaWVudC5kaXNtaXNzQ29udGVudFJlbGF0aXZlQ2hpbGRXaW5k
b3dzKCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgcmVxdWVzdFBv
aW50ZXJVbmxvY2soKTsKKyNlbmRpZgorCiAgICAgUGFnZUxvYWRTdGF0ZTo6VHJhbnNhY3Rpb24g
dHJhbnNhY3Rpb24gPSBtX3BhZ2VMb2FkU3RhdGUudHJhbnNhY3Rpb24oKTsKICAgICBtX3BhZ2VM
b2FkU3RhdGUucmVzZXQodHJhbnNhY3Rpb24pOwogCkBAIC02NjcxLDMxICs2Njc1LDUzIEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpoaWRlVmFsaWRhdGlvbk1lc3NhZ2UoKQogI2lmIEVOQUJMRShQT0lO
VEVSX0xPQ0spCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFBvaW50ZXJMb2NrKCkKIHsKKyAg
ICBBU1NFUlQoIW1faXNQb2ludGVyTG9ja1BlbmRpbmcpOworICAgIEFTU0VSVCghbV9pc1BvaW50
ZXJMb2NrZWQpOworICAgIG1faXNQb2ludGVyTG9ja1BlbmRpbmcgPSB0cnVlOwogICAgIGlmICgh
aXNWaWV3VmlzaWJsZSgpKSB7Ci0gICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6RGlkTm90QWNxdWlyZVBvaW50ZXJMb2NrKCksIG1fcGFnZUlEKTsKKyAgICAgICAgZGlk
RGVueVBvaW50ZXJMb2NrKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBkaWRBbGxv
d1BvaW50ZXJMb2NrKCk7CisgICAgbV91aUNsaWVudC0+cmVxdWVzdFBvaW50ZXJMb2NrKHRoaXMp
OwogfQogICAgIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZEFsbG93UG9pbnRlckxvY2soKQogewor
ICAgIEFTU0VSVChtX2lzUG9pbnRlckxvY2tQZW5kaW5nICYmICFtX2lzUG9pbnRlckxvY2tlZCk7
CisgICAgbV9pc1BvaW50ZXJMb2NrZWQgPSB0cnVlOworICAgIG1faXNQb2ludGVyTG9ja1BlbmRp
bmcgPSBmYWxzZTsKKyNpZiBQTEFURk9STShNQUMpCiAgICAgQ0dEaXNwbGF5SGlkZUN1cnNvcihD
R01haW5EaXNwbGF5SUQoKSk7CiAgICAgQ0dBc3NvY2lhdGVNb3VzZUFuZE1vdXNlQ3Vyc29yUG9z
aXRpb24oZmFsc2UpOworI2VuZGlmCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpEaWRBY3F1aXJlUG9pbnRlckxvY2soKSwgbV9wYWdlSUQpOwogfQogICAgIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZERlbnlQb2ludGVyTG9jaygpCiB7CisgICAgQVNTRVJUKG1faXNQb2lu
dGVyTG9ja1BlbmRpbmcgJiYgIW1faXNQb2ludGVyTG9ja2VkKTsKKyAgICBtX2lzUG9pbnRlckxv
Y2tQZW5kaW5nID0gZmFsc2U7CiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
OjpEaWROb3RBY3F1aXJlUG9pbnRlckxvY2soKSwgbV9wYWdlSUQpOwogfQogCiB2b2lkIFdlYlBh
Z2VQcm94eTo6cmVxdWVzdFBvaW50ZXJVbmxvY2soKQogewotICAgIENHRGlzcGxheVNob3dDdXJz
b3IoQ0dNYWluRGlzcGxheUlEKCkpOwotICAgIENHQXNzb2NpYXRlTW91c2VBbmRNb3VzZUN1cnNv
clBvc2l0aW9uKHRydWUpOwotICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
RGlkTG9zZVBvaW50ZXJMb2NrKCksIG1fcGFnZUlEKTsKKyAgICBpZiAobV9pc1BvaW50ZXJMb2Nr
ZWQpIHsKKyNpZiBQTEFURk9STShNQUMpCisgICAgICAgIENHQXNzb2NpYXRlTW91c2VBbmRNb3Vz
ZUN1cnNvclBvc2l0aW9uKHRydWUpOworICAgICAgICBDR0Rpc3BsYXlTaG93Q3Vyc29yKENHTWFp
bkRpc3BsYXlJRCgpKTsKKyNlbmRpZgorICAgICAgICBtX3VpQ2xpZW50LT5kaWRMb3NlUG9pbnRl
ckxvY2sodGhpcyk7CisgICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
RGlkTG9zZVBvaW50ZXJMb2NrKCksIG1fcGFnZUlEKTsKKyAgICB9CisKKyAgICBpZiAobV9pc1Bv
aW50ZXJMb2NrUGVuZGluZykgeworICAgICAgICBtX3VpQ2xpZW50LT5kaWRMb3NlUG9pbnRlckxv
Y2sodGhpcyk7CisgICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlk
Tm90QWNxdWlyZVBvaW50ZXJMb2NrKCksIG1fcGFnZUlEKTsKKyAgICB9CisKKyAgICBtX2lzUG9p
bnRlckxvY2tlZCA9IGZhbHNlOworICAgIG1faXNQb2ludGVyTG9ja1BlbmRpbmcgPSBmYWxzZTsK
IH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
MWY5OWFhZjg2NDA5YWNjZjI4MmNkNGRiZjExNzljZDI2YjM2MzBkYy4uMjg0MTQ2OWFjY2YwOTVm
Mzc5YWU0NTE5NzMwNWY0ZTNkYjIyZWE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaApAQCAtMTkyNyw2ICsxOTI3LDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Zv
cmNlQWx3YXlzVXNlclNjYWxhYmxlIHsgZmFsc2UgfTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFBP
SU5URVJfTE9DSykKKyAgICBib29sIG1faXNQb2ludGVyTG9ja1BlbmRpbmcgeyBmYWxzZSB9Owor
ICAgIGJvb2wgbV9pc1BvaW50ZXJMb2NrZWQgeyBmYWxzZSB9OworI2VuZGlmCisKICNpZiBFTkFC
TEUoRE9XTkxPQURfQVRUUklCVVRFKQogICAgIGJvb2wgbV9zeW5jTmF2aWdhdGlvbkFjdGlvbkhh
c0Rvd25sb2FkQXR0cmlidXRlIHsgZmFsc2UgfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDZmMDNhMjgyN2Q3YmVhNDU4N2Ux
ZDc5NTY3NDUwOWM0NTY5NjAzOTkuLmEyOTRmMzA1ODg1OWM0NDY2YzZkOTE1ZWI4Y2FjNWQxMjc2
NjgzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKQEAgLTE1MSw3ICsxNTEsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRp
b24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUGx1Z2luRG9jdW1lbnQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJM
b2NrQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJpbnRDb250ZXh0Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SYW5nZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXIuaD4K
QEAgLTE5OSw2ICsxOTgsMTAgQEAKICNpbmNsdWRlICJXZWJWaWJyYXRpb25DbGllbnQuaCIKICNl
bmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyNpbmNsdWRlIDxXZWJDb3JlL1BvaW50
ZXJMb2NrQ29udHJvbGxlci5oPgorI2VuZGlmCisKICNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5U
UykKICNpbmNsdWRlICJXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKICNlbmRpZgpAQCAtMzAy
Nyw2ICszMDMwLDkgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQ
cmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQog
ICAgIHNldHRpbmdzLnNldEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZEtleSgp
KSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIHNldHRpbmdzLnNldFBv
aW50ZXJMb2NrRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OnBvaW50ZXJMb2NrRW5hYmxlZEtleSgpKSk7CisjZW5kaWYKICAgICBzZXR0aW5ncy5zZXRB
bGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayhzdG9yZS5nZXRCb29sVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
S2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRNZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20o
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjptZWRpYUNvbnRyb2xz
U2NhbGVXaXRoUGFnZVpvb21LZXkoKSkpOwogICAgIHNldHRpbmdzLnNldE1vY2tTY3JvbGxiYXJz
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1vY2tT
Y3JvbGxiYXJzRW5hYmxlZEtleSgpKSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBlOWMzYzAx
ZTUxNjJiOGJlYjRiOGY2ZWMyNTJmNjBmYzk4OGE0Nzk2Li5mZDE5NWQ0NDg2NzA1N2FmOWNlMmQ0
NzJmMTlhY2U2ZDEyZjRhMTg0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE1Miw3ICsxNTIs
NyBAQCBFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kgPSBFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1k7CiBFTkFCTEVfTk9TTklGRiA9IDsKIEVOQUJMRV9OT1RJRklDQVRJT05TW3Nk
az1tYWNvc3gqXSA9IEVOQUJMRV9OT1RJRklDQVRJT05TOwogRU5BQkxFX1BERktJVF9QTFVHSU5b
c2RrPW1hY29zeCpdID0gRU5BQkxFX1BERktJVF9QTFVHSU47Ci1FTkFCTEVfUE9JTlRFUl9MT0NL
ID0gOworRU5BQkxFX1BPSU5URVJfTE9DS1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfUE9JTlRFUl9M
T0NLOwogRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMgPSA7CiBFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUID0gRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVDsKIEVOQUJMRV9RVU9UQSA9IDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295167</attachid>
            <date>2016-11-18 11:21:18 -0800</date>
            <delta_ts>2016-11-18 11:43:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163801-20161118112111.patch</filename>
            <type>text/plain</type>
            <size>43182</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
Y2VmZDZhZDFhNWMwYTA3ODcwMTkyNjUwMGM2NTI0ZTFmNjcyMmVlLi5jY2U3ODJlOThjYzgwZjY0
MDg2MmFhNDFmZDViMjMxMjY4MjM0OTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNi0xMS0xOCAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUgcG9pbnRlciBsb2NrLiBFbmFi
bGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTYtMTEtMTggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBHZW5lcmF0b3IgZnVuY3Rpb25zIHNob3Vs
ZCBoYXZlIGEgZGlzcGxheWFibGUgbmFtZSB3aGVuIHNob3duIGluIHN0YWNrIHRyYWNlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRl
eCBjODJhMWYyZWJlMzZmMThlYzBiM2M2MGM0OWMxMDVkMDY4ZGFkZDczLi5jYjJlZDE0N2VlOGQw
MTgxMWJhOWFiYjhlNmMzMDA4MzgzMTUyMGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE2LTEx
LTE4ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcnVu
dGltZSBmbGFnIHRvIGVuYWJsZSBwb2ludGVyIGxvY2suIEVuYWJsZSBwb2ludGVyIGxvY2sgZmVh
dHVyZSBmb3IgbWFjLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYzODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDogRU5BQkxFX1BPSU5URVJfTE9DSyB0cnVlIGZv
ciBNYWMuCisKIDIwMTYtMTEtMTcgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIGFzeW5jL2F3YWl0IGNvbXBpbGUgdGltZSBmbGFnIGFuZCBlbmFibGUg
dGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAxNTY3NmIwYzkyOGY5NjVmYzVjZjRlMzIxMTM4MzdkOWNiNWU5
YjY3Li5mODYyYmQ4MTZjODVhMmM2NGNhMjU0MzBiOGI2OThiZTJiZDA3MGFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzIgQEAKKzIwMTYtMTEtMTggIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9j
ay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSB0ZXN0cyBub3cgcGFzcyB3aXRo
IER1bXBSZW5kZXJUcmVlLgorICAgICAgICBMYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1h
bHJlYWR5LWxvY2tlZC5odG1sCisgICAgICAgIExheW91dFRlc3RzL3BvaW50ZXItbG9jay9sb2Nr
LWVsZW1lbnQtbm90LWluLWRvbS5odG1sCisgICAgICAgIExheW91dFRlc3RzL3BvaW50ZXItbG9j
ay9sb2NrZWQtZWxlbWVudC1pZnJhbWUtcmVtb3ZlZC1mcm9tLWRvbS5odG1sCisgICAgICAgIExh
eW91dFRlc3RzL3BvaW50ZXItbG9jay9tb3VzZS1ldmVudC1hcGkuaHRtbAorCisgICAgICAgIFBv
aW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrIG5vdyBwcm90ZWN0cyBhZ2Fp
bnN0IHN5bmNocm9ub3VzIGNhbGxiYWNrCisgICAgICAgIHRvIGFsbG93UG9pbnRlckxvY2soKS4K
KworICAgICAgICBBZGQgcG9pbnRlckxvY2tFbmFibGVkIHNldHRpbmcuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXRQb2ludGVyTG9jayk6
IEZpeCBleGlzdGluZyB0eXBvLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBvaW50ZXJM
b2NrRWxlbWVudCk6CisgICAgICAgICogZmVhdHVyZXMuanNvbjoKKyAgICAgICAgKiBwYWdlL0V2
ZW50SGFuZGxlci5jcHA6CisgICAgICAgICogcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRl
ckxvY2spOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0
UG9pbnRlclVubG9jayk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoKKwogMjAxNi0xMS0x
OCAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFBhcnNlcl0g
SG9vayB1cCBJbnNwZWN0b3JTdHlsZVNoZWV0IHRvIHRoZSBuZXcgQ1NTIHBhcnNlci4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwppbmRleCBjNmFhMDVhZTY3Y2RiODc1ZGY3ZWQzMjhiODdlMjAyOTViNTQ4ZGRkLi41
OTJjOTNkYTRmY2I3NmQ5YWNhY2QxM2UyMGE5YTRjMzE4YjYyN2ZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTYtMTEtMTggIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9j
ay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQbHVtYiB0aHJvdWdoIFBvaW50ZXJMb2Nr
RW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
OgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0UG9pbnRlclVubG9jayk6CisgICAg
ICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBwb2ludGVy
TG9ja0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0UG9pbnRlckxvY2tF
bmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6Cisg
ICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJl
bmNlc0NoYW5nZWQ6XSk6CisKIDIwMTYtMTEtMTcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxl
LmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IHNvbWUgbm9uLW1hY09TIGJ1aWxkcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCAzYWYyMTc5MmM2YTZmMzllZDI2YWQ5Yjk5MmQzOGFkNTMxMWQ2YzIzLi4yMjk0MmEz
ZTkxYjliYTM3ZGYzZjMzM2NkODFkZmVkNjc3Mjc3ZjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NDIgQEAKKzIwMTYtMTEtMTggIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgorCisg
ICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9jay4gRW5hYmxlIHBv
aW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgU1BJIHRvIG5vdGlmeSBjbGllbnQgb2YgcG9pbnRlciBs
b2NrIGFuZCBmb3IgY2xpZW50IHRvIGFsbG93IG9yIGRlbnkuCisgICAgICAgIFVubG9jayBwb2lu
dGVyIHdoZW4gdmlldyBpcyBub3QgbG9uZ2VyIGFjdGl2ZS4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmluaXRpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVu
dC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAgICAg
ICAgKEFQSTo6VUlDbGllbnQ6OmRpZExvc2VQb2ludGVyTG9jayk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQpOgor
ICAgICAgICAoV0tQYWdlRGlkQWxsb3dQb2ludGVyTG9jayk6CisgICAgICAgIChXS1BhZ2VEaWRE
ZW55UG9pbnRlckxvY2spOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
bW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OnNldERlbGVnYXRlKToKKyAgICAgICAg
KFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlcXVlc3RQb2ludGVyTG9jayk6CisgICAg
ICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRMb3NlUG9pbnRlckxvY2spOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmRpc3BhdGNoQWN0aXZpdHlTdGF0ZUNoYW5nZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkaWRBbGxvd1BvaW50ZXJMb2NrKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpkaWREZW55UG9pbnRlckxvY2spOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OnJlcXVlc3RQb2ludGVyVW5sb2NrKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTYt
MTEtMTcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIERvd25sb2FkcyBzdGFydGVkIGJ5IGNvbnRleHQgbWVudSBhY3Rpb25zIHNob3VsZCBhbHNv
IGhhdmUgYSB3ZWIgdmlldyBhc3NvY2lhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXgg
M2QxN2E4NTc0Mzg4ZGViYTU1ZjhkOTMyMjJjZGVmN2I5MjYwZDdjMy4uNzExMTI2Mzc0MzQ5ZDAx
NmJlY2JiN2FhMTEyZTliNDY3ZGQ5MGFiYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
MTUwLDcgKzE1MCw3IEBAIEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSA9IEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWTsKIEVOQUJMRV9OT1NOSUZGID0gOwogRU5BQkxFX05PVElG
SUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX05PVElGSUNBVElPTlM7CiBFTkFCTEVfUERG
S0lUX1BMVUdJTltzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfUERGS0lUX1BMVUdJTjsKLUVOQUJMRV9Q
T0lOVEVSX0xPQ0sgPSA7CitFTkFCTEVfUE9JTlRFUl9MT0NLW3Nkaz1tYWNvc3gqXSA9IEVOQUJM
RV9QT0lOVEVSX0xPQ0s7CiBFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyA9IDsKIEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QgPSBFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUOwogRU5BQkxFX1FVT1RB
ID0gOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJj
ZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggNGY4ZjgwYTliYWRjOTRmNDdhN2YyNmFi
MTRlMDE0ZTJlMTMzMjkxNS4uMjk0MmVmMWQ4NzJiZTY4YjYxOTRjZDU1MWJkYTkzNDU4MDQxZmIx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC02MzAsNyArNjMwLDcgQEAgdGhlIHB1Ymxp
YyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGZpbGUKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9D
SykKLSNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAwCisjZGVmaW5lIEVOQUJMRV9QT0lOVEVS
X0xPQ0sgMQogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggM2QxN2E4NTc0Mzg4ZGViYTU1ZjhkOTMyMjJjZGVmN2I5MjYwZDdjMy4u
NzExMTI2Mzc0MzQ5ZDAxNmJlY2JiN2FhMTEyZTliNDY3ZGQ5MGFiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTE1MCw3ICsxNTAsNyBAQCBFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kgPSBFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1k7CiBFTkFCTEVfTk9TTklGRiA9IDsKIEVOQUJMRV9OT1RJ
RklDQVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9OT1RJRklDQVRJT05TOwogRU5BQkxFX1BE
RktJVF9QTFVHSU5bc2RrPW1hY29zeCpdID0gRU5BQkxFX1BERktJVF9QTFVHSU47Ci1FTkFCTEVf
UE9JTlRFUl9MT0NLID0gOworRU5BQkxFX1BPSU5URVJfTE9DS1tzZGs9bWFjb3N4Kl0gPSBFTkFC
TEVfUE9JTlRFUl9MT0NLOwogRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMgPSA7CiBFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUID0gRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVDsKIEVOQUJMRV9RVU9U
QSA9IDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDZhYjQzZjA2NGYxNTBmOWFhYTkwNTNm
Nzk4MGE2ZGJhYmRlYzBkMTcuLmM2MThhOWRkNmZjYWNiOTdmZTMwYmJjZjIxOThmOGFmOWUyNzQ0
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjAyOCw3ICs2MDI4LDcgQEAgdm9pZCBE
b2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1bGxTY3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50
KiBkb2MpCiAKIHZvaWQgRG9jdW1lbnQ6OmV4aXRQb2ludGVyTG9jaygpCiB7Ci0gICAgUGFnZSog
cGFnZSA9IHRoaXM+cGFnZSgpOworICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAg
aWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKGF1dG8qIHRhcmdldCA9IHBhZ2Ut
PnBvaW50ZXJMb2NrQ29udHJvbGxlcigpLmVsZW1lbnQoKSkgewpAQCAtNjA0MCwxMCArNjA0MCwx
MCBAQCB2b2lkIERvY3VtZW50OjpleGl0UG9pbnRlckxvY2soKQogCiBFbGVtZW50KiBEb2N1bWVu
dDo6cG9pbnRlckxvY2tFbGVtZW50KCkgY29uc3QKIHsKLSAgICBQYWdlKiBwYWdlID0gdGhpcz5w
YWdlKCk7CisgICAgUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwg
cGFnZS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkubG9ja1BlbmRpbmcoKSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgYXV0byogZWxlbWVudCA9IHBhZ2UoKS0+cG9pbnRlckxvY2tDb250
cm9sbGVyKCkuZWxlbWVudCgpOworICAgIGF1dG8qIGVsZW1lbnQgPSBwYWdlLT5wb2ludGVyTG9j
a0NvbnRyb2xsZXIoKS5lbGVtZW50KCk7CiAgICAgaWYgKCFlbGVtZW50IHx8ICZlbGVtZW50LT5k
b2N1bWVudCgpICE9IHRoaXMpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBl
bGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbiBiL1NvdXJj
ZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24KaW5kZXggNTNkYzk3ZjdjMTEwZDI0NjI5MjAwNDUxYTU1
ODFlYzA5NDI4ZTY5Mi4uZjYwZjM2OTk2YTEyMmY5MGQzOTZkZGYxYjA2NTFjY2NjY2E3MWQ5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9mZWF0dXJlcy5qc29uCkBAIC0yOTcsNiArMjk3LDE3IEBACiAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJBbiBBUEkgdGhhdCBjYW4gYmUgdXNlZCB0byB1bmRlcnN0YW5kIHRoZSB2aXNpYmls
aXR5IGFuZCBwb3NpdGlvbiBvZiBET00gZWxlbWVudHMgcmVsYXRpdmUgdG8gYSBjb250YWluaW5n
IGVsZW1lbnQgb3IgdG8gdGhlIHRvcC1sZXZlbCB2aWV3cG9ydC4iCiAgICAgfSwKICAgICB7Cisg
ICAgICAgICJuYW1lIjogIlBvaW50ZXIgTG9jayIsCisgICAgICAgICJzdGF0dXMiOiB7CisgICAg
ICAgICAgICAic3RhdHVzIjogIkluIERldmVsb3BtZW50IiwKKyAgICAgICAgICAgICJlbmFibGVk
LWJ5LWRlZmF1bHQiOiBmYWxzZQorICAgICAgICB9LAorICAgICAgICAidXJsIjogImh0dHBzOi8v
d3d3LnczLm9yZy9UUi9wb2ludGVybG9jay8iLAorICAgICAgICAid2Via2l0LXVybCI6ICJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NjUyIiwKKyAgICAgICAgImtl
eXdvcmRzIjogWyJwb2ludGVyIiwgInBvaW50ZXIgbG9jayJdLAorICAgICAgICAiZGVzY3JpcHRp
b24iOiAiUHJvdmlkZXMgc2NyaXB0ZWQgYWNjZXNzIHRvIHJhdyBtb3VzZSBtb3ZlbWVudCBkYXRh
IHdoaWxlIGxvY2tpbmcgdGhlIHRhcmdldCBvZiBtb3VzZSBldmVudHMgdG8gYSBzaW5nbGUgZWxl
bWVudCBhbmQgcmVtb3ZpbmcgdGhlIGN1cnNvciBmcm9tIHZpZXcuIgorICAgIH0sCisgICAgewog
ICAgICAgICAibmFtZSI6ICJQcmVsb2FkIiwKICAgICAgICAgInN0YXR1cyI6IHsKICAgICAgICAg
ICAgICJzdGF0dXMiOiAiSW4gRGV2ZWxvcG1lbnQiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwCmluZGV4IGEwYmIxOTE5NmFiNzBmYjAzZWExODY2YzUyZWExYWM0MzM4MWU1MzMuLmU5
NGE5MjU1MmM5OTZhNTM4ZTQ2NjgyY2ViMzFlMzUxOTFhMzMzN2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKQEAgLTcyLDcgKzcyLDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUtl
eWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKICNpbmNsdWRl
ICJQbHVnaW5Eb2N1bWVudC5oIgotI2luY2x1ZGUgIlBvaW50ZXJMb2NrQ29udHJvbGxlci5oIgog
I2luY2x1ZGUgIlJlbmRlckZyYW1lU2V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNp
bmNsdWRlICJSZW5kZXJMaXN0Qm94LmgiCkBAIC0xMjAsNiArMTE5LDEwIEBACiAjaW5jbHVkZSAi
UGxhdGZvcm1HZXN0dXJlRXZlbnRNYWMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJf
TE9DSykKKyNpbmNsdWRlICJQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCIKKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggOTg2NTVlNjk5OGM3
ZmFiMDc0MGY4ZjllMDE2NzY5ZDJhNzRkNjZjNS4uM2JiN2QzZjkxYmFjN2Q5Zjk0Y2ZkYjkwZDA1
N2Q1MjUwYTg4YjE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9j
a0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250
cm9sbGVyLmNwcApAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCisjaW5jbHVk
ZSAiU2NyaXB0Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAi
Vm9pZENhbGxiYWNrLmgiCiAKIApAQCAtNDcsMTEgKzQ5LDIwIEBAIFBvaW50ZXJMb2NrQ29udHJv
bGxlcjo6UG9pbnRlckxvY2tDb250cm9sbGVyKFBhZ2UmIHBhZ2UpCiAKIHZvaWQgUG9pbnRlckxv
Y2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2soRWxlbWVudCogdGFyZ2V0KQogeworICAg
IFNldHRpbmdzKiBzZXR0aW5ncyA9IHRhcmdldC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpOworICAg
IGlmICghc2V0dGluZ3MgfHwgIXNldHRpbmdzLT5wb2ludGVyTG9ja0VuYWJsZWQoKSkKKyAgICAg
ICAgcmV0dXJuOworCiAgICAgaWYgKCF0YXJnZXQgfHwgIXRhcmdldC0+aW5Eb2N1bWVudCgpIHx8
IG1fZG9jdW1lbnRPZlJlbW92ZWRFbGVtZW50V2hpbGVXYWl0aW5nRm9yVW5sb2NrKSB7CiAgICAg
ICAgIGVucXVldWVFdmVudChldmVudE5hbWVzKCkucG9pbnRlcmxvY2tlcnJvckV2ZW50LCB0YXJn
ZXQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKCFTY3JpcHRDb250cm9sbGVy
Ojpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgeworICAgICAgICBlbnF1ZXVlRXZlbnQoZXZlbnRO
YW1lcygpLnBvaW50ZXJsb2NrZXJyb3JFdmVudCwgdGFyZ2V0KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIGlmICh0YXJnZXQtPmRvY3VtZW50KCkuaXNTYW5kYm94ZWQoU2FuZGJveFBv
aW50ZXJMb2NrKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBt
b3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgogICAgICAgICB0YXJnZXQtPmRv
Y3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQmxvY2tlZCBwb2ludGVyIGxvY2sgb24gYW4g
ZWxlbWVudCBiZWNhdXNlIHRoZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUg
J2FsbG93LXBvaW50ZXItbG9jaycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpKTsKQEAgLTc5LDcg
KzkwLDE0IEBAIHZvaWQgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2so
RWxlbWVudCogdGFyZ2V0KQogCiB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBv
aW50ZXJVbmxvY2soKQogewotICAgIHJldHVybiBtX3BhZ2UuY2hyb21lKCkuY2xpZW50KCkucmVx
dWVzdFBvaW50ZXJVbmxvY2soKTsKKyAgICBpZiAoIW1fZWxlbWVudCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gbV9lbGVtZW50LT5kb2N1bWVudCgpLnNldHRp
bmdzKCk7CisgICAgaWYgKCFzZXR0aW5ncyB8fCAhc2V0dGluZ3MtPnBvaW50ZXJMb2NrRW5hYmxl
ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BhZ2UuY2hyb21lKCkuY2xpZW50KCkucmVx
dWVzdFBvaW50ZXJVbmxvY2soKTsKIH0KIAogdm9pZCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OmVs
ZW1lbnRSZW1vdmVkKEVsZW1lbnQqIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRl
eCBhYWUzNTY5NWI5ZmYyYTAzY2FmMDNjNjIyYjA3Y2ZjNjI4ZmRiNTIzLi5mNDFkOWUyNzhkZGQ2
NTU1MTRjOWE0NjkwOTE0YjRmY2NjM2RjZmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAg
LTI5MSwzICsyOTEsNCBAQCBmb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlIHR5cGU9Rm9y
Y2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSwgaW5pdGlhbD1kZQogYXN5bmNJbWFnZURlY29k
aW5nRW5hYmxlZCBpbml0aWFsPXRydWUKIAogZXM2TW9kdWxlc0VuYWJsZWQgaW5pdGlhbD1mYWxz
ZQorcG9pbnRlckxvY2tFbmFibGVkIGluaXRpYWw9ZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXgg
M2QxN2E4NTc0Mzg4ZGViYTU1ZjhkOTMyMjJjZGVmN2I5MjYwZDdjMy4uNzExMTI2Mzc0MzQ5ZDAx
NmJlY2JiN2FhMTEyZTliNDY3ZGQ5MGFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE1MCw3ICsx
NTAsNyBAQCBFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kgPSBFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1k7CiBFTkFCTEVfTk9TTklGRiA9IDsKIEVOQUJMRV9OT1RJRklDQVRJT05T
W3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9OT1RJRklDQVRJT05TOwogRU5BQkxFX1BERktJVF9QTFVH
SU5bc2RrPW1hY29zeCpdID0gRU5BQkxFX1BERktJVF9QTFVHSU47Ci1FTkFCTEVfUE9JTlRFUl9M
T0NLID0gOworRU5BQkxFX1BPSU5URVJfTE9DS1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfUE9JTlRF
Ul9MT0NLOwogRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMgPSA7CiBFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUID0gRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVDsKIEVOQUJMRV9RVU9UQSA9IDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5t
bQppbmRleCBiZjlhZjU1MzI5ZDA4MTMwNmRiYzE5OWEzY2EzY2I5YmEyMjEyZjE4Li5iY2VhZmQ1
MTE2NTMyMmIzYWRiYTc5NGMwYzFmNThkYjVjZTE5YThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC03Nyw3ICs3Nyw2
IEBACiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4KLSNpbXBvcnQgPFdl
YkNvcmUvUG9pbnRlckxvY2tDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNl
UmVxdWVzdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZXJpYWxpemVkQ3J5cHRvS2V5V3JhcC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9XaWRnZXQuaD4KQEAgLTk1LDYgKzk0LDEwIEBACiAjaW1wb3J0IDxX
ZWJDb3JlL0dlb2xvY2F0aW9uLmg+CiAjZW5kaWYKIAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0sp
CisjaW1wb3J0IDxXZWJDb3JlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5oPgorI2VuZGlmCisKICNp
ZiBQTEFURk9STShJT1MpCiAjaW1wb3J0IDxXZWJDb3JlL1dBS0NsaXBWaWV3Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1dBS1dpbmRvdy5oPgpAQCAtNzMwLDggKzczMyw4IEBAIGJvb2wgV2ViQ2hyb21l
Q2xpZW50OjpyZXF1ZXN0UG9pbnRlckxvY2soKQogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlcXVl
c3RQb2ludGVyVW5sb2NrKCkKIHsKICNpZiBQTEFURk9STShNQUMpCi0gICAgQ0dEaXNwbGF5U2hv
d0N1cnNvcihDR01haW5EaXNwbGF5SUQoKSk7CiAgICAgQ0dBc3NvY2lhdGVNb3VzZUFuZE1vdXNl
Q3Vyc29yUG9zaXRpb24odHJ1ZSk7CisgICAgQ0dEaXNwbGF5U2hvd0N1cnNvcihDR01haW5EaXNw
bGF5SUQoKSk7CiAgICAgaWYgKFttX3dlYlZpZXcgcGFnZV0pCiAgICAgICAgIFttX3dlYlZpZXcg
cGFnZV0tPnBvaW50ZXJMb2NrQ29udHJvbGxlcigpLmRpZExvc2VQb2ludGVyTG9jaygpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAppbmRleCBlNzM3MDhjNjkwYTkxZGI3NjgwZWRkMWM1YjBjZDVjMzUyM2Y2ODI4
Li4yOTJkMGU5Nzc4MTQxY2EwNDgzZjczZWRiNTgxMzNiMDIyZDE2ODhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAg
LTE3MSw2ICsxNzEsNyBAQAogI2RlZmluZSBXZWJLaXRDU1NHcmlkTGF5b3V0RW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRDU1NHcmlkTGF5b3V0RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0Vmlz
dWFsVmlld3BvcnRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFZpc3VhbFZpZXdwb3J0RW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWRQcmVmZXJlbmNl
S2V5IEAiV2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQiCisjZGVmaW5lIFdlYktpdFBv
aW50ZXJMb2NrRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQb2ludGVyTG9ja0VuYWJsZWQi
CiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNh
dXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNl
IHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXgg
ZjM4M2Q5NDNkM2Y5MmE0ZmRhN2QxMDUyNzY0ZTdlNmEyMjM4NzA0Zi4uOTlhNzljNGEyYWZkZGY1
NTllMjRlZTZjYmY0NGZhNDE2Y2JkMjVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0yMzYwLDYgKzIzNjAsMTYgQEAgc3RhdGljIE5TU3RyaW5n
ICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBm
b3JLZXk6V2ViS2l0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tQcmVmZXJlbmNl
S2V5XTsKIH0KIAorLSAoQk9PTClwb2ludGVyTG9ja0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3Nl
bGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRQb2ludGVyTG9ja0VuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKK30KKworLSAodm9pZClzZXRQb2ludGVyTG9ja0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAg
IFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UG9pbnRlckxvY2tFbmFibGVk
UHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJPT0wpbW9ja1Njcm9sbGJhcnNFbmFibGVkCiB7CiAg
ICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0TW9ja1Njcm9sbGJhcnNFbmFi
bGVkUHJlZmVyZW5jZUtleV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCA4NWRhMTEzMDRlMWRjNzVjMzE2YTg3OTY1NzAyNTAy
ZTE4MjlmOGMyLi5mOTE1ZjcwMmNkN2ZjNTJlYjhjMjE4YzQxYWI2NmMwMTg2ZTAzMTZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
QEAgLTI4MSw2ICsyODEsOSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVN
b2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0gKHZvaWQpc2V0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2s6KEJPT0wpZmxhZzsKIC0gKEJPT0wpYWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2s7CiAKKy0gKHZvaWQpc2V0UG9pbnRlckxvY2tFbmFibGVk
OihCT09MKWZsYWc7CistIChCT09MKXBvaW50ZXJMb2NrRW5hYmxlZDsKKwogLSAoTlNTdHJpbmcg
KilwaWN0b2dyYXBoRm9udEZhbWlseTsKIC0gKHZvaWQpc2V0UGljdG9ncmFwaEZvbnRGYW1pbHk6
KE5TU3RyaW5nICopZmFtaWx5OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5k
ZXggZDJiOWM0NGJmNWU2ZDJiZjYxYzkwNjcwMzJjMTYyYTk0M2ZkZWM2Zi4uZjA5MDU4OWE2Zjlm
MDBkNmY1MDhiNDUzMzhjMzljZWFiMTk0YzRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQpAQCAtMjY0Myw3ICsyNjQzLDExIEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFp
bldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRKYXZhU2NyaXB0Q2FuQWNjZXNz
Q2xpcGJvYXJkKFtwcmVmZXJlbmNlcyBqYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkXSk7CiAg
ICAgc2V0dGluZ3Muc2V0WFNTQXVkaXRvckVuYWJsZWQoW3ByZWZlcmVuY2VzIGlzWFNTQXVkaXRv
ckVuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRETlNQcmVmZXRjaGluZ0VuYWJsZWQoW3ByZWZl
cmVuY2VzIGlzRE5TUHJlZmV0Y2hpbmdFbmFibGVkXSk7Ci0gICAgCisKKyNpZiBFTkFCTEUoUE9J
TlRFUl9MT0NLKQorICAgIHNldHRpbmdzLnNldFBvaW50ZXJMb2NrRW5hYmxlZChbcHJlZmVyZW5j
ZXMgcG9pbnRlckxvY2tFbmFibGVkXSk7CisjZW5kaWYKKwogICAgIHNldHRpbmdzLnNldEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBhY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQo
W3ByZWZlcmVuY2VzIGFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5z
ZXREaXNwbGF5TGlzdERyYXdpbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBkaXNwbGF5TGlzdERyYXdp
bmdFbmFibGVkXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDNkMTdhODU3NDM4OGRlYmE1NWY4ZDkzMjIyY2Rl
ZjdiOTI2MGQ3YzMuLjcxMTEyNjM3NDM0OWQwMTZiZWNiYjdhYTExMmU5YjQ2N2RkOTBhYmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC0xNTAsNyArMTUwLDcgQEAgRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZID0gRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZOwogRU5BQkxFX05PU05JRkYgPSA7
CiBFTkFCTEVfTk9USUZJQ0FUSU9OU1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTk9USUZJQ0FUSU9O
UzsKIEVOQUJMRV9QREZLSVRfUExVR0lOW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9QREZLSVRfUExV
R0lOOwotRU5BQkxFX1BPSU5URVJfTE9DSyA9IDsKK0VOQUJMRV9QT0lOVEVSX0xPQ0tbc2RrPW1h
Y29zeCpdID0gRU5BQkxFX1BPSU5URVJfTE9DSzsKIEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTID0g
OwogRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCA9IEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Q7
CiBFTkFCTEVfUVVPVEEgPSA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmaW5pdGlvbnMuaAppbmRleCBiM2FhZGUwZjM2ZmVlY2MzODg0MTg4ZmQ5MWFlNzNk
YmU4M2I2Y2NhLi44Mzk1ZTNlMDhiYjAyNDg3OWEwZWIyNDc1ODYxYWJkNTcxYTRjYTNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgK
QEAgLTMxMCw2ICszMTAsNyBAQAogICAgIG1hY3JvKElucHV0RXZlbnRzRW5hYmxlZCwgaW5wdXRF
dmVudHNFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19F
TkFCTEVELCAiSW5wdXQgRXZlbnRzIiwgIkVuYWJsZSBJbnB1dEV2ZW50cyBzdXBwb3J0IikgXAog
ICAgIG1hY3JvKFdlYkdMMkVuYWJsZWQsIHdlYkdMMkVuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFV
TFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJXZWJHTCAyLjAiLCAiV2ViR0wgMiBw
cm90b3R5cGUiKSBcCiAgICAgbWFjcm8oRVM2TW9kdWxlc0VuYWJsZWQsIGVzNk1vZHVsZXNFbmFi
bGVkLCBCb29sLCBib29sLCBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVELCAi
RVM2IE1vZHVsZXMiLCAiRW5hYmxlIEVTNiBNb2R1bGVzIHN1cHBvcnQiKSBcCisgICAgbWFjcm8o
UG9pbnRlckxvY2tFbmFibGVkLCBwb2ludGVyTG9ja0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFV
TFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJQb2ludGVyTG9jayIsICJQb2ludGVy
IExvY2sgQVBJIHN1cHBvcnQiKSBcCiAgICAgXAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggMDczOWNiZTkwZDkx
YTVjZjRiOWRiZGEzMzBlZGVmYjE2ZWNhYzcxNC4uZmY1OGVlOGIxYzg4ODk4MmM1ZTk3MTkxMjgz
ZThmYWU1YmYzZDZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9B
UElVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGll
bnQuaApAQCAtMTY3LDYgKzE2NywxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBOU0RpY3Rpb25h
cnkgKmRhdGFEZXRlY3Rpb25Db250ZXh0KCkgeyByZXR1cm4gbnVsbHB0cjsgfQogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UG9pbnRl
ckxvY2soV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkTG9z
ZVBvaW50ZXJMb2NrKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9CisjZW5kaWYKKwogICAgIHZp
cnR1YWwgdm9pZCBkaWRDbGlja0F1dG9GaWxsQnV0dG9uKFdlYktpdDo6V2ViUGFnZVByb3h5Jiwg
QVBJOjpPYmplY3QqKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbWFnZU9yTWVkaWFEb2N1bWVu
dFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNWQxYjA5ZWU4MzJkYTc4ODAyZDc4MGNj
MmMwMDA5MTA0MjhlYTBhMS4uZDlhYzU0ZWJkYTkyMzFmNGFkYmJlYjc2MWY1MTA1MWU3MGMyMDYy
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTEwOSw3
ICsxMDksNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tQYWdlUG9saWN5Q2xp
ZW50QmFzZT4gewogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZVVJ
Q2xpZW50QmFzZT4gewotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VVSUNsaWVudFYwLCBX
S1BhZ2VVSUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1BhZ2VVSUNsaWVudFYzLCBXS1Bh
Z2VVSUNsaWVudFY0LCBXS1BhZ2VVSUNsaWVudFY1LCBXS1BhZ2VVSUNsaWVudFY2LCBXS1BhZ2VV
SUNsaWVudFY3PiBWZXJzaW9uczsKKyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V0tQYWdlVUlDbGll
bnRWMCwgV0tQYWdlVUlDbGllbnRWMSwgV0tQYWdlVUlDbGllbnRWMiwgV0tQYWdlVUlDbGllbnRW
MywgV0tQYWdlVUlDbGllbnRWNCwgV0tQYWdlVUlDbGllbnRWNSwgV0tQYWdlVUlDbGllbnRWNiwg
V0tQYWdlVUlDbGllbnRWNywgV0tQYWdlVUlDbGllbnRWOD4gVmVyc2lvbnM7CiB9OwogCiAjaWYg
RU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC0yMjE4LDYgKzIyMTgsMjMgQEAgdm9pZCBXS1BhZ2VT
ZXRQYWdlVUlDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVVJQ2xpZW50QmFz
ZSogd2tDbGllbnQKICAgICAgICAgICAgIG1fY2xpZW50Lm1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlk
Q2hhbmdlKHRvQVBJKCZwYWdlKSwgdG9BUEkobWV0YWRhdGEpLCBtX2NsaWVudC5iYXNlLmNsaWVu
dEluZm8pOwogICAgICAgICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAg
ICAgICB2b2lkIHJlcXVlc3RQb2ludGVyTG9jayhXZWJQYWdlUHJveHkqIHBhZ2UpIG92ZXJyaWRl
CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQucmVxdWVzdFBvaW50ZXJMb2Nr
KQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbV9j
bGllbnQucmVxdWVzdFBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5iYXNlLmNsaWVu
dEluZm8pOworICAgICAgICB9CisKKyAgICAgICAgdm9pZCBkaWRMb3NlUG9pbnRlckxvY2soV2Vi
UGFnZVByb3h5KiBwYWdlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIW1f
Y2xpZW50LnJlcXVlc3RQb2ludGVyTG9jaykKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgICAgIG1fY2xpZW50LmRpZExvc2VQb2ludGVyTG9jayh0b0FQSShwYWdlKSwgbV9jbGll
bnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgfTsKIAogICAgIHRv
SW1wbChwYWdlUmVmKS0+c2V0VUlDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxVSUNsaWVudD4od2tD
bGllbnQpKTsKQEAgLTI2MDYsNiArMjYyMywyNCBAQCB2b2lkIFdLUGFnZVNldE11dGVkKFdLUGFn
ZVJlZiBwYWdlLCBXS01lZGlhTXV0ZWRTdGF0ZSBtdXRlZCkKICAgICB0b0ltcGwocGFnZSktPnNl
dE11dGVkKG11dGVkKTsKIH0KIAordm9pZCBXS1BhZ2VEaWRBbGxvd1BvaW50ZXJMb2NrKFdLUGFn
ZVJlZiBwYWdlKQoreworI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgdG9JbXBsKHBhZ2Up
LT5kaWRBbGxvd1BvaW50ZXJMb2NrKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwYWdlKTsK
KyNlbmRpZgorfQorCit2b2lkIFdLUGFnZURpZERlbnlQb2ludGVyTG9jayhXS1BhZ2VSZWYgcGFn
ZSkKK3sKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIHRvSW1wbChwYWdlKS0+ZGlkRGVu
eVBvaW50ZXJMb2NrKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKKyNlbmRpZgor
fQorCiBib29sIFdLUGFnZUhhc01lZGlhU2Vzc2lvbldpdGhBY3RpdmVNZWRpYUVsZW1lbnRzKFdL
UGFnZVJlZiBwYWdlKQogewogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKaW5kZXggZTIwZmYyNjlmZjVj
MTBiMDRlOGZkNTcyNTVlNmFlNmRiYTEwNjhhOS4uMWE3NGM3NzAyNzk5NjExNTY5OTlkODJmOTc0
ZDhlMWFkNmM5ZWVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlUHJpdmF0ZS5oCkBAIC0xMjgsNiArMTI4LDkgQEAgZW51bSB7CiB9OwogdHlwZWRlZiB1aW50
MzJfdCBXS01lZGlhTXV0ZWRTdGF0ZTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldE11dGVkKFdL
UGFnZVJlZiBwYWdlLCBXS01lZGlhTXV0ZWRTdGF0ZSBtdXRlZCk7CisgICAgCitXS19FWFBPUlQg
dm9pZCBXS1BhZ2VEaWRBbGxvd1BvaW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKTsKK1dLX0VYUE9S
VCB2b2lkIFdLUGFnZURpZERlbnlQb2ludGVyTG9jayhXS1BhZ2VSZWYgcGFnZSk7CiAKIGVudW0g
ewogICAgIGtXS01lZGlhSXNOb3RQbGF5aW5nID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKaW5kZXggZTc1Y2NmYmRhYzI4ZmFmYjg3NDJl
ODllNTgyMDk0ODAwZjEwMjMzYi4uMjliOGUxMGFiY2NiNDA5OTJiMGRlNzA0NzlkM2Q0MWI2ZWZk
NmViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJ
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xp
ZW50LmgKQEAgLTEwNCw2ICsxMDQsOSBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRDbGlja0F1
dG9GaWxsQnV0dG9uQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1R5cGVSZWYgdQogdHlwZWRl
ZiB2b2lkICgqV0tQYWdlTWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2VDYWxsYmFjaykoV0tQ
YWdlUmVmIHBhZ2UsIFdLTWVkaWFTZXNzaW9uTWV0YWRhdGFSZWYgbWV0YWRhdGEsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tGdWxsc2NyZWVuTWF5UmV0dXJuVG9J
bmxpbmVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwog
Cit0eXBlZGVmIHZvaWQgKCpXS1JlcXVlc3RQb2ludGVyTG9ja0NhbGxiYWNrKShXS1BhZ2VSZWYg
cGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0RpZExvc2VQ
b2ludGVyTG9ja0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7CisKIC8vIERlcHJlY2F0ZWQKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3
UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0Rp
Y3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50
TW91c2VCdXR0b24gbW91c2VCdXR0b24sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRl
ZiB2b2lkICAgICAgKCpXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNrX2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlm
aWVycywgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTYz
Niw2ICs2MzksOTQgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWNyB7CiAgICAgV0tG
dWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmU7CiB9IFdLUGFnZVVJQ2xpZW50Vjc7
CiAKK3R5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50VjggeworICAgIFdLUGFnZVVJQ2xpZW50
QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFz
ZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDAuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxi
YWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdl
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93UGFnZTsKKyAgICBX
S1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNsb3NlOworICAgIFdLUGFnZVRha2VGb2N1c0NhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZUZvY3VzOworICAgIFdLUGFnZUZv
Y3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZm9jdXM7CisgICAgV0tQYWdlVW5mb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bmZvY3VzOworICAgIFdLUGFnZVJ1bkphdmFTY3Jp
cHRBbGVydENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICAgcnVuSmF2
YVNjcmlwdEFsZXJ0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlUnVuSmF2YVNj
cmlwdENvbmZpcm1DYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICBydW5K
YXZhU2NyaXB0Q29uZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVJ1bkph
dmFTY3JpcHRQcm9tcHRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICAg
cnVuSmF2YVNjcmlwdFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVNl
dFN0YXR1c1RleHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0U3RhdHVzVGV4dDsKKyAgICBXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxi
YWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlTWlzc2luZ1BsdWdpbkJ1dHRvbkNs
aWNrZWRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICBtaXNzaW5nUGx1Z2luQnV0
dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZURpZE5vdEhhbmRs
ZUtleUV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTm90
SGFuZGxlS2V5RXZlbnQ7CisgICAgV0tQYWdlRGlkTm90SGFuZGxlV2hlZWxFdmVudENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVXaGVlbEV2ZW50Owor
ICAgIFdLUGFnZUdldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdG9vbGJhcnNBcmVWaXNpYmxlOworICAgIFdLUGFnZVNldFRvb2xiYXJz
QXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VG9v
bGJhcnNBcmVWaXNpYmxlOworICAgIFdLUGFnZUdldE1lbnVCYXJJc1Zpc2libGVDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVudUJhcklzVmlzaWJsZTsKKyAgICBX
S1BhZ2VTZXRNZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNldE1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlR2V0U3RhdHVzQmFySXNW
aXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNCYXJJ
c1Zpc2libGU7CisgICAgV0tQYWdlU2V0U3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0dXNCYXJJc1Zpc2libGU7CisgICAgV0tQ
YWdlR2V0SXNSZXNpemFibGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpc1Jlc2l6YWJsZTsKKyAgICBXS1BhZ2VTZXRJc1Jlc2l6YWJsZUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzUmVzaXphYmxlOworICAg
IFdLUGFnZUdldFdpbmRvd0ZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2V0V2luZG93RnJhbWU7CisgICAgV0tQYWdlU2V0V2luZG93RnJhbWVDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRXaW5kb3dGcmFt
ZTsKKyAgICBXS1BhZ2VSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxDYWxsYmFja19kZXByZWNh
dGVkRm9yVXNlV2l0aFY2ICAgIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbF9kZXByZWNhdGVk
Rm9yVXNlV2l0aFY2OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRHJhdzsKKyAgICBXS1BhZ2VVSUNsaWVu
dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh
Z2VEaWRTY3JvbGw7CisgICAgV0tQYWdlRXhjZWVkZWREYXRhYmFzZVF1b3RhQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNlZWRlZERhdGFiYXNlUXVvdGE7CisgICAg
V0tQYWdlUnVuT3BlblBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBydW5PcGVuUGFuZWw7CisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZUhlYWRlckhlaWdodENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVySGVpZ2h0
OworICAgIFdLUGFnZUZvb3RlckhlaWdodENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZm9vdGVySGVpZ2h0OworICAgIFdLUGFnZURyYXdIZWFkZXJDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0hlYWRl
cjsKKyAgICBXS1BhZ2VEcmF3Rm9vdGVyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRyYXdGb290ZXI7CisgICAgV0tQYWdlUHJpbnRGcmFtZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludEZyYW1l
OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcnVuTW9kYWw7CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQxOyAvLyBV
c2VkIHRvIGJlIGRpZENvbXBsZXRlUnViYmVyQmFuZEZvck1haW5GcmFtZQorICAgIFdLUGFnZVNh
dmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcjsKKyAgICB2b2lkKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEludGVycnVwdEphdmFTY3JpcHRfdW5hdmFpbGFibGU7CisgICAgCisgICAgLy8gVmVyc2lvbiAx
LgorICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYx
ICAgICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYxOwor
ICAgIFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ7CisgICAgV0tQYWdlRGVjaWRl
UG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAgICAgICAgICBk
ZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDsKKyAgICBXS1BhZ2VV
bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0
aFYxIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYx
OworICAgIAorICAgIC8vIFZlcnNpb24gMi4KKyAgICBXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb2xvclBpY2tl
cjsKKyAgICBXS1BhZ2VIaWRlQ29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhpZGVDb2xvclBpY2tlcjsKKyAgICBXS1BhZ2VVbmF2YWlsYWJs
ZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgIHVuYXZh
aWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZDsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDMuCisgICAg
V0tQYWdlUGlubmVkU3RhdGVEaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwaW5uZWRTdGF0ZURpZENoYW5nZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDQu
CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnVzZWQyOyAvLyBVc2VkIHRvIGJlIGRpZEJlZ2luVHJhY2tpbmdQ
b3RlbnRpYWxMb25nTW91c2VQcmVzcy4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDM7IC8vIFVzZWQg
dG8gYmUgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MuCisgICAgdm9pZCogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQ0
OyAvLyBVc2VkIHRvIGJlIGRpZENhbmNlbFRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3Mu
CisgICAgV0tQYWdlSXNQbGF5aW5nQXVkaW9EaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpc1BsYXlpbmdBdWRpb0RpZENoYW5nZTsKKyAgICAKKyAgICAvLyBW
ZXJzaW9uIDUuCisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RDYWxsYmFjayAgICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdDsKKyAgICBXS1BhZ2VEaWRDbGlja0F1dG9GaWxsQnV0dG9uQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZENsaWNrQXV0b0ZpbGxCdXR0b247CisgICAg
V0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAg
ICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxlcnRfZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAg
ICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRo
VjUgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjU7
CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VX
aXRoVjUgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0X2RlcHJlY2F0ZWRGb3JVc2VXaXRo
VjU7CisgICAgV0tQYWdlTWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2VDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICBtZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZTsKKyAgICAK
KyAgICAvLyBWZXJzaW9uIDYuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlOworICAgIFdL
UGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25m
aXJtQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlw
dENvbmZpcm07CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0OworICAgIFdLQ2hl
Y2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2luOworICAgIAorICAgIC8vIFZl
cnNpb24gNy4KKyAgICBXS1BhZ2VSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbDsKKyAg
ICBXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZTsKKyAgICAKKyAgICAvLyBW
ZXJzaW9uIDguCisgICAgV0tSZXF1ZXN0UG9pbnRlckxvY2tDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0UG9pbnRlckxvY2s7CisgICAgV0tEaWRM
b3NlUG9pbnRlckxvY2tDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkaWRMb3NlUG9pbnRlckxvY2s7Cit9IFdLUGFnZVVJQ2xpZW50Vjg7CisgICAgCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDcyYzU5YTY4MjFkYTI1ODU0MjY0NWZiNDI1
YmI0N2Y1N2I0MWEzY2YuLmFhZjE1NDZiMDdkODJiYWRkNzYzMWJmNzJlNzQwODcxMjE2MzVkYTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHAKQEAgLTE1OTAsMyArMTU5MCw0IEBAIHZvaWQgV0tQcmVmZXJlbmNlc1NldEFwcGxlUGF5Q2Fw
YWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyCiB7CiAgICAg
V2ViS2l0Ojp0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRBcHBsZVBheUNhcGFiaWxpdHlEaXNj
bG9zdXJlQWxsb3dlZChhbGxvd2VkKTsKIH0KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCAzYzU0ZWJm
NzVhNDNlNzRlZDFiNTI1ZTFmNTU1OGM2ZWU2NWVlMzQwLi5iYThiMDVjM2ZkODU1MDU1ODAzNzcy
NWNmYjk4MDE1YWJhMWU3ZTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtNTUsNiArNTUsOCBAQCBz
dHJ1Y3QgVUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlld0Z1bGxzY3JlZW5NYXlSZXR1cm5U
b0lubGluZTooV0tXZWJWaWV3ICopd2ViVmlldzsKIC0gKHZvaWQpX3dlYlZpZXdEaWRFbnRlckZ1
bGxzY3JlZW46KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTEpLCBpb3MoOC4zKSk7CiAtICh2b2lkKV93ZWJWaWV3RGlkRXhpdEZ1bGxzY3JlZW46KFdLV2Vi
VmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTEpLCBpb3MoOC4zKSk7
CistICh2b2lkKV93ZWJWaWV3UmVxdWVzdFBvaW50ZXJMb2NrOihXS1dlYlZpZXcgKil3ZWJWaWV3
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CistICh2b2lkKV93ZWJWaWV3RGlkTG9z
ZVBvaW50ZXJMb2NrOihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KDEwLjEyKSk7CiAKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgaW1hZ2VP
ck1lZGlhRG9jdW1lbnRTaXplQ2hhbmdlZDooQ0dTaXplKXNpemUgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwogLSAoTlNEaWN0aW9uYXJ5ICopX2RhdGFEZXRlY3Rp
b25Db250ZXh0Rm9yV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1VJRGVsZWdhdGUuaAppbmRleCBiYzE0ZWY1OTcwMTYyM2I2N2ZjYjkxNDUyMmQ5ZDhlYWMy
NjVjZTRhLi5kNDlkZTJiMzllY2E2NTM0NDU3ZTMyY2MyYWUzNmJmZTg3ZmNlMmI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKQEAgLTEwMSw2ICsxMDEs
MTEgQEAgcHJpdmF0ZToKIAogICAgICAgICBOU0RpY3Rpb25hcnkgKmRhdGFEZXRlY3Rpb25Db250
ZXh0KCkgb3ZlcnJpZGU7CiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgICAgICB2b2lk
IHJlcXVlc3RQb2ludGVyTG9jayhXZWJLaXQ6OldlYlBhZ2VQcm94eSopIG92ZXJyaWRlOworICAg
ICAgICB2b2lkIGRpZExvc2VQb2ludGVyTG9jayhXZWJLaXQ6OldlYlBhZ2VQcm94eSopIG92ZXJy
aWRlOworI2VuZGlmCisKICAgICAgICAgdm9pZCBpbWFnZU9yTWVkaWFEb2N1bWVudFNpemVDaGFu
Z2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKIAogICAgICAgICBVSURlbGVn
YXRlJiBtX3VpRGVsZWdhdGU7CkBAIC0xMzUsNyArMTQwLDEwIEBAIHByaXZhdGU6CiAjZW5kaWYK
ICAgICAgICAgYm9vbCBkYXRhRGV0ZWN0aW9uQ29udGV4dEZvcldlYlZpZXcgOiAxOwogICAgICAg
ICBib29sIHdlYlZpZXdJbWFnZU9yTWVkaWFEb2N1bWVudFNpemVDaGFuZ2VkIDogMTsKLQorI2lm
IEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgICAgIGJvb2wgd2ViVmlld1JlcXVlc3RQb2ludGVy
TG9jayA6IDE7CisgICAgICAgIGJvb2wgd2ViVmlld0RpZExvc2VQb2ludGVyTG9jayA6IDE7Cisj
ZW5kaWYKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29u
dGV4dE1lbnVGb3JFbGVtZW50IDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVG
b3JFbGVtZW50VXNlckluZm8gOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5tbQppbmRleCBlZGEzNTY1ODQ1YjE4ODExZDRkZTk4ZGNmM2MwMjUyYzNkZmIx
YzM0Li4wYWJlODg5OGU4MDQyODIwNjU0YWIzYmE4MzEwZDA2OTk3ZGVhMmFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMTA2LDYgKzEwNiwx
MCBAQCB2b2lkIFVJRGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsZWdhdGU+IGRlbGVn
YXRlKQogICAgIG1fZGVsZWdhdGVNZXRob2RzLmRhdGFEZXRlY3Rpb25Db250ZXh0Rm9yV2ViVmll
dyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9kYXRhRGV0ZWN0aW9u
Q29udGV4dEZvcldlYlZpZXc6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0ltYWdl
T3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihfd2ViVmlldzppbWFnZU9yTWVkaWFEb2N1bWVudFNpemVDaGFuZ2VkOildOwog
CisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3
UmVxdWVzdFBvaW50ZXJMb2NrID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3IoX3dlYlZpZXdSZXF1ZXN0UG9pbnRlckxvY2s6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0RpZExvc2VQb2ludGVyTG9jayA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKF93ZWJWaWV3RGlkTG9zZVBvaW50ZXJMb2NrOildOworI2VuZGlmCiAjaWYgRU5B
QkxFKENPTlRFWFRfTUVOVVMpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRN
ZW51Rm9yRWxlbWVudCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93
ZWJWaWV3OmNvbnRleHRNZW51OmZvckVsZW1lbnQ6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudFVzZXJJbmZvID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y29udGV4dE1lbnU6Zm9yRWxlbWVudDp1c2Vy
SW5mbzopXTsKQEAgLTQ1Nyw2ICs0NjEsMzQgQEAgTlNEaWN0aW9uYXJ5ICpVSURlbGVnYXRlOjpV
SUNsaWVudDo6ZGF0YURldGVjdGlvbkNvbnRleHQoKQogICAgIHJldHVybiBbc3RhdGljX2Nhc3Q8
aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+PihkZWxlZ2F0ZSkgX2RhdGFEZXRlY3Rpb25Db250ZXh0
Rm9yV2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKIH0KIAorI2lmIEVOQUJMRShQT0lO
VEVSX0xPQ0spCisKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlcXVlc3RQb2ludGVyTG9j
ayhXZWJLaXQ6OldlYlBhZ2VQcm94eSopCit7CisgICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxl
Z2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3RQb2ludGVyTG9jaykKKyAgICAgICAgcmV0dXJuOwor
CisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAg
IGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIFtzdGF0aWNfY2FzdDxpZCA8
V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRlKSBfd2ViVmlld1JlcXVlc3RQb2ludGVyTG9j
azptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKK30KKwordm9pZCBVSURlbGVnYXRlOjpVSUNsaWVu
dDo6ZGlkTG9zZVBvaW50ZXJMb2NrKFdlYktpdDo6V2ViUGFnZVByb3h5KikKK3sKKyAgICBpZiAo
IW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkTG9zZVBvaW50ZXJMb2Nr
KQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1f
ZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgW3N0YXRpY19jYXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPj4oZGVsZWdhdGUpIF93ZWJW
aWV3RGlkTG9zZVBvaW50ZXJMb2NrOm1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXddOworfQorCisjZW5k
aWYKKwogdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6aW1hZ2VPck1lZGlhRG9jdW1lbnRTaXpl
Q2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKQogewogICAgIGlmICghbV91
aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdJbWFnZU9yTWVkaWFEb2N1bWVudFNp
emVDaGFuZ2VkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCAxNWJkMDc3NmI3OWYzOGM5NGRhMzI0ZGE0OWMyN2E0OTcyNTZmZTJmLi40OWRkMWJkMTkyZGI4
MTY4NDRkOTJiMDY5YTEwNGU2MWI0YzQwNmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtMTU3Miw3ICsxNTcyLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmRpc3BhdGNoQWN0aXZpdHlTdGF0ZUNoYW5nZSgpCiAgICAgICAgIG1fcHJvY2Vzcy0+cmVzcG9u
c2l2ZW5lc3NUaW1lcigpLnN0b3AoKTsKIAogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCi0gICAg
aWYgKChjaGFuZ2VkICYgQWN0aXZpdHlTdGF0ZTo6SXNWaXNpYmxlKSAmJiAhaXNWaWV3VmlzaWJs
ZSgpKQorICAgIGlmICgoKGNoYW5nZWQgJiBBY3Rpdml0eVN0YXRlOjpJc1Zpc2libGUpICYmICFp
c1ZpZXdWaXNpYmxlKCkpIHx8ICgoY2hhbmdlZCAmIEFjdGl2aXR5U3RhdGU6OldpbmRvd0lzQWN0
aXZlKSAmJiAhbV9wYWdlQ2xpZW50LmlzVmlld1dpbmRvd0FjdGl2ZSgpKSkKICAgICAgICAgcmVx
dWVzdFBvaW50ZXJVbmxvY2soKTsKICNlbmRpZgogCkBAIC01NDkzLDYgKzU0OTMsMTAgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGVBZnRlclByb2Nlc3NFeGl0ZWQoKQogICAgIG1fcGFn
ZUNsaWVudC5kaXNtaXNzQ29udGVudFJlbGF0aXZlQ2hpbGRXaW5kb3dzKCk7CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgcmVxdWVzdFBvaW50ZXJVbmxvY2soKTsKKyNl
bmRpZgorCiAgICAgUGFnZUxvYWRTdGF0ZTo6VHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24gPSBtX3Bh
Z2VMb2FkU3RhdGUudHJhbnNhY3Rpb24oKTsKICAgICBtX3BhZ2VMb2FkU3RhdGUucmVzZXQodHJh
bnNhY3Rpb24pOwogCkBAIC02NzEwLDMxICs2NzE0LDUzIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpo
aWRlVmFsaWRhdGlvbk1lc3NhZ2UoKQogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiB2b2lkIFdl
YlBhZ2VQcm94eTo6cmVxdWVzdFBvaW50ZXJMb2NrKCkKIHsKKyAgICBBU1NFUlQoIW1faXNQb2lu
dGVyTG9ja1BlbmRpbmcpOworICAgIEFTU0VSVCghbV9pc1BvaW50ZXJMb2NrZWQpOworICAgIG1f
aXNQb2ludGVyTG9ja1BlbmRpbmcgPSB0cnVlOwogICAgIGlmICghaXNWaWV3VmlzaWJsZSgpKSB7
Ci0gICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkTm90QWNxdWly
ZVBvaW50ZXJMb2NrKCksIG1fcGFnZUlEKTsKKyAgICAgICAgZGlkRGVueVBvaW50ZXJMb2NrKCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBkaWRBbGxvd1BvaW50ZXJMb2NrKCk7Cisg
ICAgbV91aUNsaWVudC0+cmVxdWVzdFBvaW50ZXJMb2NrKHRoaXMpOwogfQogICAgIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZEFsbG93UG9pbnRlckxvY2soKQogeworICAgIEFTU0VSVChtX2lzUG9p
bnRlckxvY2tQZW5kaW5nICYmICFtX2lzUG9pbnRlckxvY2tlZCk7CisgICAgbV9pc1BvaW50ZXJM
b2NrZWQgPSB0cnVlOworICAgIG1faXNQb2ludGVyTG9ja1BlbmRpbmcgPSBmYWxzZTsKKyNpZiBQ
TEFURk9STShNQUMpCiAgICAgQ0dEaXNwbGF5SGlkZUN1cnNvcihDR01haW5EaXNwbGF5SUQoKSk7
CiAgICAgQ0dBc3NvY2lhdGVNb3VzZUFuZE1vdXNlQ3Vyc29yUG9zaXRpb24oZmFsc2UpOworI2Vu
ZGlmCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRBY3F1aXJlUG9p
bnRlckxvY2soKSwgbV9wYWdlSUQpOwogfQogICAgIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZERl
bnlQb2ludGVyTG9jaygpCiB7CisgICAgQVNTRVJUKG1faXNQb2ludGVyTG9ja1BlbmRpbmcgJiYg
IW1faXNQb2ludGVyTG9ja2VkKTsKKyAgICBtX2lzUG9pbnRlckxvY2tQZW5kaW5nID0gZmFsc2U7
CiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWROb3RBY3F1aXJlUG9p
bnRlckxvY2soKSwgbV9wYWdlSUQpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFBv
aW50ZXJVbmxvY2soKQogewotICAgIENHRGlzcGxheVNob3dDdXJzb3IoQ0dNYWluRGlzcGxheUlE
KCkpOwotICAgIENHQXNzb2NpYXRlTW91c2VBbmRNb3VzZUN1cnNvclBvc2l0aW9uKHRydWUpOwot
ICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkTG9zZVBvaW50ZXJMb2Nr
KCksIG1fcGFnZUlEKTsKKyAgICBpZiAobV9pc1BvaW50ZXJMb2NrZWQpIHsKKyNpZiBQTEFURk9S
TShNQUMpCisgICAgICAgIENHQXNzb2NpYXRlTW91c2VBbmRNb3VzZUN1cnNvclBvc2l0aW9uKHRy
dWUpOworICAgICAgICBDR0Rpc3BsYXlTaG93Q3Vyc29yKENHTWFpbkRpc3BsYXlJRCgpKTsKKyNl
bmRpZgorICAgICAgICBtX3VpQ2xpZW50LT5kaWRMb3NlUG9pbnRlckxvY2sodGhpcyk7CisgICAg
ICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkTG9zZVBvaW50ZXJMb2Nr
KCksIG1fcGFnZUlEKTsKKyAgICB9CisKKyAgICBpZiAobV9pc1BvaW50ZXJMb2NrUGVuZGluZykg
eworICAgICAgICBtX3VpQ2xpZW50LT5kaWRMb3NlUG9pbnRlckxvY2sodGhpcyk7CisgICAgICAg
IG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkTm90QWNxdWlyZVBvaW50ZXJM
b2NrKCksIG1fcGFnZUlEKTsKKyAgICB9CisKKyAgICBtX2lzUG9pbnRlckxvY2tlZCA9IGZhbHNl
OworICAgIG1faXNQb2ludGVyTG9ja1BlbmRpbmcgPSBmYWxzZTsKIH0KICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYThkZmNkNzUzOTAzNmFkNmYx
MDhlYjcyYzNiMDliNjBiMjA0YzUyNi4uOTQ1MjIwYWZkNWE1YTcwMzM5ZDBiMWM5NGFlZTVmMWFh
ZDY3YzJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTk0
NSw2ICsxOTQ1LDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2ZvcmNlQWx3YXlzVXNlclNjYWxh
YmxlIHsgZmFsc2UgfTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICBi
b29sIG1faXNQb2ludGVyTG9ja1BlbmRpbmcgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1BvaW50
ZXJMb2NrZWQgeyBmYWxzZSB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklC
VVRFKQogICAgIGJvb2wgbV9zeW5jTmF2aWdhdGlvbkFjdGlvbkhhc0Rvd25sb2FkQXR0cmlidXRl
IHsgZmFsc2UgfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IDA2OTBlOTBmMDcxM2Y0MTRiMjNlNjAzNDVjNDYyOGM2ZjYwMGI2
ZWYuLjg4NzI2OTA0Y2U0MDJkYTRkOGNiMTVlYWVjOTRiYzM3Nzg2MTJmYTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE1MSw3ICsxNTEs
NiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2lu
RG9jdW1lbnQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUHJpbnRDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SYW5n
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXIuaD4KQEAgLTE5OSw2ICsxOTgsMTAg
QEAKICNpbmNsdWRlICJXZWJWaWJyYXRpb25DbGllbnQuaCIKICNlbmRpZgogCisjaWYgRU5BQkxF
KFBPSU5URVJfTE9DSykKKyNpbmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5o
PgorI2VuZGlmCisKICNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKICNpbmNsdWRlICJXZWJE
ZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKICNlbmRpZgpAQCAtMzAyNyw2ICszMDMwLDkgQEAgdm9p
ZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBz
dG9yZSkKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogICAgIHNldHRpbmdzLnNldEF0
dGFjaG1lbnRFbGVtZW50RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OmF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZEtleSgpKSk7CiAjZW5kaWYKKyNpZiBF
TkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIHNldHRpbmdzLnNldFBvaW50ZXJMb2NrRW5hYmxlZChz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBvaW50ZXJMb2NrRW5h
YmxlZEtleSgpKSk7CisjZW5kaWYKICAgICBzZXR0aW5ncy5zZXRBbGxvd3NQaWN0dXJlSW5QaWN0
dXJlTWVkaWFQbGF5YmFjayhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrS2V5KCkpKTsKICAgICBzZXR0
aW5ncy5zZXRNZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20oc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjptZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb21L
ZXkoKSkpOwogICAgIHNldHRpbmdzLnNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1vY2tTY3JvbGxiYXJzRW5hYmxlZEtl
eSgpKSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAzZDE3YTg1NzQzODhkZWJhNTVmOGQ5MzIy
MmNkZWY3YjkyNjBkN2MzLi43MTExMjYzNzQzNDlkMDE2YmVjYmI3YWExMTJlOWI0NjdkZDkwYWJi
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE1MCw3ICsxNTAsNyBAQCBFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kgPSBFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1k7CiBFTkFC
TEVfTk9TTklGRiA9IDsKIEVOQUJMRV9OT1RJRklDQVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJM
RV9OT1RJRklDQVRJT05TOwogRU5BQkxFX1BERktJVF9QTFVHSU5bc2RrPW1hY29zeCpdID0gRU5B
QkxFX1BERktJVF9QTFVHSU47Ci1FTkFCTEVfUE9JTlRFUl9MT0NLID0gOworRU5BQkxFX1BPSU5U
RVJfTE9DS1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfUE9JTlRFUl9MT0NLOwogRU5BQkxFX1BST1hJ
TUlUWV9FVkVOVFMgPSA7CiBFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUID0gRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVDsKIEVOQUJMRV9RVU9UQSA9IDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295169</attachid>
            <date>2016-11-18 11:43:29 -0800</date>
            <delta_ts>2016-11-18 15:33:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163801-20161118114322.patch</filename>
            <type>text/plain</type>
            <size>43055</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
Y2VmZDZhZDFhNWMwYTA3ODcwMTkyNjUwMGM2NTI0ZTFmNjcyMmVlLi5jY2U3ODJlOThjYzgwZjY0
MDg2MmFhNDFmZDViMjMxMjY4MjM0OTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNi0xMS0xOCAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyB0byBlbmFibGUgcG9pbnRlciBsb2NrLiBFbmFi
bGUgcG9pbnRlciBsb2NrIGZlYXR1cmUgZm9yIG1hYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTYtMTEtMTggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBHZW5lcmF0b3IgZnVuY3Rpb25zIHNob3Vs
ZCBoYXZlIGEgZGlzcGxheWFibGUgbmFtZSB3aGVuIHNob3duIGluIHN0YWNrIHRyYWNlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRl
eCBjODJhMWYyZWJlMzZmMThlYzBiM2M2MGM0OWMxMDVkMDY4ZGFkZDczLi5jYjJlZDE0N2VlOGQw
MTgxMWJhOWFiYjhlNmMzMDA4MzgzMTUyMGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE2LTEx
LTE4ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcnVu
dGltZSBmbGFnIHRvIGVuYWJsZSBwb2ludGVyIGxvY2suIEVuYWJsZSBwb2ludGVyIGxvY2sgZmVh
dHVyZSBmb3IgbWFjLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYzODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDogRU5BQkxFX1BPSU5URVJfTE9DSyB0cnVlIGZv
ciBNYWMuCisKIDIwMTYtMTEtMTcgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIGFzeW5jL2F3YWl0IGNvbXBpbGUgdGltZSBmbGFnIGFuZCBlbmFibGUg
dGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAxNTY3NmIwYzkyOGY5NjVmYzVjZjRlMzIxMTM4MzdkOWNiNWU5
YjY3Li5mODYyYmQ4MTZjODVhMmM2NGNhMjU0MzBiOGI2OThiZTJiZDA3MGFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzIgQEAKKzIwMTYtMTEtMTggIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9j
ay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSB0ZXN0cyBub3cgcGFzcyB3aXRo
IER1bXBSZW5kZXJUcmVlLgorICAgICAgICBMYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1h
bHJlYWR5LWxvY2tlZC5odG1sCisgICAgICAgIExheW91dFRlc3RzL3BvaW50ZXItbG9jay9sb2Nr
LWVsZW1lbnQtbm90LWluLWRvbS5odG1sCisgICAgICAgIExheW91dFRlc3RzL3BvaW50ZXItbG9j
ay9sb2NrZWQtZWxlbWVudC1pZnJhbWUtcmVtb3ZlZC1mcm9tLWRvbS5odG1sCisgICAgICAgIExh
eW91dFRlc3RzL3BvaW50ZXItbG9jay9tb3VzZS1ldmVudC1hcGkuaHRtbAorCisgICAgICAgIFBv
aW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrIG5vdyBwcm90ZWN0cyBhZ2Fp
bnN0IHN5bmNocm9ub3VzIGNhbGxiYWNrCisgICAgICAgIHRvIGFsbG93UG9pbnRlckxvY2soKS4K
KworICAgICAgICBBZGQgcG9pbnRlckxvY2tFbmFibGVkIHNldHRpbmcuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXRQb2ludGVyTG9jayk6
IEZpeCBleGlzdGluZyB0eXBvLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBvaW50ZXJM
b2NrRWxlbWVudCk6CisgICAgICAgICogZmVhdHVyZXMuanNvbjoKKyAgICAgICAgKiBwYWdlL0V2
ZW50SGFuZGxlci5jcHA6CisgICAgICAgICogcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRl
ckxvY2spOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0
UG9pbnRlclVubG9jayk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoKKwogMjAxNi0xMS0x
OCAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFBhcnNlcl0g
SG9vayB1cCBJbnNwZWN0b3JTdHlsZVNoZWV0IHRvIHRoZSBuZXcgQ1NTIHBhcnNlci4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwppbmRleCBjNmFhMDVhZTY3Y2RiODc1ZGY3ZWQzMjhiODdlMjAyOTViNTQ4ZGRkLi41
OTJjOTNkYTRmY2I3NmQ5YWNhY2QxM2UyMGE5YTRjMzE4YjYyN2ZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTYtMTEtMTggIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9j
ay4gRW5hYmxlIHBvaW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQbHVtYiB0aHJvdWdoIFBvaW50ZXJMb2Nr
RW5hYmxlZCBzZXR0aW5nLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
OgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0UG9pbnRlclVubG9jayk6CisgICAg
ICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBwb2ludGVy
TG9ja0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0UG9pbnRlckxvY2tF
bmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6Cisg
ICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJl
bmNlc0NoYW5nZWQ6XSk6CisKIDIwMTYtMTEtMTcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxl
LmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IHNvbWUgbm9uLW1hY09TIGJ1aWxkcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCAzYWYyMTc5MmM2YTZmMzllZDI2YWQ5Yjk5MmQzOGFkNTMxMWQ2YzIzLi4yMjk0MmEz
ZTkxYjliYTM3ZGYzZjMzM2NkODFkZmVkNjc3Mjc3ZjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NDIgQEAKKzIwMTYtMTEtMTggIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgorCisg
ICAgICAgIEFkZCBydW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9jay4gRW5hYmxlIHBv
aW50ZXIgbG9jayBmZWF0dXJlIGZvciBtYWMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgU1BJIHRvIG5vdGlmeSBjbGllbnQgb2YgcG9pbnRlciBs
b2NrIGFuZCBmb3IgY2xpZW50IHRvIGFsbG93IG9yIGRlbnkuCisgICAgICAgIFVubG9jayBwb2lu
dGVyIHdoZW4gdmlldyBpcyBub3QgbG9uZ2VyIGFjdGl2ZS4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmluaXRpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVu
dC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAgICAg
ICAgKEFQSTo6VUlDbGllbnQ6OmRpZExvc2VQb2ludGVyTG9jayk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQpOgor
ICAgICAgICAoV0tQYWdlRGlkQWxsb3dQb2ludGVyTG9jayk6CisgICAgICAgIChXS1BhZ2VEaWRE
ZW55UG9pbnRlckxvY2spOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
bW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OnNldERlbGVnYXRlKToKKyAgICAgICAg
KFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlcXVlc3RQb2ludGVyTG9jayk6CisgICAg
ICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRMb3NlUG9pbnRlckxvY2spOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmRpc3BhdGNoQWN0aXZpdHlTdGF0ZUNoYW5nZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBvaW50ZXJMb2NrKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkaWRBbGxvd1BvaW50ZXJMb2NrKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpkaWREZW55UG9pbnRlckxvY2spOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OnJlcXVlc3RQb2ludGVyVW5sb2NrKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTYt
MTEtMTcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIERvd25sb2FkcyBzdGFydGVkIGJ5IGNvbnRleHQgbWVudSBhY3Rpb25zIHNob3VsZCBhbHNv
IGhhdmUgYSB3ZWIgdmlldyBhc3NvY2lhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXgg
M2QxN2E4NTc0Mzg4ZGViYTU1ZjhkOTMyMjJjZGVmN2I5MjYwZDdjMy4uNzExMTI2Mzc0MzQ5ZDAx
NmJlY2JiN2FhMTEyZTliNDY3ZGQ5MGFiYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
MTUwLDcgKzE1MCw3IEBAIEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSA9IEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWTsKIEVOQUJMRV9OT1NOSUZGID0gOwogRU5BQkxFX05PVElG
SUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX05PVElGSUNBVElPTlM7CiBFTkFCTEVfUERG
S0lUX1BMVUdJTltzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfUERGS0lUX1BMVUdJTjsKLUVOQUJMRV9Q
T0lOVEVSX0xPQ0sgPSA7CitFTkFCTEVfUE9JTlRFUl9MT0NLW3Nkaz1tYWNvc3gqXSA9IEVOQUJM
RV9QT0lOVEVSX0xPQ0s7CiBFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyA9IDsKIEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QgPSBFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUOwogRU5BQkxFX1FVT1RB
ID0gOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJj
ZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggNGY4ZjgwYTliYWRjOTRmNDdhN2YyNmFi
MTRlMDE0ZTJlMTMzMjkxNS4uMjk0MmVmMWQ4NzJiZTY4YjYxOTRjZDU1MWJkYTkzNDU4MDQxZmIx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC02MzAsNyArNjMwLDcgQEAgdGhlIHB1Ymxp
YyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGZpbGUKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9D
SykKLSNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAwCisjZGVmaW5lIEVOQUJMRV9QT0lOVEVS
X0xPQ0sgMQogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggM2QxN2E4NTc0Mzg4ZGViYTU1ZjhkOTMyMjJjZGVmN2I5MjYwZDdjMy4u
NzExMTI2Mzc0MzQ5ZDAxNmJlY2JiN2FhMTEyZTliNDY3ZGQ5MGFiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTE1MCw3ICsxNTAsNyBAQCBFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kgPSBFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1k7CiBFTkFCTEVfTk9TTklGRiA9IDsKIEVOQUJMRV9OT1RJ
RklDQVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9OT1RJRklDQVRJT05TOwogRU5BQkxFX1BE
RktJVF9QTFVHSU5bc2RrPW1hY29zeCpdID0gRU5BQkxFX1BERktJVF9QTFVHSU47Ci1FTkFCTEVf
UE9JTlRFUl9MT0NLID0gOworRU5BQkxFX1BPSU5URVJfTE9DS1tzZGs9bWFjb3N4Kl0gPSBFTkFC
TEVfUE9JTlRFUl9MT0NLOwogRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMgPSA7CiBFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUID0gRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVDsKIEVOQUJMRV9RVU9U
QSA9IDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDZhYjQzZjA2NGYxNTBmOWFhYTkwNTNm
Nzk4MGE2ZGJhYmRlYzBkMTcuLmM2MThhOWRkNmZjYWNiOTdmZTMwYmJjZjIxOThmOGFmOWUyNzQ0
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjAyOCw3ICs2MDI4LDcgQEAgdm9pZCBE
b2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1bGxTY3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50
KiBkb2MpCiAKIHZvaWQgRG9jdW1lbnQ6OmV4aXRQb2ludGVyTG9jaygpCiB7Ci0gICAgUGFnZSog
cGFnZSA9IHRoaXM+cGFnZSgpOworICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAg
aWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKGF1dG8qIHRhcmdldCA9IHBhZ2Ut
PnBvaW50ZXJMb2NrQ29udHJvbGxlcigpLmVsZW1lbnQoKSkgewpAQCAtNjA0MCwxMCArNjA0MCwx
MCBAQCB2b2lkIERvY3VtZW50OjpleGl0UG9pbnRlckxvY2soKQogCiBFbGVtZW50KiBEb2N1bWVu
dDo6cG9pbnRlckxvY2tFbGVtZW50KCkgY29uc3QKIHsKLSAgICBQYWdlKiBwYWdlID0gdGhpcz5w
YWdlKCk7CisgICAgUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UgfHwg
cGFnZS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkubG9ja1BlbmRpbmcoKSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgYXV0byogZWxlbWVudCA9IHBhZ2UoKS0+cG9pbnRlckxvY2tDb250
cm9sbGVyKCkuZWxlbWVudCgpOworICAgIGF1dG8qIGVsZW1lbnQgPSBwYWdlLT5wb2ludGVyTG9j
a0NvbnRyb2xsZXIoKS5lbGVtZW50KCk7CiAgICAgaWYgKCFlbGVtZW50IHx8ICZlbGVtZW50LT5k
b2N1bWVudCgpICE9IHRoaXMpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBl
bGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbiBiL1NvdXJj
ZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24KaW5kZXggNTNkYzk3ZjdjMTEwZDI0NjI5MjAwNDUxYTU1
ODFlYzA5NDI4ZTY5Mi4uZjYwZjM2OTk2YTEyMmY5MGQzOTZkZGYxYjA2NTFjY2NjY2E3MWQ5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9mZWF0dXJlcy5qc29uCkBAIC0yOTcsNiArMjk3LDE3IEBACiAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJBbiBBUEkgdGhhdCBjYW4gYmUgdXNlZCB0byB1bmRlcnN0YW5kIHRoZSB2aXNpYmls
aXR5IGFuZCBwb3NpdGlvbiBvZiBET00gZWxlbWVudHMgcmVsYXRpdmUgdG8gYSBjb250YWluaW5n
IGVsZW1lbnQgb3IgdG8gdGhlIHRvcC1sZXZlbCB2aWV3cG9ydC4iCiAgICAgfSwKICAgICB7Cisg
ICAgICAgICJuYW1lIjogIlBvaW50ZXIgTG9jayIsCisgICAgICAgICJzdGF0dXMiOiB7CisgICAg
ICAgICAgICAic3RhdHVzIjogIkluIERldmVsb3BtZW50IiwKKyAgICAgICAgICAgICJlbmFibGVk
LWJ5LWRlZmF1bHQiOiBmYWxzZQorICAgICAgICB9LAorICAgICAgICAidXJsIjogImh0dHBzOi8v
d3d3LnczLm9yZy9UUi9wb2ludGVybG9jay8iLAorICAgICAgICAid2Via2l0LXVybCI6ICJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NjUyIiwKKyAgICAgICAgImtl
eXdvcmRzIjogWyJwb2ludGVyIiwgInBvaW50ZXIgbG9jayJdLAorICAgICAgICAiZGVzY3JpcHRp
b24iOiAiUHJvdmlkZXMgc2NyaXB0ZWQgYWNjZXNzIHRvIHJhdyBtb3VzZSBtb3ZlbWVudCBkYXRh
IHdoaWxlIGxvY2tpbmcgdGhlIHRhcmdldCBvZiBtb3VzZSBldmVudHMgdG8gYSBzaW5nbGUgZWxl
bWVudCBhbmQgcmVtb3ZpbmcgdGhlIGN1cnNvciBmcm9tIHZpZXcuIgorICAgIH0sCisgICAgewog
ICAgICAgICAibmFtZSI6ICJQcmVsb2FkIiwKICAgICAgICAgInN0YXR1cyI6IHsKICAgICAgICAg
ICAgICJzdGF0dXMiOiAiSW4gRGV2ZWxvcG1lbnQiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwCmluZGV4IGEwYmIxOTE5NmFiNzBmYjAzZWExODY2YzUyZWExYWM0MzM4MWU1MzMuLmU5
NGE5MjU1MmM5OTZhNTM4ZTQ2NjgyY2ViMzFlMzUxOTFhMzMzN2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKQEAgLTcyLDcgKzcyLDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUtl
eWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKICNpbmNsdWRl
ICJQbHVnaW5Eb2N1bWVudC5oIgotI2luY2x1ZGUgIlBvaW50ZXJMb2NrQ29udHJvbGxlci5oIgog
I2luY2x1ZGUgIlJlbmRlckZyYW1lU2V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNp
bmNsdWRlICJSZW5kZXJMaXN0Qm94LmgiCkBAIC0xMjAsNiArMTE5LDEwIEBACiAjaW5jbHVkZSAi
UGxhdGZvcm1HZXN0dXJlRXZlbnRNYWMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJf
TE9DSykKKyNpbmNsdWRlICJQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCIKKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggOTg2NTVlNjk5OGM3
ZmFiMDc0MGY4ZjllMDE2NzY5ZDJhNzRkNjZjNS4uOGVhNjJkMzhlYTYwZGM3ZmRmZGEyYTU3YWY4
MWRhODk1MDdlOWUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9j
a0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250
cm9sbGVyLmNwcApAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCisjaW5jbHVk
ZSAiU2NyaXB0Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAi
Vm9pZENhbGxiYWNrLmgiCiAKIApAQCAtNDcsMTEgKzQ5LDE5IEBAIFBvaW50ZXJMb2NrQ29udHJv
bGxlcjo6UG9pbnRlckxvY2tDb250cm9sbGVyKFBhZ2UmIHBhZ2UpCiAKIHZvaWQgUG9pbnRlckxv
Y2tDb250cm9sbGVyOjpyZXF1ZXN0UG9pbnRlckxvY2soRWxlbWVudCogdGFyZ2V0KQogeworICAg
IGlmICghbV9wYWdlLnNldHRpbmdzKCkucG9pbnRlckxvY2tFbmFibGVkKCkpCisgICAgICAgIHJl
dHVybjsKKwogICAgIGlmICghdGFyZ2V0IHx8ICF0YXJnZXQtPmluRG9jdW1lbnQoKSB8fCBtX2Rv
Y3VtZW50T2ZSZW1vdmVkRWxlbWVudFdoaWxlV2FpdGluZ0ZvclVubG9jaykgewogICAgICAgICBl
bnF1ZXVlRXZlbnQoZXZlbnROYW1lcygpLnBvaW50ZXJsb2NrZXJyb3JFdmVudCwgdGFyZ2V0KTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmICghU2NyaXB0Q29udHJvbGxlcjo6cHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlKCkpIHsKKyAgICAgICAgZW5xdWV1ZUV2ZW50KGV2ZW50TmFtZXMo
KS5wb2ludGVybG9ja2Vycm9yRXZlbnQsIHRhcmdldCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBpZiAodGFyZ2V0LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNhbmRib3hQb2ludGVy
TG9jaykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQg
b2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KICAgICAgICAgdGFyZ2V0LT5kb2N1bWVu
dCgpLmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2
ZWw6OkVycm9yLCBBU0NJSUxpdGVyYWwoIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFuIGVsZW1l
bnQgYmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxv
dy1wb2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKSk7CkBAIC03OSw3ICs4OSwx
MyBAQCB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKEVsZW1l
bnQqIHRhcmdldCkKIAogdm9pZCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVy
VW5sb2NrKCkKIHsKLSAgICByZXR1cm4gbV9wYWdlLmNocm9tZSgpLmNsaWVudCgpLnJlcXVlc3RQ
b2ludGVyVW5sb2NrKCk7CisgICAgaWYgKCFtX2VsZW1lbnQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghbV9wYWdlLnNldHRpbmdzKCkucG9pbnRlckxvY2tFbmFibGVkKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIG1fcGFnZS5jaHJvbWUoKS5jbGllbnQoKS5yZXF1ZXN0UG9pbnRlclVu
bG9jaygpOwogfQogCiB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6ZWxlbWVudFJlbW92ZWQo
RWxlbWVudCogZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IGFhZTM1Njk1Yjlm
ZjJhMDNjYWYwM2M2MjJiMDdjZmM2MjhmZGI1MjMuLmY0MWQ5ZTI3OGRkZDY1NTUxNGM5YTQ2OTA5
MTRiNGZjY2MzZGNmYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtMjkxLDMgKzI5MSw0
IEBAIGZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUgdHlwZT1Gb3JjZWRQcmVmZXJzUmVk
dWNlZE1vdGlvblZhbHVlLCBpbml0aWFsPWRlCiBhc3luY0ltYWdlRGVjb2RpbmdFbmFibGVkIGlu
aXRpYWw9dHJ1ZQogCiBlczZNb2R1bGVzRW5hYmxlZCBpbml0aWFsPWZhbHNlCitwb2ludGVyTG9j
a0VuYWJsZWQgaW5pdGlhbD1mYWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAzZDE3YTg1NzQzODhk
ZWJhNTVmOGQ5MzIyMmNkZWY3YjkyNjBkN2MzLi43MTExMjYzNzQzNDlkMDE2YmVjYmI3YWExMTJl
OWI0NjdkZDkwYWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTUwLDcgKzE1MCw3IEBAIEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSA9IEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WTsKIEVOQUJMRV9OT1NOSUZGID0gOwogRU5BQkxFX05PVElGSUNBVElPTlNbc2RrPW1hY29zeCpd
ID0gRU5BQkxFX05PVElGSUNBVElPTlM7CiBFTkFCTEVfUERGS0lUX1BMVUdJTltzZGs9bWFjb3N4
Kl0gPSBFTkFCTEVfUERGS0lUX1BMVUdJTjsKLUVOQUJMRV9QT0lOVEVSX0xPQ0sgPSA7CitFTkFC
TEVfUE9JTlRFUl9MT0NLW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9QT0lOVEVSX0xPQ0s7CiBFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUyA9IDsKIEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QgPSBFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUOwogRU5BQkxFX1FVT1RBID0gOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IGJmOWFm
NTUzMjlkMDgxMzA2ZGJjMTk5YTNjYTNjYjliYTIyMTJmMTguLmJjZWFmZDUxMTY1MzIyYjNhZGJh
Nzk0YzBjMWY1OGRiNWNlMTlhOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTc3LDcgKzc3LDYgQEAKICNpbXBvcnQg
PFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgotI2ltcG9ydCA8V2ViQ29yZS9Qb2ludGVy
TG9ja0NvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1NlcmlhbGl6ZWRDcnlwdG9LZXlXcmFwLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1dpZGdldC5oPgpAQCAtOTUsNiArOTQsMTAgQEAKICNpbXBvcnQgPFdlYkNvcmUvR2VvbG9j
YXRpb24uaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyNpbXBvcnQgPFdl
YkNvcmUvUG9pbnRlckxvY2tDb250cm9sbGVyLmg+CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElP
UykKICNpbXBvcnQgPFdlYkNvcmUvV0FLQ2xpcFZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvV0FL
V2luZG93Lmg+CkBAIC03MzAsOCArNzMzLDggQEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6OnJlcXVl
c3RQb2ludGVyTG9jaygpCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6cmVxdWVzdFBvaW50ZXJVbmxv
Y2soKQogewogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBDR0Rpc3BsYXlTaG93Q3Vyc29yKENHTWFp
bkRpc3BsYXlJRCgpKTsKICAgICBDR0Fzc29jaWF0ZU1vdXNlQW5kTW91c2VDdXJzb3JQb3NpdGlv
bih0cnVlKTsKKyAgICBDR0Rpc3BsYXlTaG93Q3Vyc29yKENHTWFpbkRpc3BsYXlJRCgpKTsKICAg
ICBpZiAoW21fd2ViVmlldyBwYWdlXSkKICAgICAgICAgW21fd2ViVmlldyBwYWdlXS0+cG9pbnRl
ckxvY2tDb250cm9sbGVyKCkuZGlkTG9zZVBvaW50ZXJMb2NrKCk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmlu
ZGV4IGU3MzcwOGM2OTBhOTFkYjc2ODBlZGQxYzViMGNkNWMzNTIzZjY4MjguLjI5MmQwZTk3Nzgx
NDFjYTA0ODNmNzNlZGI1ODEzM2IwMjJkMTY4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTcxLDYgKzE3MSw3
IEBACiAjZGVmaW5lIFdlYktpdENTU0dyaWRMYXlvdXRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdENTU0dyaWRMYXlvdXRFbmFibGVkIgogI2RlZmluZSBXZWJLaXRWaXN1YWxWaWV3cG9ydEVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VmlzdWFsVmlld3BvcnRFbmFibGVkIgogI2RlZmlu
ZSBXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRN
b2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UG9pbnRlckxvY2tFbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBvaW50ZXJMb2NrRW5hYmxlZCIKIAogI2lmICFUQVJH
RVRfT1NfSVBIT05FCiAvLyBUaGVzZSBhcmUgcHJpdmF0ZSBib3RoIGJlY2F1c2UgY2FsbGVycyBz
aG91bGQgYmUgdXNpbmcgdGhlIGNvdmVyIG1ldGhvZHMgYW5kIGJlY2F1c2UgdGhlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBmMzgzZDk0M2QzZjky
YTRmZGE3ZDEwNTI3NjRlN2U2YTIyMzg3MDRmLi45OWE3OWM0YTJhZmRkZjU1OWUyNGVlNmNiZjQ0
ZmE0MTZjYmQyNWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KQEAgLTIzNjAsNiArMjM2MCwxNiBAQCBzdGF0aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVh
dG9ySUQgPSBuaWw7CiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRB
bGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja1ByZWZlcmVuY2VLZXldOwogfQogCist
IChCT09MKXBvaW50ZXJMb2NrRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVl
Rm9yS2V5OldlYktpdFBvaW50ZXJMb2NrRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2
b2lkKXNldFBvaW50ZXJMb2NrRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJv
b2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRQb2ludGVyTG9ja0VuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKK30KKwogLSAoQk9PTCltb2NrU2Nyb2xsYmFyc0VuYWJsZWQKIHsKICAgICByZXR1cm4gW3Nl
bGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCmluZGV4IDg1ZGExMTMwNGUxZGM3NWMzMTZhODc5NjU3MDI1MDJlMTgyOWY4YzIuLmY5
MTVmNzAyY2Q3ZmM1MmViOGMyMThjNDFhYjY2YzAxODZlMDMxNmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMjgxLDYgKzI4
MSw5IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZElu
dGVybmFsTm90aWZpY2F0aW9uOwogLSAodm9pZClzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjazooQk9PTClmbGFnOwogLSAoQk9PTClhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjazsKIAorLSAodm9pZClzZXRQb2ludGVyTG9ja0VuYWJsZWQ6KEJPT0wpZmxhZzsK
Ky0gKEJPT0wpcG9pbnRlckxvY2tFbmFibGVkOworCiAtIChOU1N0cmluZyAqKXBpY3RvZ3JhcGhG
b250RmFtaWx5OwogLSAodm9pZClzZXRQaWN0b2dyYXBoRm9udEZhbWlseTooTlNTdHJpbmcgKilm
YW1pbHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBkMmI5YzQ0YmY1
ZTZkMmJmNjFjOTA2NzAzMmMxNjJhOTQzZmRlYzZmLi5mMDkwNTg5YTZmOWYwMGQ2ZjUwOGI0NTMz
OGMzOWNlYWIxOTRjNGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0y
NjQzLDcgKzI2NDMsMTEgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5n
UXVpcmsoKQogICAgIHNldHRpbmdzLnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoW3By
ZWZlcmVuY2VzIGphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmRdKTsKICAgICBzZXR0aW5ncy5z
ZXRYU1NBdWRpdG9yRW5hYmxlZChbcHJlZmVyZW5jZXMgaXNYU1NBdWRpdG9yRW5hYmxlZF0pOwog
ICAgIHNldHRpbmdzLnNldEROU1ByZWZldGNoaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgaXNETlNQ
cmVmZXRjaGluZ0VuYWJsZWRdKTsKLSAgICAKKworI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisg
ICAgc2V0dGluZ3Muc2V0UG9pbnRlckxvY2tFbmFibGVkKFtwcmVmZXJlbmNlcyBwb2ludGVyTG9j
a0VuYWJsZWRdKTsKKyNlbmRpZgorCiAgICAgc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkXSk7
CiAgICAgc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZChbcHJlZmVyZW5jZXMg
YWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldERpc3BsYXlMaXN0
RHJhd2luZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGRpc3BsYXlMaXN0RHJhd2luZ0VuYWJsZWRdKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggM2QxN2E4NTc0Mzg4ZGViYTU1ZjhkOTMyMjJjZGVmN2I5MjYwZDdjMy4u
NzExMTI2Mzc0MzQ5ZDAxNmJlY2JiN2FhMTEyZTliNDY3ZGQ5MGFiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTE1MCw3ICsxNTAsNyBAQCBFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kgPSBFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1k7CiBFTkFCTEVfTk9TTklGRiA9IDsKIEVOQUJMRV9OT1RJ
RklDQVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9OT1RJRklDQVRJT05TOwogRU5BQkxFX1BE
RktJVF9QTFVHSU5bc2RrPW1hY29zeCpdID0gRU5BQkxFX1BERktJVF9QTFVHSU47Ci1FTkFCTEVf
UE9JTlRFUl9MT0NLID0gOworRU5BQkxFX1BPSU5URVJfTE9DS1tzZGs9bWFjb3N4Kl0gPSBFTkFC
TEVfUE9JTlRFUl9MT0NLOwogRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMgPSA7CiBFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUID0gRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVDsKIEVOQUJMRV9RVU9U
QSA9IDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmluaXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0
aW9ucy5oCmluZGV4IGIzYWFkZTBmMzZmZWVjYzM4ODQxODhmZDkxYWU3M2RiZTgzYjZjY2EuLjgz
OTVlM2UwOGJiMDI0ODc5YTBlYjI0NzU4NjFhYmQ1NzFhNGNhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaApAQCAtMzEwLDYgKzMx
MCw3IEBACiAgICAgbWFjcm8oSW5wdXRFdmVudHNFbmFibGVkLCBpbnB1dEV2ZW50c0VuYWJsZWQs
IEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJJbnB1
dCBFdmVudHMiLCAiRW5hYmxlIElucHV0RXZlbnRzIHN1cHBvcnQiKSBcCiAgICAgbWFjcm8oV2Vi
R0wyRW5hYmxlZCwgd2ViR0wyRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5U
QUxfRkVBVFVSRVNfRU5BQkxFRCwgIldlYkdMIDIuMCIsICJXZWJHTCAyIHByb3RvdHlwZSIpIFwK
ICAgICBtYWNybyhFUzZNb2R1bGVzRW5hYmxlZCwgZXM2TW9kdWxlc0VuYWJsZWQsIEJvb2wsIGJv
b2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJFUzYgTW9kdWxlcyIs
ICJFbmFibGUgRVM2IE1vZHVsZXMgc3VwcG9ydCIpIFwKKyAgICBtYWNybyhQb2ludGVyTG9ja0Vu
YWJsZWQsIHBvaW50ZXJMb2NrRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5U
QUxfRkVBVFVSRVNfRU5BQkxFRCwgIlBvaW50ZXJMb2NrIiwgIlBvaW50ZXIgTG9jayBBUEkgc3Vw
cG9ydCIpIFwKICAgICBcCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAppbmRleCAwNzM5Y2JlOTBkOTFhNWNmNGI5ZGJkYTMz
MGVkZWZiMTZlY2FjNzE0Li5mZjU4ZWU4YjFjODg4OTgyYzVlOTcxOTEyODNlOGZhZTViZjNkNmI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCkBAIC0xNjcs
NiArMTY3LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIE5TRGljdGlvbmFyeSAqZGF0YURldGVj
dGlvbkNvbnRleHQoKSB7IHJldHVybiBudWxscHRyOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShQ
T0lOVEVSX0xPQ0spCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQb2ludGVyTG9jayhXZWJLaXQ6
OldlYlBhZ2VQcm94eSopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRMb3NlUG9pbnRlckxvY2so
V2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KKyNlbmRpZgorCiAgICAgdmlydHVhbCB2b2lkIGRp
ZENsaWNrQXV0b0ZpbGxCdXR0b24oV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBBUEk6Ok9iamVjdCop
IHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQo
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlLmNwcAppbmRleCA1ZDFiMDllZTgzMmRhNzg4MDJkNzgwY2MyYzAwMDkxMDQyOGVh
MGExLi5kOWFjNTRlYmRhOTIzMWY0YWRiYmViNzYxZjUxMDUxZTcwYzIwNjJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBAIHRl
bXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1BhZ2VQb2xpY3lDbGllbnRCYXNlPiB7CiB9
OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnRCYXNlPiB7
Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAsIFdLUGFnZVVJQ2xpZW50
VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xpZW50VjMsIFdLUGFnZVVJQ2xpZW50VjQs
IFdLUGFnZVVJQ2xpZW50VjUsIFdLUGFnZVVJQ2xpZW50VjYsIFdLUGFnZVVJQ2xpZW50Vjc+IFZl
cnNpb25zOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VVSUNsaWVudFYwLCBXS1BhZ2VV
SUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1BhZ2VVSUNsaWVudFYzLCBXS1BhZ2VVSUNs
aWVudFY0LCBXS1BhZ2VVSUNsaWVudFY1LCBXS1BhZ2VVSUNsaWVudFY2LCBXS1BhZ2VVSUNsaWVu
dFY3LCBXS1BhZ2VVSUNsaWVudFY4PiBWZXJzaW9uczsKIH07CiAKICNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKQEAgLTIyMTgsNiArMjIxOCwyMyBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVu
dChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudAog
ICAgICAgICAgICAgbV9jbGllbnQubWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2UodG9BUEko
JnBhZ2UpLCB0b0FQSShtZXRhZGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAg
ICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgICAgIHZvaWQgcmVx
dWVzdFBvaW50ZXJMb2NrKFdlYlBhZ2VQcm94eSogcGFnZSkgb3ZlcnJpZGUKKyAgICAgICAgewor
ICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5yZXF1ZXN0UG9pbnRlckxvY2spCisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgCisgICAgICAgICAgICBtX2NsaWVudC5yZXF1ZXN0
UG9pbnRlckxvY2sodG9BUEkocGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAg
ICAgIH0KKworICAgICAgICB2b2lkIGRpZExvc2VQb2ludGVyTG9jayhXZWJQYWdlUHJveHkqIHBh
Z2UpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQucmVxdWVz
dFBvaW50ZXJMb2NrKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgbV9j
bGllbnQuZGlkTG9zZVBvaW50ZXJMb2NrKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5iYXNlLmNsaWVu
dEluZm8pOworICAgICAgICB9CisjZW5kaWYKICAgICB9OwogCiAgICAgdG9JbXBsKHBhZ2VSZWYp
LT5zZXRVSUNsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFVJQ2xpZW50Pih3a0NsaWVudCkpOwpAQCAt
MjYwNiw2ICsyNjIzLDI0IEBAIHZvaWQgV0tQYWdlU2V0TXV0ZWQoV0tQYWdlUmVmIHBhZ2UsIFdL
TWVkaWFNdXRlZFN0YXRlIG11dGVkKQogICAgIHRvSW1wbChwYWdlKS0+c2V0TXV0ZWQobXV0ZWQp
OwogfQogCit2b2lkIFdLUGFnZURpZEFsbG93UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpCit7
CisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKyAgICB0b0ltcGwocGFnZSktPmRpZEFsbG93UG9p
bnRlckxvY2soKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOworI2VuZGlmCit9CisK
K3ZvaWQgV0tQYWdlRGlkRGVueVBvaW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKQoreworI2lmIEVO
QUJMRShQT0lOVEVSX0xPQ0spCisgICAgdG9JbXBsKHBhZ2UpLT5kaWREZW55UG9pbnRlckxvY2so
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhZ2UpOworI2VuZGlmCit9CisKIGJvb2wgV0tQ
YWdlSGFzTWVkaWFTZXNzaW9uV2l0aEFjdGl2ZU1lZGlhRWxlbWVudHMoV0tQYWdlUmVmIHBhZ2Up
CiB7CiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAppbmRleCBlMjBmZjI2OWZmNWMxMGIwNGU4ZmQ1NzI1
NWU2YWU2ZGJhMTA2OGE5Li4xYTc0Yzc3MDI3OTk2MTE1Njk5OWQ4MmY5NzRkOGUxYWQ2YzllZWYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgK
QEAgLTEyOCw2ICsxMjgsOSBAQCBlbnVtIHsKIH07CiB0eXBlZGVmIHVpbnQzMl90IFdLTWVkaWFN
dXRlZFN0YXRlOwogV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0TXV0ZWQoV0tQYWdlUmVmIHBhZ2Us
IFdLTWVkaWFNdXRlZFN0YXRlIG11dGVkKTsKKyAgICAKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZURp
ZEFsbG93UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpOworV0tfRVhQT1JUIHZvaWQgV0tQYWdl
RGlkRGVueVBvaW50ZXJMb2NrKFdLUGFnZVJlZiBwYWdlKTsKIAogZW51bSB7CiAgICAga1dLTWVk
aWFJc05vdFBsYXlpbmcgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlVUlDbGllbnQuaAppbmRleCBlNzVjY2ZiZGFjMjhmYWZiODc0MmU4OWU1ODIwOTQ4MDBm
MTAyMzNiLi4yOWI4ZTEwYWJjY2I0MDk5MmIwZGU3MDQ3OWQzZDQxYjZlZmQ2ZWIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaApAQCAtMTA0
LDYgKzEwNCw5IEBAIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENsaWNrQXV0b0ZpbGxCdXR0b25D
YWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLVHlwZVJlZiB1CiB0eXBlZGVmIHZvaWQgKCpXS1Bh
Z2VNZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwg
V0tNZWRpYVNlc3Npb25NZXRhZGF0YVJlZiBtZXRhZGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7CiB0eXBlZGVmIHZvaWQgKCpXS0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZUNhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKK3R5cGVkZWYgdm9p
ZCAoKldLUmVxdWVzdFBvaW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLRGlkTG9zZVBvaW50ZXJMb2NrQ2Fs
bGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKwogLy8gRGVw
cmVjYXRlZAogdHlwZWRlZiBXS1BhZ2VSZWYgKCpXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tf
ZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlvbmFyeVJlZiBm
ZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBt
b3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgICAgICAo
KldLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdp
dGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS1R5cGVS
ZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtNjM2LDYgKzYzOSw5NCBA
QCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY3IHsKICAgICBXS0Z1bGxzY3JlZW5NYXlS
ZXR1cm5Ub0lubGluZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxz
Y3JlZW5NYXlSZXR1cm5Ub0lubGluZTsKIH0gV0tQYWdlVUlDbGllbnRWNzsKIAordHlwZWRlZiBz
dHJ1Y3QgV0tQYWdlVUlDbGllbnRWOCB7CisgICAgV0tQYWdlVUlDbGllbnRCYXNlICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOworICAgIAorICAg
IC8vIFZlcnNpb24gMC4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZv
clVzZVdpdGhWMDsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dQYWdlOworICAgIFdLUGFnZVVJQ2xpZW50
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xv
c2U7CisgICAgV0tQYWdlVGFrZUZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0YWtlRm9jdXM7CisgICAgV0tQYWdlRm9jdXNDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1czsKKyAg
ICBXS1BhZ2VVbmZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuZm9jdXM7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJh
Y2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxlcnRf
ZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNh
bGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25m
aXJtX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21w
dENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICBydW5KYXZhU2NyaXB0
UHJvbXB0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlU2V0U3RhdHVzVGV4dENh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0dXNU
ZXh0OworICAgIFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2tfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRfZGVwcmVjYXRlZEZv
clVzZVdpdGhWMDsKKyAgICBXS1BhZ2VNaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNr
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlRGlkTm90SGFuZGxlS2V5RXZlbnRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVLZXlFdmVu
dDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVXaGVlbEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQ7CisgICAgV0tQYWdlR2V0
VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0b29sYmFyc0FyZVZpc2libGU7CisgICAgV0tQYWdlU2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUb29sYmFyc0FyZVZpc2li
bGU7CisgICAgV0tQYWdlR2V0TWVudUJhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtZW51QmFySXNWaXNpYmxlOworICAgIFdLUGFnZVNldE1lbnVC
YXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0
TWVudUJhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRTdGF0dXNCYXJJc1Zpc2libGVDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c0JhcklzVmlzaWJsZTsKKyAg
ICBXS1BhZ2VTZXRTdGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNldFN0YXR1c0JhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRJc1Jlc2l6
YWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVz
aXphYmxlOworICAgIFdLUGFnZVNldElzUmVzaXphYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNSZXNpemFibGU7CisgICAgV0tQYWdlR2V0V2lu
ZG93RnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
ZXRXaW5kb3dGcmFtZTsKKyAgICBXS1BhZ2VTZXRXaW5kb3dGcmFtZUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFdpbmRvd0ZyYW1lOworICAgIFdLUGFn
ZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRo
VjYgICAgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjY7
CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkaWREcmF3OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURpZFNjcm9sbDsK
KyAgICBXS1BhZ2VFeGNlZWRlZERhdGFiYXNlUXVvdGFDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGV4Y2VlZGVkRGF0YWJhc2VRdW90YTsKKyAgICBXS1BhZ2VSdW5PcGVu
UGFuZWxDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1
bk9wZW5QYW5lbDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgIGRlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdlSGVhZGVySGVpZ2h0Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJIZWlnaHQ7CisgICAgV0tQYWdl
Rm9vdGVySGVpZ2h0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmb290ZXJIZWlnaHQ7CisgICAgV0tQYWdlRHJhd0hlYWRlckNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3SGVhZGVyOworICAgIFdLUGFn
ZURyYXdGb290ZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZHJhd0Zvb3RlcjsKKyAgICBXS1BhZ2VQcmludEZyYW1lQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50RnJhbWU7CisgICAgV0tQYWdl
VUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBydW5Nb2RhbDsKKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDE7IC8vIFVzZWQgdG8gYmUgZGlk
Q29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZyYW1lCisgICAgV0tQYWdlU2F2ZURhdGFUb0ZpbGVJ
bkRvd25sb2Fkc0ZvbGRlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBzYXZlRGF0YVRv
RmlsZUluRG93bmxvYWRzRm9sZGVyOworICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdF91bmF2YWlsYWJsZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDEuCisgICAgV0tQYWdl
Q3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgICAgICAgICAgICAg
ICAgICBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisgICAgV0tQYWdlTW91
c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBvbGljeUZv
ck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1
Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgdW5hdmFpbGFi
bGVQbHVnaW5CdXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisgICAgCisgICAg
Ly8gVmVyc2lvbiAyLgorICAgIFdLUGFnZVNob3dDb2xvclBpY2tlckNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NvbG9yUGlja2VyOworICAgIFdLUGFn
ZUhpZGVDb2xvclBpY2tlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGlkZUNvbG9yUGlja2VyOworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9u
Q2xpY2tlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdW5hdmFpbGFibGVQbHVnaW5C
dXR0b25DbGlja2VkOworICAgIAorICAgIC8vIFZlcnNpb24gMy4KKyAgICBXS1BhZ2VQaW5uZWRT
dGF0ZURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBp
bm5lZFN0YXRlRGlkQ2hhbmdlOworICAgIAorICAgIC8vIFZlcnNpb24gNC4KKyAgICB2b2lkKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVudXNlZDI7IC8vIFVzZWQgdG8gYmUgZGlkQmVnaW5UcmFja2luZ1BvdGVudGlhbExvbmdN
b3VzZVByZXNzLgorICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkMzsgLy8gVXNlZCB0byBiZSBkaWRSZWNv
Z25pemVMb25nTW91c2VQcmVzcy4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDQ7IC8vIFVzZWQgdG8g
YmUgZGlkQ2FuY2VsVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcy4KKyAgICBXS1BhZ2VJ
c1BsYXlpbmdBdWRpb0RpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlOworICAgIAorICAgIC8vIFZlcnNpb24gNS4KKyAg
ICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNr
ICAgICAgICAgICAgIGRlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Owor
ICAgIFdLUGFnZURpZENsaWNrQXV0b0ZpbGxCdXR0b25DYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbjsKKyAgICBXS1BhZ2VSdW5KYXZh
U2NyaXB0QWxlcnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICAgIHJ1
bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFnZVJ1bkph
dmFTY3JpcHRDb25maXJtQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAgICAgICAg
cnVuSmF2YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAgICBXS1BhZ2VS
dW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAgICAg
ICAgIHJ1bkphdmFTY3JpcHRQcm9tcHRfZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAgICBXS1Bh
Z2VNZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgIG1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlOworICAgIAorICAgIC8vIFZlcnNp
b24gNi4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2U7CisgICAgV0tQYWdlUnVuSmF2YVNj
cmlwdEFsZXJ0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5K
YXZhU2NyaXB0QWxlcnQ7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybTsKKyAg
ICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQ7CisgICAgV0tDaGVja1VzZXJNZWRpYVBl
cm1pc3Npb25DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja1Vz
ZXJNZWRpYVBlcm1pc3Npb25Gb3JPcmlnaW47CisgICAgCisgICAgLy8gVmVyc2lvbiA3LgorICAg
IFdLUGFnZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsOworICAgIFdLRnVsbHNjcmVl
bk1heVJldHVyblRvSW5saW5lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lOworICAgIAorICAgIC8vIFZlcnNpb24gOC4KKyAg
ICBXS1JlcXVlc3RQb2ludGVyTG9ja0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlcXVlc3RQb2ludGVyTG9jazsKKyAgICBXS0RpZExvc2VQb2ludGVyTG9j
a0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZExvc2VQ
b2ludGVyTG9jazsKK30gV0tQYWdlVUlDbGllbnRWODsKKyAgICAKICNpZmRlZiBfX2NwbHVzcGx1
cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHAKaW5kZXggNzJjNTlhNjgyMWRhMjU4NTQyNjQ1ZmI0MjViYjQ3ZjU3YjQxYTNj
Zi4uYWFmMTU0NmIwN2Q4MmJhZGQ3NjMxYmY3MmU3NDA4NzEyMTYzNWRhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTU5MCwz
ICsxNTkwLDQgQEAgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QXBwbGVQYXlDYXBhYmlsaXR5RGlzY2xv
c3VyZUFsbG93ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXIKIHsKICAgICBXZWJLaXQ6OnRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPnNldEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2Vk
KGFsbG93ZWQpOwogfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IDNjNTRlYmY3NWE0M2U3NGVkMWI1
MjVlMWY1NTU4YzZlZTY1ZWUzNDAuLmJhOGIwNWMzZmQ4NTUwNTU4MDM3NzI1Y2ZiOTgwMTVhYmEx
ZTdlM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tV
SURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCkBAIC01NSw2ICs1NSw4IEBAIHN0cnVjdCBVSUVkZ2VJ
bnNldHM7CiAtICh2b2lkKV93ZWJWaWV3RnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lOihXS1dl
YlZpZXcgKil3ZWJWaWV3OwogLSAodm9pZClfd2ViVmlld0RpZEVudGVyRnVsbHNjcmVlbjooV0tX
ZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMSksIGlvcyg4LjMp
KTsKIC0gKHZvaWQpX3dlYlZpZXdEaWRFeGl0RnVsbHNjcmVlbjooV0tXZWJWaWV3ICopd2ViVmll
dyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMSksIGlvcyg4LjMpKTsKKy0gKHZvaWQpX3dl
YlZpZXdSZXF1ZXN0UG9pbnRlckxvY2s6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTIpKTsKKy0gKHZvaWQpX3dlYlZpZXdEaWRMb3NlUG9pbnRlckxvY2s6
KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpKTsKIAog
LSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBpbWFnZU9yTWVkaWFEb2N1bWVu
dFNpemVDaGFuZ2VkOihDR1NpemUpc2l6ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiks
IGlvcygxMC4wKSk7CiAtIChOU0RpY3Rpb25hcnkgKilfZGF0YURldGVjdGlvbkNvbnRleHRGb3JX
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEy
KSwgaW9zKDEwLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0
ZS5oCmluZGV4IGJjMTRlZjU5NzAxNjIzYjY3ZmNiOTE0NTIyZDlkOGVhYzI2NWNlNGEuLmQ0OWRl
MmIzOWVjYTY1MzQ0NTdlMzJjYzJhZTM2YmZlODdmY2UyYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApAQCAtMTAxLDYgKzEwMSwxMSBAQCBwcml2YXRl
OgogCiAgICAgICAgIE5TRGljdGlvbmFyeSAqZGF0YURldGVjdGlvbkNvbnRleHQoKSBvdmVycmlk
ZTsKIAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgICAgIHZvaWQgcmVxdWVzdFBvaW50
ZXJMb2NrKFdlYktpdDo6V2ViUGFnZVByb3h5Kikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgZGlk
TG9zZVBvaW50ZXJMb2NrKFdlYktpdDo6V2ViUGFnZVByb3h5Kikgb3ZlcnJpZGU7CisjZW5kaWYK
KwogICAgICAgICB2b2lkIGltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQoY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOwogCiAgICAgICAgIFVJRGVsZWdhdGUmIG1fdWlEZWxl
Z2F0ZTsKQEAgLTEzNSw3ICsxNDAsMTAgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgICAgICBib29s
IGRhdGFEZXRlY3Rpb25Db250ZXh0Rm9yV2ViVmlldyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmll
d0ltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQgOiAxOwotCisjaWYgRU5BQkxFKFBPSU5U
RVJfTE9DSykKKyAgICAgICAgYm9vbCB3ZWJWaWV3UmVxdWVzdFBvaW50ZXJMb2NrIDogMTsKKyAg
ICAgICAgYm9vbCB3ZWJWaWV3RGlkTG9zZVBvaW50ZXJMb2NrIDogMTsKKyNlbmRpZgogI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQogICAgICAgICBib29sIHdlYlZpZXdDb250ZXh0TWVudUZvckVs
ZW1lbnQgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdDb250ZXh0TWVudUZvckVsZW1lbnRVc2Vy
SW5mbyA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1t
CmluZGV4IGVkYTM1NjU4NDViMTg4MTFkNGRlOThkY2YzYzAyNTJjM2RmYjFjMzQuLjBhYmU4ODk4
ZTgwNDI4MjA2NTRhYjNiYTgzMTBkMDY5OTdkZWEyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC0xMDYsNiArMTA2LDEwIEBAIHZvaWQgVUlE
ZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9k
ZWxlZ2F0ZU1ldGhvZHMuZGF0YURldGVjdGlvbkNvbnRleHRGb3JXZWJWaWV3ID0gW2RlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX2RhdGFEZXRlY3Rpb25Db250ZXh0Rm9yV2Vi
VmlldzopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3SW1hZ2VPck1lZGlhRG9jdW1l
bnRTaXplQ2hhbmdlZCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93
ZWJWaWV3OmltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQ6KV07CiAKKyNpZiBFTkFCTEUo
UE9JTlRFUl9MT0NLKQorICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSZXF1ZXN0UG9pbnRl
ckxvY2sgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlld1Jl
cXVlc3RQb2ludGVyTG9jazopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkTG9z
ZVBvaW50ZXJMb2NrID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dl
YlZpZXdEaWRMb3NlUG9pbnRlckxvY2s6KV07CisjZW5kaWYKICNpZiBFTkFCTEUoQ09OVEVYVF9N
RU5VUykKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50
ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y29udGV4
dE1lbnU6Zm9yRWxlbWVudDopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29udGV4
dE1lbnVGb3JFbGVtZW50VXNlckluZm8gPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcihfd2ViVmlldzpjb250ZXh0TWVudTpmb3JFbGVtZW50OnVzZXJJbmZvOildOwpAQCAt
NDU3LDYgKzQ2MSwzNCBAQCBOU0RpY3Rpb25hcnkgKlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkYXRh
RGV0ZWN0aW9uQ29udGV4dCgpCiAgICAgcmV0dXJuIFtzdGF0aWNfY2FzdDxpZCA8V0tVSURlbGVn
YXRlUHJpdmF0ZT4+KGRlbGVnYXRlKSBfZGF0YURldGVjdGlvbkNvbnRleHRGb3JXZWJWaWV3Om1f
dWlEZWxlZ2F0ZS5tX3dlYlZpZXddOwogfQogCisjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKKwor
dm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6cmVxdWVzdFBvaW50ZXJMb2NrKFdlYktpdDo6V2Vi
UGFnZVByb3h5KikKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53
ZWJWaWV3UmVxdWVzdFBvaW50ZXJMb2NrKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGRl
bGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0
ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgW3N0YXRpY19jYXN0PGlkIDxXS1VJRGVsZWdhdGVQ
cml2YXRlPj4oZGVsZWdhdGUpIF93ZWJWaWV3UmVxdWVzdFBvaW50ZXJMb2NrOm1fdWlEZWxlZ2F0
ZS5tX3dlYlZpZXddOworfQorCit2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRMb3NlUG9p
bnRlckxvY2soV2ViS2l0OjpXZWJQYWdlUHJveHkqKQoreworICAgIGlmICghbV91aURlbGVnYXRl
Lm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWRMb3NlUG9pbnRlckxvY2spCisgICAgICAgIHJl
dHVybjsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZS5nZXQo
KTsKKyAgICBpZiAoIWRlbGVnYXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBbc3RhdGljX2Nh
c3Q8aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+PihkZWxlZ2F0ZSkgX3dlYlZpZXdEaWRMb3NlUG9p
bnRlckxvY2s6bV91aURlbGVnYXRlLm1fd2ViVmlld107Cit9CisKKyNlbmRpZgorCiB2b2lkIFVJ
RGVsZWdhdGU6OlVJQ2xpZW50OjppbWFnZU9yTWVkaWFEb2N1bWVudFNpemVDaGFuZ2VkKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpCiB7CiAgICAgaWYgKCFtX3VpRGVsZWdhdGUubV9k
ZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0ltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDE1YmQwNzc2Yjc5
ZjM4Yzk0ZGEzMjRkYTQ5YzI3YTQ5NzI1NmZlMmYuLjQ5ZGQxYmQxOTJkYjgxNjg0NGQ5MmIwNjlh
MTA0ZTYxYjRjNDA2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC0xNTcyLDcgKzE1NzIsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlzcGF0Y2hBY3Rp
dml0eVN0YXRlQ2hhbmdlKCkKICAgICAgICAgbV9wcm9jZXNzLT5yZXNwb25zaXZlbmVzc1RpbWVy
KCkuc3RvcCgpOwogCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKLSAgICBpZiAoKGNoYW5nZWQg
JiBBY3Rpdml0eVN0YXRlOjpJc1Zpc2libGUpICYmICFpc1ZpZXdWaXNpYmxlKCkpCisgICAgaWYg
KCgoY2hhbmdlZCAmIEFjdGl2aXR5U3RhdGU6OklzVmlzaWJsZSkgJiYgIWlzVmlld1Zpc2libGUo
KSkgfHwgKChjaGFuZ2VkICYgQWN0aXZpdHlTdGF0ZTo6V2luZG93SXNBY3RpdmUpICYmICFtX3Bh
Z2VDbGllbnQuaXNWaWV3V2luZG93QWN0aXZlKCkpKQogICAgICAgICByZXF1ZXN0UG9pbnRlclVu
bG9jaygpOwogI2VuZGlmCiAKQEAgLTU0OTMsNiArNTQ5MywxMCBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCgpCiAgICAgbV9wYWdlQ2xpZW50LmRpc21p
c3NDb250ZW50UmVsYXRpdmVDaGlsZFdpbmRvd3MoKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFBP
SU5URVJfTE9DSykKKyAgICByZXF1ZXN0UG9pbnRlclVubG9jaygpOworI2VuZGlmCisKICAgICBQ
YWdlTG9hZFN0YXRlOjpUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbiA9IG1fcGFnZUxvYWRTdGF0ZS50
cmFuc2FjdGlvbigpOwogICAgIG1fcGFnZUxvYWRTdGF0ZS5yZXNldCh0cmFuc2FjdGlvbik7CiAK
QEAgLTY3MTAsMzEgKzY3MTQsNTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhpZGVWYWxpZGF0aW9u
TWVzc2FnZSgpCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKIHZvaWQgV2ViUGFnZVByb3h5Ojpy
ZXF1ZXN0UG9pbnRlckxvY2soKQogeworICAgIEFTU0VSVCghbV9pc1BvaW50ZXJMb2NrUGVuZGlu
Zyk7CisgICAgQVNTRVJUKCFtX2lzUG9pbnRlckxvY2tlZCk7CisgICAgbV9pc1BvaW50ZXJMb2Nr
UGVuZGluZyA9IHRydWU7CiAgICAgaWYgKCFpc1ZpZXdWaXNpYmxlKCkpIHsKLSAgICAgICAgbV9w
cm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWROb3RBY3F1aXJlUG9pbnRlckxvY2so
KSwgbV9wYWdlSUQpOworICAgICAgICBkaWREZW55UG9pbnRlckxvY2soKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KLQotICAgIGRpZEFsbG93UG9pbnRlckxvY2soKTsKKyAgICBtX3VpQ2xpZW50
LT5yZXF1ZXN0UG9pbnRlckxvY2sodGhpcyk7CiB9CiAgICAgCiB2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlkQWxsb3dQb2ludGVyTG9jaygpCiB7CisgICAgQVNTRVJUKG1faXNQb2ludGVyTG9ja1BlbmRp
bmcgJiYgIW1faXNQb2ludGVyTG9ja2VkKTsKKyAgICBtX2lzUG9pbnRlckxvY2tlZCA9IHRydWU7
CisgICAgbV9pc1BvaW50ZXJMb2NrUGVuZGluZyA9IGZhbHNlOworI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBDR0Rpc3BsYXlIaWRlQ3Vyc29yKENHTWFpbkRpc3BsYXlJRCgpKTsKICAgICBDR0Fzc29j
aWF0ZU1vdXNlQW5kTW91c2VDdXJzb3JQb3NpdGlvbihmYWxzZSk7CisjZW5kaWYKICAgICBtX3By
b2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZEFjcXVpcmVQb2ludGVyTG9jaygpLCBt
X3BhZ2VJRCk7CiB9CiAgICAgCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRGVueVBvaW50ZXJMb2Nr
KCkKIHsKKyAgICBBU1NFUlQobV9pc1BvaW50ZXJMb2NrUGVuZGluZyAmJiAhbV9pc1BvaW50ZXJM
b2NrZWQpOworICAgIG1faXNQb2ludGVyTG9ja1BlbmRpbmcgPSBmYWxzZTsKICAgICBtX3Byb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZE5vdEFjcXVpcmVQb2ludGVyTG9jaygpLCBt
X3BhZ2VJRCk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0UG9pbnRlclVubG9jaygp
CiB7Ci0gICAgQ0dEaXNwbGF5U2hvd0N1cnNvcihDR01haW5EaXNwbGF5SUQoKSk7Ci0gICAgQ0dB
c3NvY2lhdGVNb3VzZUFuZE1vdXNlQ3Vyc29yUG9zaXRpb24odHJ1ZSk7Ci0gICAgbV9wcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRMb3NlUG9pbnRlckxvY2soKSwgbV9wYWdlSUQp
OworICAgIGlmIChtX2lzUG9pbnRlckxvY2tlZCkgeworI2lmIFBMQVRGT1JNKE1BQykKKyAgICAg
ICAgQ0dBc3NvY2lhdGVNb3VzZUFuZE1vdXNlQ3Vyc29yUG9zaXRpb24odHJ1ZSk7CisgICAgICAg
IENHRGlzcGxheVNob3dDdXJzb3IoQ0dNYWluRGlzcGxheUlEKCkpOworI2VuZGlmCisgICAgICAg
IG1fdWlDbGllbnQtPmRpZExvc2VQb2ludGVyTG9jayh0aGlzKTsKKyAgICAgICAgbV9wcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRMb3NlUG9pbnRlckxvY2soKSwgbV9wYWdlSUQp
OworICAgIH0KKworICAgIGlmIChtX2lzUG9pbnRlckxvY2tQZW5kaW5nKSB7CisgICAgICAgIG1f
dWlDbGllbnQtPmRpZExvc2VQb2ludGVyTG9jayh0aGlzKTsKKyAgICAgICAgbV9wcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWROb3RBY3F1aXJlUG9pbnRlckxvY2soKSwgbV9wYWdl
SUQpOworICAgIH0KKworICAgIG1faXNQb2ludGVyTG9ja2VkID0gZmFsc2U7CisgICAgbV9pc1Bv
aW50ZXJMb2NrUGVuZGluZyA9IGZhbHNlOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBhOGRmY2Q3NTM5MDM2YWQ2ZjEwOGViNzJjM2IwOWI2
MGIyMDRjNTI2Li45NDUyMjBhZmQ1YTVhNzAzMzlkMGIxYzk0YWVlNWYxYWFkNjdjMmUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xOTQ1LDYgKzE5NDUsMTEg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGUgeyBmYWxzZSB9
OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQorICAgIGJvb2wgbV9pc1BvaW50
ZXJMb2NrUGVuZGluZyB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUG9pbnRlckxvY2tlZCB7IGZh
bHNlIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpCiAgICAgYm9v
bCBtX3N5bmNOYXZpZ2F0aW9uQWN0aW9uSGFzRG93bmxvYWRBdHRyaWJ1dGUgeyBmYWxzZSB9Owog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggMDY5MGU5MGYwNzEzZjQxNGIyM2U2MDM0NWM0NjI4YzZmNjAwYjZlZi4uODg3MjY5MDRj
ZTQwMmRhNGQ4Y2IxNWVhZWM5NGJjMzc3ODYxMmZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTUxLDcgKzE1MSw2IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9QYWdlQ29uZmlndXJhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5Eb2N1bWVudC5oPgot
I2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRlckxvY2tDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QcmludENvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JhbmdlLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZW5kZXJMYXllci5oPgpAQCAtMTk5LDYgKzE5OCwxMCBAQAogI2luY2x1ZGUg
IldlYlZpYnJhdGlvbkNsaWVudC5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NL
KQorI2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRlckxvY2tDb250cm9sbGVyLmg+CisjZW5kaWYKKwog
I2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQogI2luY2x1ZGUgIldlYkRldmljZVByb3hpbWl0
eUNsaWVudC5oIgogI2VuZGlmCkBAIC0zMDI3LDYgKzMwMzAsOSBAQCB2b2lkIFdlYlBhZ2U6OnVw
ZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogI2lmIEVO
QUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgc2V0dGluZ3Muc2V0QXR0YWNobWVudEVsZW1l
bnRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YXR0
YWNobWVudEVsZW1lbnRFbmFibGVkS2V5KCkpKTsKICNlbmRpZgorI2lmIEVOQUJMRShQT0lOVEVS
X0xPQ0spCisgICAgc2V0dGluZ3Muc2V0UG9pbnRlckxvY2tFbmFibGVkKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cG9pbnRlckxvY2tFbmFibGVkS2V5KCkpKTsK
KyNlbmRpZgogICAgIHNldHRpbmdzLnNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzUGlj
dHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldE1lZGlh
Q29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6Om1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbUtleSgpKSk7CiAgICAg
c2V0dGluZ3Muc2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6bW9ja1Njcm9sbGJhcnNFbmFibGVkS2V5KCkpKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCmluZGV4IDNkMTdhODU3NDM4OGRlYmE1NWY4ZDkzMjIyY2RlZjdiOTI2MGQ3
YzMuLjcxMTEyNjM3NDM0OWQwMTZiZWNiYjdhYTExMmU5YjQ2N2RkOTBhYmIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwpAQCAtMTUwLDcgKzE1MCw3IEBAIEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJS
RU5DWSA9IEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWTsKIEVOQUJMRV9OT1NOSUZGID0g
OwogRU5BQkxFX05PVElGSUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX05PVElGSUNBVElP
TlM7CiBFTkFCTEVfUERGS0lUX1BMVUdJTltzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfUERGS0lUX1BM
VUdJTjsKLUVOQUJMRV9QT0lOVEVSX0xPQ0sgPSA7CitFTkFCTEVfUE9JTlRFUl9MT0NLW3Nkaz1t
YWNvc3gqXSA9IEVOQUJMRV9QT0lOVEVSX0xPQ0s7CiBFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyA9
IDsKIEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QgPSBFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
OwogRU5BQkxFX1FVT1RBID0gOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>